summaryrefslogtreecommitdiffstats
path: root/sys/pci/if_vrreg.h
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2007-04-17 12:23:57 +0000
committerphk <phk@FreeBSD.org>2007-04-17 12:23:57 +0000
commitbb49ccc48c4c35f21c0515e86e605cb34a9922f8 (patch)
tree1ddcee0d654e355d9b0edfc65cb605ee01c9e771 /sys/pci/if_vrreg.h
parent3d8cf5fc2bcc1e9d741d86e8f893ee14791e5951 (diff)
downloadFreeBSD-src-bb49ccc48c4c35f21c0515e86e605cb34a9922f8.zip
FreeBSD-src-bb49ccc48c4c35f21c0515e86e605cb34a9922f8.tar.gz
Improve the if_vr driver ever so slightly.
The 6105M and 6102 does not have the DWORD alignment problem, so don't m_defrag() every packet in the transmit path for those. More stringent usage of tx-descriptor ring and its flags. Tested on 6102 and 6105M, other chips may also be able to run without the m_defrag() but I have neither hardware nor docs to find out. Sponsored by: Soekris Engineering
Diffstat (limited to 'sys/pci/if_vrreg.h')
-rw-r--r--sys/pci/if_vrreg.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/pci/if_vrreg.h b/sys/pci/if_vrreg.h
index e2dabd9..b1baca9 100644
--- a/sys/pci/if_vrreg.h
+++ b/sys/pci/if_vrreg.h
@@ -390,7 +390,7 @@ struct vr_desc {
#define VR_MAXFRAGS 16
#define VR_RX_LIST_CNT 64
-#define VR_TX_LIST_CNT 128
+#define VR_TX_LIST_CNT 256
#define VR_MIN_FRAMELEN 60
#define VR_FRAMELEN 1536
#define VR_RXLEN 1520
@@ -427,6 +427,7 @@ struct vr_chain_data {
struct vr_type {
u_int16_t vr_vid;
u_int16_t vr_did;
+ int vr_quirks;
char *vr_name;
};
@@ -469,6 +470,7 @@ struct vr_softc {
struct callout vr_stat_callout;
struct mtx vr_mtx;
int suspended; /* if 1, sleeping/detaching */
+ int vr_quirks;
#ifdef DEVICE_POLLING
int rxcycles;
#endif
OpenPOWER on IntegriCloud