On Wed, Apr 15, 2020 at 10:46 AM Thomas Zimmermann <tzimmermann@xxxxxxx> wrote: > > > > Am 15.04.20 um 10:19 schrieb Daniel Vetter: > > On Wed, Apr 15, 2020 at 10:01 AM Thomas Zimmermann <tzimmermann@xxxxxxx> 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@xxxxxxxxx> > >>> Cc: Dave Airlie <airlied@xxxxxxxxxx> > >>> Cc: Gerd Hoffmann <kraxel@xxxxxxxxxx> > >>> Cc: virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx > >> > >> Reviewed-by: Thomas Zimmermann <tzimmermann@xxxxxxx> > >> > >>> --- > >>> 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@xxxxxxxxxxxxxxxxxxxxxxxxxx > >>> 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@xxxxxxxxxx> > >>> 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 _______________________________________________ Virtualization mailing list Virtualization@xxxxxxxxxxxxxxxxxxxxxxxxxx https://lists.linuxfoundation.org/mailman/listinfo/virtualization