On Wed, Apr 15, 2020 at 10:01 AM Thomas Zimmermann <tzimmermann at suse.de> wrote:> > > > Am 15.04.20 um 09:40 schrieb Daniel Vetter: > > Because it is. Huge congrats to everyone who made this kind of > > refactoring happen! > > Every other week, I felt an urge to send out this patch. Thank you so > much, Daniel! There are more candidates for tiny/. They are all <20k > LOCs and all we'd have to do is to move their code into a single file. > bochs or arc come into my mind.arc I have (later in the series), bochs I feel like is maybe a bit too big. I'd put the limit for tiny well below 1kloc including whitespace and all that. bochs might be a candidate once we've helperized a few more things perhaps. btw I drmm_ version of vram helpers would help a bunch of these drivers I think. -Daniel> > > > > Signed-off-by: Daniel Vetter <daniel.vetter at intel.com> > > Cc: Dave Airlie <airlied at redhat.com> > > Cc: Gerd Hoffmann <kraxel at redhat.com> > > Cc: virtualization at lists.linux-foundation.org > > Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de> > > > --- > > MAINTAINERS | 2 +- > > drivers/gpu/drm/Kconfig | 2 -- > > drivers/gpu/drm/Makefile | 1 - > > drivers/gpu/drm/cirrus/Kconfig | 19 ------------------- > > drivers/gpu/drm/cirrus/Makefile | 2 -- > > drivers/gpu/drm/tiny/Kconfig | 19 +++++++++++++++++++ > > drivers/gpu/drm/tiny/Makefile | 1 + > > drivers/gpu/drm/{cirrus => tiny}/cirrus.c | 0 > > 8 files changed, 21 insertions(+), 25 deletions(-) > > delete mode 100644 drivers/gpu/drm/cirrus/Kconfig > > delete mode 100644 drivers/gpu/drm/cirrus/Makefile > > rename drivers/gpu/drm/{cirrus => tiny}/cirrus.c (100%) > > > > diff --git a/MAINTAINERS b/MAINTAINERS > > index 7b3255d96d1d..0a5cf105ee37 100644 > > --- a/MAINTAINERS > > +++ b/MAINTAINERS > > @@ -5397,7 +5397,7 @@ L: virtualization at lists.linux-foundation.org > > S: Obsolete > > W: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ > > T: git git://anongit.freedesktop.org/drm/drm-misc > > -F: drivers/gpu/drm/cirrus/ > > +F: drivers/gpu/drm/tiny/cirrus.c > > > > DRM DRIVER FOR QXL VIRTUAL GPU > > M: Dave Airlie <airlied at redhat.com> > > diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > > index 43594978958e..4f4e7fa001c1 100644 > > --- a/drivers/gpu/drm/Kconfig > > +++ b/drivers/gpu/drm/Kconfig > > @@ -310,8 +310,6 @@ source "drivers/gpu/drm/ast/Kconfig" > > > > source "drivers/gpu/drm/mgag200/Kconfig" > > > > -source "drivers/gpu/drm/cirrus/Kconfig" > > - > > source "drivers/gpu/drm/armada/Kconfig" > > > > source "drivers/gpu/drm/atmel-hlcdc/Kconfig" > > diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile > > index f34d08c83485..2c0e5a7e5953 100644 > > --- a/drivers/gpu/drm/Makefile > > +++ b/drivers/gpu/drm/Makefile > > @@ -74,7 +74,6 @@ obj-$(CONFIG_DRM_I915) += i915/ > > obj-$(CONFIG_DRM_MGAG200) += mgag200/ > > obj-$(CONFIG_DRM_V3D) += v3d/ > > obj-$(CONFIG_DRM_VC4) += vc4/ > > -obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/ > > obj-$(CONFIG_DRM_SIS) += sis/ > > obj-$(CONFIG_DRM_SAVAGE)+= savage/ > > obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ > > diff --git a/drivers/gpu/drm/cirrus/Kconfig b/drivers/gpu/drm/cirrus/Kconfig > > deleted file mode 100644 > > index c6bbd988b0e5..000000000000 > > --- a/drivers/gpu/drm/cirrus/Kconfig > > +++ /dev/null > > @@ -1,19 +0,0 @@ > > -# SPDX-License-Identifier: GPL-2.0-only > > -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) > > diff --git a/drivers/gpu/drm/cirrus/Makefile b/drivers/gpu/drm/cirrus/Makefile > > deleted file mode 100644 > > index 0c1ed3f99725..000000000000 > > --- a/drivers/gpu/drm/cirrus/Makefile > > +++ /dev/null > > @@ -1,2 +0,0 @@ > > -# SPDX-License-Identifier: GPL-2.0-only > > -obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o > > diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig > > index 4160e74e4751..2b6414f0fa75 100644 > > --- a/drivers/gpu/drm/tiny/Kconfig > > +++ b/drivers/gpu/drm/tiny/Kconfig > > @@ -1,5 +1,24 @@ > > # SPDX-License-Identifier: GPL-2.0-only > > > > +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) > > + > > config DRM_GM12U320 > > tristate "GM12U320 driver for USB projectors" > > depends on DRM && USB > > diff --git a/drivers/gpu/drm/tiny/Makefile b/drivers/gpu/drm/tiny/Makefile > > index c96ceee71453..6ae4e9e5a35f 100644 > > --- a/drivers/gpu/drm/tiny/Makefile > > +++ b/drivers/gpu/drm/tiny/Makefile > > @@ -1,5 +1,6 @@ > > # SPDX-License-Identifier: GPL-2.0-only > > > > +obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o > > obj-$(CONFIG_DRM_GM12U320) += gm12u320.o > > obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o > > obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o > > diff --git a/drivers/gpu/drm/cirrus/cirrus.c b/drivers/gpu/drm/tiny/cirrus.c > > similarity index 100% > > rename from drivers/gpu/drm/cirrus/cirrus.c > > rename to drivers/gpu/drm/tiny/cirrus.c > > > > -- > Thomas Zimmermann > Graphics Driver Developer > SUSE Software Solutions Germany GmbH > Maxfeldstr. 5, 90409 N?rnberg, Germany > (HRB 36809, AG N?rnberg) > Gesch?ftsf?hrer: Felix Imend?rffer >-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch
Am 15.04.20 um 10:19 schrieb Daniel Vetter:> On Wed, Apr 15, 2020 at 10:01 AM Thomas Zimmermann <tzimmermann at suse.de> wrote: >> >> >> >> Am 15.04.20 um 09:40 schrieb Daniel Vetter: >>> Because it is. Huge congrats to everyone who made this kind of >>> refactoring happen! >> >> Every other week, I felt an urge to send out this patch. Thank you so >> much, Daniel! There are more candidates for tiny/. They are all <20k >> LOCs and all we'd have to do is to move their code into a single file.I meant <20k file size, not LOCs.>> bochs or arc come into my mind. > > arc I have (later in the series), bochs I feel like is maybe a bit too > big. I'd put the limit for tiny well below 1kloc including whitespace > and all that. bochs might be a candidate once we've helperized a few > more things perhaps.True. The largest tiny driver is repaper with ~1.1k LOCS. Reading this code, it seems like it has reached an upper bound of what is feasible. Best regards Thomas> > btw I drmm_ version of vram helpers would help a bunch of these drivers I think. > -Daniel > >> >>> >>> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com> >>> Cc: Dave Airlie <airlied at redhat.com> >>> Cc: Gerd Hoffmann <kraxel at redhat.com> >>> Cc: virtualization at lists.linux-foundation.org >> >> Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de> >> >>> --- >>> MAINTAINERS | 2 +- >>> drivers/gpu/drm/Kconfig | 2 -- >>> drivers/gpu/drm/Makefile | 1 - >>> drivers/gpu/drm/cirrus/Kconfig | 19 ------------------- >>> drivers/gpu/drm/cirrus/Makefile | 2 -- >>> drivers/gpu/drm/tiny/Kconfig | 19 +++++++++++++++++++ >>> drivers/gpu/drm/tiny/Makefile | 1 + >>> drivers/gpu/drm/{cirrus => tiny}/cirrus.c | 0 >>> 8 files changed, 21 insertions(+), 25 deletions(-) >>> delete mode 100644 drivers/gpu/drm/cirrus/Kconfig >>> delete mode 100644 drivers/gpu/drm/cirrus/Makefile >>> rename drivers/gpu/drm/{cirrus => tiny}/cirrus.c (100%) >>> >>> diff --git a/MAINTAINERS b/MAINTAINERS >>> index 7b3255d96d1d..0a5cf105ee37 100644 >>> --- a/MAINTAINERS >>> +++ b/MAINTAINERS >>> @@ -5397,7 +5397,7 @@ L: virtualization at lists.linux-foundation.org >>> S: Obsolete >>> W: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ >>> T: git git://anongit.freedesktop.org/drm/drm-misc >>> -F: drivers/gpu/drm/cirrus/ >>> +F: drivers/gpu/drm/tiny/cirrus.c >>> >>> DRM DRIVER FOR QXL VIRTUAL GPU >>> M: Dave Airlie <airlied at redhat.com> >>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig >>> index 43594978958e..4f4e7fa001c1 100644 >>> --- a/drivers/gpu/drm/Kconfig >>> +++ b/drivers/gpu/drm/Kconfig >>> @@ -310,8 +310,6 @@ source "drivers/gpu/drm/ast/Kconfig" >>> >>> source "drivers/gpu/drm/mgag200/Kconfig" >>> >>> -source "drivers/gpu/drm/cirrus/Kconfig" >>> - >>> source "drivers/gpu/drm/armada/Kconfig" >>> >>> source "drivers/gpu/drm/atmel-hlcdc/Kconfig" >>> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile >>> index f34d08c83485..2c0e5a7e5953 100644 >>> --- a/drivers/gpu/drm/Makefile >>> +++ b/drivers/gpu/drm/Makefile >>> @@ -74,7 +74,6 @@ obj-$(CONFIG_DRM_I915) += i915/ >>> obj-$(CONFIG_DRM_MGAG200) += mgag200/ >>> obj-$(CONFIG_DRM_V3D) += v3d/ >>> obj-$(CONFIG_DRM_VC4) += vc4/ >>> -obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/ >>> obj-$(CONFIG_DRM_SIS) += sis/ >>> obj-$(CONFIG_DRM_SAVAGE)+= savage/ >>> obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ >>> diff --git a/drivers/gpu/drm/cirrus/Kconfig b/drivers/gpu/drm/cirrus/Kconfig >>> deleted file mode 100644 >>> index c6bbd988b0e5..000000000000 >>> --- a/drivers/gpu/drm/cirrus/Kconfig >>> +++ /dev/null >>> @@ -1,19 +0,0 @@ >>> -# SPDX-License-Identifier: GPL-2.0-only >>> -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) >>> diff --git a/drivers/gpu/drm/cirrus/Makefile b/drivers/gpu/drm/cirrus/Makefile >>> deleted file mode 100644 >>> index 0c1ed3f99725..000000000000 >>> --- a/drivers/gpu/drm/cirrus/Makefile >>> +++ /dev/null >>> @@ -1,2 +0,0 @@ >>> -# SPDX-License-Identifier: GPL-2.0-only >>> -obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o >>> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig >>> index 4160e74e4751..2b6414f0fa75 100644 >>> --- a/drivers/gpu/drm/tiny/Kconfig >>> +++ b/drivers/gpu/drm/tiny/Kconfig >>> @@ -1,5 +1,24 @@ >>> # SPDX-License-Identifier: GPL-2.0-only >>> >>> +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) >>> + >>> config DRM_GM12U320 >>> tristate "GM12U320 driver for USB projectors" >>> depends on DRM && USB >>> diff --git a/drivers/gpu/drm/tiny/Makefile b/drivers/gpu/drm/tiny/Makefile >>> index c96ceee71453..6ae4e9e5a35f 100644 >>> --- a/drivers/gpu/drm/tiny/Makefile >>> +++ b/drivers/gpu/drm/tiny/Makefile >>> @@ -1,5 +1,6 @@ >>> # SPDX-License-Identifier: GPL-2.0-only >>> >>> +obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o >>> obj-$(CONFIG_DRM_GM12U320) += gm12u320.o >>> obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o >>> obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o >>> diff --git a/drivers/gpu/drm/cirrus/cirrus.c b/drivers/gpu/drm/tiny/cirrus.c >>> similarity index 100% >>> rename from drivers/gpu/drm/cirrus/cirrus.c >>> rename to drivers/gpu/drm/tiny/cirrus.c >>> >> >> -- >> Thomas Zimmermann >> Graphics Driver Developer >> SUSE Software Solutions Germany GmbH >> Maxfeldstr. 5, 90409 N?rnberg, Germany >> (HRB 36809, AG N?rnberg) >> Gesch?ftsf?hrer: Felix Imend?rffer >> > >-- Thomas Zimmermann Graphics Driver Developer SUSE Software Solutions Germany GmbH Maxfeldstr. 5, 90409 N?rnberg, Germany (HRB 36809, AG N?rnberg) Gesch?ftsf?hrer: Felix Imend?rffer -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 488 bytes Desc: OpenPGP digital signature URL: <http://lists.linuxfoundation.org/pipermail/virtualization/attachments/20200415/9503b2ee/attachment.sig>
On Wed, Apr 15, 2020 at 10:46 AM Thomas Zimmermann <tzimmermann at suse.de> wrote:> > > > Am 15.04.20 um 10:19 schrieb Daniel Vetter: > > On Wed, Apr 15, 2020 at 10:01 AM Thomas Zimmermann <tzimmermann at suse.de> wrote: > >> > >> > >> > >> Am 15.04.20 um 09:40 schrieb Daniel Vetter: > >>> Because it is. Huge congrats to everyone who made this kind of > >>> refactoring happen! > >> > >> Every other week, I felt an urge to send out this patch. Thank you so > >> much, Daniel! There are more candidates for tiny/. They are all <20k > >> LOCs and all we'd have to do is to move their code into a single file. > > I meant <20k file size, not LOCs. > > >> bochs or arc come into my mind. > > > > arc I have (later in the series), bochs I feel like is maybe a bit too > > big. I'd put the limit for tiny well below 1kloc including whitespace > > and all that. bochs might be a candidate once we've helperized a few > > more things perhaps. > > True. The largest tiny driver is repaper with ~1.1k LOCS. Reading this > code, it seems like it has reached an upper bound of what is feasible.Yeah, and I think the trouble there is that it contains an epaper-specific panel abstraction. I think that's pushing it over the edge. I think we've talked about subclassing drm_panel with bus/device-specific stuff, that might be an option if this gets out of hand. Also I think we should be much stricter with putting drivers into tiny/ than moving them out. Just so we avoid endless ping-pong, e.g. for drivers that I can't make really tiny I wont bother with moving them to tiny/ -Daniel> > Best regards > Thomas > > > > > btw I drmm_ version of vram helpers would help a bunch of these drivers I think. > > -Daniel > > > >> > >>> > >>> Signed-off-by: Daniel Vetter <daniel.vetter at intel.com> > >>> Cc: Dave Airlie <airlied at redhat.com> > >>> Cc: Gerd Hoffmann <kraxel at redhat.com> > >>> Cc: virtualization at lists.linux-foundation.org > >> > >> Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de> > >> > >>> --- > >>> MAINTAINERS | 2 +- > >>> drivers/gpu/drm/Kconfig | 2 -- > >>> drivers/gpu/drm/Makefile | 1 - > >>> drivers/gpu/drm/cirrus/Kconfig | 19 ------------------- > >>> drivers/gpu/drm/cirrus/Makefile | 2 -- > >>> drivers/gpu/drm/tiny/Kconfig | 19 +++++++++++++++++++ > >>> drivers/gpu/drm/tiny/Makefile | 1 + > >>> drivers/gpu/drm/{cirrus => tiny}/cirrus.c | 0 > >>> 8 files changed, 21 insertions(+), 25 deletions(-) > >>> delete mode 100644 drivers/gpu/drm/cirrus/Kconfig > >>> delete mode 100644 drivers/gpu/drm/cirrus/Makefile > >>> rename drivers/gpu/drm/{cirrus => tiny}/cirrus.c (100%) > >>> > >>> diff --git a/MAINTAINERS b/MAINTAINERS > >>> index 7b3255d96d1d..0a5cf105ee37 100644 > >>> --- a/MAINTAINERS > >>> +++ b/MAINTAINERS > >>> @@ -5397,7 +5397,7 @@ L: virtualization at lists.linux-foundation.org > >>> S: Obsolete > >>> W: https://www.kraxel.org/blog/2014/10/qemu-using-cirrus-considered-harmful/ > >>> T: git git://anongit.freedesktop.org/drm/drm-misc > >>> -F: drivers/gpu/drm/cirrus/ > >>> +F: drivers/gpu/drm/tiny/cirrus.c > >>> > >>> DRM DRIVER FOR QXL VIRTUAL GPU > >>> M: Dave Airlie <airlied at redhat.com> > >>> diff --git a/drivers/gpu/drm/Kconfig b/drivers/gpu/drm/Kconfig > >>> index 43594978958e..4f4e7fa001c1 100644 > >>> --- a/drivers/gpu/drm/Kconfig > >>> +++ b/drivers/gpu/drm/Kconfig > >>> @@ -310,8 +310,6 @@ source "drivers/gpu/drm/ast/Kconfig" > >>> > >>> source "drivers/gpu/drm/mgag200/Kconfig" > >>> > >>> -source "drivers/gpu/drm/cirrus/Kconfig" > >>> - > >>> source "drivers/gpu/drm/armada/Kconfig" > >>> > >>> source "drivers/gpu/drm/atmel-hlcdc/Kconfig" > >>> diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile > >>> index f34d08c83485..2c0e5a7e5953 100644 > >>> --- a/drivers/gpu/drm/Makefile > >>> +++ b/drivers/gpu/drm/Makefile > >>> @@ -74,7 +74,6 @@ obj-$(CONFIG_DRM_I915) += i915/ > >>> obj-$(CONFIG_DRM_MGAG200) += mgag200/ > >>> obj-$(CONFIG_DRM_V3D) += v3d/ > >>> obj-$(CONFIG_DRM_VC4) += vc4/ > >>> -obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus/ > >>> obj-$(CONFIG_DRM_SIS) += sis/ > >>> obj-$(CONFIG_DRM_SAVAGE)+= savage/ > >>> obj-$(CONFIG_DRM_VMWGFX)+= vmwgfx/ > >>> diff --git a/drivers/gpu/drm/cirrus/Kconfig b/drivers/gpu/drm/cirrus/Kconfig > >>> deleted file mode 100644 > >>> index c6bbd988b0e5..000000000000 > >>> --- a/drivers/gpu/drm/cirrus/Kconfig > >>> +++ /dev/null > >>> @@ -1,19 +0,0 @@ > >>> -# SPDX-License-Identifier: GPL-2.0-only > >>> -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) > >>> diff --git a/drivers/gpu/drm/cirrus/Makefile b/drivers/gpu/drm/cirrus/Makefile > >>> deleted file mode 100644 > >>> index 0c1ed3f99725..000000000000 > >>> --- a/drivers/gpu/drm/cirrus/Makefile > >>> +++ /dev/null > >>> @@ -1,2 +0,0 @@ > >>> -# SPDX-License-Identifier: GPL-2.0-only > >>> -obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o > >>> diff --git a/drivers/gpu/drm/tiny/Kconfig b/drivers/gpu/drm/tiny/Kconfig > >>> index 4160e74e4751..2b6414f0fa75 100644 > >>> --- a/drivers/gpu/drm/tiny/Kconfig > >>> +++ b/drivers/gpu/drm/tiny/Kconfig > >>> @@ -1,5 +1,24 @@ > >>> # SPDX-License-Identifier: GPL-2.0-only > >>> > >>> +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) > >>> + > >>> config DRM_GM12U320 > >>> tristate "GM12U320 driver for USB projectors" > >>> depends on DRM && USB > >>> diff --git a/drivers/gpu/drm/tiny/Makefile b/drivers/gpu/drm/tiny/Makefile > >>> index c96ceee71453..6ae4e9e5a35f 100644 > >>> --- a/drivers/gpu/drm/tiny/Makefile > >>> +++ b/drivers/gpu/drm/tiny/Makefile > >>> @@ -1,5 +1,6 @@ > >>> # SPDX-License-Identifier: GPL-2.0-only > >>> > >>> +obj-$(CONFIG_DRM_CIRRUS_QEMU) += cirrus.o > >>> obj-$(CONFIG_DRM_GM12U320) += gm12u320.o > >>> obj-$(CONFIG_TINYDRM_HX8357D) += hx8357d.o > >>> obj-$(CONFIG_TINYDRM_ILI9225) += ili9225.o > >>> diff --git a/drivers/gpu/drm/cirrus/cirrus.c b/drivers/gpu/drm/tiny/cirrus.c > >>> similarity index 100% > >>> rename from drivers/gpu/drm/cirrus/cirrus.c > >>> rename to drivers/gpu/drm/tiny/cirrus.c > >>> > >> > >> -- > >> Thomas Zimmermann > >> Graphics Driver Developer > >> SUSE Software Solutions Germany GmbH > >> Maxfeldstr. 5, 90409 N?rnberg, Germany > >> (HRB 36809, AG N?rnberg) > >> Gesch?ftsf?hrer: Felix Imend?rffer > >> > > > > > > -- > Thomas Zimmermann > Graphics Driver Developer > SUSE Software Solutions Germany GmbH > Maxfeldstr. 5, 90409 N?rnberg, Germany > (HRB 36809, AG N?rnberg) > Gesch?ftsf?hrer: Felix Imend?rffer >-- Daniel Vetter Software Engineer, Intel Corporation +41 (0) 79 365 57 48 - http://blog.ffwll.ch