git: bge: Enable "tagged status" on non-BCM5788 and non-BCM5700 chips
Sepherosa Ziehau
sephe at crater.dragonflybsd.org
Tue Jul 3 19:47:08 PDT 2012
commit 90ad1c96cd956eb8f29df6e311d6025596ab43de
Author: Sepherosa Ziehau <sephe at dragonflybsd.org>
Date: Tue Jul 3 17:39:58 2012 +0800
bge: Enable "tagged status" on non-BCM5788 and non-BCM5700 chips
By using "tagged status", we could:
- Detect whether the interrupt is for us or not.
- Avoid MAC_STS register read upon every interrupt.
Some implementation note:
- Interrupt must be disabled during interrupt handing, if "tagged status"
is used, else the interrupt will be kept asserted. This is the case at
least on BCM5750 AX/BX.
- Coalesce parameters during interrupt must be properly configured; when
"tagged status" is used we have "in interrupt" state.
Tunable hw.bgeX.status_tag is added to prevent driver from using "tagged
status". hw.bgeX.{rx,tx}_coal_bds_int and hw.bgeX.{rx,tx}_coal_ticks_int
sysctls are added to tune "in interrupt" coalesce parameters.
Summary of changes:
sys/dev/netif/bge/if_bge.c | 351 +++++++++++++++++++++++++++++++++--------
sys/dev/netif/bge/if_bgereg.h | 48 +++++-
2 files changed, 323 insertions(+), 76 deletions(-)
http://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/90ad1c96cd956eb8f29df6e311d6025596ab43de
--
DragonFly BSD source repository
More information about the Commits
mailing list