linux_dsm_epyc7002/arch/xtensa
Max Filippov 2b83878dd7 xtensa: make __pa work with uncached KSEG addresses
When __pa is applied to virtual address in uncached KSEG region the
result is incorrect. Fix it by checking if the original address is in
the uncached KSEG and adjusting the result. It looks better than masking
off bits because pfn_valid would correctly work with new __pa results
and it may be made working in noMMU case, once we get definition for
uncached memory view.

This is required for the dma_common_mmap and DMA debug code to work
correctly: they both indirectly use __pa with coherent DMA addresses.
In case of DMA debug the visible effect is false reports that an address
mapped for DMA is accessed by CPU.

Cc: stable@vger.kernel.org
Tested-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Max Filippov <jcmvbkbc@gmail.com>
2017-03-30 13:29:20 -07:00
..
boot Xtensa improvements for v4.11: 2017-03-03 16:17:55 -08:00
configs xtensa: add default memmap and mmio32native options to defconfigs 2016-09-20 20:43:24 -07:00
include xtensa: make __pa work with uncached KSEG addresses 2017-03-30 13:29:20 -07:00
kernel Xtensa improvements for v4.11: 2017-03-03 16:17:55 -08:00
lib xtensa: fixes for configs without loop option 2015-11-02 18:02:47 +03:00
mm xtensa: migrate exception table users off module.h and onto extable.h 2017-01-24 12:41:46 -05:00
oprofile xtensa: move oprofile stack tracing to stacktrace.c 2015-08-17 07:32:49 +03:00
platforms Replace <asm/uaccess.h> with <linux/uaccess.h> globally 2016-12-24 11:46:01 -08:00
variants xtensa: Added Cadence CSP kernel configuration for Xtensa 2016-09-09 18:39:09 -07:00
Kconfig xtensa: enable HAVE_DMA_CONTIGUOUS 2016-12-15 10:41:50 -08:00
Kconfig.debug xtensa: disable link optimization 2014-12-15 23:47:24 -08:00
Makefile xtensa: clean up bootable image build targets 2017-03-01 12:32:50 -08:00