[RFC 0/7] drm: Add shmem GEM library

Noralf Trønnes noralf at tronnes.org
Wed Jul 12 13:45:58 UTC 2017


This patchset adds a library for shmem backed GEM objects.
I'm putting out an rfc to find out if I'm on the right track with this.
The shmem library is very similar to the cma library, so I have tried
to pull out the common bits.

A couple of questions:
- What should the default cache mode be?
- Do I need locking around vmap/vunmap?
  See TODO in [RFC 5/7] drm: Add library for shmem backed GEM objects

Noralf.


Noralf Trønnes (7):
  drm/gem: Add drm_gem_dumb_map_offset()
  drm: Add GEM backed framebuffer library
  drm/fb-helper: Support shadow buffer with deferred io
  drm/fb-helper: Add simple init/fini functions
  drm: Add library for shmem backed GEM objects
  drm: Add kms library for shmem backed GEM
  drm/tinydrm: Switch from CMA to shmem buffers

 drivers/gpu/drm/Kconfig                     |  17 +
 drivers/gpu/drm/Makefile                    |   4 +-
 drivers/gpu/drm/drm_fb_gem_helper.c         | 248 +++++++++++
 drivers/gpu/drm/drm_fb_helper.c             | 229 +++++++++-
 drivers/gpu/drm/drm_fb_shmem_helper.c       | 168 ++++++++
 drivers/gpu/drm/drm_gem.c                   |  35 ++
 drivers/gpu/drm/drm_gem_shmem_helper.c      | 628 ++++++++++++++++++++++++++++
 drivers/gpu/drm/tinydrm/Kconfig             |   2 +-
 drivers/gpu/drm/tinydrm/core/tinydrm-core.c | 147 +++----
 drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c |   4 +-
 drivers/gpu/drm/tinydrm/mi0283qt.c          |   2 +-
 drivers/gpu/drm/tinydrm/mipi-dbi.c          |  41 +-
 include/drm/drm_fb_gem_helper.h             |  64 +++
 include/drm/drm_fb_helper.h                 |  50 +++
 include/drm/drm_fb_shmem_helper.h           |  18 +
 include/drm/drm_gem.h                       |   2 +
 include/drm/drm_gem_shmem_helper.h          | 131 ++++++
 include/drm/tinydrm/tinydrm.h               |  32 +-
 18 files changed, 1683 insertions(+), 139 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_fb_gem_helper.c
 create mode 100644 drivers/gpu/drm/drm_fb_shmem_helper.c
 create mode 100644 drivers/gpu/drm/drm_gem_shmem_helper.c
 create mode 100644 include/drm/drm_fb_gem_helper.h
 create mode 100644 include/drm/drm_fb_shmem_helper.h
 create mode 100644 include/drm/drm_gem_shmem_helper.h

--
2.7.4



More information about the dri-devel mailing list