![Marek Szyprowski](/assets/img/avatar_default.png)
Exynos DRM IPP subsystem is in fact non-functional and frankly speaking dead-code. This patch clearly marks that Exynos DRM IPP subsystem is broken and never really functional. It will be replaced by a completely rewritten API. Exynos DRM IPP user-space API can be obsoleted for the following reasons: 1. Exynos DRM IPP user-space API can be optional in Exynos DRM, so userspace should not rely that it is always available and should have a software fallback in case it is not there. 2. The only mode which was initially semi-working was memory-to-memory image processing. The remaining modes (LCD-"writeback" and "output") were never operational due to missing code (both in mainline and even vendor kernels). 3. Exynos DRM IPP mainline user-space API compatibility for memory-to-memory got broken very early by commit083500baef
("drm: remove DRM_FORMAT_NV12MT", which removed the support for tiled formats, the main feature which made this API somehow useful on Exynos platforms (video codec that time produced only tiled frames, to implement xvideo or any other video overlay, one has to de-tile them for proper display). 4. Broken drivers. Especially once support for IOMMU has been added, it revealed that drivers don't configure DMA operations properly and in many cases operate outside the provided buffers trashing memory around. 5. Need for external patches. Although IPP user-space API has been used in some vendor kernels, but in such cases there were additional patches applied (like reverting mentioned083500baef
patch) what means that those userspace apps which might use it, still won't work with the mainline kernel version. We don't have time machines, so we cannot change it, but Exynos DRM IPP extension should never have been merged to mainline in that form. Exynos IPP subsystem and user-space API will be rewritten, so remove current IPP core code and mark existing drivers as BROKEN. Signed-off-by: Marek Szyprowski <m.szyprowski@samsung.com> Acked-by: Daniel Stone <daniels@collabora.com> Acked-by: Krzysztof Kozlowski <krzk@kernel.org> Signed-off-by: Inki Dae <inki.dae@samsung.com>
117 lines
2.7 KiB
Plaintext
117 lines
2.7 KiB
Plaintext
config DRM_EXYNOS
|
|
tristate "DRM Support for Samsung SoC EXYNOS Series"
|
|
depends on OF && DRM && (ARCH_S3C64XX || ARCH_EXYNOS || ARCH_MULTIPLATFORM)
|
|
select DRM_KMS_HELPER
|
|
select VIDEOMODE_HELPERS
|
|
select SND_SOC_HDMI_CODEC if SND_SOC
|
|
help
|
|
Choose this option if you have a Samsung SoC EXYNOS chipset.
|
|
If M is selected the module will be called exynosdrm.
|
|
|
|
if DRM_EXYNOS
|
|
|
|
config DRM_EXYNOS_IOMMU
|
|
bool
|
|
depends on EXYNOS_IOMMU
|
|
default y
|
|
|
|
comment "CRTCs"
|
|
|
|
config DRM_EXYNOS_FIMD
|
|
bool "FIMD"
|
|
depends on !FB_S3C
|
|
select MFD_SYSCON
|
|
help
|
|
Choose this option if you want to use Exynos FIMD for DRM.
|
|
|
|
config DRM_EXYNOS5433_DECON
|
|
bool "DECON on Exynos5433"
|
|
help
|
|
Choose this option if you want to use Exynos5433 DECON for DRM.
|
|
|
|
config DRM_EXYNOS7_DECON
|
|
bool "DECON on Exynos7"
|
|
depends on !FB_S3C
|
|
help
|
|
Choose this option if you want to use Exynos DECON for DRM.
|
|
|
|
config DRM_EXYNOS_MIXER
|
|
bool "Mixer"
|
|
help
|
|
Choose this option if you want to use Exynos Mixer for DRM.
|
|
|
|
config DRM_EXYNOS_VIDI
|
|
bool "Virtual Display"
|
|
help
|
|
Choose this option if you want to use Exynos VIDI for DRM.
|
|
|
|
comment "Encoders and Bridges"
|
|
|
|
config DRM_EXYNOS_DPI
|
|
bool "Parallel output"
|
|
depends on DRM_EXYNOS_FIMD
|
|
select DRM_PANEL
|
|
default n
|
|
help
|
|
This enables support for Exynos parallel output.
|
|
|
|
config DRM_EXYNOS_DSI
|
|
bool "MIPI-DSI host"
|
|
depends on DRM_EXYNOS_FIMD || DRM_EXYNOS5433_DECON || DRM_EXYNOS7_DECON
|
|
select DRM_MIPI_DSI
|
|
select DRM_PANEL
|
|
default n
|
|
help
|
|
This enables support for Exynos MIPI-DSI device.
|
|
|
|
config DRM_EXYNOS_DP
|
|
bool "EXYNOS specific extensions for Analogix DP driver"
|
|
depends on DRM_EXYNOS_FIMD || DRM_EXYNOS7_DECON
|
|
select DRM_ANALOGIX_DP
|
|
default DRM_EXYNOS
|
|
select DRM_PANEL
|
|
help
|
|
This enables support for DP device.
|
|
|
|
config DRM_EXYNOS_HDMI
|
|
bool "HDMI"
|
|
depends on DRM_EXYNOS_MIXER || DRM_EXYNOS5433_DECON
|
|
select CEC_CORE if CEC_NOTIFIER
|
|
help
|
|
Choose this option if you want to use Exynos HDMI for DRM.
|
|
|
|
config DRM_EXYNOS_MIC
|
|
bool "Mobile Image Compressor"
|
|
depends on DRM_EXYNOS5433_DECON
|
|
help
|
|
Choose this option if you want to use Exynos MIC for DRM.
|
|
|
|
comment "Sub-drivers"
|
|
|
|
config DRM_EXYNOS_G2D
|
|
bool "G2D"
|
|
depends on VIDEO_SAMSUNG_S5P_G2D=n
|
|
select FRAME_VECTOR
|
|
help
|
|
Choose this option if you want to use Exynos G2D for DRM.
|
|
|
|
config DRM_EXYNOS_FIMC
|
|
bool "FIMC"
|
|
depends on BROKEN && MFD_SYSCON
|
|
help
|
|
Choose this option if you want to use Exynos FIMC for DRM.
|
|
|
|
config DRM_EXYNOS_ROTATOR
|
|
bool "Rotator"
|
|
depends on BROKEN
|
|
help
|
|
Choose this option if you want to use Exynos Rotator for DRM.
|
|
|
|
config DRM_EXYNOS_GSC
|
|
bool "GScaler"
|
|
depends on BROKEN && ARCH_EXYNOS5 && VIDEO_SAMSUNG_EXYNOS_GSC=n
|
|
help
|
|
Choose this option if you want to use Exynos GSC for DRM.
|
|
|
|
endif
|