diff options
author | Liu Gang <Gang.Liu@freescale.com> | 2014-10-29 11:56:26 (GMT) |
---|---|---|
committer | Matthew Weigel <Matthew.Weigel@freescale.com> | 2014-12-11 18:39:08 (GMT) |
commit | 23fd3e4bab3478f2b620732c0a4e07b3567b9f1c (patch) | |
tree | 1ca85caed83598e56d3a5c0f770b1de0799d48c1 /drivers/uio | |
parent | 44f0a9a894db63d29795e63a58f6be4fe21b0ae6 (diff) | |
download | linux-fsl-qoriq-23fd3e4bab3478f2b620732c0a4e07b3567b9f1c.tar.xz |
UIO/RapidIO: Add workaround for erratum A-008116
Erratum A-008116 can cause a SRIO phyiscal or logical/transport
error interrupt (PINTn) that orginates on port 2 is incorrectly
reported as originating on port 1.
Valid workaround needed if using Serial RapidIO port 2. Upon
detection of a Serial RapidIO interrupt, each port's LTLEDCSR
and PnEDCSR registers must be read to determine the port origin.
Signed-off-by: Liu Gang <Gang.Liu@freescale.com>
Change-Id: I309106e79853cf08b9b546924a41ec74ad4b8b53
Reviewed-on: http://git.am.freescale.net:8181/22437
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Minghuan Lian <Minghuan.Lian@freescale.com>
Reviewed-by: Mingkai Hu <Mingkai.Hu@freescale.com>
Reviewed-by: Richard Schmitt <richard.schmitt@freescale.com>
Diffstat (limited to 'drivers/uio')
-rw-r--r-- | drivers/uio/fsl_srio_uio.c | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/drivers/uio/fsl_srio_uio.c b/drivers/uio/fsl_srio_uio.c index 840872b..c46aab5 100644 --- a/drivers/uio/fsl_srio_uio.c +++ b/drivers/uio/fsl_srio_uio.c @@ -111,7 +111,6 @@ static irqreturn_t srio_uio_irq_handler(int irq, struct uio_info *dev_info) out_be32(sriodev->regs.regs_win + LTLEECSR, 0); for (i = 0; i < sriodev->port_num; i++) { - if (port_bits & (1 << (31 - i))) { /* Clear retry error threshold exceeded */ out_be32(sriodev->regs.regs_win + IECSR + 0x80 * i, SRIO_IECSR_CLEAR); @@ -121,7 +120,6 @@ static irqreturn_t srio_uio_irq_handler(int irq, struct uio_info *dev_info) /* Clear EDCSR */ out_be32(sriodev->regs.regs_win + EDCSR + 0x40 * i, 0); - } } return IRQ_HANDLED; |