summaryrefslogtreecommitdiffstats
path: root/sys/dev/gem/if_gemvar.h
diff options
context:
space:
mode:
authormarius <marius@FreeBSD.org>2011-06-28 16:16:43 +0000
committermarius <marius@FreeBSD.org>2011-06-28 16:16:43 +0000
commit57a4978d94386cf63e9d3bb1f17241b75af936c7 (patch)
tree1998a7c78aa0ecdc3f40c4c9fbb0bb5c8b47dd3c /sys/dev/gem/if_gemvar.h
parent0b9b3ff55fe43a1809945421c3b1367da1896f0e (diff)
downloadFreeBSD-src-57a4978d94386cf63e9d3bb1f17241b75af936c7.zip
FreeBSD-src-57a4978d94386cf63e9d3bb1f17241b75af936c7.tar.gz
- In gem_reset_rx() also reset the RX MAC which is necessary in order to
get it out of a stuck condition that can be caused by GEM_MAC_RX_OVERFLOW. - In gem_reset_rxdma() call gem_setladrf() in order to reprogram the RX filter and restore the previous content of GEM_MAC_RX_CONFIG. While at it consistently use the newly introduced sc_mac_rxcfg throughout the driver instead of reading the its old content. - Increment if_iqdrops instead of if_ierrors in case of RX buffer allocation failure. - According to the GEM datasheet the RX MAC should also be disabled in gem_setladrf() before changing its configuration. - Add error messages to gem_disable_{r,t}x() and take advantage of these throughout the driver instead of duplicating their functionality all over the place. In joint forces with: yongari
Diffstat (limited to 'sys/dev/gem/if_gemvar.h')
-rw-r--r--sys/dev/gem/if_gemvar.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/sys/dev/gem/if_gemvar.h b/sys/dev/gem/if_gemvar.h
index 59cb582..d89a322 100644
--- a/sys/dev/gem/if_gemvar.h
+++ b/sys/dev/gem/if_gemvar.h
@@ -173,6 +173,8 @@ struct gem_softc {
u_int sc_rxptr; /* next ready RX descriptor/state */
u_int sc_rxfifosize; /* RX FIFO size (bytes) */
+ uint32_t sc_mac_rxcfg; /* RX MAC conf. % GEM_MAC_RX_ENABLE */
+
int sc_ifflags;
u_long sc_csum_features;
};
OpenPOWER on IntegriCloud