drm/gem: Move drm_gem_fb_prepare_fb() to GEM atomic helpers
authorThomas Zimmermann <tzimmermann@suse.de>
Mon, 22 Feb 2021 14:17:56 +0000 (15:17 +0100)
committerThomas Zimmermann <tzimmermann@suse.de>
Tue, 23 Feb 2021 07:54:22 +0000 (08:54 +0100)
The function drm_gem_fb_prepare_fb() is a helper for atomic modesetting,
but currently located next to framebuffer helpers. Move it to GEM atomic
helpers, rename it slightly and adopt the drivers. Same for the rsp
simple-pipe helper.

Compile-tested with x86-64, aarch64 and arm. The patch is fairly large,
but there are no functional changes.

v3:
* remove out-comented line in drm_gem_framebuffer_helper.h
  (Maxime)
v2:
* rename to drm_gem_plane_helper_prepare_fb() (Daniel)
* add tutorial-style documentation

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Acked-by: Maxime Ripard <mripard@kernel.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20210222141756.7864-1-tzimmermann@suse.de
41 files changed:
drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c
drivers/gpu/drm/drm_gem_atomic_helper.c
drivers/gpu/drm/drm_gem_framebuffer_helper.c
drivers/gpu/drm/drm_gem_vram_helper.c
drivers/gpu/drm/imx/dcss/dcss-plane.c
drivers/gpu/drm/imx/ipuv3-plane.c
drivers/gpu/drm/ingenic/ingenic-drm-drv.c
drivers/gpu/drm/ingenic/ingenic-ipu.c
drivers/gpu/drm/mcde/mcde_display.c
drivers/gpu/drm/mediatek/mtk_drm_plane.c
drivers/gpu/drm/meson/meson_overlay.c
drivers/gpu/drm/meson/meson_plane.c
drivers/gpu/drm/msm/disp/dpu1/dpu_plane.c
drivers/gpu/drm/msm/msm_atomic.c
drivers/gpu/drm/mxsfb/mxsfb_kms.c
drivers/gpu/drm/pl111/pl111_display.c
drivers/gpu/drm/rcar-du/rcar_du_vsp.c
drivers/gpu/drm/rockchip/rockchip_drm_vop.c
drivers/gpu/drm/stm/ltdc.c
drivers/gpu/drm/sun4i/sun4i_layer.c
drivers/gpu/drm/sun4i/sun8i_ui_layer.c
drivers/gpu/drm/sun4i/sun8i_vi_layer.c
drivers/gpu/drm/tegra/plane.c
drivers/gpu/drm/tidss/tidss_plane.c
drivers/gpu/drm/tiny/hx8357d.c
drivers/gpu/drm/tiny/ili9225.c
drivers/gpu/drm/tiny/ili9341.c
drivers/gpu/drm/tiny/ili9486.c
drivers/gpu/drm/tiny/mi0283qt.c
drivers/gpu/drm/tiny/repaper.c
drivers/gpu/drm/tiny/st7586.c
drivers/gpu/drm/tiny/st7735r.c
drivers/gpu/drm/tve200/tve200_display.c
drivers/gpu/drm/vc4/vc4_plane.c
drivers/gpu/drm/vkms/vkms_plane.c
drivers/gpu/drm/xen/xen_drm_front_kms.c
include/drm/drm_gem_atomic_helper.h
include/drm/drm_gem_framebuffer_helper.h
include/drm/drm_modeset_helper_vtables.h
include/drm/drm_plane.h
include/drm/drm_simple_kms_helper.h

index 20c2197b270f9a5abd8dad503b8bf8c679573b2f..098f96d4d50d82dd2a7be340461b9329edb31013 100644 (file)
@@ -9,8 +9,8 @@
 #include <drm/drm_device.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_panel.h>
 #include <drm/drm_simple_kms_helper.h>
 #include <drm/drm_vblank.h>
@@ -220,7 +220,7 @@ static const struct drm_simple_display_pipe_funcs aspeed_gfx_funcs = {
        .enable         = aspeed_gfx_pipe_enable,
        .disable        = aspeed_gfx_pipe_disable,
        .update         = aspeed_gfx_pipe_update,
-       .prepare_fb     = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb     = drm_gem_simple_display_pipe_prepare_fb,
        .enable_vblank  = aspeed_gfx_enable_vblank,
        .disable_vblank = aspeed_gfx_disable_vblank,
 };
index fa4eae492b81276efb184c8c053d0450edc9b3e3..a005c5a0ba46ac0db118e68d7d51559eb90cb58a 100644 (file)
@@ -1,6 +1,10 @@
 // SPDX-License-Identifier: GPL-2.0-or-later
 
+#include <linux/dma-resv.h>
+
 #include <drm/drm_atomic_state_helper.h>
+#include <drm/drm_atomic_uapi.h>
+#include <drm/drm_gem.h>
 #include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_simple_kms_helper.h>
  *
  * The GEM atomic helpers library implements generic atomic-commit
  * functions for drivers that use GEM objects. Currently, it provides
