android_kernel_xiaomi_sm7250/drivers/gpu/drm/exynos
Marek Szyprowski 8ded59413c drm/exynos: ipp: Remove Exynos DRM IPP subsystem
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 083500baef ("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 083500baef 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>
2018-01-02 08:41:22 +09:00
..
exynos7_drm_decon.c drm/exynos/decon: Move headers from global to local place 2018-01-02 08:38:00 +09:00
exynos5433_drm_decon.c drm/exynos/decon: Move headers from global to local place 2018-01-02 08:38:00 +09:00
exynos_dp.c drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_core.c drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_crtc.c drm/exynos: add mode_fixup callback to exynos_drm_crtc_ops 2017-10-26 09:06:33 +09:00
exynos_drm_crtc.h drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_dpi.c drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_drv.c drm/exynos: ipp: Remove Exynos DRM IPP subsystem 2018-01-02 08:41:22 +09:00
exynos_drm_drv.h drm/exynos: ipp: Remove Exynos DRM IPP subsystem 2018-01-02 08:41:22 +09:00
exynos_drm_dsi.c drm/exynos/dsi: propagate info about command mode from panel 2017-08-25 11:26:15 +09:00
exynos_drm_fb.c drm/exynos: Use drm_fb_helper_lastclose() and _poll_changed() 2017-12-08 13:04:53 +01:00
exynos_drm_fb.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-01-17 13:40:25 -08:00
exynos_drm_fbdev.c drm/exynos: Use drm_fb_helper_lastclose() and _poll_changed() 2017-12-08 13:04:53 +01:00
exynos_drm_fbdev.h drm/exynos: Use drm_fb_helper_lastclose() and _poll_changed() 2017-12-08 13:04:53 +01:00
exynos_drm_fimc.c drm/exynos: Print kernel pointers in a restricted form 2017-03-21 13:17:22 +09:00
exynos_drm_fimc.h
exynos_drm_fimd.c drm/exynos: simplify set_pixfmt() in DECON and FIMD drivers 2017-08-25 14:30:27 +09:00
exynos_drm_g2d.c drm/exynos: g2d: change platform driver name to 'exynos-drm-g2d' 2017-02-07 13:52:49 +09:00
exynos_drm_g2d.h
exynos_drm_gem.c drm/exynos: gem: Drop NONCONTIG flag for buffers allocated without IOMMU 2017-12-07 09:32:02 +09:00
exynos_drm_gem.h drm/exynos: Fix dma-buf import 2017-12-07 09:32:02 +09:00
exynos_drm_gsc.c drm/exynos: Print kernel pointers in a restricted form 2017-03-21 13:17:22 +09:00
exynos_drm_gsc.h
exynos_drm_iommu.c drm/exynos: iommu: move ARM specific code to exynos_drm_iommu.h 2016-07-13 23:06:06 +09:00
exynos_drm_iommu.h iommu/dma: Avoid PCI host bridge windows 2016-09-16 09:34:22 +01:00
exynos_drm_mic.c Merge tag 'drm-misc-next-2017-09-20' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-09-28 05:46:15 +10:00
exynos_drm_plane.c drm/exynos: mixer: enable NV12MT support for the video plane 2017-08-25 12:04:51 +09:00
exynos_drm_plane.h drm/exynos: set plane possible_crtcs in exynos_plane_init 2017-06-01 16:21:34 +09:00
exynos_drm_rotator.c drm/exynos: Print kernel pointers in a restricted form 2017-03-21 13:17:22 +09:00
exynos_drm_rotator.h
exynos_drm_vidi.c treewide: setup_timer() -> timer_setup() 2017-11-21 15:57:07 -08:00
exynos_drm_vidi.h
exynos_hdmi.c drm/edid: Allow HDMI infoframe without VIC or S3D 2017-11-22 19:24:34 +02:00
exynos_mixer.c drm/exynos/hdmi: add 85.5MHz pixel clock for v14 HDMI PHY 2017-10-26 09:06:34 +09:00
Kconfig drm/exynos: ipp: Remove Exynos DRM IPP subsystem 2018-01-02 08:41:22 +09:00
Makefile drm/exynos: ipp: Remove Exynos DRM IPP subsystem 2018-01-02 08:41:22 +09:00
regs-decon7.h drm/exynos/decon: Add include guard to the Exynos7 header 2018-01-02 08:38:49 +09:00
regs-decon5433.h drm/exynos/decon: Add include guard to the Exynos7 header 2018-01-02 08:38:49 +09:00
regs-fimc.h
regs-gsc.h drm/exynos: gsc: add device tree support and remove usage of static mappings 2015-12-13 22:22:53 +09:00
regs-hdmi.h drm: exynos: Add driver for HDMI audio interface 2017-10-26 09:06:34 +09:00
regs-mixer.h drm/exynos: mixer: document YCbCr magic numbers 2017-06-01 16:21:36 +09:00
regs-rotator.h
regs-vp.h