Christoph Hellwig
33dcb37cef
dma-mapping: fix page attributes for dma_mmap_*
...
All the way back to introducing dma_common_mmap we've defaulted to mark
the pages as uncached. But this is wrong for DMA coherent devices.
Later on DMA_ATTR_WRITE_COMBINE also got incorrect treatment as that
flag is only treated special on the alloc side for non-coherent devices.
Introduce a new dma_pgprot helper that deals with the check for coherent
devices so that only the remapping cases ever reach arch_dma_mmap_pgprot
and we thus ensure no aliasing of page attributes happens, which makes
the powerpc version of arch_dma_mmap_pgprot obsolete and simplifies the
remaining ones.
Note that this means arch_dma_mmap_pgprot is a bit misnamed now, but
we'll phase it out soon.
Fixes: 64ccc9c033c6 ("common: dma-mapping: add support for generic dma_mmap_* calls")
Reported-by: Shawn Anastasio <shawn@anastas.io>
Reported-by: Gavin Li <git@thegavinli.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Acked-by: Catalin Marinas <catalin.marinas@arm.com> # arm64
2019-08-10 19:52:45 +02:00
..
2019-07-29 09:34:27 +10:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-07-31 00:19:34 +10:00
2019-07-13 16:08:36 -07:00
2017-11-02 11:10:55 +01:00
2018-11-26 22:33:37 +11:00
2019-07-13 16:08:36 -07:00
2019-06-15 16:52:06 +10:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:37:06 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:06 +02:00
2019-06-19 17:09:06 +02:00
2019-07-03 15:19:35 +10:00
2019-05-30 11:26:32 -07:00
2019-07-03 15:19:35 +10:00
2019-02-18 22:41:03 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:29:21 -07:00
2019-05-03 01:20:26 +10:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:35 -07:00
2019-02-05 11:55:44 +11:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-02-05 11:55:43 +11:00
2019-07-13 16:08:36 -07:00
2019-07-29 09:34:27 +10:00
2019-07-29 09:34:27 +10:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:30:28 +02:00
2019-05-30 11:26:32 -07:00
2019-07-17 06:57:51 -03:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2019-05-03 01:20:27 +10:00
2019-06-22 09:09:42 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-13 16:08:36 -07:00
2019-06-16 00:03:38 +10:00
2019-06-22 09:09:42 -07:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-19 17:09:55 +02:00
2019-05-30 11:26:32 -07:00
2018-04-05 14:59:26 +10:00
2019-05-30 11:26:35 -07:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-06-05 17:36:37 +02:00
2019-02-23 22:31:40 +11:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:35 -07:00
2019-06-05 17:30:28 +02:00
2019-06-05 17:30:28 +02:00
2019-05-24 17:36:45 +02:00
2018-12-22 21:29:50 +11:00
2019-06-19 17:09:06 +02:00
2019-06-19 17:09:06 +02:00
2019-06-05 17:36:37 +02:00
2019-06-19 17:09:06 +02:00
2019-08-10 19:52:45 +02:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:32 -07:00
2019-07-13 16:08:36 -07:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:35 -07:00
2017-12-11 13:03:35 +11:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2019-07-13 16:08:36 -07:00
2019-06-15 07:29:32 -10:00
2019-07-13 16:08:36 -07:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2016-12-24 11:46:01 -08:00
2019-06-05 17:51:17 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2018-06-07 10:23:33 -07:00
2018-06-03 20:43:33 +10:00
2019-07-13 16:08:36 -07:00
2019-05-30 11:26:32 -07:00
2019-05-10 05:29:27 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-07-22 13:05:23 +10:00
2019-07-22 13:05:23 +10:00
2019-01-03 18:57:57 -08:00
2018-05-10 23:25:13 +10:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2019-03-02 14:43:05 +11:00
2019-06-14 10:48:56 +02:00
2019-06-19 20:05:07 +10:00
2019-06-19 17:11:22 +02:00
2019-06-19 17:11:22 +02:00
2017-11-02 11:10:55 +01:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-21 10:50:45 +02:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2018-05-25 12:04:44 +10:00
2019-05-30 11:26:32 -07:00
2019-07-02 21:39:49 +10:00
2019-07-08 21:48:15 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:32 -07:00
2019-05-30 11:26:35 -07:00
2019-05-30 11:26:32 -07:00
2018-05-25 12:04:46 +10:00
2019-05-03 01:58:11 +10:00
2019-02-23 21:04:32 +11:00
2019-04-30 11:31:02 +10:00