linux/drivers/gpu/drm/tegra
Dmitry Osipenko 61b51fb51c drm/tegra: gem: Fix CPU-cache maintenance for BO's allocated using get_pages()
The allocated pages need to be invalidated in CPU caches. On ARM32 the
DMA_BIDIRECTIONAL flag only ensures that data is written-back to DRAM and
the data stays in CPU cache lines. While the DMA_FROM_DEVICE flag ensures
that the corresponding CPU cache lines are getting invalidated and nothing
more, that's exactly what is needed for a newly allocated pages.

This fixes randomly failing rendercheck tests on Tegra30 using the
Opentegra driver for tests that use small-sized pixmaps (10x10 and less,
i.e. 1-2 memory pages) because apparently CPU reads out stale data from
caches and/or that data is getting evicted to DRAM at the time of HW job
execution.

Fixes: bd43c9f0fa ("drm/tegra: gem: Map pages via the DMA API")
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Dmitry Osipenko <digetx@gmail.com>
Signed-off-by: Thierry Reding <treding@nvidia.com>
2019-04-18 11:48:09 +02:00
..
dc.c drm/tegra: dc: Don't clean up unused display controller 2018-11-29 17:25:32 +01:00
dc.h drm/tegra: dc: Add Tegra194 support 2018-09-26 16:04:39 +02:00
dpaux.c drm/tegra: dpaux: Add Tegra194 support 2018-09-26 16:04:56 +02:00
dpaux.h
drm.c drm/tegra: Restrict IOVA space to DMA mask 2019-02-07 18:29:00 +01:00
drm.h drm/tegra: Changes for v5.1-rc1 2019-02-11 13:32:49 +10:00
dsi.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
dsi.h
falcon.c drm/tegra: falcon: Wait for memory scrubbing to complete 2018-11-29 17:11:49 +01:00
falcon.h drm/tegra: Add falcon helper library 2017-04-05 18:11:47 +02:00
fb.c drm/<drivers>: Don't set FBINFO_(FLAG_)DEFAULT 2019-01-29 10:56:42 +01:00
gem.c drm/tegra: gem: Fix CPU-cache maintenance for BO's allocated using get_pages() 2019-04-18 11:48:09 +02:00
gem.h drm/tegra: gem: Make __tegra_gem_mmap() available more widely 2018-03-08 14:38:30 +01:00
gr2d.c drm/tegra: gr2d: Track interface version 2018-05-18 22:00:13 +02:00
gr2d.h
gr3d.c drm/tegra: gr3d: Track interface version 2018-05-18 22:00:25 +02:00
gr3d.h
hda.c drm/tegra: hda: Extract HDA format parsing code 2019-01-16 13:10:20 +01:00
hda.h drm/tegra: hda: Extract HDA format parsing code 2019-01-16 13:10:20 +01:00
hdmi.c drm/tegra: Changes for v5.1-rc1 2019-02-11 13:32:49 +10:00
hdmi.h drm/tegra: hdmi: Enable audio over HDMI 2016-07-04 11:34:31 +02:00
hub.c drm: Split out drm_probe_helper.h 2019-01-24 13:20:42 +01:00
hub.h drm/tegra: hub: Enable all required clocks 2018-11-29 17:25:21 +01:00
Kconfig drm/tegra: hdmi: Add cec-notifier support 2017-10-20 14:19:54 +02:00
Makefile drm/tegra: hda: Extract HDA format parsing code 2019-01-16 13:10:20 +01:00
mipi-phy.c
mipi-phy.h
output.c drm/tegra: Refactor CEC support 2019-01-16 13:09:32 +01:00
plane.c drm/tegra: dc: Support rotation property 2018-05-18 21:56:21 +02:00
plane.h drm/tegra: dc: Support rotation property 2018-05-18 21:56:21 +02:00
rgb.c drm: drop _mode_ from drm_mode_connector_attach_encoder 2018-07-13 18:40:27 +02:00
sor.c drm/tegra: sor: Implement acquire/release for reset 2019-03-22 14:20:07 +01:00
sor.h drm/tegra: sor: Support for audio over HDMI 2018-12-03 16:37:26 +01:00
trace.c drm/tegra: dc: Trace register accesses 2017-08-17 17:57:14 +02:00
trace.h drm/tegra: trace: Fix path to include 2017-09-26 11:08:17 +02:00
vic.c drm/tegra: vic: Support stream ID register programming 2019-02-07 18:29:01 +01:00
vic.h drm/tegra: vic: Support stream ID register programming 2019-02-07 18:29:01 +01:00