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