cvs commit: src/sys/dev/pccbb pccbb.c pccbb_pci.c pccbbvar.h

Warner Losh imp at FreeBSD.org
Thu Jul 14 20:46:59 GMT 2005


imp         2005-07-14 20:46:59 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/pccbb        pccbb.c pccbb_pci.c pccbbvar.h 
  Log:
  Omnibus power and interrupt fixes:
  o Don't busy wait on powerup.  Instead, use the power up interrupt to wait
    for the card to power up.  Don't wait when we're turning the card off,
    since no interrupt happens in that case.
  o Convert many of the long DELAYs to tsleeps.  We do not run before
    the timer have stared, so DELAY isn't necessary.  More DELAYs can likely
    be eliminated in the future.
  o When powering up the card, don't do anything if the card is already
    powered up (before we'd power cycle it).  This means that for most
    cards we power them up once and then never change the power.
  o On card eject, mask (by clearing) the CD bit.  Before we set it, which
    was wrong.  We don't want to see any CD events past the first one since
    they need to be debounced.
  
  With these changes, I can insert/eject 16bit cards without glitching xmms'
  sound output.  Something very important to the development of better pccard
  drivers :-)
  
  Revision  Changes    Path
  1.122     +73 -47    src/sys/dev/pccbb/pccbb.c
  1.10      +1 -0      src/sys/dev/pccbb/pccbb_pci.c
  1.24      +2 -1      src/sys/dev/pccbb/pccbbvar.h


More information about the cvs-src mailing list