HACK: arm: keystone: add outer shareable attribute for pages/sections
[rpmsg/hwspinlock.git] / arch / arm / include / asm / pgtable-3level-hwdef.h
index 4cd664abfcd327ed530b3876e0ee774c2f06b0ad..e76bd8a4541ced32b213d1b36b5a51a14f198917 100644 (file)
 #define PMD_SECT_CACHEABLE     (_AT(pmdval_t, 1) << 3)
 #define PMD_SECT_USER          (_AT(pmdval_t, 1) << 6)         /* AP[1] */
 #define PMD_SECT_AP2           (_AT(pmdval_t, 1) << 7)         /* read only */
+#ifdef CONFIG_KEYSTONE2_DMA_COHERENT
+#define PMD_SECT_S             (_AT(pmdval_t, 2) << 8)
+#else
 #define PMD_SECT_S             (_AT(pmdval_t, 3) << 8)
+#endif
 #define PMD_SECT_AF            (_AT(pmdval_t, 1) << 10)
 #define PMD_SECT_nG            (_AT(pmdval_t, 1) << 11)
 #define PMD_SECT_PXN           (_AT(pmdval_t, 1) << 53)
 #define PTE_BUFFERABLE         (_AT(pteval_t, 1) << 2)         /* AttrIndx[0] */
 #define PTE_CACHEABLE          (_AT(pteval_t, 1) << 3)         /* AttrIndx[1] */
 #define PTE_AP2                        (_AT(pteval_t, 1) << 7)         /* AP[2] */
+#ifdef CONFIG_KEYSTONE2_DMA_COHERENT
+/* SH[1:0], outer shareable */
+#define PTE_EXT_SHARED         (_AT(pteval_t, 2) << 8)
+#else
 #define PTE_EXT_SHARED         (_AT(pteval_t, 3) << 8)         /* SH[1:0], inner shareable */
+#endif
 #define PTE_EXT_AF             (_AT(pteval_t, 1) << 10)        /* Access Flag */
 #define PTE_EXT_NG             (_AT(pteval_t, 1) << 11)        /* nG */
 #define PTE_EXT_PXN            (_AT(pteval_t, 1) << 53)        /* PXN */