mirror of
https://github.com/torvalds/linux.git
synced 2026-04-20 07:43:57 -04:00
Partially refactor mtk_gem to stop using (and remove) the unneeded
custom mtk_gem_obj structure and migrate drivers to use the API
defined drm_gem_dma_object structure instead, and to align all of
the functions to be similar to the logic from drm_gem_dma_helper.
Unfortunately, for this driver it wasn't possible to directly use
the drm_gem_dma_helper callbacks (apart from .print_info), as the
DMA mapping here is done on specific dma devices instead of the
main DRM device.
Also, since the mtk_gem_obj structure is no more, also migrate the
mtk_plane.c code to grab the DMA address from a drm_gem_dma_object
and replace the inclusion of the custom mtk_gem.h header (as it is
now unneeded) with the DRM API provided drm_gem_dma_helper.
While at it, also set DRM_GEM_DMA_HELPER as an unconditional
dependency (remove the `if DRM_FBDEV_EMULATION` from the select
DRM_GEM_DMA_HELPER statement in Kconfig).
This resolves an issue pointed by UBSAN, as when using drm_fbdev_dma
the drm_gem_object is supposed to be child of a drm_gem_dma_object
instead of a custom mtk_gem_obj (or the mtk_gem_obj should have been
reordered to have the same fields as drm_gem_dma_object, but that
would have been too fragile and generally a bad idea anyway).
Fixes: 0992284b4f ("drm/mediatek: Use fbdev-dma")
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20251111085114.9752-1-angelogioacchino.delregno@collabora.com/
Signed-off-by: Chun-Kuang Hu <chunkuang.hu@kernel.org>
60 lines
1.7 KiB
Plaintext
60 lines
1.7 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0-only
|
|
config DRM_MEDIATEK
|
|
tristate "DRM Support for Mediatek SoCs"
|
|
depends on DRM
|
|
depends on ARCH_MEDIATEK || COMPILE_TEST
|
|
depends on COMMON_CLK
|
|
depends on HAVE_ARM_SMCCC || COMPILE_TEST
|
|
depends on OF
|
|
depends on MTK_MMSYS
|
|
select DRM_CLIENT_SELECTION
|
|
select DRM_GEM_DMA_HELPER
|
|
select DRM_KMS_HELPER
|
|
select DRM_DISPLAY_HELPER
|
|
select DRM_BRIDGE_CONNECTOR
|
|
select DRM_MIPI_DSI
|
|
select DRM_PANEL
|
|
select VIDEOMODE_HELPERS
|
|
help
|
|
Choose this option if you have a Mediatek SoCs.
|
|
The module will be called mediatek-drm
|
|
This driver provides kernel mode setting and
|
|
buffer management to userspace.
|
|
|
|
config DRM_MEDIATEK_DP
|
|
tristate "DRM DPTX Support for MediaTek SoCs"
|
|
depends on DRM_MEDIATEK
|
|
select DRM_DISPLAY_HELPER
|
|
select DRM_DISPLAY_DP_HELPER
|
|
select DRM_DISPLAY_DP_AUX_BUS
|
|
help
|
|
DRM/KMS Display Port driver for MediaTek SoCs.
|
|
|
|
config DRM_MEDIATEK_HDMI_COMMON
|
|
tristate
|
|
depends on DRM_MEDIATEK
|
|
select DRM_DISPLAY_HDMI_HELPER
|
|
select DRM_DISPLAY_HELPER
|
|
select SND_SOC_HDMI_CODEC if SND_SOC
|
|
help
|
|
MediaTek SoC HDMI common library
|
|
|
|
config DRM_MEDIATEK_HDMI
|
|
tristate "DRM HDMI Support for Mediatek SoCs"
|
|
depends on DRM_MEDIATEK
|
|
select DRM_MEDIATEK_HDMI_COMMON
|
|
help
|
|
DRM/KMS HDMI driver for Mediatek SoCs
|
|
|
|
config DRM_MEDIATEK_HDMI_V2
|
|
tristate "DRM HDMI v2 IP support for MediaTek SoCs"
|
|
depends on DRM_MEDIATEK
|
|
select DRM_MEDIATEK_HDMI_COMMON
|
|
help
|
|
Say yes here to enable support for the HDMIv2 IP and related
|
|
DDCv2 as found in the MediaTek MT8195, MT8188 SoCs and other
|
|
variants.
|
|
This driver can also be built as a module. If so, the HDMIv2
|
|
module will be called "mtk_hdmi_v2", and the DDCv2 module
|
|
will be called "mtk_hdmi_ddc_v2".
|