mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-25 20:35:17 +07:00
ab3e023b1b
Time to kill some bad sample code people are copying from ;) This is a complete rewrite of the cirrus driver. The cirrus_mode_set() function is pretty much the only function which is carried over largely unmodified. Everything else is upside down. It is a single monster patch. But given that it does some pretty fundamental changes to the drivers workflow and also reduces the code size by roughly 70% I think it'll still be alot easier to review than a longish baby-step patch series. Changes summary: - Given the small amout of video memory (4 MB) the cirrus device has the rewritten driver doesn't try to manage buffers there. Instead it will blit (memcpy) the active framebuffer to video memory. - All gem objects are stored in main memory and are manged using the new shmem helpers. ttm is out. - It supports RG16, RG24 and XR24 formats. XR24 gets converted to RG24 or RG16 at blit time if needed, to avoid the pitch becoming larger than what the cirrus hardware can handle. - The simple display pipeline is used. - The generic fbdev emulation is used. - It's a atomic driver now. - It runs wayland. Signed-off-by: Gerd Hoffmann <kraxel@redhat.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Reviewed-by: Sam Ravnborg <sam@ravnborg.org> Acked-by: Noralf Trønnes <noralf@tronnes.org> Link: http://patchwork.freedesktop.org/patch/msgid/20190405095219.9231-6-kraxel@redhat.com
19 lines
717 B
Plaintext
19 lines
717 B
Plaintext
config DRM_CIRRUS_QEMU
|
|
tristate "Cirrus driver for QEMU emulated device"
|
|
depends on DRM && PCI && MMU
|
|
select DRM_KMS_HELPER
|
|
select DRM_GEM_SHMEM_HELPER
|
|
help
|
|
This is a KMS driver for emulated cirrus device in qemu.
|
|
It is *NOT* intended for real cirrus devices. This requires
|
|
the modesetting userspace X.org driver.
|
|
|
|
Cirrus is obsolete, the hardware was designed in the 90ies
|
|
and can't keep up with todays needs. More background:
|
|
https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/
|
|
|
|
Better alternatives are:
|
|
- stdvga (DRM_BOCHS, qemu -vga std, default in qemu 2.2+)
|
|
- qxl (DRM_QXL, qemu -vga qxl, works best with spice)
|
|
- virtio (DRM_VIRTIO_GPU), qemu -vga virtio)
|