- * plane state and framebuffer BO mappings for planes with shadow
- * buffers.
+ * synchronization helpers, and plane state and framebuffer BO mappings
+ * for planes with shadow buffers.
+ *
+ * Before scanout, a plane's framebuffer needs to be synchronized with
+ * possible writers that draw into the framebuffer. All drivers should
+ * call drm_gem_plane_helper_prepare_fb() from their implementation of
+ * struct &drm_plane_helper.prepare_fb . It sets the plane's fence from
+ * the framebuffer so that the DRM core can synchronize access automatically.
+ *
+ * drm_gem_plane_helper_prepare_fb() can also be used directly as
+ * implementation of prepare_fb. For drivers based on
+ * struct drm_simple_display_pipe, drm_gem_simple_display_pipe_prepare_fb()
+ * provides equivalent functionality.
+ *
+ * .. code-block:: c
+ *
+ *     #include <drm/drm_gem_atomic_helper.h>
+ *
+ *     struct drm_plane_helper_funcs driver_plane_helper_funcs = {
+ *             ...,
+ *             . prepare_fb = drm_gem_plane_helper_prepare_fb,
+ *     };
+ *
+ *     struct drm_simple_display_pipe_funcs driver_pipe_funcs = {
+ *             ...,
+ *             . prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
+ *     };
  *
  * A driver using a shadow buffer copies the content of the shadow buffers
  * into the HW's framebuffer memory during an atomic update. This requires
@@ -32,7 +61,7 @@
  *
  * .. code-block:: c
  *
- *     #include <drm/drm/gem_atomic_helper.h>
+ *     #include <drm/drm_gem_atomic_helper.h>
  *
  *     struct drm_plane_funcs driver_plane_funcs = {
  *             ...,
  *     }
  */
 
+/*
+ * Plane Helpers
+ */
+
+/**
+ * drm_gem_plane_helper_prepare_fb() - Prepare a GEM backed framebuffer
+ * @plane: Plane
+ * @state: Plane state the fence will be attached to
+ *
+ * This function extracts the exclusive fence from &drm_gem_object.resv and
+ * attaches it to plane state for the atomic helper to wait on. This is
+ * necessary to correctly implement implicit synchronization for any buffers
+ * shared as a struct &dma_buf. This function can be used as the
+ * &drm_plane_helper_funcs.prepare_fb callback.
+ *
+ * There is no need for &drm_plane_helper_funcs.cleanup_fb hook for simple
+ * GEM based framebuffer drivers which have their buffers always pinned in
+ * memory.
+ *
+ * See drm_atomic_set_fence_for_plane() for a discussion of implicit and
+ * explicit fencing in atomic modeset updates.
+ */
+int drm_gem_plane_helper_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state)
+{
+       struct drm_gem_object *obj;
+       struct dma_fence *fence;
+
+       if (!state->fb)
+               return 0;
+
+       obj = drm_gem_fb_get_obj(state->fb, 0);
+       fence = dma_resv_get_excl_rcu(obj->resv);
+       drm_atomic_set_fence_for_plane(state, fence);
+
+       return 0;
+}
+EXPORT_SYMBOL_GPL(drm_gem_plane_helper_prepare_fb);
+
+/**
+ * drm_gem_simple_display_pipe_prepare_fb - prepare_fb helper for &drm_simple_display_pipe
+ * @pipe: Simple display pipe
+ * @plane_state: Plane state
+ *
+ * This function uses drm_gem_plane_helper_prepare_fb() to extract the exclusive fence
+ * from &drm_gem_object.resv and attaches it to plane state for the atomic
+ * helper to wait on. This is necessary to correctly implement implicit
+ * synchronization for any buffers shared as a struct &dma_buf. Drivers can use
+ * this as their &drm_simple_display_pipe_funcs.prepare_fb callback.
+ *
+ * See drm_atomic_set_fence_for_plane() for a discussion of implicit and
+ * explicit fencing in atomic modeset updates.
+ */
+int drm_gem_simple_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe,
+                                          struct drm_plane_state *plane_state)
+{
+       return drm_gem_plane_helper_prepare_fb(&pipe->plane, plane_state);
+}
+EXPORT_SYMBOL(drm_gem_simple_display_pipe_prepare_fb);
+
 /*
  * Shadow-buffered Planes
  */
