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