Message ID | 20230313155138.20584-1-tzimmermann@suse.de (mailing list archive) |
---|---|
Headers | show |
Series | drm/dma-helper: Add dedicated fbdev emulation | expand |
On Mon, Mar 13, 2023 at 4:51 PM Thomas Zimmermann <tzimmermann@suse.de> wrote:
> Tested with fbcon and IGT on vc4.
Also tested on the U8500 MCDE on Samsung GT-I8190 (Golden)
successfully.
Yours,
Linus Walleij
Merged into drm-misc-next. Thanks a lot for reviews and comments. Am 13.03.23 um 16:51 schrieb Thomas Zimmermann: > Add fbdev emulation that is optimized for DMA helpers, as used by most > drivers. It operates directly on GEM DMA buffers in system memory. > Memory pages are mmap'ed directly to userspace. No implicit shadow > buffers need to be allocated; as can happen with the generic fbdev > emulation. Convert drivers that fulfil the requirements. > > Tested with fbcon and IGT on vc4. > > Future direction: providing a dedicated fbdev emulation for GEM DMA > helpers will allow us to remove this case from the generic fbdev code. > The latter can then be simplified. > > v2: > * update mcde and pl111 as well (Linus) > > Linus Walleij (1): > drm/mcde: Do not use dirty GEM FB handling > > Thomas Zimmermann (24): > drm/fbdev-dma: Implement fbdev emulation for GEM DMA helpers > arm/hdlcd: Use GEM DMA fbdev emulation > arm/malidp: Use GEM DMA fbdev emulation > drm/aspeed: Use GEM DMA fbdev emulation > drm/atmel-hlcdc: Use GEM DMA fbdev emulation > drm/fsl-dcu: Use GEM DMA fbdev emulation > drm/imx/dcss: Use GEM DMA fbdev emulation > drm/imx: Use GEM DMA fbdev emulation > drm/kmb: Use GEM DMA fbdev emulation > drm/logicvc: Use GEM DMA fbdev emulation > drm/meson: Use GEM DMA fbdev emulation > drm/mxsfb/lcdif: Use GEM DMA fbdev emulation > drm/mxsfb: Use GEM DMA fbdev emulation > drm/sti: Use GEM DMA fbdev emulation > drm/stm: Use GEM DMA fbdev emulation > drm/sun4i: Use GEM DMA fbdev emulation > drm/tidss: Use GEM DMA fbdev emulation > drm/tilcdc: Use GEM DMA fbdev emulation > drm/arcpgu: Use GEM DMA fbdev emulation > drm/tve200: Use GEM DMA fbdev emulation > drm/vc4: Use GEM DMA fbdev emulation > drm/xlnx: Use GEM DMA fbdev emulation > drm/mcde: Use GEM DMA fbdev emulation > drm/pl111: Use GEM DMA fbdev emulation > > drivers/gpu/drm/Makefile | 1 + > drivers/gpu/drm/arm/hdlcd_drv.c | 4 +- > drivers/gpu/drm/arm/malidp_drv.c | 4 +- > drivers/gpu/drm/aspeed/aspeed_gfx_drv.c | 4 +- > drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c | 4 +- > drivers/gpu/drm/drm_fbdev_dma.c | 275 +++++++++++++++++++ > drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_drv.c | 4 +- > drivers/gpu/drm/imx/dcss/dcss-kms.c | 4 +- > drivers/gpu/drm/imx/ipuv3/imx-drm-core.c | 4 +- > drivers/gpu/drm/kmb/kmb_drv.c | 4 +- > drivers/gpu/drm/logicvc/logicvc_drm.c | 4 +- > drivers/gpu/drm/mcde/mcde_drv.c | 6 +- > drivers/gpu/drm/meson/meson_drv.c | 4 +- > drivers/gpu/drm/mxsfb/lcdif_drv.c | 4 +- > drivers/gpu/drm/mxsfb/mxsfb_drv.c | 4 +- > drivers/gpu/drm/pl111/pl111_drv.c | 4 +- > drivers/gpu/drm/sti/sti_drv.c | 4 +- > drivers/gpu/drm/stm/drv.c | 4 +- > drivers/gpu/drm/sun4i/sun4i_drv.c | 4 +- > drivers/gpu/drm/tidss/tidss_drv.c | 4 +- > drivers/gpu/drm/tilcdc/tilcdc_drv.c | 4 +- > drivers/gpu/drm/tiny/arcpgu.c | 4 +- > drivers/gpu/drm/tve200/tve200_drv.c | 4 +- > drivers/gpu/drm/vc4/vc4_drv.c | 4 +- > drivers/gpu/drm/xlnx/zynqmp_kms.c | 4 +- > include/drm/drm_fbdev_dma.h | 15 + > 26 files changed, 338 insertions(+), 47 deletions(-) > create mode 100644 drivers/gpu/drm/drm_fbdev_dma.c > create mode 100644 include/drm/drm_fbdev_dma.h > > > base-commit: b21ced77ae1dbc3d8b01d3aef3c99bba7377a69b > prerequisite-patch-id: 0aa359f6144c4015c140c8a6750be19099c676fb > prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24 > prerequisite-patch-id: 3f204510fcbf9530d6540bd8e6128cce598988b6 > prerequisite-patch-id: 75f2ebf12693f23508f00d574b2b57488723e474 > prerequisite-patch-id: 718531bf5cf15716834cfaf3008ea0e2366ec927 > prerequisite-patch-id: a793aa283cf41f290d970404881f24bffc48caff > prerequisite-patch-id: e74f259d1923247a74d5bf7d996afb0e6ca01883 > prerequisite-patch-id: a1d12b9548110b1f5e9aa3803b21e2a7f9f8c19d > prerequisite-patch-id: 033f10da72f10d82f113a5066a3b3a7ff91d13aa > prerequisite-patch-id: 976264fafbd69d0996209a90a3d546d9be3f3779 > prerequisite-patch-id: 617c74af5e16717898a23ced9c8badfff1e0ade7 > prerequisite-patch-id: 5e0cfa9c81aa7ceb2cc48c5cbc9934496251fac4 > prerequisite-patch-id: 13594c3cc8102960bb195bc7f572fefba8eb19d7 > prerequisite-patch-id: 99d9da7e08369050d135c23d32dead811bb9cf97 > prerequisite-patch-id: 833f9d8341a287961ee653b04730da57ce987b06 > prerequisite-patch-id: 5d5c9caaf9489a6c2f688d632a57a0fb65fcb5f7 > prerequisite-patch-id: b64758ecd64ec0c0acd96d0766ba891378c5c539 > prerequisite-patch-id: 37a7d3e9fb3e4e2b7ebeac3f77da6610f12beea3 > prerequisite-patch-id: 99073429dafdc98cdd31464ce28e795696a149f9 > prerequisite-patch-id: c2247eca44927569cd2b6d9f370195965346adb4