summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Pledge <Roy.Pledge@freescale.com>2013-07-16 14:32:11 (GMT)
committerFleming Andrew-AFLEMING <AFLEMING@freescale.com>2013-07-22 21:06:47 (GMT)
commit4b47747094aaf8a4308f59a2370b6c21a3a56476 (patch)
tree53415784e44ec9af589f42e2d4da65783fd5e626
parenta624f772e194e3dac47adbb62edf9a006457890e (diff)
downloadlinux-fsl-qoriq-4b47747094aaf8a4308f59a2370b6c21a3a56476.tar.xz
Fix regression that caused BMan interrupt lookup for USDPAA
to return incorrect information Signed-off-by: Roy Pledge <Roy.Pledge@freescale.com> Change-Id: I72e62fb6d37f63d13bd1f93029f1a4af24924ba9 Reviewed-on: http://git.am.freescale.net:8181/3336 Reviewed-by: Wang Haiying-R54964 <Haiying.Wang@freescale.com> Reviewed-by: Thorpe Geoff-R01361 <Geoff.Thorpe@freescale.com> Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com> Reviewed-by: Fleming Andrew-AFLEMING <AFLEMING@freescale.com>
-rw-r--r--drivers/staging/fsl_qbman/fsl_usdpaa.c11
1 files changed, 7 insertions, 4 deletions
diff --git a/drivers/staging/fsl_qbman/fsl_usdpaa.c b/drivers/staging/fsl_qbman/fsl_usdpaa.c
index 7df18e1..c19f3f3 100644
--- a/drivers/staging/fsl_qbman/fsl_usdpaa.c
+++ b/drivers/staging/fsl_qbman/fsl_usdpaa.c
@@ -1294,11 +1294,14 @@ int usdpaa_get_portal_config(struct file *filp, void *cinh,
list_for_each_entry(portal, &context->portals, list) {
if (portal->user.type == ptype &&
portal->user.addr.cinh == cinh) {
+ if (ptype == usdpaa_portal_qman) {
+ *irq = portal->qportal->public_cfg.irq;
+ *iir_reg = portal->qportal->addr_virt[1] + QM_REG_IIR;
+ } else {
+ *irq = portal->bportal->public_cfg.irq;
+ *iir_reg = portal->bportal->addr_virt[1] + BM_REG_IIR;
+ }
spin_unlock(&context->lock);
- *irq = portal->qportal->public_cfg.irq;
- *iir_reg = portal->qportal->addr_virt[1] +
- ((ptype == usdpaa_portal_qman) ? QM_REG_IIR :
- BM_REG_IIR);
return 0;
}
}