Star64_linux/drivers/gpu/drm/omapdrm
Tomi Valkeinen f5b9930b85 drm/omap: partial workaround for DRA7xx DMM errata i878
Errata i878 says that MPU should not be used to access RAM and DMM at
the same time. As it's not possible to prevent MPU accessing RAM, we
need to access DMM via a proxy.

This patch changes DMM driver to access DMM registers via sDMA. Instead
of doing a normal readl/writel call to read/write a register, we use
sDMA to copy 4 bytes from/to the DMM registers.

This patch provides only a partial workaround for i878, as not only DMM
register reads/writes are affected, but also accesses to the DMM mapped
buffers (framebuffers, usually).

Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
Signed-off-by: Peter Ujfalusi <peter.ujfalusi@ti.com>
2018-10-02 09:36:56 +03:00
..
displays drm/omap: Don't call .set_timings() operation recursively 2018-09-03 16:13:30 +03:00
dss drm/omap: remove set but not used variable 'frame_height' 2018-10-02 09:36:56 +03:00
Kconfig
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
omap_connector.c drm/omap: Call dispc timings check operation directly 2018-09-03 16:13:30 +03:00
omap_connector.h drm/omap: Determine connector type directly in omap_connector.c 2018-09-03 16:13:29 +03:00
omap_crtc.c drm/omap: Move bus flag hack to encoder implementation 2018-09-03 16:13:30 +03:00
omap_crtc.h drm/omap: Pass pipe pointer to omap_crtc_init() 2018-09-03 16:13:28 +03:00
omap_debugfs.c drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_dmm_priv.h drm/omap: partial workaround for DRA7xx DMM errata i878 2018-10-02 09:36:56 +03:00
omap_dmm_tiler.c drm/omap: partial workaround for DRA7xx DMM errata i878 2018-10-02 09:36:56 +03:00
omap_dmm_tiler.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_drv.c drm/omap: Determine connector type directly in omap_connector.c 2018-09-03 16:13:29 +03:00
omap_drv.h drm/omap: Store CRTC lookup by channel table in omap_drm_private 2018-09-03 16:13:28 +03:00
omap_encoder.c drm/omap: Don't call .set_timings() operation recursively 2018-09-03 16:13:30 +03:00
omap_encoder.h drm/omap: Pass both output and display omap_dss_device to encoder init 2018-09-03 16:13:29 +03:00
omap_fb.c drm/omapdrm: Nuke omap_framebuffer_get_next_connector() 2018-05-25 21:21:39 +03:00
omap_fb.h drm/omapdrm: Nuke omap_framebuffer_get_next_connector() 2018-05-25 21:21:39 +03:00
omap_fbdev.c drm/omap: Group CRTC, encoder, connector and dssdev in a structure 2018-09-03 16:13:27 +03:00
omap_fbdev.h drm/omap: cleanup fbdev init/free 2018-03-01 09:18:18 +02:00
omap_gem.c drm/omap: gem: Fix mm_list locking 2018-06-28 13:41:05 +03:00
omap_gem.h gpu: drm: omapdrm: Adding new typedef vm_fault_t 2018-06-28 13:41:05 +03:00
omap_gem_dmabuf.c drm/omap: remove now unused functions 2018-06-25 13:28:06 +10:00
omap_irq.c drm/omap: Group CRTC, encoder, connector and dssdev in a structure 2018-09-03 16:13:27 +03:00
omap_irq.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
omap_plane.c drm/omap: Use normalized zpos for plane placement 2018-03-28 09:45:45 +03:00
omap_plane.h drm: omapdrm: Deconstruct the omap_drv.h header. 2017-12-19 10:32:00 +02:00
tcm-sita.c drm/omap: silence unititialized variable warning 2018-05-07 10:19:11 -04:00
tcm.h drm: omapdrm: Use kernel integer types 2018-03-01 09:09:10 +02:00
TODO