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: bd43c9f0fa1f ("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
..
2019-03-14 12:15:02 +10:00
2019-01-24 13:20:42 +01:00
2019-02-11 10:36:00 +01:00
2019-01-24 13:20:42 +01:00
2019-02-04 14:57:34 +10:00
2019-01-29 15:45:06 +01:00
2019-03-04 12:02:55 +10:00
2019-03-08 08:23:15 -08:00
2019-02-05 10:28:13 +01:00
2019-03-12 15:20:57 +10:00
2019-02-07 19:59:44 +09:00
2019-01-29 15:45:06 +01:00
2019-01-29 15:45:21 +01:00
2019-01-29 15:45:06 +01:00
2019-01-24 13:20:42 +01:00
2019-03-15 13:58:35 -07:00
2019-02-28 12:53:16 +10:00
2019-01-24 13:20:42 +01:00
2019-02-18 13:27:15 +10:00
2019-01-29 15:45:21 +01:00
2019-02-04 14:57:34 +10:00
2019-03-08 08:23:15 -08:00
2019-01-29 15:45:06 +01:00
2019-03-12 10:04:00 -07:00
2019-02-18 13:27:15 +10:00
2019-01-28 17:45:28 +01:00
2019-01-24 13:20:42 +01:00
2019-03-14 11:37:46 +10:00
2019-01-29 15:45:21 +01:00
2019-03-04 12:02:55 +10:00
2019-02-11 10:35:35 +01:00
2019-02-18 13:27:15 +10:00
2019-01-30 17:35:29 +01:00
2019-02-22 15:56:42 +10:00
2018-12-11 15:19:42 +01:00
2019-01-29 15:45:06 +01:00
2019-01-24 13:20:42 +01:00
2019-01-24 13:20:42 +01:00
2019-02-18 13:27:15 +10:00
2019-04-18 11:48:09 +02:00
2019-01-29 15:45:06 +01:00
2019-01-24 13:20:42 +01:00
2019-01-28 11:43:38 -05:00
2019-01-24 13:20:42 +01:00
2019-01-24 13:20:42 +01:00
2019-01-25 16:15:36 -05:00
2019-02-06 15:16:08 -08:00
2018-12-07 12:44:16 +01:00
2019-01-30 17:35:29 +01:00
2019-02-18 13:27:15 +10:00
2019-02-18 13:27:15 +10:00
2019-03-09 15:53:03 -08:00
2019-02-04 08:39:31 +02:00
2019-01-24 13:20:42 +01:00
2018-12-17 10:47:17 +01:00
2019-02-04 10:21:17 +01:00
2019-03-12 14:57:14 +10:00
2018-12-24 11:53:50 +01:00
2019-02-18 13:27:15 +10:00
2019-01-10 05:58:52 +10:00
2018-11-26 16:14:27 -05:00
2019-01-14 03:51:14 +02:00
2019-02-04 10:21:17 +01:00
2018-11-20 14:56:18 +01:00
2019-01-29 23:26:12 +02:00
2019-02-04 10:21:17 +01:00
2019-01-07 11:26:31 +01:00
2019-01-15 13:20:56 +01:00
2019-01-11 15:56:40 +01:00
2019-01-11 22:54:29 +01:00
2019-02-07 21:48:28 +01:00
2018-11-22 09:52:27 +01:00
2019-02-08 13:38:51 -08:00
2019-02-06 13:37:38 -05:00
2019-01-12 13:07:30 +01:00
2019-02-08 13:38:51 -08:00
2019-01-10 19:01:06 +02:00
2019-01-17 10:56:38 +01:00
2019-02-18 13:27:15 +10:00
2019-03-05 08:14:22 +10:00
2019-01-14 10:58:37 +01:00
2019-02-08 22:17:08 +01:00
2019-02-04 10:21:17 +01:00
2018-11-20 14:57:25 +01:00
2019-01-17 10:56:45 +01:00
2019-02-04 10:21:17 +01:00
2019-01-10 05:58:52 +10:00
2019-03-04 09:55:31 -05:00
2019-02-13 17:42:36 +00:00
2019-01-29 15:45:21 +01:00
2019-02-18 13:27:15 +10:00
2019-02-04 10:21:17 +01:00
2019-01-10 05:58:52 +10:00
2019-01-10 11:31:58 +01:00
2019-02-18 13:27:15 +10:00
2019-02-07 21:48:28 +01:00
2018-12-11 15:24:30 +01:00
2019-01-12 13:07:58 +01:00
2018-11-15 10:55:30 +01:00
2019-01-12 13:08:12 +01:00
2019-01-08 07:58:37 -05:00
2019-01-11 16:53:55 +01:00
2018-11-22 15:44:05 +01:00
2019-01-24 13:20:42 +01:00
2019-02-04 10:21:17 +01:00
2019-02-07 13:14:06 +02:00
2019-01-24 13:20:42 +01:00
2018-12-11 17:38:38 +01:00
2018-11-30 10:57:18 +01:00
2019-02-04 10:21:17 +01:00
2019-01-17 10:56:38 +01:00
2019-02-08 02:25:56 +02:00