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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel