diff options
-rw-r--r-- | drivers/iommu/fsl_pamu.c | 19 | ||||
-rw-r--r-- | include/linux/iommu.h | 3 |
2 files changed, 22 insertions, 0 deletions
diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c index e85c039..4d466d6 100644 --- a/drivers/iommu/fsl_pamu.c +++ b/drivers/iommu/fsl_pamu.c @@ -707,7 +707,26 @@ static void __init setup_omt(struct ome *omt) ome->moe[IOE_DIRECT0_IDX] = EOE_LDEC | EOE_VALID; ome->moe[IOE_DIRECT1_IDX] = EOE_LDEC | EOE_VALID; + /* Configure OMI_DMA */ + ome = &omt[OMI_DMA]; + ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_RSA; + ome->moe[IOE_EREAD0_IDX] = EOE_VALID | EOE_RSA; + ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WWSA; + ome->moe[IOE_EWRITE0_IDX] = EOE_VALID | EOE_WWSA; + + /* Configure OMI_DMA_READI */ + ome = &omt[OMI_DMA_READI]; + ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_READI; + ome->moe[IOE_EREAD0_IDX] = EOE_VALID | EOE_READI; + ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WWSA; + ome->moe[IOE_EWRITE0_IDX] = EOE_VALID | EOE_WWSA; + /* Configure OMI_MAPLE */ + ome = &omt[OMI_MAPLE]; + ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_RSA; + ome->moe[IOE_EREAD0_IDX] = EOE_VALID | EOE_RSA; + ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WWSA; + ome->moe[IOE_EWRITE0_IDX] = EOE_VALID | EOE_WWSA; } /* diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 42a2508..5153c0c 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -89,6 +89,9 @@ enum omap_index { OMI_QMAN_PRIV, OMI_CAAM, OMI_PMAN, + OMI_DMA, + OMI_DMA_READI, + OMI_MAPLE, OMI_MAX, }; |