[Intel-gfx] [RFC 0/7] drm: Add generic fbdev emulation

Noralf Trønnes noralf at tronnes.org
Sun Dec 31 13:58:36 UTC 2017

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
  - 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.


[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(-)


More information about the Intel-gfx mailing list