• Marek Szyprowski's avatar
    drm/exynos: ipp: Remove Exynos DRM IPP subsystem · 8ded5941
    Marek Szyprowski authored
    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 commit 083500ba ("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 mentioned 083500ba 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: default avatarMarek Szyprowski <m.szyprowski@samsung.com>
    Acked-by: default avatarDaniel Stone <daniels@collabora.com>
    Acked-by: default avatarKrzysztof Kozlowski <krzk@kernel.org>
    Signed-off-by: default avatarInki Dae <inki.dae@samsung.com>
    8ded5941
exynos_drm_drv.c 14.2 KB