@@ -198,7 +286,7 @@ int drm_gem_prepare_shadow_fb(struct drm_plane *plane, struct drm_plane_state *p
        if (!fb)
                return 0;
 
-       ret = drm_gem_fb_prepare_fb(plane, plane_state);
+       ret = drm_gem_plane_helper_prepare_fb(plane, plane_state);
        if (ret)
                return ret;
 
index 109d11fb4cd411fdd0f00253277cbe15f4a14fd6..5ed2067cebb6e30440e14694876a382417a2eac4 100644 (file)
@@ -5,13 +5,8 @@
  * Copyright (C) 2017 Noralf Trønnes
  */
 
-#include <linux/dma-buf.h>
-#include <linux/dma-fence.h>
-#include <linux/dma-resv.h>
 #include <linux/slab.h>
 
-#include <drm/drm_atomic.h>
-#include <drm/drm_atomic_uapi.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fourcc.h>
@@ -19,7 +14,6 @@
 #include <drm/drm_gem.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_modeset_helper.h>
-#include <drm/drm_simple_kms_helper.h>
 
 #define AFBC_HEADER_SIZE               16
 #define AFBC_TH_LAYOUT_ALIGNMENT       8
@@ -432,60 +426,3 @@ int drm_gem_fb_afbc_init(struct drm_device *dev,
        return 0;
 }
 EXPORT_SYMBOL_GPL(drm_gem_fb_afbc_init);
-
-/**
- * drm_gem_fb_prepare_fb() - Prepare a GEM backed framebuffer
- * @plane: Plane
- * @state: Plane state the fence will be attached to
- *
- * This function extracts the exclusive fence from &drm_gem_object.resv and
- * attaches it to plane state for the atomic helper to wait on. This is
- * necessary to correctly implement implicit synchronization for any buffers
- * shared as a struct &dma_buf. This function can be used as the
- * &drm_plane_helper_funcs.prepare_fb callback.
- *
- * There is no need for &drm_plane_helper_funcs.cleanup_fb hook for simple
- * gem based framebuffer drivers which have their buffers always pinned in
- * memory.
- *
- * See drm_atomic_set_fence_for_plane() for a discussion of implicit and
- * explicit fencing in atomic modeset updates.
- */
-int drm_gem_fb_prepare_fb(struct drm_plane *plane,
-                         struct drm_plane_state *state)
-{
-       struct drm_gem_object *obj;
-       struct dma_fence *fence;
-
-       if (!state->fb)
-               return 0;
-
-       obj = drm_gem_fb_get_obj(state->fb, 0);
-       fence = dma_resv_get_excl_rcu(obj->resv);
-       drm_atomic_set_fence_for_plane(state, fence);
-
-       return 0;
-}
-EXPORT_SYMBOL_GPL(drm_gem_fb_prepare_fb);
-
-/**
- * drm_gem_fb_simple_display_pipe_prepare_fb - prepare_fb helper for
- *     &drm_simple_display_pipe
- * @pipe: Simple display pipe
- * @plane_state: Plane state
- *
- * This function uses drm_gem_fb_prepare_fb() to extract the exclusive fence
- * from &drm_gem_object.resv and attaches it to plane state for the atomic
- * helper to wait on. This is necessary to correctly implement implicit
- * synchronization for any buffers shared as a struct &dma_buf. Drivers can use
- * this as their &drm_simple_display_pipe_funcs.prepare_fb callback.
- *
- * See drm_atomic_set_fence_for_plane() for a discussion of implicit and
- * explicit fencing in atomic modeset updates.
- */
-int drm_gem_fb_simple_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe,
-                                             struct drm_plane_state *plane_state)
-{
-       return drm_gem_fb_prepare_fb(&pipe->plane, plane_state);
-}
-EXPORT_SYMBOL(drm_gem_fb_simple_display_pipe_prepare_fb);
index 0c2233ee602965aaf7a0eefd80b9722b5a2361ab..d7519b814f1b658f6e09d617e3370c5738211741 100644 (file)
@@ -8,7 +8,7 @@
 #include <drm/drm_drv.h>
 #include <drm/drm_file.h>
 #include <drm/drm_framebuffer.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_ttm_helper.h>
 #include <drm/drm_gem_vram_helper.h>
 #include <drm/drm_managed.h>
@@ -700,7 +700,7 @@ drm_gem_vram_plane_helper_prepare_fb(struct drm_plane *plane,
                        goto err_drm_gem_vram_unpin;
        }
 
-       ret = drm_gem_fb_prepare_fb(plane, new_state);
+       ret = drm_gem_plane_helper_prepare_fb(plane, new_state);
        if (ret)
                goto err_drm_gem_vram_unpin;
 
index 03ba88f7f9952a2b3173fb5c22fe274eb569d56f..4723da457bad6aa30c729c049fb49bde835e6cfe 100644 (file)
@@ -6,7 +6,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_fb_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
 
 #include "dcss-dev.h"
