summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVarun Sethi <Varun.Sethi@freescale.com>2013-07-22 14:05:49 (GMT)
committerZhenhua Luo <zhenhua.luo@freescale.com>2013-08-26 07:47:31 (GMT)
commit6bfea4daf3ef082e1d401c4a8e3807a6e28bc68a (patch)
treebe51686f93adfc0afc7ae5847c32dd13fe91d1ba
parent5db32addf766b3b58f4860860e27aef6edd23d95 (diff)
downloadlinux-fsl-qoriq-6bfea4daf3ef082e1d401c4a8e3807a6e28bc68a.tar.xz
Add operation mapping for DMA controller and Maple.
These are required for ALU DSP stashing use case. Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Change-Id: I7efacb81b60d23e6e5f91632547f8b9a04028a1f Reviewed-on: http://git.am.freescale.net:8181/3442 Reviewed-by: Yoder Stuart-B08248 <stuart.yoder@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com> Tested-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
-rw-r--r--drivers/iommu/fsl_pamu.c19
-rw-r--r--include/linux/iommu.h3
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,
};