Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 14 Jul 2005 20:46:59 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@FreeBSD.org, cvs-src@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   cvs commit: src/sys/dev/pccbb pccbb.c pccbb_pci.c pccbbvar.h
Message-ID:  <200507142046.j6EKkxtk014244@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



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