@@ -355,7 +355,7 @@ static void dcss_plane_atomic_disable(struct drm_plane *plane,
 }
 
 static const struct drm_plane_helper_funcs dcss_plane_helper_funcs = {
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
        .atomic_check = dcss_plane_atomic_check,
        .atomic_update = dcss_plane_atomic_update,
        .atomic_disable = dcss_plane_atomic_disable,
index 075508051b5fb71214477ccef2a86a84c19f58f5..cff783a37162323c5da5644816e957e25ab618d3 100644 (file)
@@ -9,8 +9,8 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_plane_helper.h>
 
@@ -704,7 +704,7 @@ static void ipu_plane_atomic_update(struct drm_plane *plane,
 }
 
 static const struct drm_plane_helper_funcs ipu_plane_helper_funcs = {
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
        .atomic_check = ipu_plane_atomic_check,
        .atomic_disable = ipu_plane_atomic_disable,
        .atomic_update = ipu_plane_atomic_update,
index 7bb31fbee29dac4818d39ed86f6714fdbf1158bb..c00961907b1075b126e22e84feb813abecb40d42 100644 (file)
@@ -28,6 +28,7 @@
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_irq.h>
 #include <drm/drm_managed.h>
@@ -780,7 +781,7 @@ static const struct drm_plane_helper_funcs ingenic_drm_plane_helper_funcs = {
        .atomic_update          = ingenic_drm_plane_atomic_update,
        .atomic_check           = ingenic_drm_plane_atomic_check,
        .atomic_disable         = ingenic_drm_plane_atomic_disable,
-       .prepare_fb             = drm_gem_fb_prepare_fb,
+       .prepare_fb             = drm_gem_plane_helper_prepare_fb,
 };
 
 static const struct drm_crtc_helper_funcs ingenic_drm_crtc_helper_funcs = {
index e52777ef85fd74e11880fdf35aacf793b0c3b801..91457263a3ce85317a8d79bee32b273ad190797e 100644 (file)
@@ -23,7 +23,7 @@
 #include <drm/drm_drv.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_plane.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_property.h>
@@ -608,7 +608,7 @@ static const struct drm_plane_helper_funcs ingenic_ipu_plane_helper_funcs = {
        .atomic_update          = ingenic_ipu_plane_atomic_update,
        .atomic_check           = ingenic_ipu_plane_atomic_check,
        .atomic_disable         = ingenic_ipu_plane_atomic_disable,
-       .prepare_fb             = drm_gem_fb_prepare_fb,
+       .prepare_fb             = drm_gem_plane_helper_prepare_fb,
 };
 
 static int
index 83ac7493e7515f0963360b0dedbbb56ba65a4d88..4ddc55d58f3834c32fd2adfe0e398f30699a7e48 100644 (file)
@@ -13,8 +13,8 @@
 #include <drm/drm_device.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_mipi_dsi.h>
 #include <drm/drm_simple_kms_helper.h>
 #include <drm/drm_bridge.h>
@@ -1479,7 +1479,7 @@ static struct drm_simple_display_pipe_funcs mcde_display_funcs = {
        .update = mcde_display_update,
        .enable_vblank = mcde_display_enable_vblank,
        .disable_vblank = mcde_display_disable_vblank,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 int mcde_display_init(struct drm_device *drm)
index 92141a19681b901afc4c2e55d583fdcac449c62c..c95ceb400b07a4a0227aa28fa33a3cd3a8029537 100644 (file)
@@ -6,10 +6,10 @@
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
-#include <drm/drm_fourcc.h>
 #include <drm/drm_atomic_uapi.h>
+#include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_plane_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 
 #include "mtk_drm_crtc.h"
 #include "mtk_drm_ddp_comp.h"
@@ -216,7 +216,7 @@ static void mtk_plane_atomic_update(struct drm_plane *plane,
 }
 
 static const struct drm_plane_helper_funcs mtk_plane_helper_funcs = {
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
        .atomic_check = mtk_plane_atomic_check,
        .atomic_update = mtk_plane_atomic_update,
        .atomic_disable = mtk_plane_atomic_disable,
index 1ffbbecafa22ba9532f7ab5a77f11084ae8b73ad..be6ca49e20b0f0e96adb78df39cbe0d98cc30153 100644 (file)
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_device.h>
+#include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
-#include <drm/drm_plane_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_fb_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_plane_helper.h>
 
 #include "meson_overlay.h"
 #include "meson_registers.h"
@@ -742,7 +742,7 @@ static const struct drm_plane_helper_funcs meson_overlay_helper_funcs = {
        .atomic_check   = meson_overlay_atomic_check,
        .atomic_disable = meson_overlay_atomic_disable,
        .atomic_update  = meson_overlay_atomic_update,
-       .prepare_fb     = drm_gem_fb_prepare_fb,
+       .prepare_fb     = drm_gem_plane_helper_prepare_fb,
 };
 
 static bool meson_overlay_format_mod_supported(struct drm_plane *plane,
index 35338ed1820996383ee1ef8afa717b004aa4e3f9..b8309d8fc277f92ef1ecfe97c4587682448310e3 100644 (file)
@@ -16,8 +16,8 @@
 #include <drm/drm_device.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_plane_helper.h>
 
 #include "meson_plane.h"
@@ -417,7 +417,7 @@ static const struct drm_plane_helper_funcs meson_plane_helper_funcs = {
        .atomic_check   = meson_plane_atomic_check,
        .atomic_disable = meson_plane_atomic_disable,
        .atomic_update  = meson_plane_atomic_update,
-       .prepare_fb     = drm_gem_fb_prepare_fb,
+       .prepare_fb     = drm_gem_plane_helper_prepare_fb,
 };
 
 static bool meson_plane_format_mod_supported(struct drm_plane *plane,
index bc0231a5013293a9706bdf6ac2c236d26336f82a..40eb5c911e3cfbeefebaee7460997f03133305d9 100644 (file)
@@ -13,7 +13,7 @@
 #include <drm/drm_atomic_uapi.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_file.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 
 #include "msm_drv.h"
 #include "dpu_kms.h"
@@ -892,7 +892,7 @@ static int dpu_plane_prepare_fb(struct drm_plane *plane,
         *       we can use msm_atomic_prepare_fb() instead of doing the
         *       implicit fence and fb prepare by hand here.
         */
-       drm_gem_fb_prepare_fb(plane, new_state);
+       drm_gem_plane_helper_prepare_fb(plane, new_state);
 
        if (pstate->aspace) {
                ret = msm_framebuffer_prepare(new_state->fb,
index 6a326761dc4ad6e9cb47177e840d39c7ec63d150..e9c6544b6a01b570930be59c832dc1467aaec2ad 100644 (file)
@@ -5,7 +5,7 @@
  */
 
 #include <drm/drm_atomic_uapi.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_vblank.h>
 
 #include "msm_atomic_trace.h"
@@ -22,7 +22,7 @@ int msm_atomic_prepare_fb(struct drm_plane *plane,
        if (!new_state->fb)
                return 0;
 
-       drm_gem_fb_prepare_fb(plane, new_state);
+       drm_gem_plane_helper_prepare_fb(plane, new_state);
 
        return msm_framebuffer_prepare(new_state->fb, kms->aspace);
 }
index 3e1bb0aefb87c49ccba1ad3d38451bed4c21bd29..7c19ec5384d4aaf7fe5e49b2b7c544512311204a 100644 (file)
@@ -21,8 +21,8 @@
 #include <drm/drm_encoder.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_plane.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_vblank.h>
@@ -495,13 +495,13 @@ static bool mxsfb_format_mod_supported(struct drm_plane *plane,
 }
 
 static const struct drm_plane_helper_funcs mxsfb_plane_primary_helper_funcs = {
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
        .atomic_check = mxsfb_plane_atomic_check,
        .atomic_update = mxsfb_plane_primary_atomic_update,
 };
 
 static const struct drm_plane_helper_funcs mxsfb_plane_overlay_helper_funcs = {
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
        .atomic_check = mxsfb_plane_atomic_check,
        .atomic_update = mxsfb_plane_overlay_atomic_update,
 };
index 69c02e7c82b7efb32f9c6289204d26f901ce4064..6fd7f13f1acaa08ef3c26ac5a76ecb74e5bfcfbc 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_vblank.h>
 
 #include "pl111_drm.h"
@@ -440,7 +440,7 @@ static struct drm_simple_display_pipe_funcs pl111_display_funcs = {
        .enable = pl111_display_enable,
        .disable = pl111_display_disable,
        .update = pl111_display_update,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static int pl111_clk_div_choose_div(struct clk_hw *hw, unsigned long rate,
index 53221d8473c15e1745be5161f93e54fdbaefd359..336ba0648a793abf88c3873db0165013b452d2b6 100644 (file)
@@ -11,8 +11,8 @@
 #include <drm/drm_crtc.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_vblank.h>
@@ -236,7 +236,7 @@ static int rcar_du_vsp_plane_prepare_fb(struct drm_plane *plane,
        if (ret < 0)
                return ret;
 
-       return drm_gem_fb_prepare_fb(plane, state);
+       return drm_gem_plane_helper_prepare_fb(plane, state);
 }
 
 void rcar_du_vsp_unmap_fb(struct rcar_du_vsp *vsp, struct drm_framebuffer *fb,
index 8d15cabdcb02a8f1f8dc55a682dec0268b895ba5..daea2493bfb8ffa736546ae43446513ca7824914 100644 (file)
@@ -23,6 +23,7 @@
 #include <drm/drm_crtc.h>
 #include <drm/drm_flip_work.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_probe_helper.h>
@@ -1096,7 +1097,7 @@ static const struct drm_plane_helper_funcs plane_helper_funcs = {
        .atomic_disable = vop_plane_atomic_disable,
        .atomic_async_check = vop_plane_atomic_async_check,
        .atomic_async_update = vop_plane_atomic_async_update,
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
 };
 
 static const struct drm_plane_funcs vop_plane_funcs = {
index 6f3b523e16e8c2196f9958acf5fda2fd8d461474..0967cd9190a2d4a9777f9c1b6eb4ab7aa85038d6 100644 (file)
@@ -26,8 +26,8 @@
 #include <drm/drm_device.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_of.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_probe_helper.h>
@@ -940,7 +940,7 @@ static const struct drm_plane_funcs ltdc_plane_funcs = {
 };
 
 static const struct drm_plane_helper_funcs ltdc_plane_helper_funcs = {
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
        .atomic_check = ltdc_plane_atomic_check,
        .atomic_update = ltdc_plane_atomic_update,
        .atomic_disable = ltdc_plane_atomic_disable,
index acfbfd4463a1bd5624949e8369e9f54702f28368..259c10b85ee75e8a5b57e106b704485cdea80b82 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #include <drm/drm_atomic_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_plane_helper.h>
 
 #include "sun4i_backend.h"
@@ -122,7 +122,7 @@ static bool sun4i_layer_format_mod_supported(struct drm_plane *plane,
 }
 
 static const struct drm_plane_helper_funcs sun4i_backend_layer_helper_funcs = {
-       .prepare_fb     = drm_gem_fb_prepare_fb,
+       .prepare_fb     = drm_gem_plane_helper_prepare_fb,
        .atomic_disable = sun4i_backend_layer_atomic_disable,
        .atomic_update  = sun4i_backend_layer_atomic_update,
 };
index e64f30595f644fb103964daa5e1e218b0298af65..a78d2cf000128ae17e5c1488905534442920c5d2 100644 (file)
@@ -14,8 +14,8 @@
 #include <drm/drm_crtc.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_probe_helper.h>
 
@@ -322,7 +322,7 @@ static void sun8i_ui_layer_atomic_update(struct drm_plane *plane,
 }
 
 static const struct drm_plane_helper_funcs sun8i_ui_layer_helper_funcs = {
-       .prepare_fb     = drm_gem_fb_prepare_fb,
+       .prepare_fb     = drm_gem_plane_helper_prepare_fb,
        .atomic_check   = sun8i_ui_layer_atomic_check,
        .atomic_disable = sun8i_ui_layer_atomic_disable,
        .atomic_update  = sun8i_ui_layer_atomic_update,
index 8abb59e2f0c0c8a941e237716c4fc39cbd14c867..f4bc8320fa13dcc3b1a06514eab632f9d1dbce37 100644 (file)
@@ -7,8 +7,8 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_probe_helper.h>
 
@@ -426,7 +426,7 @@ static void sun8i_vi_layer_atomic_update(struct drm_plane *plane,
 }
 
 static const struct drm_plane_helper_funcs sun8i_vi_layer_helper_funcs = {
-       .prepare_fb     = drm_gem_fb_prepare_fb,
+       .prepare_fb     = drm_gem_plane_helper_prepare_fb,
        .atomic_check   = sun8i_vi_layer_atomic_check,
        .atomic_disable = sun8i_vi_layer_atomic_disable,
        .atomic_update  = sun8i_vi_layer_atomic_update,
index 539d14935728ed7e80405268f416c6eea6adfd55..19e8847a164b585e442d1c835c2d316f62684d52 100644 (file)
@@ -8,7 +8,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_fourcc.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_plane_helper.h>
 
 #include "dc.h"
@@ -198,7 +198,7 @@ int tegra_plane_prepare_fb(struct drm_plane *plane,
        if (!state->fb)
                return 0;
 
-       drm_gem_fb_prepare_fb(plane, state);
+       drm_gem_plane_helper_prepare_fb(plane, state);
 
        return tegra_dc_pin(dc, to_tegra_plane_state(state));
 }
index 35067ae674eaa1a5662cf5a93753d1e6e453ac02..795d24b440912eab43516d25a45182766f73446c 100644 (file)
@@ -10,7 +10,7 @@
 #include <drm/drm_crtc_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_fb_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 
 #include "tidss_crtc.h"
 #include "tidss_dispc.h"
@@ -151,7 +151,7 @@ static void drm_plane_destroy(struct drm_plane *plane)
 }
 
 static const struct drm_plane_helper_funcs tidss_plane_helper_funcs = {
-       .prepare_fb = drm_gem_fb_prepare_fb,
+       .prepare_fb = drm_gem_plane_helper_prepare_fb,
        .atomic_check = tidss_plane_atomic_check,
        .atomic_update = tidss_plane_atomic_update,
        .atomic_disable = tidss_plane_atomic_disable,
index c6525cd02bc26c7ac50cbda4fa3f5ed863207976..3e2c2868a363c168df866b23f89e0a50278698e6 100644 (file)
@@ -19,8 +19,8 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_fb_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_mipi_dbi.h>
 #include <drm/drm_modeset_helper.h>
@@ -184,7 +184,7 @@ static const struct drm_simple_display_pipe_funcs hx8357d_pipe_funcs = {
        .enable = yx240qv29_enable,
        .disable = mipi_dbi_pipe_disable,
        .update = mipi_dbi_pipe_update,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static const struct drm_display_mode yx350hv15_mode = {
index 8e98962db5a238227c5f3c3409405438ca422580..6b87df19eec1532c533778d17601aeff7edddcbb 100644 (file)
@@ -22,8 +22,8 @@
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_mipi_dbi.h>
 #include <drm/drm_rect.h>
@@ -328,7 +328,7 @@ static const struct drm_simple_display_pipe_funcs ili9225_pipe_funcs = {
        .enable         = ili9225_pipe_enable,
        .disable        = ili9225_pipe_disable,
        .update         = ili9225_pipe_update,
-       .prepare_fb     = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb     = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static const struct drm_display_mode ili9225_mode = {
index 6ce97f0698eb04fffb56720123a5399ce6bd7914..a97f3f70e4a6f008911db2db86cbd0d7e9089897 100644 (file)
@@ -18,8 +18,8 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_fb_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_mipi_dbi.h>
 #include <drm/drm_modeset_helper.h>
@@ -140,7 +140,7 @@ static const struct drm_simple_display_pipe_funcs ili9341_pipe_funcs = {
        .enable = yx240qv29_enable,
        .disable = mipi_dbi_pipe_disable,
        .update = mipi_dbi_pipe_update,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static const struct drm_display_mode yx240qv29_mode = {
index d7ce40eb166a31c4d29c1bd4c522dccd2d1b34f7..6422a7f67079b74b16ada88d9e63ec5673414172 100644 (file)
@@ -17,8 +17,8 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_fb_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_mipi_dbi.h>
 #include <drm/drm_modeset_helper.h>
@@ -153,7 +153,7 @@ static const struct drm_simple_display_pipe_funcs waveshare_pipe_funcs = {
        .enable = waveshare_enable,
        .disable = mipi_dbi_pipe_disable,
        .update = mipi_dbi_pipe_update,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static const struct drm_display_mode waveshare_mode = {
index ff77f983f80318e66e6107eb4123b3ab53dbccce..dc76fe53aa723abb913d2176ab659922ffab306d 100644 (file)
@@ -16,8 +16,8 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_fb_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_mipi_dbi.h>
 #include <drm/drm_modeset_helper.h>
@@ -144,7 +144,7 @@ static const struct drm_simple_display_pipe_funcs mi0283qt_pipe_funcs = {
        .enable = mi0283qt_enable,
        .disable = mipi_dbi_pipe_disable,
        .update = mipi_dbi_pipe_update,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static const struct drm_display_mode mi0283qt_mode = {
index 11c602fc98970331ceefa1652e713ee5b1638ff2..2cee07a2e00b45f4ff567e7be3b9fc6983c96d79 100644 (file)
@@ -29,6 +29,7 @@
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_format_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
@@ -860,7 +861,7 @@ static const struct drm_simple_display_pipe_funcs repaper_pipe_funcs = {
        .enable = repaper_pipe_enable,
        .disable = repaper_pipe_disable,
        .update = repaper_pipe_update,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static int repaper_connector_get_modes(struct drm_connector *connector)
index ff5cf60f4bd7e628e0b19dba645e5619590c2bef..7d216fe9267f3fe5217338da45297cde58197218 100644 (file)
@@ -19,8 +19,8 @@
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_format_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_mipi_dbi.h>
 #include <drm/drm_rect.h>
@@ -268,7 +268,7 @@ static const struct drm_simple_display_pipe_funcs st7586_pipe_funcs = {
        .enable         = st7586_pipe_enable,
        .disable        = st7586_pipe_disable,
        .update         = st7586_pipe_update,
-       .prepare_fb     = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb     = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static const struct drm_display_mode st7586_mode = {
index faaba0a033ea1a65567120b3e5e0808b44fcc6c2..df8872d62cdde05e44685af46d7be4c0880b3b7f 100644 (file)
@@ -19,8 +19,8 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_fb_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_managed.h>
 #include <drm/drm_mipi_dbi.h>
 
@@ -136,7 +136,7 @@ static const struct drm_simple_display_pipe_funcs st7735r_pipe_funcs = {
        .enable         = st7735r_pipe_enable,
        .disable        = mipi_dbi_pipe_disable,
        .update         = mipi_dbi_pipe_update,
-       .prepare_fb     = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb     = drm_gem_simple_display_pipe_prepare_fb,
 };
 
 static const struct st7735r_cfg jd_t18003_t01_cfg = {
index cb0e837d3dbabb801f7fa163859c43cd25a49be0..50e1fb71869fc111109aa16326a3c2046a3919a7 100644 (file)
@@ -17,8 +17,8 @@
 
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_panel.h>
 #include <drm/drm_vblank.h>
 
@@ -316,7 +316,7 @@ static const struct drm_simple_display_pipe_funcs tve200_display_funcs = {
        .enable = tve200_display_enable,
        .disable = tve200_display_disable,
        .update = tve200_display_update,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
        .enable_vblank = tve200_display_enable_vblank,
        .disable_vblank = tve200_display_disable_vblank,
 };
index 6bd8260aa9f2b9325260992a7a25a58cbc35b5a2..4a075294ff4ce3fa2db0e039cb2379263fd77471 100644 (file)
@@ -20,7 +20,7 @@
 #include <drm/drm_atomic_uapi.h>
 #include <drm/drm_fb_cma_helper.h>
 #include <drm/drm_fourcc.h>
-#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_plane_helper.h>
 
 #include "uapi/drm/vc4_drm.h"
@@ -1235,7 +1235,7 @@ static int vc4_prepare_fb(struct drm_plane *plane,
 
        bo = to_vc4_bo(&drm_fb_cma_get_gem_obj(state->fb, 0)->base);
 
-       drm_gem_fb_prepare_fb(plane, state);
+       drm_gem_plane_helper_prepare_fb(plane, state);
 
        if (plane->state->fb == state->fb)
                return 0;
index 0824327cc86025aa5827fe83aef23d26464bdbd0..2a02334b72acbc509e8e25388450b4c11aa6d03e 100644 (file)
@@ -5,6 +5,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_fourcc.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_plane_helper.h>
 #include <drm/drm_gem_shmem_helper.h>
@@ -159,7 +160,7 @@ static int vkms_prepare_fb(struct drm_plane *plane,
        if (ret)
                DRM_ERROR("vmap failed: %d\n", ret);
 
-       return drm_gem_fb_prepare_fb(plane, state);
+       return drm_gem_plane_helper_prepare_fb(plane, state);
 }
 
 static void vkms_cleanup_fb(struct drm_plane *plane,
index ef11b1e4de39b834713dd6590241cb282d4eccc6..371202ebe900813c313faeb026b897c44abe34bc 100644 (file)
@@ -13,6 +13,7 @@
 #include <drm/drm_drv.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_gem.h>
+#include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
 #include <drm/drm_probe_helper.h>
 #include <drm/drm_vblank.h>
@@ -301,7 +302,7 @@ static const struct drm_simple_display_pipe_funcs display_funcs = {
        .mode_valid = display_mode_valid,
        .enable = display_enable,
        .disable = display_disable,
-       .prepare_fb = drm_gem_fb_simple_display_pipe_prepare_fb,
+       .prepare_fb = drm_gem_simple_display_pipe_prepare_fb,
        .check = display_check,
        .update = display_update,
 };
index 7abf40bdab3d6f1d27e3de01b5ad100bc9ad7401..cfc5adee3d1330ef2e5fbcc45bc5fce4f2d7e9d8 100644 (file)
@@ -9,6 +9,14 @@
 
 struct drm_simple_display_pipe;
 
+/*
+ * Plane Helpers
+ */
+
+int drm_gem_plane_helper_prepare_fb(struct drm_plane *plane, struct drm_plane_state *state);
+int drm_gem_simple_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe,
+                                          struct drm_plane_state *plane_state);
+
 /*
  * Helpers for planes with shadow buffers
  */
index 6b013154911dcd1e6a26d831bd5fc0e2f28c0b33..6bdffc7aa1248c2c8fe1c2c35b35be6b04dba746 100644 (file)
@@ -9,9 +9,6 @@ struct drm_framebuffer;
 struct drm_framebuffer_funcs;
 struct drm_gem_object;
 struct drm_mode_fb_cmd2;
-struct drm_plane;
-struct drm_plane_state;
-struct drm_simple_display_pipe;
 
 #define AFBC_VENDOR_AND_TYPE_MASK      GENMASK_ULL(63, 52)
 
@@ -44,8 +41,4 @@ int drm_gem_fb_afbc_init(struct drm_device *dev,
                         const struct drm_mode_fb_cmd2 *mode_cmd,
                         struct drm_afbc_framebuffer *afbc_fb);
 
-int drm_gem_fb_prepare_fb(struct drm_plane *plane,
-                         struct drm_plane_state *state);
-int drm_gem_fb_simple_display_pipe_prepare_fb(struct drm_simple_display_pipe *pipe,
-                                             struct drm_plane_state *plane_state);
 #endif
index eb706342861d4dd8eb2a227d5f1407f019895cb7..df77ed843dd6dd0fd63178910e4c51560c65631d 100644 (file)
@@ -1179,7 +1179,7 @@ struct drm_plane_helper_funcs {
         * members in the plane structure.
         *
         * Drivers which always have their buffers pinned should use
-        * drm_gem_fb_prepare_fb() for this hook.
+        * drm_gem_plane_helper_prepare_fb() for this hook.
         *
         * The helpers will call @cleanup_fb with matching arguments for every
         * successful call to this hook.
index 95ab14a4336aa4c9c721b4bcfa0d29a2efc254b2..1294610e84f47e6f8d3def64b1c1345b3115c2eb 100644 (file)
@@ -79,8 +79,8 @@ struct drm_plane_state {
         * preserved.
         *
         * Drivers should store any implicit fence in this from their
-        * &drm_plane_helper_funcs.prepare_fb callback. See drm_gem_fb_prepare_fb()
-        * and drm_gem_fb_simple_display_pipe_prepare_fb() for suitable helpers.
+        * &drm_plane_helper_funcs.prepare_fb callback. See drm_gem_plane_helper_prepare_fb()
+        * and drm_gem_simple_display_pipe_prepare_fb() for suitable helpers.
         */
        struct dma_fence *fence;
 
index 40b34573249f5e12577f977b1468a60302f3db56..ef9944e9c5fce09200c9acbc83a29a36bb33ed3f 100644 (file)
@@ -117,7 +117,7 @@ struct drm_simple_display_pipe_funcs {
         * more details.
         *
         * Drivers which always have their buffers pinned should use
-        * drm_gem_fb_simple_display_pipe_prepare_fb() for this hook.
+        * drm_gem_simple_display_pipe_prepare_fb() for this hook.
         */
        int (*prepare_fb)(struct drm_simple_display_pipe *pipe,
                          struct drm_plane_state *plane_state);