git: bge: Enable "tagged status" on non-BCM5788 and non-BCM5700 chips

Sepherosa Ziehau sephe at
Tue Jul 3 19:47:08 PDT 2012

commit 90ad1c96cd956eb8f29df6e311d6025596ab43de
Author: Sepherosa Ziehau <sephe at>
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(-)

DragonFly BSD source repository

More information about the Commits mailing list