summaryrefslogtreecommitdiff
path: root/sys/arch/sparc/dev/qereg.h
diff options
context:
space:
mode:
authorJason Wright <jason@cvs.openbsd.org>1998-10-20 00:57:53 +0000
committerJason Wright <jason@cvs.openbsd.org>1998-10-20 00:57:53 +0000
commit2f4bc1b0a2ed762a6a71d37d8fb9eba7b745f336 (patch)
treedc91d885ecd0ae26c9e5947a5c6e0a440c209e1c /sys/arch/sparc/dev/qereg.h
parentac6d9214fccc9759d3f1dacb92c5c86403731a3b (diff)
o Only read the per-channel status reg if the global int mask says something
interesting happened. o Base all interrupt decisions on per-channel status reg.
Diffstat (limited to 'sys/arch/sparc/dev/qereg.h')
-rw-r--r--sys/arch/sparc/dev/qereg.h15
1 files changed, 14 insertions, 1 deletions
diff --git a/sys/arch/sparc/dev/qereg.h b/sys/arch/sparc/dev/qereg.h
index 15d440f6b1c..0450ba507ee 100644
--- a/sys/arch/sparc/dev/qereg.h
+++ b/sys/arch/sparc/dev/qereg.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: qereg.h,v 1.2 1998/10/19 19:55:55 jason Exp $ */
+/* $OpenBSD: qereg.h,v 1.3 1998/10/20 00:57:52 jason Exp $ */
/*
* Copyright (c) 1998 Jason L. Wright.
@@ -80,6 +80,19 @@ struct qe_cregs {
#define QE_CR_STAT_RXPERR 0x00000002 /* rx parity error */
#define QE_CR_STAT_RXSERR 0x00000001 /* rx sbus error ack */
+/*
+ * Errors: all status bits except for TX/RX IRQ
+ */
+#define QE_CR_STAT_ALLERRORS \
+ ( QE_CR_STAT_EDEFER | QE_CR_STAT_CLOSS | QE_CR_STAT_ERETRIES \
+ | QE_CR_STAT_LCOLL | QE_CR_STAT_FUFLOW | QE_CR_STAT_JERROR \
+ | QE_CR_STAT_BERROR | QE_CR_STAT_TCCOFLOW | QE_CR_STAT_TXDERROR \
+ | QE_CR_STAT_TXLERR | QE_CR_STAT_TXPERR | QE_CR_STAT_TXSERR \
+ | QE_CR_STAT_RCCOFLOW | QE_CR_STAT_RUOFLOW | QE_CR_STAT_MCOFLOW \
+ | QE_CR_STAT_RXFOFLOW | QE_CR_STAT_RLCOLL | QE_CR_STAT_FCOFLOW \
+ | QE_CR_STAT_CECOFLOW | QE_CR_STAT_RXDROP | QE_CR_STAT_RXSMALL \
+ | QE_CR_STAT_RXLERR | QE_CR_STAT_RXPERR | QE_CR_STAT_RXSERR)
+
/* qe_cregs.qmask: qec error interrupt mask. */
#define QE_CR_QMASK_COFLOW 0x00100000 /* collision cntr overflow */
#define QE_CR_QMASK_TXDERROR 0x00080000 /* tx descriptor error */