diff options
author | Roy Pledge <Roy.Pledge@freescale.com> | 2013-07-16 14:32:11 (GMT) |
---|---|---|
committer | Fleming Andrew-AFLEMING <AFLEMING@freescale.com> | 2013-07-22 21:06:47 (GMT) |
commit | 4b47747094aaf8a4308f59a2370b6c21a3a56476 (patch) | |
tree | 53415784e44ec9af589f42e2d4da65783fd5e626 | |
parent | a624f772e194e3dac47adbb62edf9a006457890e (diff) | |
download | linux-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.c | 11 |
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; } } |