[PATCH v3 00/22] drm: Add GEM backed framebuffer library

Noralf Trønnes noralf at tronnes.org
Sun Aug 13 13:31:43 UTC 2017


This adds helpers for drivers that don't subclass drm_framebuffer and
are backed by drm_gem_object(s). drm_fb_cma_helper is converted to use
the helpers.

This patchset is part of a process to add a shmem gem library like the
cma library. The common parts between the two goes into core or helpers.

Noralf.

Changes since version 2:
- Expanded docs (Daniel)
- Add drm_gem_fbdev_fb_create() instead of exporting drm_gem_fb_alloc().
  This function is used by drivers/helpers to create a drm_framebuffer for
  use with fbdev emulation.
- drm_gem_object_put_unlocked() is NULL tolerant (Joe Kniss)
- Rebase tinydrm patch on new st7586 driver
- Rebase arc and pl111 patches on 'drm: make drm_mode_config_func const'

Changes since version 1:
- Pushed the new functions out to the cma drivers, so I could clean up
  the cma library.

Noralf Trønnes (22):
  drm: Add GEM backed framebuffer library
  drm/fb-cma-helper: Use drm_gem_framebuffer_helper
  drm/tinydrm: Use drm_gem_framebuffer_helper
  drm/arc: Use drm_gem_fb_create()
  drm/arm/hdlcd: Use drm_gem_fb_create()
  drm/arm/mali: Use drm_gem_fb_create()
  drm/atmel-hlcdc: Use drm_gem_fb_create()
  drm/fsl-dcu: Use drm_gem_fb_create()
  drm/hisilicon/kirin: Use drm_gem_fb_create()
  drm/imx: Use drm_gem_fb_create() and drm_gem_fb_prepare_fb()
  drm/meson: Use drm_gem_fb_create()
  drm/mxsfb: Use drm_gem_fb_create() and drm_gem_fb_prepare_fb()
  drm/pl111: Use drm_gem_fb_create() and drm_gem_fb_prepare_fb()
  drm/rcar-du: Use drm_gem_fb_create()
  drm/shmobile: Use drm_gem_fb_create()
  drm/sti: Use drm_gem_fb_create()
  drm/stm: Use drm_gem_fb_create()
  drm/sun4i: Use drm_gem_fb_create()
  drm/tilcdc: Use drm_gem_fb_create()
  drm/vc4: Use drm_gem_fb_create()
  drm/zte: Use drm_gem_fb_create()
  drm/fb-cma-helper: Remove unused functions

 Documentation/gpu/drm-kms-helpers.rst           |   9 +
 drivers/gpu/drm/Makefile                        |   2 +-
 drivers/gpu/drm/arc/arcpgu_drv.c                |   3 +-
 drivers/gpu/drm/arm/hdlcd_drv.c                 |   3 +-
 drivers/gpu/drm/arm/malidp_drv.c                |   3 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c    |   2 +-
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h    |   1 +
 drivers/gpu/drm/drm_fb_cma_helper.c             | 248 +++------------------
 drivers/gpu/drm/drm_gem_framebuffer_helper.c    | 283 ++++++++++++++++++++++++
 drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_kms.c       |   3 +-
 drivers/gpu/drm/hisilicon/kirin/kirin_drm_drv.c |   3 +-
 drivers/gpu/drm/imx/imx-drm-core.c              |   3 +-
 drivers/gpu/drm/imx/ipuv3-plane.c               |   3 +-
 drivers/gpu/drm/meson/meson_drv.c               |   3 +-
 drivers/gpu/drm/mxsfb/mxsfb_drv.c               |   5 +-
 drivers/gpu/drm/pl111/pl111_display.c           |   3 +-
 drivers/gpu/drm/pl111/pl111_drv.c               |   3 +-
 drivers/gpu/drm/rcar-du/rcar_du_kms.c           |   3 +-
 drivers/gpu/drm/shmobile/shmob_drm_kms.c        |   3 +-
 drivers/gpu/drm/sti/sti_drv.c                   |   3 +-
 drivers/gpu/drm/stm/drv.c                       |   3 +-
 drivers/gpu/drm/sun4i/sun4i_framebuffer.c       |   3 +-
 drivers/gpu/drm/tilcdc/tilcdc_drv.c             |   3 +-
 drivers/gpu/drm/tinydrm/core/tinydrm-core.c     |   3 +-
 drivers/gpu/drm/tinydrm/core/tinydrm-pipe.c     |   5 +-
 drivers/gpu/drm/tinydrm/mipi-dbi.c              |   5 +-
 drivers/gpu/drm/tinydrm/repaper.c               |   5 +-
 drivers/gpu/drm/tinydrm/st7586.c                |   5 +-
 drivers/gpu/drm/vc4/vc4_kms.c                   |   3 +-
 drivers/gpu/drm/zte/zx_drm_drv.c                |   3 +-
 include/drm/drm_fb_cma_helper.h                 |  13 --
 include/drm/drm_framebuffer.h                   |   7 +
 include/drm/drm_gem_framebuffer_helper.h        |  37 ++++
 33 files changed, 420 insertions(+), 264 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_gem_framebuffer_helper.c
 create mode 100644 include/drm/drm_gem_framebuffer_helper.h

--
2.7.4



More information about the dri-devel mailing list