HACK: arm: keystone: add outer shareable attribute for pages/sections
authorMurali Karicheri <m-karicheri2@ti.com>
Wed, 7 Nov 2018 05:55:08 +0000 (11:25 +0530)
committerTero Kristo <t-kristo@ti.com>
Wed, 7 Nov 2018 07:51:00 +0000 (09:51 +0200)
commitc77aa0691e291b55ebae0ce6598103df910f194e
tree6c34cbac14ec9b3987054705092d2ec0ea1d657a
parenta6073c6c00a33909a3450b6871e1e1d37e9aa396
HACK: arm: keystone: add outer shareable attribute for pages/sections

On KS2 devices pages/sections to be used for DMA must have "outer
shareable" attribute. In the upstream kernel, ARM v7 supports only
"inner shareable attribute". This means all memory requests for pages
that are marked inner shareable in the page tables and are writeback
cacheable will be coherent in all caches at the inner domain. However
in Keystone, these are to be marked as "outer shareable" as the keystone
dma coherency hardware implementation use this feature to listen to
maintenance snoop messages to make it coherent with DMA masters. For more
details, please refer to the ARM TRM and Keystone device user guides [1].

[1] MSMC user guide, document id spruhj6

Signed-off-by: Santosh Shilimkar <santosh.shilimkar@ti.com>
Signed-off-by: Vitaly Andrianov <vitalya@ti.com>
Signed-off-by: Murali Karicheri <m-karicheri2@ti.com>
arch/arm/include/asm/pgtable-3level-hwdef.h
arch/arm/include/asm/pgtable-3level.h
arch/arm/mach-keystone/Kconfig