From bb49ccc48c4c35f21c0515e86e605cb34a9922f8 Mon Sep 17 00:00:00 2001 From: phk Date: Tue, 17 Apr 2007 12:23:57 +0000 Subject: 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 --- sys/pci/if_vrreg.h | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'sys/pci/if_vrreg.h') 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 -- cgit v1.1