drm/fb: rename FB CMA helpers to FB DMA helpers
authorDanilo Krummrich <dakr@redhat.com>
Tue, 2 Aug 2022 00:04:02 +0000 (02:04 +0200)
committerSam Ravnborg <sam@ravnborg.org>
Wed, 3 Aug 2022 16:30:55 +0000 (18:30 +0200)
Rename "FB CMA" helpers to "FB DMA" helpers - considering the hierarchy
of APIs (mm/cma -> dma -> fb dma) calling them "FB DMA" seems to be
more applicable.

Besides that, commit e57924d4ae80 ("drm/doc: Task to rename CMA helpers")
requests to rename the CMA helpers and implies that people seem to be
confused about the naming.

In order to do this renaming the following script was used:

```
#!/bin/bash

DIRS="drivers/gpu include/drm Documentation/gpu"

REGEX_SYM_UPPER="[0-9A-Z_\-]"
REGEX_SYM_LOWER="[0-9a-z_\-]"

REGEX_GREP_UPPER="(${REGEX_SYM_UPPER}*)(FB)_CMA_(${REGEX_SYM_UPPER}*)"
REGEX_GREP_LOWER="(${REGEX_SYM_LOWER}*)(fb)_cma_(${REGEX_SYM_LOWER}*)"

REGEX_SED_UPPER="s/${REGEX_GREP_UPPER}/\1\2_DMA_\3/g"
REGEX_SED_LOWER="s/${REGEX_GREP_LOWER}/\1\2_dma_\3/g"

# Find all upper case 'CMA' symbols and replace them with 'DMA'.
for ff in $(grep -REHl "${REGEX_GREP_UPPER}" $DIRS)
do
       sed -i -E "$REGEX_SED_UPPER" $ff
done

# Find all lower case 'cma' symbols and replace them with 'dma'.
for ff in $(grep -REHl "${REGEX_GREP_LOWER}" $DIRS)
do
       sed -i -E "$REGEX_SED_LOWER" $ff
done

# Replace all occurrences of 'CMA' / 'cma' in comments and
# documentation files with 'DMA' / 'dma'.
for ff in $(grep -RiHl " cma " $DIRS)
do
sed -i -E "s/ cma / dma /g" $ff
sed -i -E "s/ CMA / DMA /g" $ff
done
```

Only a few more manual modifications were needed, e.g. reverting the
following modifications in some DRM Kconfig files

    -       select CMA if HAVE_DMA_CONTIGUOUS
    +       select DMA if HAVE_DMA_CONTIGUOUS

as well as manually picking the occurrences of 'CMA'/'cma' in comments and
documentation which relate to "FB CMA", but not "GEM CMA".

This patch is compile-time tested building a x86_64 kernel with
`make allyesconfig && make drivers/gpu/drm`.

Acked-by: Sam Ravnborg <sam@ravnborg.org>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Danilo Krummrich <dakr@redhat.com>
Reviewed-by: Liviu Dudau <liviu.dudau@arm.com> #drivers/gpu/drm/arm
Signed-off-by: Sam Ravnborg <sam@ravnborg.org>
Link: https://patchwork.freedesktop.org/patch/msgid/20220802000405.949236-3-dakr@redhat.com
54 files changed:
Documentation/gpu/drm-kms-helpers.rst
drivers/gpu/drm/Makefile
drivers/gpu/drm/arm/display/komeda/komeda_framebuffer.c
drivers/gpu/drm/arm/hdlcd_crtc.c
drivers/gpu/drm/arm/malidp_mw.c
drivers/gpu/drm/arm/malidp_planes.c
drivers/gpu/drm/aspeed/aspeed_gfx_crtc.c
drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c
drivers/gpu/drm/drm_fb_cma_helper.c [deleted file]
drivers/gpu/drm/drm_fb_dma_helper.c [new file with mode: 0644]
drivers/gpu/drm/drm_format_helper.c
drivers/gpu/drm/fsl-dcu/fsl_dcu_drm_plane.c
drivers/gpu/drm/hisilicon/kirin/kirin_drm_ade.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/kmb/kmb_plane.c
drivers/gpu/drm/logicvc/Kconfig
drivers/gpu/drm/logicvc/logicvc_layer.c
drivers/gpu/drm/mcde/mcde_display.c
drivers/gpu/drm/mcde/mcde_drv.c
drivers/gpu/drm/meson/meson_overlay.c
drivers/gpu/drm/meson/meson_plane.c
drivers/gpu/drm/mxsfb/lcdif_kms.c
drivers/gpu/drm/mxsfb/mxsfb_kms.c
drivers/gpu/drm/pl111/pl111_display.c
drivers/gpu/drm/rcar-du/rcar_du_plane.c
drivers/gpu/drm/rcar-du/rcar_du_vsp.c
drivers/gpu/drm/shmobile/shmob_drm_crtc.c
drivers/gpu/drm/shmobile/shmob_drm_plane.c
drivers/gpu/drm/sprd/sprd_dpu.c
drivers/gpu/drm/sti/sti_cursor.c
drivers/gpu/drm/sti/sti_gdp.c
drivers/gpu/drm/sti/sti_hqvdp.c
drivers/gpu/drm/stm/ltdc.c
drivers/gpu/drm/sun4i/sun4i_backend.c
drivers/gpu/drm/sun4i/sun4i_frontend.c
drivers/gpu/drm/sun4i/sun8i_ui_layer.c
drivers/gpu/drm/sun4i/sun8i_vi_layer.c
drivers/gpu/drm/tegra/fb.c
drivers/gpu/drm/tidss/tidss_dispc.c
drivers/gpu/drm/tilcdc/tilcdc_crtc.c
drivers/gpu/drm/tiny/arcpgu.c
drivers/gpu/drm/tiny/ili9225.c
drivers/gpu/drm/tiny/repaper.c
drivers/gpu/drm/tiny/st7586.c
drivers/gpu/drm/tve200/tve200_display.c
drivers/gpu/drm/vc4/vc4_crtc.c
drivers/gpu/drm/vc4/vc4_plane.c
drivers/gpu/drm/vc4/vc4_txp.c
drivers/gpu/drm/xlnx/zynqmp_disp.c
include/drm/drm_fb_cma_helper.h [deleted file]
include/drm/drm_fb_dma_helper.h [new file with mode: 0644]

index 2d473bc..dbc85fd 100644 (file)
@@ -122,13 +122,13 @@ format Helper Functions Reference
 .. kernel-doc:: drivers/gpu/drm/drm_format_helper.c
    :export:
 
-Framebuffer CMA Helper Functions Reference
+Framebuffer DMA Helper Functions Reference
 ==========================================
 
-.. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c
-   :doc: framebuffer cma helper functions
+.. kernel-doc:: drivers/gpu/drm/drm_fb_dma_helper.c
+   :doc: framebuffer dma helper functions
 
-.. kernel-doc:: drivers/gpu/drm/drm_fb_cma_helper.c
+.. kernel-doc:: drivers/gpu/drm/drm_fb_dma_helper.c
    :export:
 
 Framebuffer GEM Helper Reference
index 25016dc..1d6e4f6 100644 (file)
@@ -41,7 +41,7 @@ obj-$(CONFIG_DRM_PANEL_ORIENTATION_QUIRKS) += drm_panel_orientation_quirks.o
 obj-$(CONFIG_DRM_BUDDY) += drm_buddy.o
 
 drm_cma_helper-y := drm_gem_cma_helper.o
-drm_cma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_cma_helper.o
+drm_cma_helper-$(CONFIG_DRM_KMS_HELPER) += drm_fb_dma_helper.o
 obj-$(CONFIG_DRM_GEM_CMA_HELPER) += drm_cma_helper.o
 
 drm_shmem_helper-y := drm_gem_shmem_helper.o
index 3c372d2..ea45da6 100644 (file)
@@ -5,7 +5,7 @@
  *
  */
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_gem.h>
 #include <drm/drm_gem_cma_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
@@ -247,7 +247,7 @@ komeda_fb_get_pixel_addr(struct komeda_fb *kfb, int x, int y, int plane)
                return -EINVAL;
        }
 
