summaryrefslogtreecommitdiff
path: root/sys/dev/ic/gemvar.h
diff options
context:
space:
mode:
authorjdc <jdc@NetBSD.org>2012-07-02 11:23:40 +0000
committerjdc <jdc@NetBSD.org>2012-07-02 11:23:40 +0000
commita329900d4be67ddcb27475fcc01cdbb85f36f8a2 (patch)
treef86cc5aba268a6cf61fd4f4038ee8b6d22206e8d /sys/dev/ic/gemvar.h
parent9d202de3a5496c9578e8a69524ed5b25135cd8b7 (diff)
Apply lockup fixes from Havard Eidnes/OpenBSD in PR port-sparc64/46260:
- add an additional watchdog for RX overflow - re-initialise the chip on device timeout Also alter the interrupt blanking rate to 8 packets, as per OpenSolaris.
Diffstat (limited to 'sys/dev/ic/gemvar.h')
-rw-r--r--sys/dev/ic/gemvar.h7
1 files changed, 6 insertions, 1 deletions
diff --git a/sys/dev/ic/gemvar.h b/sys/dev/ic/gemvar.h
index d3c8d0b69ae..59e6cb57b71 100644
--- a/sys/dev/ic/gemvar.h
+++ b/sys/dev/ic/gemvar.h
@@ -1,4 +1,4 @@
-/* $NetBSD: gemvar.h,v 1.23 2012/02/02 19:43:03 tls Exp $ */
+/* $NetBSD: gemvar.h,v 1.24 2012/07/02 11:23:40 jdc Exp $ */
/*
*
@@ -130,6 +130,7 @@ struct gem_softc {
struct ethercom sc_ethercom; /* ethernet common data */
struct mii_data sc_mii; /* MII media control */
struct callout sc_tick_ch; /* tick callout */
+ struct callout sc_rx_watchdog; /* RX watchdog callout */
/* The following bus handles are to be provided by the bus front-end */
bus_space_tag_t sc_bustag; /* bus tag */
@@ -223,6 +224,10 @@ struct gem_softc {
struct evcnt sc_ev_rxhist[9];
#endif
+ /* For use by the RX watchdog */
+ u_int32_t sc_rx_fifo_wr_ptr;
+ u_int32_t sc_rx_fifo_rd_ptr;
+
enum gem_attach_stage sc_att_stage;
};