This patchset explores the possibility of having generic fbdev emulation in DRM for drivers that supports dumb buffers which they can export. I was about to polish up my 'vmalloc BO helper' series, which has fbdev support, when this idea[1] of Laurent popped into my mind: Ideally I'd like to remove 100% of fbdev-related code from drivers. This includes - initialization and cleanup of fbdev helpers - fbdev restore in last_close() - forwarding of hotplug events to fbdev compatibility layer In practice we'll likely need to keep one initialization function (or a drm_driver flag) to let drivers opt-in to fbdev compatibility, but the rest should go away. Or maybe we could even enable fbdev compatibility in all drivers unconditionally. So I set out to see what it would take to accomplish that. Noralf. [1] https://lists.freedesktop.org/archives/dri-devel/2017-September/152612.html David Herrmann (1): drm: provide management functions for drm_file Noralf Trønnes (6): drm/fb-helper: Ensure driver module is pinned in fb_open() drm/fb-helper: Don't restore if fbdev is not in use drm/prime: Clear drm_gem_object->dma_buf on release drm: Handle fbdev emulation in core drm/fb-helper: Add generic fbdev emulation drm/vc4: Test generic fbdev emulation drivers/gpu/drm/drm_fb_helper.c | 344 +++++++++++++++++++++++++++++++++++++ drivers/gpu/drm/drm_file.c | 321 ++++++++++++++++++++-------------- drivers/gpu/drm/drm_internal.h | 2 + drivers/gpu/drm/drm_mode_config.c | 10 ++ drivers/gpu/drm/drm_prime.c | 1 + drivers/gpu/drm/drm_probe_helper.c | 4 + drivers/gpu/drm/vc4/vc4_drv.c | 3 - drivers/gpu/drm/vc4/vc4_kms.c | 3 +- include/drm/drm_fb_helper.h | 95 ++++++++++ 9 files changed, 645 insertions(+), 138 deletions(-) -- 2.14.2 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel