DragonFly BSD
DragonFly commits List (threaded) for 2012-07
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

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


From: Sepherosa Ziehau <sephe@xxxxxxxxxxxxxxxxxxxxxxx>
Date: Tue, 3 Jul 2012 19:47:08 -0700 (PDT)

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



[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]