Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 3 Apr 2002 22:01:32 -0800 (PST)
From:      Bill Paul <wpaul@FreeBSD.org>
To:        cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/bge if_bge.c if_bgereg.h
Message-ID:  <200204040601.g3461Wx11195@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help
wpaul       2002/04/03 22:01:32 PST

  Modified files:
    sys/dev/bge          if_bge.c if_bgereg.h 
  Log:
  Try to sort out the correct way to generate async link state change
  interrupts. This is a bit harder than it needs to be because there's
  more than one way to generate link attentions, at least one of which
  does not work on the BCM5700, but does on the 5701.
  
  For the 5701, we can safely use the 'link changed' bit in the status
  block, and we enable link change attentions in the mac event register.
  For the 5700, we have to use MII interrupts, which require checking
  the MAC status register rather than the status block. This requires
  doing an extra register access on each interrupt which I'd prefer to
  avoid, but them's the breaks. Testing with both a 3c996-T and 3c996B-T
  shows that we do in fact detect the link going up and down properly
  on cable insertions/disconnections.
  
  Also, avoid twiddling the autopoll enable bit in the MI mode register
  when doing a PHY read. I think this coupled with the other changes
  will stop the interrupt storms Paul Saab has been harassing me about.
  Manually setting the link to 100baseTX full duplex seems to work ok
  for me. (I'm typing over the 3c996B-T right now.)
  
  Lastly, teach the driver how to recognize a 3c996B-SX by checking
  the hardware config word in the EEPROM in order to detect the media.
  We attach 5701 fiber cards correctly now, but I haven't verified that
  they send/receive packets yet since I don't have a second fiber
  interface at home. (I know that fiber 5700 cards work, so I'm
  keeping my fingers crossed.)
  
  Revision  Changes    Path
  1.11      +55 -15    src/sys/dev/bge/if_bge.c
  1.4       +18 -0     src/sys/dev/bge/if_bgereg.h

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200204040601.g3461Wx11195>