diff options
author | phk <phk@FreeBSD.org> | 2007-04-17 12:23:57 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2007-04-17 12:23:57 +0000 |
commit | bb49ccc48c4c35f21c0515e86e605cb34a9922f8 (patch) | |
tree | 1ddcee0d654e355d9b0edfc65cb605ee01c9e771 /sys/dev/vr/if_vrreg.h | |
parent | 3d8cf5fc2bcc1e9d741d86e8f893ee14791e5951 (diff) | |
download | FreeBSD-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/dev/vr/if_vrreg.h')
-rw-r--r-- | sys/dev/vr/if_vrreg.h | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/dev/vr/if_vrreg.h b/sys/dev/vr/if_vrreg.h index e2dabd9..b1baca9 100644 --- a/sys/dev/vr/if_vrreg.h +++ b/sys/dev/vr/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 |