[PATCH 0/5] drm/vram: Provide helpers for prepare_fb() and cleanup_fb()

Thomas Zimmermann tzimmermann at suse.de
Tue Oct 22 10:25:15 UTC 2019


The implementation of the plane's call-back functions prepare_fb() and
cleanup_fb() for GEM VRAM helpers are sharable among drivers.

The first patch adapts the the interface of simple KSM helpers such that
bochs can benefit from the shared code. We add the helper functions in
patch #2. Patches #3 to #5 covert several drivers to the new helpers.

Patch #4 also fixes two bugs that have been present in hibmc since it was
first added. The primary plane's atomic_update() is not responsible for
pinning BOs. And it never unpinned unused BOs. VRAM is being exausted
over time.

The new helpers have been tested to work. The drivers affected by the
interface change have been compiled at least.

Thomas Zimmermann (5):
  drm/simple-kms-helper: Pass plane to prepare_fb() and cleanup_fb()
  drm/vram-helpers: Add helpers for struct drm_plane_helper_funcs
  drm/bochs: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers
  drm/hisilicon/hibmc: Use GEM VRAM's prepare_fb() and cleanup_fb()
    helpers
  drm/vboxvideo: Replace prepare_fb()/cleanup_fb() with GEM VRAM helpers

 drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c      |  2 +-
 drivers/gpu/drm/bochs/bochs_kms.c             | 26 +-----
 drivers/gpu/drm/drm_gem_framebuffer_helper.c  | 22 -----
 drivers/gpu/drm/drm_gem_vram_helper.c         | 81 +++++++++++++++++++
 drivers/gpu/drm/drm_simple_kms_helper.c       |  4 +-
 .../gpu/drm/hisilicon/hibmc/hibmc_drm_de.c    | 14 +---
 drivers/gpu/drm/mcde/mcde_display.c           |  2 +-
 drivers/gpu/drm/mxsfb/mxsfb_drv.c             |  2 +-
 drivers/gpu/drm/pl111/pl111_display.c         |  2 +-
 drivers/gpu/drm/tiny/hx8357d.c                |  2 +-
 drivers/gpu/drm/tiny/ili9225.c                |  2 +-
 drivers/gpu/drm/tiny/ili9341.c                |  2 +-
 drivers/gpu/drm/tiny/mi0283qt.c               |  2 +-
 drivers/gpu/drm/tiny/repaper.c                |  2 +-
 drivers/gpu/drm/tiny/st7586.c                 |  2 +-
 drivers/gpu/drm/tiny/st7735r.c                |  2 +-
 drivers/gpu/drm/tve200/tve200_display.c       |  2 +-
 drivers/gpu/drm/vboxvideo/vbox_mode.c         | 61 +-------------
 drivers/gpu/drm/xen/xen_drm_front_kms.c       |  2 +-
 include/drm/drm_gem_framebuffer_helper.h      |  4 +-
 include/drm/drm_gem_vram_helper.h             | 12 +++
 include/drm/drm_plane.h                       |  2 +-
 include/drm/drm_simple_kms_helper.h           |  6 +-
 23 files changed, 123 insertions(+), 135 deletions(-)

--
2.23.0



More information about the dri-devel mailing list