[PATCH] drm/exynos: ipp: Remove Exynos DRM IPP subsystem
krzk at kernel.org
Thu Dec 14 18:04:19 UTC 2017
On Thu, Dec 14, 2017 at 04:10:15PM +0100, Marek Szyprowski wrote:
> 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
> 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 commit 083500baefd5 ("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
> 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 mentioned 083500baefd5 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 at samsung.com>
> This is a follow-up of the discussion in the following thread:
> This patch was a part of the "Exynos DRM: rewrite IPP subsystem and
> userspace API" patchset:
> drivers/gpu/drm/exynos/Kconfig | 11 +-
> drivers/gpu/drm/exynos/Makefile | 1 -
> drivers/gpu/drm/exynos/exynos_drm_drv.c | 12 -
> drivers/gpu/drm/exynos/exynos_drm_drv.h | 2 -
> drivers/gpu/drm/exynos/exynos_drm_ipp.c | 1806 -------------------------------
> drivers/gpu/drm/exynos/exynos_drm_ipp.h | 252 -----
> include/uapi/drm/exynos_drm.h | 192 +---
> 7 files changed, 4 insertions(+), 2272 deletions(-)
> delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_ipp.c
> delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_ipp.h
Acked-by: Krzysztof Kozlowski <krzk at kernel.org>
More information about the dri-devel