4a83c26a1d
Rename "GEM CMA" helpers to "GEM DMA" helpers - considering the hierarchy of APIs (mm/cma -> dma -> gem dma) calling them "GEM 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}*)(GEM)_CMA_(${REGEX_SYM_UPPER}*)" REGEX_GREP_LOWER="(${REGEX_SYM_LOWER}*)(gem)_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 # Rename all 'cma_obj's to 'dma_obj'. for ff in $(grep -RiHl "cma_obj" $DIRS) do sed -i -E "s/cma_obj/dma_obj/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 "GEM CMA", but not "FB CMA". Also drivers/gpu/drm/Makefile was fixed up manually after renaming drm_gem_cma_helper.c to drm_gem_dma_helper.c. 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-4-dakr@redhat.com
85 lines
2.5 KiB
Plaintext
85 lines
2.5 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config DRM_SUN4I
|
|
tristate "DRM Support for Allwinner A10 Display Engine"
|
|
depends on DRM && COMMON_CLK
|
|
depends on ARCH_SUNXI || COMPILE_TEST
|
|
select DRM_GEM_DMA_HELPER
|
|
select DRM_KMS_HELPER
|
|
select DRM_PANEL
|
|
select REGMAP_MMIO
|
|
select VIDEOMODE_HELPERS
|
|
help
|
|
Choose this option if you have an Allwinner SoC with a
|
|
Display Engine. If M is selected the module will be called
|
|
sun4i-drm.
|
|
|
|
if DRM_SUN4I
|
|
|
|
config DRM_SUN4I_HDMI
|
|
tristate "Allwinner A10/A10s/A20/A31 HDMI Controller Support"
|
|
depends on ARM || COMPILE_TEST
|
|
default DRM_SUN4I
|
|
help
|
|
Choose this option if you have an Allwinner A10/A10s/A20/A31
|
|
SoC with an HDMI controller.
|
|
|
|
config DRM_SUN4I_HDMI_CEC
|
|
bool "Allwinner A10/A10s/A20/A31 HDMI CEC Support"
|
|
depends on DRM_SUN4I_HDMI
|
|
select CEC_CORE
|
|
select CEC_PIN
|
|
help
|
|
Choose this option if you have an Allwinner A10/A10s/A20/A31
|
|
SoC with an HDMI controller and want to use CEC.
|
|
|
|
config DRM_SUN4I_BACKEND
|
|
tristate "Support for Allwinner A10 Display Engine Backend"
|
|
depends on ARM || COMPILE_TEST
|
|
default DRM_SUN4I
|
|
help
|
|
Choose this option if you have an Allwinner SoC with the
|
|
original Allwinner Display Engine, which has a backend to
|
|
do some alpha blending and feed graphics to TCON. If M is
|
|
selected the module will be called sun4i-backend.
|
|
|
|
config DRM_SUN6I_DSI
|
|
tristate "Allwinner A31/A64 MIPI-DSI Controller Support"
|
|
default DRM_SUN4I
|
|
select CRC_CCITT
|
|
select DRM_MIPI_DSI
|
|
select RESET_CONTROLLER
|
|
select PHY_SUN6I_MIPI_DPHY
|
|
help
|
|
Choose this option if you want have an Allwinner SoC with
|
|
MIPI-DSI support. If M is selected the module will be called
|
|
sun6i_mipi_dsi.
|
|
|
|
config DRM_SUN8I_DW_HDMI
|
|
tristate "Support for Allwinner version of DesignWare HDMI"
|
|
depends on DRM_SUN4I
|
|
default DRM_SUN4I
|
|
select DRM_DW_HDMI
|
|
help
|
|
Choose this option if you have an Allwinner SoC with the
|
|
DesignWare HDMI controller. SoCs that support HDMI and
|
|
have a Display Engine 2.0 contain this controller. If M is
|
|
selected the module will be called sun8i_dw_hdmi.
|
|
|
|
config DRM_SUN8I_MIXER
|
|
tristate "Support for Allwinner Display Engine 2.0 Mixer"
|
|
default DRM_SUN4I
|
|
help
|
|
Choose this option if you have an Allwinner SoC with the
|
|
Allwinner Display Engine 2.0, which has a mixer to do some
|
|
graphics mixture and feed graphics to TCON, If M is
|
|
selected the module will be called sun8i-mixer.
|
|
|
|
config DRM_SUN8I_TCON_TOP
|
|
tristate
|
|
default DRM_SUN4I if DRM_SUN8I_MIXER!=n
|
|
help
|
|
TCON TOP is responsible for configuring display pipeline for
|
|
HDMI, TVE and LCD.
|
|
|
|
endif
|