-       obj = drm_fb_cma_get_gem_obj(fb, plane);
+       obj = drm_fb_dma_get_gem_obj(fb, plane);
 
        offset = fb->offsets[plane];
        if (!fb->modifier) {
index 636ef94..d3cf788 100644 (file)
@@ -18,7 +18,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -273,7 +273,7 @@ static void hdlcd_plane_atomic_update(struct drm_plane *plane,
                return;
 
        dest_h = drm_rect_height(&new_plane_state->dst);
-       scanout_start = drm_fb_cma_get_gem_addr(fb, new_plane_state, 0);
+       scanout_start = drm_fb_dma_get_gem_addr(fb, new_plane_state, 0);
 
        hdlcd = plane->dev->dev_private;
        hdlcd_write(hdlcd, HDLCD_REG_FB_LINE_LENGTH, fb->pitches[0]);
index b66ca5b..7a9c900 100644 (file)
@@ -10,7 +10,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_edid.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -160,7 +160,7 @@ malidp_mw_encoder_atomic_check(struct drm_encoder *encoder,
 
        n_planes = fb->format->num_planes;
        for (i = 0; i < n_planes; i++) {
-               struct drm_gem_cma_object *obj = drm_fb_cma_get_gem_obj(fb, i);
+               struct drm_gem_cma_object *obj = drm_fb_dma_get_gem_obj(fb, i);
                /* memory write buffers are never rotated */
                u8 alignment = malidp_hw_get_pitch_align(malidp->dev, 0);
 
index a1cee1a..72e0162 100644 (file)
@@ -13,7 +13,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -722,19 +722,19 @@ static void malidp_set_plane_base_addr(struct drm_framebuffer *fb,
        ptr = mp->layer->ptr + (plane_index << 4);
 
        /*
-        * drm_fb_cma_get_gem_addr() alters the physical base address of the
+        * drm_fb_dma_get_gem_addr() alters the physical base address of the
         * framebuffer as per the plane's src_x, src_y co-ordinates (ie to
         * take care of source cropping).
         * For AFBC, this is not needed as the cropping is handled by _AD_CROP_H
         * and _AD_CROP_V registers.
         */
        if (!afbc) {
-               paddr = drm_fb_cma_get_gem_addr(fb, plane->state,
+               paddr = drm_fb_dma_get_gem_addr(fb, plane->state,
                                                plane_index);
        } else {
                struct drm_gem_cma_object *obj;
 
-               obj = drm_fb_cma_get_gem_obj(fb, plane_index);
+               obj = drm_fb_dma_get_gem_obj(fb, plane_index);
 
                if (WARN_ON(!obj))
                        return;
index f3788d7..cc4d0fa 100644 (file)
@@ -7,7 +7,7 @@
 
 #include <drm/drm_crtc_helper.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -185,7 +185,7 @@ static void aspeed_gfx_pipe_update(struct drm_simple_display_pipe *pipe,
        if (!fb)
                return;
 
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
        if (!gem)
                return;
        writel(gem->paddr, priv->base + CRT_ADDR);
index 10f31fa..ddcbfe7 100644 (file)
@@ -12,7 +12,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -448,7 +448,7 @@ static void atmel_hlcdc_plane_update_buffers(struct atmel_hlcdc_plane *plane,
        sr = atmel_hlcdc_layer_read_reg(&plane->layer, ATMEL_HLCDC_LAYER_CHSR);
 
        for (i = 0; i < state->nplanes; i++) {
-               struct drm_gem_cma_object *gem = drm_fb_cma_get_gem_obj(fb, i);
+               struct drm_gem_cma_object *gem = drm_fb_dma_get_gem_obj(fb, i);
 
                state->dscrs[i]->addr = gem->paddr + state->offsets[i];
 
diff --git a/drivers/gpu/drm/drm_fb_cma_helper.c b/drivers/gpu/drm/drm_fb_cma_helper.c
deleted file mode 100644 (file)
index 69c5727..0000000
+++ /dev/null
@@ -1,145 +0,0 @@
-// SPDX-License-Identifier: GPL-2.0-or-later
-/*
- * drm kms/fb cma (contiguous memory allocator) helper functions
- *
- * Copyright (C) 2012 Analog Devices Inc.
- *   Author: Lars-Peter Clausen <lars@metafoo.de>
- *
- * Based on udl_fbdev.c
- *  Copyright (C) 2012 Red Hat
- */
-
-#include <drm/drm_damage_helper.h>
-#include <drm/drm_fb_cma_helper.h>
-#include <drm/drm_fourcc.h>
-#include <drm/drm_framebuffer.h>
-#include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_gem_framebuffer_helper.h>
-#include <drm/drm_plane.h>
-#include <linux/dma-mapping.h>
-#include <linux/module.h>
-
-/**
- * DOC: framebuffer cma helper functions
- *
- * Provides helper functions for creating a cma (contiguous memory allocator)
- * backed framebuffer.
- *
- * drm_gem_fb_create() is used in the &drm_mode_config_funcs.fb_create
- * callback function to create a cma backed framebuffer.
- */
-
-/**
- * drm_fb_cma_get_gem_obj() - Get CMA GEM object for framebuffer
- * @fb: The framebuffer
- * @plane: Which plane
- *
- * Return the CMA GEM object for given framebuffer.
- *
- * This function will usually be called from the CRTC callback functions.
- */
-struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
-                                                 unsigned int plane)
-{
-       struct drm_gem_object *gem;
-
-       gem = drm_gem_fb_get_obj(fb, plane);
-       if (!gem)
-               return NULL;
-
-       return to_drm_gem_cma_obj(gem);
-}
-EXPORT_SYMBOL_GPL(drm_fb_cma_get_gem_obj);
-
-/**
- * drm_fb_cma_get_gem_addr() - Get physical address for framebuffer, for pixel
- * formats where values are grouped in blocks this will get you the beginning of
- * the block
- * @fb: The framebuffer
- * @state: Which state of drm plane
- * @plane: Which plane
- * Return the CMA GEM address for given framebuffer.
- *
- * This function will usually be called from the PLANE callback functions.
- */
-dma_addr_t drm_fb_cma_get_gem_addr(struct drm_framebuffer *fb,
-                                  struct drm_plane_state *state,
-                                  unsigned int plane)
-{
-       struct drm_gem_cma_object *obj;
-       dma_addr_t paddr;
-       u8 h_div = 1, v_div = 1;
-       u32 block_w = drm_format_info_block_width(fb->format, plane);
-       u32 block_h = drm_format_info_block_height(fb->format, plane);
-       u32 block_size = fb->format->char_per_block[plane];
-       u32 sample_x;
-       u32 sample_y;
-       u32 block_start_y;
-       u32 num_hblocks;
-
-       obj = drm_fb_cma_get_gem_obj(fb, plane);
-       if (!obj)
-               return 0;
-
-       paddr = obj->paddr + fb->offsets[plane];
-
-       if (plane > 0) {
-               h_div = fb->format->hsub;
-               v_div = fb->format->vsub;
-       }
-
-       sample_x = (state->src_x >> 16) / h_div;
-       sample_y = (state->src_y >> 16) / v_div;
-       block_start_y = (sample_y / block_h) * block_h;
-       num_hblocks = sample_x / block_w;
-
-       paddr += fb->pitches[plane] * block_start_y;
-       paddr += block_size * num_hblocks;
-
-       return paddr;
-}
-EXPORT_SYMBOL_GPL(drm_fb_cma_get_gem_addr);
-
-/**
- * drm_fb_cma_sync_non_coherent - Sync GEM object to non-coherent backing
- *     memory
- * @drm: DRM device
- * @old_state: Old plane state
- * @state: New plane state
- *
- * This function can be used by drivers that use damage clips and have
- * CMA GEM objects backed by non-coherent memory. Calling this function
- * in a plane's .atomic_update ensures that all the data in the backing
- * memory have been written to RAM.
- */
-void drm_fb_cma_sync_non_coherent(struct drm_device *drm,
-                                 struct drm_plane_state *old_state,
-                                 struct drm_plane_state *state)
-{
-       const struct drm_format_info *finfo = state->fb->format;
-       struct drm_atomic_helper_damage_iter iter;
-       const struct drm_gem_cma_object *cma_obj;
-       unsigned int offset, i;
-       struct drm_rect clip;
-       dma_addr_t daddr;
-       size_t nb_bytes;
-
-       for (i = 0; i < finfo->num_planes; i++) {
-               cma_obj = drm_fb_cma_get_gem_obj(state->fb, i);
-               if (!cma_obj->map_noncoherent)
-                       continue;
-
-               daddr = drm_fb_cma_get_gem_addr(state->fb, state, i);
-               drm_atomic_helper_damage_iter_init(&iter, old_state, state);
-
-               drm_atomic_for_each_plane_damage(&iter, &clip) {
-                       /* Ignore x1/x2 values, invalidate complete lines */
-                       offset = clip.y1 * state->fb->pitches[i];
-
-                       nb_bytes = (clip.y2 - clip.y1) * state->fb->pitches[i];
-                       dma_sync_single_for_device(drm->dev, daddr + offset,
-                                                  nb_bytes, DMA_TO_DEVICE);
-               }
-       }
-}
-EXPORT_SYMBOL_GPL(drm_fb_cma_sync_non_coherent);
diff --git a/drivers/gpu/drm/drm_fb_dma_helper.c b/drivers/gpu/drm/drm_fb_dma_helper.c
new file mode 100644 (file)
index 0000000..85fd21c
--- /dev/null
@@ -0,0 +1,150 @@
+// SPDX-License-Identifier: GPL-2.0-or-later
+/*
+ * drm kms/fb dma helper functions
+ *
+ * Copyright (C) 2012 Analog Devices Inc.
+ *   Author: Lars-Peter Clausen <lars@metafoo.de>
+ *
+ * Based on udl_fbdev.c
+ *  Copyright (C) 2012 Red Hat
+ */
+
+#include <drm/drm_damage_helper.h>
+#include <drm/drm_fb_dma_helper.h>
+#include <drm/drm_fourcc.h>
+#include <drm/drm_framebuffer.h>
+#include <drm/drm_gem_cma_helper.h>
+#include <drm/drm_gem_framebuffer_helper.h>
+#include <drm/drm_plane.h>
+#include <linux/dma-mapping.h>
+#include <linux/module.h>
+
+/**
+ * DOC: framebuffer dma helper functions
+ *
+ * Provides helper functions for creating a DMA-contiguous framebuffer.
+ *
+ * Depending on the platform, the buffers may be physically non-contiguous and
+ * mapped through an IOMMU or a similar mechanism, or allocated from
+ * physically-contiguous memory (using, for instance, CMA or a pool of memory
+ * reserved at early boot). This is handled behind the scenes by the DMA mapping
+ * API.
+ *
+ * drm_gem_fb_create() is used in the &drm_mode_config_funcs.fb_create
+ * callback function to create a DMA-contiguous framebuffer.
+ */
+
+/**
+ * drm_fb_dma_get_gem_obj() - Get CMA GEM object for framebuffer
+ * @fb: The framebuffer
+ * @plane: Which plane
+ *
+ * Return the CMA GEM object for given framebuffer.
+ *
+ * This function will usually be called from the CRTC callback functions.
+ */
+struct drm_gem_cma_object *drm_fb_dma_get_gem_obj(struct drm_framebuffer *fb,
+                                                 unsigned int plane)
+{
+       struct drm_gem_object *gem;
+
+       gem = drm_gem_fb_get_obj(fb, plane);
+       if (!gem)
+               return NULL;
+
+       return to_drm_gem_cma_obj(gem);
+}
+EXPORT_SYMBOL_GPL(drm_fb_dma_get_gem_obj);
+
+/**
+ * drm_fb_dma_get_gem_addr() - Get DMA (bus) address for framebuffer, for pixel
+ * formats where values are grouped in blocks this will get you the beginning of
+ * the block
+ * @fb: The framebuffer
+ * @state: Which state of drm plane
+ * @plane: Which plane
+ * Return the DMA GEM address for given framebuffer.
+ *
+ * This function will usually be called from the PLANE callback functions.
+ */
+dma_addr_t drm_fb_dma_get_gem_addr(struct drm_framebuffer *fb,
+                                  struct drm_plane_state *state,
+                                  unsigned int plane)
+{
+       struct drm_gem_cma_object *obj;
+       dma_addr_t paddr;
+       u8 h_div = 1, v_div = 1;
+       u32 block_w = drm_format_info_block_width(fb->format, plane);
+       u32 block_h = drm_format_info_block_height(fb->format, plane);
+       u32 block_size = fb->format->char_per_block[plane];
+       u32 sample_x;
+       u32 sample_y;
+       u32 block_start_y;
+       u32 num_hblocks;
+
+       obj = drm_fb_dma_get_gem_obj(fb, plane);
+       if (!obj)
+               return 0;
+
+       paddr = obj->paddr + fb->offsets[plane];
+
+       if (plane > 0) {
+               h_div = fb->format->hsub;
+               v_div = fb->format->vsub;
+       }
+
+       sample_x = (state->src_x >> 16) / h_div;
+       sample_y = (state->src_y >> 16) / v_div;
+       block_start_y = (sample_y / block_h) * block_h;
+       num_hblocks = sample_x / block_w;
+
+       paddr += fb->pitches[plane] * block_start_y;
+       paddr += block_size * num_hblocks;
+
+       return paddr;
+}
+EXPORT_SYMBOL_GPL(drm_fb_dma_get_gem_addr);
+
+/**
+ * drm_fb_dma_sync_non_coherent - Sync GEM object to non-coherent backing
+ *     memory
+ * @drm: DRM device
+ * @old_state: Old plane state
+ * @state: New plane state
+ *
+ * This function can be used by drivers that use damage clips and have
+ * CMA GEM objects backed by non-coherent memory. Calling this function
+ * in a plane's .atomic_update ensures that all the data in the backing
+ * memory have been written to RAM.
+ */
+void drm_fb_dma_sync_non_coherent(struct drm_device *drm,
+                                 struct drm_plane_state *old_state,
+                                 struct drm_plane_state *state)
+{
+       const struct drm_format_info *finfo = state->fb->format;
+       struct drm_atomic_helper_damage_iter iter;
+       const struct drm_gem_cma_object *cma_obj;
+       unsigned int offset, i;
+       struct drm_rect clip;
+       dma_addr_t daddr;
+       size_t nb_bytes;
+
+       for (i = 0; i < finfo->num_planes; i++) {
+               cma_obj = drm_fb_dma_get_gem_obj(state->fb, i);
+               if (!cma_obj->map_noncoherent)
+                       continue;
+
+               daddr = drm_fb_dma_get_gem_addr(state->fb, state, i);
+               drm_atomic_helper_damage_iter_init(&iter, old_state, state);
+
+               drm_atomic_for_each_plane_damage(&iter, &clip) {
+                       /* Ignore x1/x2 values, invalidate complete lines */
+                       offset = clip.y1 * state->fb->pitches[i];
+
+                       nb_bytes = (clip.y2 - clip.y1) * state->fb->pitches[i];
+                       dma_sync_single_for_device(drm->dev, daddr + offset,
+                                                  nb_bytes, DMA_TO_DEVICE);
+               }
+       }
+}
+EXPORT_SYMBOL_GPL(drm_fb_dma_sync_non_coherent);
index c6182b5..400b16d 100644 (file)
@@ -54,7 +54,7 @@ static int drm_fb_xfrm(void *dst, unsigned long dst_pitch, unsigned long dst_pix
        const void *sbuf;
 
        /*
-        * Some source buffers, such as CMA memory, use write-combine
+        * Some source buffers, such as DMA memory, use write-combine
         * caching, so reads are uncached. Speed up access by fetching
         * one line at a time.
         */
@@ -676,7 +676,7 @@ void drm_fb_xrgb8888_to_mono(void *dst, unsigned int dst_pitch, const void *vadd
                dst_pitch = DIV_ROUND_UP(linepixels, 8);
 
        /*
-        * The cma memory is write-combined so reads are uncached.
+        * The dma memory is write-combined so reads are uncached.
         * Speed up by fetching one line at a time.
         *
         * Also, format conversion from XR24 to monochrome are done
index 3b20e79..aba2b71 100644 (file)
@@ -10,7 +10,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -95,7 +95,7 @@ static void fsl_dcu_drm_plane_atomic_update(struct drm_plane *plane,
        if (index < 0)
                return;
 
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
 
        switch (fb->format->format) {
        case DRM_FORMAT_RGB565:
index 2c7059b..c5d3048 100644 (file)
@@ -24,7 +24,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -548,7 +548,7 @@ static const struct drm_crtc_funcs ade_crtc_funcs = {
 static void ade_rdma_set(void __iomem *base, struct drm_framebuffer *fb,
                         u32 ch, u32 y, u32 in_h, u32 fmt)
 {
-       struct drm_gem_cma_object *obj = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *obj = drm_fb_dma_get_gem_obj(fb, 0);
        u32 reg_ctrl, reg_addr, reg_size, reg_stride, reg_space, reg_en;
        u32 stride = fb->pitches[0];
        u32 addr = (u32)obj->paddr + y * stride;
index c29f343..a333c13 100644 (file)
@@ -6,7 +6,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -156,7 +156,7 @@ static int dcss_plane_atomic_check(struct drm_plane *plane,
        if (!fb || !new_plane_state->crtc)
                return 0;
 
-       cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
        WARN_ON(!cma_obj);
 
        crtc_state = drm_atomic_get_existing_crtc_state(state,
@@ -218,7 +218,7 @@ static void dcss_plane_atomic_set_base(struct dcss_plane *dcss_plane)
        struct dcss_dev *dcss = plane->dev->dev_private;
        struct drm_framebuffer *fb = state->fb;
        const struct drm_format_info *format = fb->format;
-       struct drm_gem_cma_object *cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
        unsigned long p1_ba = 0, p2_ba = 0;
 
        if (!format->is_yuv ||
index f1b3976..27bd164 100644 (file)
@@ -8,7 +8,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -129,7 +129,7 @@ drm_plane_state_to_eba(struct drm_plane_state *state, int plane)
        int x = state->src.x1 >> 16;
        int y = state->src.y1 >> 16;
 
-       cma_obj = drm_fb_cma_get_gem_obj(fb, plane);
+       cma_obj = drm_fb_dma_get_gem_obj(fb, plane);
        BUG_ON(!cma_obj);
 
        return cma_obj->paddr + fb->offsets[plane] + fb->pitches[plane] * y +
@@ -145,7 +145,7 @@ drm_plane_state_to_ubo(struct drm_plane_state *state)
        int x = state->src.x1 >> 16;
        int y = state->src.y1 >> 16;
 
-       cma_obj = drm_fb_cma_get_gem_obj(fb, 1);
+       cma_obj = drm_fb_dma_get_gem_obj(fb, 1);
        BUG_ON(!cma_obj);
 
        x /= fb->format->hsub;
@@ -164,7 +164,7 @@ drm_plane_state_to_vbo(struct drm_plane_state *state)
        int x = state->src.x1 >> 16;
        int y = state->src.y1 >> 16;
 
-       cma_obj = drm_fb_cma_get_gem_obj(fb, 2);
+       cma_obj = drm_fb_dma_get_gem_obj(fb, 2);
        BUG_ON(!cma_obj);
 
        x /= fb->format->hsub;
index f5835e6..1dd7814 100644 (file)
@@ -31,7 +31,7 @@
 #include <drm/drm_drv.h>
 #include <drm/drm_encoder.h>
 #include <drm/drm_gem_cma_helper.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
@@ -669,12 +669,12 @@ static void ingenic_drm_plane_atomic_update(struct drm_plane *plane,
 
        if (newstate && newstate->fb) {
                if (priv->soc_info->map_noncoherent)
-                       drm_fb_cma_sync_non_coherent(&priv->drm, oldstate, newstate);
+                       drm_fb_dma_sync_non_coherent(&priv->drm, oldstate, newstate);
 
                crtc_state = newstate->crtc->state;
                plane_id = !!(priv->soc_info->has_osd && plane != &priv->f0);
 
-               addr = drm_fb_cma_get_gem_addr(newstate->fb, newstate, 0);
+               addr = drm_fb_dma_get_gem_addr(newstate->fb, newstate, 0);
                width = newstate->src_w >> 16;
                height = newstate->src_h >> 16;
                cpp = newstate->fb->format->cpp[0];
index c117073..2105260 100644 (file)
@@ -22,7 +22,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -362,15 +362,15 @@ static void ingenic_ipu_plane_atomic_update(struct drm_plane *plane,
        }
 
        if (ingenic_drm_map_noncoherent(ipu->master))
-               drm_fb_cma_sync_non_coherent(ipu->drm, oldstate, newstate);
+               drm_fb_dma_sync_non_coherent(ipu->drm, oldstate, newstate);
 
        /* New addresses will be committed in vblank handler... */
-       ipu->addr_y = drm_fb_cma_get_gem_addr(newstate->fb, newstate, 0);
+       ipu->addr_y = drm_fb_dma_get_gem_addr(newstate->fb, newstate, 0);
        if (finfo->num_planes > 1)
-               ipu->addr_u = drm_fb_cma_get_gem_addr(newstate->fb, newstate,
+               ipu->addr_u = drm_fb_dma_get_gem_addr(newstate->fb, newstate,
                                                      1);
        if (finfo->num_planes > 2)
-               ipu->addr_v = drm_fb_cma_get_gem_addr(newstate->fb, newstate,
+               ipu->addr_v = drm_fb_dma_get_gem_addr(newstate->fb, newstate,
                                                      2);
 
        if (!needs_modeset)
index e385b87..ca3246e 100644 (file)
@@ -8,7 +8,7 @@
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_crtc_helper.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
@@ -403,7 +403,7 @@ static void kmb_plane_atomic_update(struct drm_plane *plane,
        kmb_write_lcd(kmb, LCD_LAYERn_DMA_LINE_WIDTH(plane_id),
                      (width * fb->format->cpp[0]));
 
-       addr[Y_PLANE] = drm_fb_cma_get_gem_addr(fb, new_plane_state, 0);
+       addr[Y_PLANE] = drm_fb_dma_get_gem_addr(fb, new_plane_state, 0);
        kmb_write_lcd(kmb, LCD_LAYERn_DMA_START_ADDR(plane_id),
                      addr[Y_PLANE] + fb->offsets[0]);
        val = get_pixel_format(fb->format->format);
@@ -415,7 +415,7 @@ static void kmb_plane_atomic_update(struct drm_plane *plane,
                kmb_write_lcd(kmb, LCD_LAYERn_DMA_CB_LINE_WIDTH(plane_id),
                              (width * fb->format->cpp[0]));
 
-               addr[U_PLANE] = drm_fb_cma_get_gem_addr(fb, new_plane_state,
+               addr[U_PLANE] = drm_fb_dma_get_gem_addr(fb, new_plane_state,
                                                        U_PLANE);
                /* check if Cb/Cr is swapped*/
                if (num_planes == 3 && (val & LCD_LAYER_CRCB_ORDER))
@@ -436,7 +436,7 @@ static void kmb_plane_atomic_update(struct drm_plane *plane,
                                      LCD_LAYERn_DMA_CR_LINE_WIDTH(plane_id),
                                      ((width) * fb->format->cpp[0]));
 
-                       addr[V_PLANE] = drm_fb_cma_get_gem_addr(fb,
+                       addr[V_PLANE] = drm_fb_dma_get_gem_addr(fb,
                                                                new_plane_state,
                                                                V_PLANE);
 
index 300b2be..73be27c 100644 (file)
@@ -3,7 +3,7 @@ config DRM_LOGICVC
        depends on DRM
        depends on OF || COMPILE_TEST
        select DRM_KMS_HELPER
-       select DRM_KMS_CMA_HELPER
+       select DRM_KMS_DMA_HELPER
        select DRM_GEM_CMA_HELPER
        help
          DRM display driver for the logiCVC programmable logic block from Xylon
index 466f9bd..464000a 100644 (file)
@@ -10,7 +10,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_plane.h>
@@ -157,7 +157,7 @@ static void logicvc_plane_atomic_update(struct drm_plane *drm_plane,
                     new_state->crtc_h - 1);
 
        if (logicvc->caps->layer_address) {
-               phys_addr_t fb_addr = drm_fb_cma_get_gem_addr(fb, new_state, 0);
+               phys_addr_t fb_addr = drm_fb_dma_get_gem_addr(fb, new_state, 0);
 
                regmap_write(logicvc->regmap, LOGICVC_LAYER_ADDRESS_REG(index),
                             fb_addr);
@@ -280,7 +280,7 @@ int logicvc_layer_buffer_find_setup(struct logicvc_drm *logicvc,
                return -ENOMEM;
        }
 
-       fb_addr = drm_fb_cma_get_gem_addr(fb, state, 0);
+       fb_addr = drm_fb_dma_get_gem_addr(fb, state, 0);
        if (fb_addr < logicvc->reserved_mem_base) {
                drm_err(drm_dev,
                        "Framebuffer memory below reserved memory base!\n");
index 4df4775..9247da4 100644 (file)
@@ -11,7 +11,7 @@
 #include <linux/media-bus-format.h>
 
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -165,7 +165,7 @@ static int mcde_display_check(struct drm_simple_display_pipe *pipe,
        struct drm_framebuffer *fb = pstate->fb;
 
        if (fb) {
-               u32 offset = drm_fb_cma_get_gem_addr(fb, pstate, 0);
+               u32 offset = drm_fb_dma_get_gem_addr(fb, pstate, 0);
 
                /* FB base address must be dword aligned. */
                if (offset & 3) {
@@ -1424,7 +1424,7 @@ static void mcde_display_update(struct drm_simple_display_pipe *pipe,
         * from the DRM core before the display is enabled.
         */
        if (fb) {
-               mcde_set_extsrc(mcde, drm_fb_cma_get_gem_addr(fb, pstate, 0));
+               mcde_set_extsrc(mcde, drm_fb_dma_get_gem_addr(fb, pstate, 0));
                dev_info_once(mcde->dev, "first update of display contents\n");
                /*
                 * Usually the flow is already active, unless we are in
index e601baa..509c2b0 100644 (file)
@@ -37,7 +37,7 @@
  * (effectively using channels 0..3) for concurrent use.
  *
  * In the current DRM/KMS setup, we use one external source, one overlay,
- * one FIFO and one formatter which we connect to the simple CMA framebuffer
+ * one FIFO and one formatter which we connect to the simple DMA framebuffer
  * helpers. We then provide a bridge to the DSI port, and on the DSI port
  * bridge we connect hang a panel bridge or other bridge. This may be subject
  * to change as we exploit more of the hardware capabilities.
@@ -68,7 +68,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_bridge.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_gem.h>
 #include <drm/drm_gem_cma_helper.h>
index 93c1cd2..bfebf45 100644 (file)
@@ -11,7 +11,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -650,7 +650,7 @@ static void meson_overlay_atomic_update(struct drm_plane *plane,
 
        switch (priv->viu.vd1_planes) {
        case 3:
-               gem = drm_fb_cma_get_gem_obj(fb, 2);
+               gem = drm_fb_dma_get_gem_obj(fb, 2);
                priv->viu.vd1_addr2 = gem->paddr + fb->offsets[2];
                priv->viu.vd1_stride2 = fb->pitches[2];
                priv->viu.vd1_height2 =
@@ -662,7 +662,7 @@ static void meson_overlay_atomic_update(struct drm_plane *plane,
                         priv->viu.vd1_height2);
                fallthrough;
        case 2:
-               gem = drm_fb_cma_get_gem_obj(fb, 1);
+               gem = drm_fb_dma_get_gem_obj(fb, 1);
                priv->viu.vd1_addr1 = gem->paddr + fb->offsets[1];
                priv->viu.vd1_stride1 = fb->pitches[1];
                priv->viu.vd1_height1 =
@@ -674,7 +674,7 @@ static void meson_overlay_atomic_update(struct drm_plane *plane,
                         priv->viu.vd1_height1);
                fallthrough;
        case 1:
-               gem = drm_fb_cma_get_gem_obj(fb, 0);
+               gem = drm_fb_dma_get_gem_obj(fb, 0);
                priv->viu.vd1_addr0 = gem->paddr + fb->offsets[0];
                priv->viu.vd1_stride0 = fb->pitches[0];
                priv->viu.vd1_height0 =
index f3d49e8..5147971 100644 (file)
@@ -15,7 +15,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -365,7 +365,7 @@ static void meson_plane_atomic_update(struct drm_plane *plane,
        }
 
        /* Update Canvas with buffer address */
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
 
        priv->viu.osd1_addr = gem->paddr;
        priv->viu.osd1_stride = fb->pitches[0];
index b27a54e..0df4187 100644 (file)
@@ -18,7 +18,7 @@
 #include <drm/drm_crtc.h>
 #include <drm/drm_encoder.h>
 #include <drm/drm_framebuffer.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -296,7 +296,7 @@ static void lcdif_crtc_atomic_enable(struct drm_crtc *crtc,
        lcdif_crtc_mode_set_nofb(lcdif, bridge_state, bus_format);
 
        /* Write cur_buf as well to avoid an initial corrupt frame */
-       paddr = drm_fb_cma_get_gem_addr(new_pstate->fb, new_pstate, 0);
+       paddr = drm_fb_dma_get_gem_addr(new_pstate->fb, new_pstate, 0);
        if (paddr) {
                writel(lower_32_bits(paddr),
                       lcdif->base + LCDC_V8_CTRLDESCL_LOW0_4);
@@ -405,7 +405,7 @@ static void lcdif_plane_primary_atomic_update(struct drm_plane *plane,
                                                                            plane);
        dma_addr_t paddr;
 
-       paddr = drm_fb_cma_get_gem_addr(new_pstate->fb, new_pstate, 0);
+       paddr = drm_fb_dma_get_gem_addr(new_pstate->fb, new_pstate, 0);
        if (paddr) {
                writel(lower_32_bits(paddr),
                       lcdif->base + LCDC_V8_CTRLDESCL_LOW0_4);
index 2da2be6..e55e926 100644 (file)
@@ -20,7 +20,7 @@
 #include <drm/drm_bridge.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_encoder.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -388,7 +388,7 @@ static void mxsfb_crtc_atomic_enable(struct drm_crtc *crtc,
        mxsfb_crtc_mode_set_nofb(mxsfb, bridge_state, bus_format);
 
        /* Write cur_buf as well to avoid an initial corrupt frame */
-       paddr = drm_fb_cma_get_gem_addr(new_pstate->fb, new_pstate, 0);
+       paddr = drm_fb_dma_get_gem_addr(new_pstate->fb, new_pstate, 0);
        if (paddr) {
                writel(paddr, mxsfb->base + mxsfb->devdata->cur_buf);
                writel(paddr, mxsfb->base + mxsfb->devdata->next_buf);
@@ -543,7 +543,7 @@ static void mxsfb_plane_primary_atomic_update(struct drm_plane *plane,
                                                                            plane);
        dma_addr_t paddr;
 
-       paddr = drm_fb_cma_get_gem_addr(new_pstate->fb, new_pstate, 0);
+       paddr = drm_fb_dma_get_gem_addr(new_pstate->fb, new_pstate, 0);
        if (paddr)
                writel(paddr, mxsfb->base + mxsfb->devdata->next_buf);
 }
@@ -559,7 +559,7 @@ static void mxsfb_plane_overlay_atomic_update(struct drm_plane *plane,
        dma_addr_t paddr;
        u32 ctrl;
 
-       paddr = drm_fb_cma_get_gem_addr(new_pstate->fb, new_pstate, 0);
+       paddr = drm_fb_dma_get_gem_addr(new_pstate->fb, new_pstate, 0);
        if (!paddr) {
                writel(0, mxsfb->base + LCDC_AS_CTRL);
                return;
index 6263346..5f2429c 100644 (file)
@@ -15,7 +15,7 @@
 #include <linux/media-bus-format.h>
 #include <linux/of_graph.h>
 
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -94,7 +94,7 @@ static int pl111_display_check(struct drm_simple_display_pipe *pipe,
                return -EINVAL;
 
        if (fb) {
-               u32 offset = drm_fb_cma_get_gem_addr(fb, pstate, 0);
+               u32 offset = drm_fb_dma_get_gem_addr(fb, pstate, 0);
 
                /* FB base address must be dword aligned. */
                if (offset & 3)
@@ -398,7 +398,7 @@ static void pl111_display_update(struct drm_simple_display_pipe *pipe,
        struct drm_framebuffer *fb = pstate->fb;
 
        if (fb) {
-               u32 addr = drm_fb_cma_get_gem_addr(fb, pstate, 0);
+               u32 addr = drm_fb_dma_get_gem_addr(fb, pstate, 0);
 
                writel(addr, priv->regs + CLCD_UBAS);
        }
index 07ba6bf..4ae4443 100644 (file)
@@ -12,7 +12,7 @@
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -350,7 +350,7 @@ static void rcar_du_plane_setup_scanout(struct rcar_du_group *rgrp,
                        pitch = fb->pitches[0] * 8 / state->format->bpp;
 
                for (i = 0; i < state->format->planes; ++i) {
-                       gem = drm_fb_cma_get_gem_obj(fb, i);
+                       gem = drm_fb_dma_get_gem_obj(fb, i);
                        dma[i] = gem->paddr + fb->offsets[i];
                }
        } else {
index 5e985d4..99d32f4 100644 (file)
@@ -11,7 +11,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -183,7 +183,7 @@ int rcar_du_vsp_map_fb(struct rcar_du_vsp *vsp, struct drm_framebuffer *fb,
        int ret;
 
        for (i = 0; i < fb->format->num_planes; ++i) {
-               struct drm_gem_cma_object *gem = drm_fb_cma_get_gem_obj(fb, i);
+               struct drm_gem_cma_object *gem = drm_fb_dma_get_gem_obj(fb, i);
                struct sg_table *sgt = &sg_tables[i];
 
                if (gem->sgt) {
index 387fbd2..94318f8 100644 (file)
@@ -12,7 +12,7 @@
 
 #include <drm/drm_crtc.h>
 #include <drm/drm_crtc_helper.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -292,13 +292,13 @@ static void shmob_drm_crtc_compute_base(struct shmob_drm_crtc *scrtc,
        unsigned int bpp;
 
        bpp = scrtc->format->yuv ? 8 : scrtc->format->bpp;
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
        scrtc->dma[0] = gem->paddr + fb->offsets[0]
                      + y * fb->pitches[0] + x * bpp / 8;
 
        if (scrtc->format->yuv) {
                bpp = scrtc->format->bpp - 8;
-               gem = drm_fb_cma_get_gem_obj(fb, 1);
+               gem = drm_fb_dma_get_gem_obj(fb, 1);
                scrtc->dma[1] = gem->paddr + fb->offsets[1]
                              + y / (bpp == 4 ? 2 : 1) * fb->pitches[1]
                              + x * (bpp == 16 ? 2 : 1);
index 4763ea8..6fa64bc 100644 (file)
@@ -9,7 +9,7 @@
 
 #include <drm/drm_crtc.h>
 #include <drm/drm_crtc_helper.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -45,13 +45,13 @@ static void shmob_drm_plane_compute_base(struct shmob_drm_plane *splane,
        unsigned int bpp;
 
        bpp = splane->format->yuv ? 8 : splane->format->bpp;
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
        splane->dma[0] = gem->paddr + fb->offsets[0]
                       + y * fb->pitches[0] + x * bpp / 8;
 
        if (splane->format->yuv) {
                bpp = splane->format->bpp - 8;
-               gem = drm_fb_cma_get_gem_obj(fb, 1);
+               gem = drm_fb_dma_get_gem_obj(fb, 1);
                splane->dma[1] = gem->paddr + fb->offsets[1]
                               + y / (bpp == 4 ? 2 : 1) * fb->pitches[1]
                               + x * (bpp == 16 ? 2 : 1);
index 10d21f7..5ea104e 100644 (file)
@@ -19,7 +19,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc_helper.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
 #include <drm/drm_gem_framebuffer_helper.h>
@@ -340,7 +340,7 @@ static void sprd_dpu_layer(struct sprd_dpu *dpu, struct drm_plane_state *state)
        size = (src_w & 0xffff) | (src_h << 16);
 
        for (i = 0; i < fb->format->num_planes; i++) {
-               cma_obj = drm_fb_cma_get_gem_obj(fb, i);
+               cma_obj = drm_fb_dma_get_gem_obj(fb, i);
                addr = cma_obj->paddr + fb->offsets[i];
 
                if (i == 0)
index 1e9bd42..d374fa5 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
 
@@ -243,7 +243,7 @@ static int sti_cursor_atomic_check(struct drm_plane *drm_plane,
                }
        }
 
-       if (!drm_fb_cma_get_gem_obj(fb, 0)) {
+       if (!drm_fb_dma_get_gem_obj(fb, 0)) {
                DRM_ERROR("Can't get CMA GEM object for fb\n");
                return -EINVAL;
        }
@@ -278,7 +278,7 @@ static void sti_cursor_atomic_update(struct drm_plane *drm_plane,
        dst_x = newstate->crtc_x;
        dst_y = newstate->crtc_y;
 
-       cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
 
        /* Convert ARGB8888 to CLUT8 */
        sti_cursor_argb8888_to_clut8(cursor, (u32 *)cma_obj->vaddr);
index af783f5..623a091 100644 (file)
@@ -12,7 +12,7 @@
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -658,7 +658,7 @@ static int sti_gdp_atomic_check(struct drm_plane *drm_plane,
                return -EINVAL;
        }
 
-       if (!drm_fb_cma_get_gem_obj(fb, 0)) {
+       if (!drm_fb_dma_get_gem_obj(fb, 0)) {
                DRM_ERROR("Can't get CMA GEM object for fb\n");
                return -EINVAL;
        }
@@ -778,7 +778,7 @@ static void sti_gdp_atomic_update(struct drm_plane *drm_plane,
        top_field->gam_gdp_ctl |= sti_gdp_get_alpharange(format);
        top_field->gam_gdp_ppt &= ~GAM_GDP_PPT_IGNORE;
 
-       cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
 
        DRM_DEBUG_DRIVER("drm FB:%d format:%.4s phys@:0x%lx\n", fb->base.id,
                         (char *)&fb->format->format,
index 2719820..26284c5 100644 (file)
@@ -16,7 +16,7 @@
 
 #include <drm/drm_atomic.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -1055,7 +1055,7 @@ static int sti_hqvdp_atomic_check(struct drm_plane *drm_plane,
                return -EINVAL;
        }
 
-       if (!drm_fb_cma_get_gem_obj(fb, 0)) {
+       if (!drm_fb_dma_get_gem_obj(fb, 0)) {
                DRM_ERROR("Can't get CMA GEM object for fb\n");
                return -EINVAL;
        }
@@ -1178,7 +1178,7 @@ static void sti_hqvdp_atomic_update(struct drm_plane *drm_plane,
        cmd->iqi.sat_gain = IQI_SAT_GAIN_DFLT;
        cmd->iqi.pxf_conf = IQI_PXF_CONF_DFLT;
 
-       cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
 
        DRM_DEBUG_DRIVER("drm FB:%d format:%.4s phys@:0x%lx\n", fb->base.id,
                         (char *)&fb->format->format,
index 8f3307b..42a98ef 100644 (file)
@@ -28,7 +28,7 @@
 #include <drm/drm_bridge.h>
 #include <drm/drm_device.h>
 #include <drm/drm_edid.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -1346,7 +1346,7 @@ static void ltdc_plane_atomic_update(struct drm_plane *plane,
        }
 
        /* Sets the FB address */
-       paddr = (u32)drm_fb_cma_get_gem_addr(fb, newstate, 0);
+       paddr = (u32)drm_fb_dma_get_gem_addr(fb, newstate, 0);
 
        if (newstate->rotation & DRM_MODE_REFLECT_X)
                paddr += (fb->format->cpp[0] * (x1 - x0 + 1)) - 1;
@@ -1380,7 +1380,7 @@ static void ltdc_plane_atomic_update(struct drm_plane *plane,
                        case DRM_FORMAT_NV12:
                        case DRM_FORMAT_NV21:
                        /* Configure the auxiliary frame buffer address 0 */
-                       paddr1 = (u32)drm_fb_cma_get_gem_addr(fb, newstate, 1);
+                       paddr1 = (u32)drm_fb_dma_get_gem_addr(fb, newstate, 1);
 
                        if (newstate->rotation & DRM_MODE_REFLECT_X)
                                paddr1 += ((fb->format->cpp[1] * (x1 - x0 + 1)) >> 1) - 1;
@@ -1392,8 +1392,8 @@ static void ltdc_plane_atomic_update(struct drm_plane *plane,
                        break;
                        case DRM_FORMAT_YUV420:
                        /* Configure the auxiliary frame buffer address 0 & 1 */
-                       paddr1 = (u32)drm_fb_cma_get_gem_addr(fb, newstate, 1);
-                       paddr2 = (u32)drm_fb_cma_get_gem_addr(fb, newstate, 2);
+                       paddr1 = (u32)drm_fb_dma_get_gem_addr(fb, newstate, 1);
+                       paddr2 = (u32)drm_fb_dma_get_gem_addr(fb, newstate, 2);
 
                        if (newstate->rotation & DRM_MODE_REFLECT_X) {
                                paddr1 += ((fb->format->cpp[1] * (x1 - x0 + 1)) >> 1) - 1;
@@ -1410,8 +1410,8 @@ static void ltdc_plane_atomic_update(struct drm_plane *plane,
                        break;
                        case DRM_FORMAT_YVU420:
                        /* Configure the auxiliary frame buffer address 0 & 1 */
-                       paddr1 = (u32)drm_fb_cma_get_gem_addr(fb, newstate, 2);
-                       paddr2 = (u32)drm_fb_cma_get_gem_addr(fb, newstate, 1);
+                       paddr1 = (u32)drm_fb_dma_get_gem_addr(fb, newstate, 2);
+                       paddr2 = (u32)drm_fb_dma_get_gem_addr(fb, newstate, 1);
 
                        if (newstate->rotation & DRM_MODE_REFLECT_X) {
                                paddr1 += ((fb->format->cpp[1] * (x1 - x0 + 1)) >> 1) - 1;
index 0c69eab..fa4539c 100644 (file)
@@ -19,7 +19,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -338,7 +338,7 @@ int sun4i_backend_update_layer_buffer(struct sun4i_backend *backend,
                     fb->pitches[0] * 8);
 
        /* Get the start of the displayed memory */
-       paddr = drm_fb_cma_get_gem_addr(fb, state, 0);
+       paddr = drm_fb_dma_get_gem_addr(fb, state, 0);
        DRM_DEBUG_DRIVER("Setting buffer address to %pad\n", &paddr);
 
        if (fb->format->is_yuv)
index 462fae7..4a811e8 100644 (file)
@@ -14,7 +14,7 @@
 #include <linux/reset.h>
 
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -221,19 +221,19 @@ void sun4i_frontend_update_buffer(struct sun4i_frontend *frontend,
        swap = sun4i_frontend_format_chroma_requires_swap(fb->format->format);
 
        /* Set the physical address of the buffer in memory */
-       paddr = drm_fb_cma_get_gem_addr(fb, state, 0);
+       paddr = drm_fb_dma_get_gem_addr(fb, state, 0);
        DRM_DEBUG_DRIVER("Setting buffer #0 address to %pad\n", &paddr);
        regmap_write(frontend->regs, SUN4I_FRONTEND_BUF_ADDR0_REG, paddr);
 
        if (fb->format->num_planes > 1) {
-               paddr = drm_fb_cma_get_gem_addr(fb, state, swap ? 2 : 1);
+               paddr = drm_fb_dma_get_gem_addr(fb, state, swap ? 2 : 1);
                DRM_DEBUG_DRIVER("Setting buffer #1 address to %pad\n", &paddr);
                regmap_write(frontend->regs, SUN4I_FRONTEND_BUF_ADDR1_REG,
                             paddr);
        }
 
        if (fb->format->num_planes > 2) {
-               paddr = drm_fb_cma_get_gem_addr(fb, state, swap ? 1 : 2);
+               paddr = drm_fb_dma_get_gem_addr(fb, state, swap ? 1 : 2);
                DRM_DEBUG_DRIVER("Setting buffer #2 address to %pad\n", &paddr);
                regmap_write(frontend->regs, SUN4I_FRONTEND_BUF_ADDR2_REG,
                             paddr);
index 06ed571..900c71c 100644 (file)
@@ -13,7 +13,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -200,7 +200,7 @@ static int sun8i_ui_layer_update_buffer(struct sun8i_mixer *mixer, int channel,
        ch_base = sun8i_channel_base(mixer, channel);
 
        /* Get the physical address of the buffer in memory */
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
 
        DRM_DEBUG_DRIVER("Using GEM @ %pad\n", &gem->paddr);
 
index b9473ef..8b5dae3 100644 (file)
@@ -7,7 +7,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -322,7 +322,7 @@ static int sun8i_vi_layer_update_buffer(struct sun8i_mixer *mixer, int channel,
 
        for (i = 0; i < format->num_planes; i++) {
                /* Get the physical address of the buffer in memory */
-               gem = drm_fb_cma_get_gem_obj(fb, i);
+               gem = drm_fb_dma_get_gem_obj(fb, i);
 
                DRM_DEBUG_DRIVER("Using GEM @ %pad\n", &gem->paddr);
 
index ed828de..9291209 100644 (file)
@@ -3,7 +3,7 @@
  * Copyright (C) 2012-2013 Avionic Design GmbH
  * Copyright (C) 2012 NVIDIA CORPORATION.  All rights reserved.
  *
- * Based on the KMS/FB CMA helpers
+ * Based on the KMS/FB DMA helpers
  *   Copyright (C) 2012 Analog Devices Inc.
  */
 
index dd3c6a6..cdd9a64 100644 (file)
@@ -24,7 +24,7 @@
 
 #include <drm/drm_blend.h>
 #include <drm/drm_fourcc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
 #include <drm/drm_panel.h>
@@ -1961,7 +1961,7 @@ dma_addr_t dispc_plane_state_paddr(const struct drm_plane_state *state)
        u32 x = state->src_x >> 16;
        u32 y = state->src_y >> 16;
 
-       gem = drm_fb_cma_get_gem_obj(state->fb, 0);
+       gem = drm_fb_dma_get_gem_obj(state->fb, 0);
 
        return gem->paddr + fb->offsets[0] + x * fb->format->cpp[0] +
                y * fb->pitches[0];
@@ -1978,7 +1978,7 @@ dma_addr_t dispc_plane_state_p_uv_addr(const struct drm_plane_state *state)
        if (WARN_ON(state->fb->format->num_planes != 2))
                return 0;
 
-       gem = drm_fb_cma_get_gem_obj(fb, 1);
+       gem = drm_fb_dma_get_gem_obj(fb, 1);
 
        return gem->paddr + fb->offsets[1] +
                (x * fb->format->cpp[1] / fb->format->hsub) +
index 509fbae..bd4f522 100644 (file)
@@ -12,7 +12,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_crtc.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_cma_helper.h>
@@ -68,7 +68,7 @@ static void set_scanout(struct drm_crtc *crtc, struct drm_framebuffer *fb)
        dma_addr_t start, end;
        u64 dma_base_and_ceiling;
 
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
 
        start = gem->paddr + fb->offsets[0] +
                crtc->y * fb->pitches[0] +
index 7461cb4..cdf320c 100644 (file)
@@ -11,7 +11,7 @@
 #include <drm/drm_device.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_edid.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
@@ -226,7 +226,7 @@ static void arc_pgu_update(struct drm_simple_display_pipe *pipe,
                return;
 
        arcpgu = pipe_to_arcpgu_priv(pipe);
-       gem = drm_fb_cma_get_gem_obj(pipe->plane.state->fb, 0);
+       gem = drm_fb_dma_get_gem_obj(pipe->plane.state->fb, 0);
        arc_pgu_write(arcpgu, ARCPGU_REG_BUF0_ADDR, gem->paddr);
 }
 
index 8d686ee..fc73ffa 100644 (file)
@@ -19,7 +19,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
@@ -78,7 +78,7 @@ static inline int ili9225_command(struct mipi_dbi *dbi, u8 cmd, u16 data)
 
 static void ili9225_fb_dirty(struct drm_framebuffer *fb, struct drm_rect *rect)
 {
-       struct drm_gem_cma_object *cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
        struct mipi_dbi_dev *dbidev = drm_to_mipi_dbi_dev(fb->dev);
        unsigned int height = rect->y2 - rect->y1;
        unsigned int width = rect->x2 - rect->x1;
index 013790c..6d3b5b3 100644 (file)
@@ -25,7 +25,7 @@
 #include <drm/drm_connector.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_format_helper.h>
 #include <drm/drm_framebuffer.h>
@@ -511,7 +511,7 @@ static void repaper_get_temperature(struct repaper_epd *epd)
 
 static int repaper_fb_dirty(struct drm_framebuffer *fb)
 {
-       struct drm_gem_cma_object *cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
        struct repaper_epd *epd = drm_to_epd(fb->dev);
        struct drm_rect clip;
        int idx, ret = 0;
index 8eddb02..b1584b3 100644 (file)
@@ -15,7 +15,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_damage_helper.h>
 #include <drm/drm_drv.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fb_helper.h>
 #include <drm/drm_format_helper.h>
 #include <drm/drm_framebuffer.h>
@@ -92,7 +92,7 @@ static void st7586_xrgb8888_to_gray332(u8 *dst, void *vaddr,
 static int st7586_buf_copy(void *dst, struct drm_framebuffer *fb,
                           struct drm_rect *clip)
 {
-       struct drm_gem_cma_object *cma_obj = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *cma_obj = drm_fb_dma_get_gem_obj(fb, 0);
        void *src = cma_obj->vaddr;
        int ret = 0;
 
index 771bad8..6647aab 100644 (file)
@@ -15,7 +15,7 @@
 #include <linux/of_graph.h>
 #include <linux/delay.h>
 
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -90,7 +90,7 @@ static int tve200_display_check(struct drm_simple_display_pipe *pipe,
        }
 
        if (fb) {
-               u32 offset = drm_fb_cma_get_gem_addr(fb, pstate, 0);
+               u32 offset = drm_fb_dma_get_gem_addr(fb, pstate, 0);
 
                /* FB base address must be dword aligned. */
                if (offset & 3) {
@@ -267,14 +267,14 @@ static void tve200_display_update(struct drm_simple_display_pipe *pipe,
 
        if (fb) {
                /* For RGB, the Y component is used as base address */
-               writel(drm_fb_cma_get_gem_addr(fb, pstate, 0),
+               writel(drm_fb_dma_get_gem_addr(fb, pstate, 0),
                       priv->regs + TVE200_Y_FRAME_BASE_ADDR);
 
                /* For three plane YUV we need two more addresses */
                if (fb->format->format == DRM_FORMAT_YUV420) {
-                       writel(drm_fb_cma_get_gem_addr(fb, pstate, 1),
+                       writel(drm_fb_dma_get_gem_addr(fb, pstate, 1),
                               priv->regs + TVE200_U_FRAME_BASE_ADDR);
-                       writel(drm_fb_cma_get_gem_addr(fb, pstate, 2),
+                       writel(drm_fb_dma_get_gem_addr(fb, pstate, 2),
                               priv->regs + TVE200_V_FRAME_BASE_ADDR);
                }
        }
index d3efa7e..f857884 100644 (file)
@@ -37,7 +37,7 @@
 #include <drm/drm_atomic.h>
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_atomic_uapi.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_print.h>
 #include <drm/drm_probe_helper.h>
@@ -824,7 +824,7 @@ static void vc4_async_page_flip_seqno_complete(struct vc4_seqno_cb *cb)
 
        if (flip_state->old_fb) {
                struct drm_gem_cma_object *cma_bo =
-                       drm_fb_cma_get_gem_obj(flip_state->old_fb, 0);
+                       drm_fb_dma_get_gem_obj(flip_state->old_fb, 0);
                bo = to_vc4_bo(&cma_bo->base);
        }
 
@@ -857,7 +857,7 @@ static int vc4_async_set_fence_cb(struct drm_device *dev,
                                  struct vc4_async_flip_state *flip_state)
 {
        struct drm_framebuffer *fb = flip_state->fb;
-       struct drm_gem_cma_object *cma_bo = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *cma_bo = drm_fb_dma_get_gem_obj(fb, 0);
        struct vc4_dev *vc4 = to_vc4_dev(dev);
        struct dma_fence *fence;
        int ret;
@@ -945,7 +945,7 @@ static int vc4_async_page_flip(struct drm_crtc *crtc,
 {
        struct drm_device *dev = crtc->dev;
        struct vc4_dev *vc4 = to_vc4_dev(dev);
-       struct drm_gem_cma_object *cma_bo = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *cma_bo = drm_fb_dma_get_gem_obj(fb, 0);
        struct vc4_bo *bo = to_vc4_bo(&cma_bo->base);
        int ret;
 
index 243b29a..51e0e8a 100644 (file)
@@ -19,7 +19,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_atomic_uapi.h>
 #include <drm/drm_blend.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_gem_atomic_helper.h>
@@ -339,7 +339,7 @@ static int vc4_plane_setup_clipping_and_scaling(struct drm_plane_state *state)
 {
        struct vc4_plane_state *vc4_state = to_vc4_plane_state(state);
        struct drm_framebuffer *fb = state->fb;
-       struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *bo = drm_fb_dma_get_gem_obj(fb, 0);
        int num_planes = fb->format->num_planes;
        struct drm_crtc_state *crtc_state;
        u32 h_subsample = fb->format->hsub;
@@ -1243,7 +1243,7 @@ u32 vc4_plane_dlist_size(const struct drm_plane_state *state)
 void vc4_plane_async_set_fb(struct drm_plane *plane, struct drm_framebuffer *fb)
 {
        struct vc4_plane_state *vc4_state = to_vc4_plane_state(plane->state);
-       struct drm_gem_cma_object *bo = drm_fb_cma_get_gem_obj(fb, 0);
+       struct drm_gem_cma_object *bo = drm_fb_dma_get_gem_obj(fb, 0);
        uint32_t addr;
 
        /* We're skipping the address adjustment for negative origin,
@@ -1387,7 +1387,7 @@ static int vc4_prepare_fb(struct drm_plane *plane,
        if (!state->fb)
                return 0;
 
-       bo = to_vc4_bo(&drm_fb_cma_get_gem_obj(state->fb, 0)->base);
+       bo = to_vc4_bo(&drm_fb_dma_get_gem_obj(state->fb, 0)->base);
 
        drm_gem_plane_helper_prepare_fb(plane, state);
 
@@ -1405,7 +1405,7 @@ static void vc4_cleanup_fb(struct drm_plane *plane,
        if (plane->state->fb == state->fb || !state->fb)
                return;
 
-       bo = to_vc4_bo(&drm_fb_cma_get_gem_obj(state->fb, 0)->base);
+       bo = to_vc4_bo(&drm_fb_dma_get_gem_obj(state->fb, 0)->base);
        vc4_bo_dec_usecnt(bo);
 }
 
index 913e26d..af48ae6 100644 (file)
@@ -17,7 +17,7 @@
 #include <drm/drm_atomic_helper.h>
 #include <drm/drm_drv.h>
 #include <drm/drm_edid.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_panel.h>
@@ -317,7 +317,7 @@ static void vc4_txp_connector_atomic_commit(struct drm_connector *conn,
        if (!drm_dev_enter(drm, &idx))
                return;
 
-       gem = drm_fb_cma_get_gem_obj(fb, 0);
+       gem = drm_fb_dma_get_gem_obj(fb, 0);
        TXP_WRITE(TXP_DST_PTR, gem->paddr + fb->offsets[0]);
        TXP_WRITE(TXP_DST_PITCH, fb->pitches[0]);
        TXP_WRITE(TXP_DIM,
index a769422..3bcb71c 100644 (file)
@@ -15,7 +15,7 @@
 #include <drm/drm_blend.h>
 #include <drm/drm_crtc.h>
 #include <drm/drm_device.h>
-#include <drm/drm_fb_cma_helper.h>
+#include <drm/drm_fb_dma_helper.h>
 #include <drm/drm_fourcc.h>
 #include <drm/drm_framebuffer.h>
 #include <drm/drm_managed.h>
@@ -1100,7 +1100,7 @@ static int zynqmp_disp_layer_update(struct zynqmp_disp_layer *layer,
                struct dma_async_tx_descriptor *desc;
                dma_addr_t paddr;
 
-               paddr = drm_fb_cma_get_gem_addr(state->fb, state, i);
+               paddr = drm_fb_dma_get_gem_addr(state->fb, state, i);
 
                dma->xt.numf = height;
                dma->sgl.size = width * info->cpp[i];
diff --git a/include/drm/drm_fb_cma_helper.h b/include/drm/drm_fb_cma_helper.h
deleted file mode 100644 (file)
index 6447e34..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* SPDX-License-Identifier: GPL-2.0 */
-#ifndef __DRM_FB_CMA_HELPER_H__
-#define __DRM_FB_CMA_HELPER_H__
-
-#include <linux/types.h>
-
-struct drm_device;
-struct drm_framebuffer;
-struct drm_plane_state;
-
-struct drm_gem_cma_object *drm_fb_cma_get_gem_obj(struct drm_framebuffer *fb,
-       unsigned int plane);
-
-dma_addr_t drm_fb_cma_get_gem_addr(struct drm_framebuffer *fb,
-                                  struct drm_plane_state *state,
-                                  unsigned int plane);
-
-void drm_fb_cma_sync_non_coherent(struct drm_device *drm,
-                                 struct drm_plane_state *old_state,
-                                 struct drm_plane_state *state);
-
-#endif
-
diff --git a/include/drm/drm_fb_dma_helper.h b/include/drm/drm_fb_dma_helper.h
new file mode 100644 (file)
index 0000000..05f6573
--- /dev/null
@@ -0,0 +1,23 @@
+/* SPDX-License-Identifier: GPL-2.0 */
+#ifndef __DRM_FB_DMA_HELPER_H__
+#define __DRM_FB_DMA_HELPER_H__
+
+#include <linux/types.h>
+
+struct drm_device;
+struct drm_framebuffer;
+struct drm_plane_state;
+
+struct drm_gem_cma_object *drm_fb_dma_get_gem_obj(struct drm_framebuffer *fb,
+       unsigned int plane);
+
+dma_addr_t drm_fb_dma_get_gem_addr(struct drm_framebuffer *fb,
+                                  struct drm_plane_state *state,
+                                  unsigned int plane);
+
+void drm_fb_dma_sync_non_coherent(struct drm_device *drm,
+                                 struct drm_plane_state *old_state,
+                                 struct drm_plane_state *state);
+
+#endif
+