summaryrefslogtreecommitdiff
path: root/drivers/iommu
diff options
context:
space:
mode:
authorVarun Sethi <Varun.Sethi@freescale.com>2014-03-10 19:27:58 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-03-18 18:39:07 (GMT)
commitb4689aaab5392994cf6d6ec5c84f771d5887cded (patch)
tree1f85c5afc275ed3491a12ce4dedbf2f67038eb70 /drivers/iommu
parent5231ff739a8628bb8301aa9502b1d26ec6c19f7e (diff)
downloadlinux-fsl-qoriq-b4689aaab5392994cf6d6ec5c84f771d5887cded.tar.xz
iommu/fsl: Support for setting up PMAN PAACE entry.
Signed-off-by: Varun Sethi <Varun.Sethi@freescale.com> Change-Id: I3aeb4ab1c4f91d5a1367fbe8f6ca31fe80357754 Reviewed-on: http://git.am.freescale.net:8181/9620 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Stuart Yoder <stuart.yoder@freescale.com> Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'drivers/iommu')
-rw-r--r--drivers/iommu/fsl_pamu.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c
index e7778c6..da707d8 100644
--- a/drivers/iommu/fsl_pamu.c
+++ b/drivers/iommu/fsl_pamu.c
@@ -705,6 +705,7 @@ found_cpu_node:
#define QMAN_PORTAL_PAACE 2
#define BMAN_PAACE 3
#define FMAN_PAACE 4
+#define PMAN_PAACE 5
/**
* Setup operation mapping and stash destinations for DPAA (QMAN, QMAN portal
@@ -740,6 +741,10 @@ static void setup_dpaa_paace(struct paace *ppaace, int paace_type)
set_bf(ppaace->impl_attr, PAACE_IA_CID,
get_stash_id(PAMU_ATTR_CACHE_L3, 0));
break;
+ case PMAN_PAACE:
+ set_bf(ppaace->impl_attr, PAACE_IA_OTM, PAACE_OTM_INDEXED);
+ ppaace->op_encode.index_ot.omi = OMI_PMAN;
+ break;
}
}
@@ -781,6 +786,11 @@ static void __init setup_omt(struct ome *omt)
ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_READI;
ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WRITE;
+ /* Configure OMI_PMAN */
+ ome = &omt[OMI_PMAN];
+ ome->moe[IOE_DIRECT0_IDX] = EOE_LDEC | EOE_VALID;
+ ome->moe[IOE_DIRECT1_IDX] = EOE_LDEC | EOE_VALID;
+
/* Configure OMI_DSP */
ome = &omt[OMI_DSP];
ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_RWNITC;
@@ -905,6 +915,8 @@ static void __init setup_liodns(void)
setup_dpaa_paace(ppaace, QMAN_PAACE);
if (of_device_is_compatible(node, "fsl,bman"))
setup_dpaa_paace(ppaace, BMAN_PAACE);
+ if (of_device_is_compatible(node, "fsl,pman"))
+ setup_dpaa_paace(ppaace, PMAN_PAACE);
#ifdef CONFIG_FSL_FMAN_CPC_STASH
if (of_match_node(fman_device_ids, node))
setup_dpaa_paace(ppaace, FMAN_PAACE);