From 3245cd9407d21247e7b0abf8a9b20b9659740dea Mon Sep 17 00:00:00 2001 From: Varun Sethi Date: Tue, 7 Oct 2014 15:25:19 +0530 Subject: Add an operation mapping to stash FMAN transactions. Support for FSL_FMAN_CPC_STASH option was partially implemented. The FMAN operation mapping didn't allow support for write transaction stashing. Write transaction stashing support is required in certain data path intensive tasks. Without this support "FMAN writes" to DDR take more time complete, with this option FMAN transactions are stashed to CPC. Stashing reduces the overall completion time for FMAN transactions. This in turn prevents buffer over run issues in FMAN. Without this support it has been observed, while handling high traffic rate FMAN starts reporting Rx errors. Signed-off-by: Varun Sethi Change-Id: Iae7b2e9108204e64d336feb39517f4c72235feb4 Reviewed-on: http://git.am.freescale.net:8181/21040 Reviewed-by: Vakul Garg Tested-by: Review Code-CDREVIEW Reviewed-by: Richard Schmitt diff --git a/drivers/iommu/fsl_pamu.c b/drivers/iommu/fsl_pamu.c index e304599..87f46c5 100644 --- a/drivers/iommu/fsl_pamu.c +++ b/drivers/iommu/fsl_pamu.c @@ -850,7 +850,11 @@ static void __init setup_omt(struct ome *omt) /* Configure OMI_FMAN */ ome = &omt[OMI_FMAN]; ome->moe[IOE_READ_IDX] = EOE_VALID | EOE_READI; +#ifdef CONFIG_FSL_FMAN_CPC_STASH + ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WWSAO; +#else ome->moe[IOE_WRITE_IDX] = EOE_VALID | EOE_WRITE; +#endif /* Configure OMI_QMAN private */ ome = &omt[OMI_QMAN_PRIV]; -- cgit v0.10.2