summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJavier Jalle <javier.jalle@gaisler.com>2017-01-26 15:31:17 +0100
committerDaniel Hellstrom <daniel@gaisler.com>2017-03-06 07:54:55 +0100
commita545ce26d7470c12d7f6b3e80542e15d1434ba55 (patch)
treef9de3c7d5d0501630485003d355bef0fe36e8cbc
parentbsps/sparc: Updated L2C registers (diff)
downloadrtems-a545ce26d7470c12d7f6b3e80542e15d1434ba55.tar.bz2
leon, grpci2: added TIMEOUT interrupt
-rw-r--r--c/src/lib/libbsp/sparc/shared/pci/grpci2.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/c/src/lib/libbsp/sparc/shared/pci/grpci2.c b/c/src/lib/libbsp/sparc/shared/pci/grpci2.c
index 9d8dea6c9f..cf2f84fb2f 100644
--- a/c/src/lib/libbsp/sparc/shared/pci/grpci2.c
+++ b/c/src/lib/libbsp/sparc/shared/pci/grpci2.c
@@ -132,11 +132,12 @@ struct grpci2_regs {
#define STS_TRACE (1<<STS_TRACE_BIT)
#define STS_CFGERRVALID (1<<STS_CFGERRVALID_BIT)
#define STS_CFGERR (1<<STS_CFGERR_BIT)
-#define STS_INTTYPE (0x3f<<STS_INTTYPE_BIT)
+#define STS_INTTYPE (0x7f<<STS_INTTYPE_BIT)
#define STS_INTSTS (0xf<<STS_INTSTS_BIT)
#define STS_FDEPTH (0x7<<STS_FDEPTH_BIT)
#define STS_FNUM (0x3<<STS_FNUM_BIT)
+#define STS_ITIMEOUT (1<<18)
#define STS_ISYSERR (1<<17)
#define STS_IDMA (1<<16)
#define STS_IDMAERR (1<<15)
@@ -607,7 +608,7 @@ void grpci2_err_isr(void *arg)
struct grpci2_priv *priv = arg;
unsigned int sts = priv->regs->sts_cap;
- if (sts & (STS_IMSTABRT | STS_ITGTABRT | STS_IPARERR | STS_ISYSERR)) {
+ if (sts & (STS_IMSTABRT | STS_ITGTABRT | STS_IPARERR | STS_ISYSERR | STS_ITIMEOUT)) {
/* A PCI error IRQ ... Error handler unimplemented
* add your code here...
*/
@@ -623,6 +624,9 @@ void grpci2_err_isr(void *arg)
if (sts & STS_ISYSERR) {
printk("GRPCI2: unhandled System Error IRQ\n");
}
+ if (sts & STS_ITIMEOUT) {
+ printk("GRPCI2: unhandled PCI target access timeout IRQ\n");
+ }
}
}