CVSROOT:        /cvs
Module name:    src
Changes by:     jake...@cvs.openbsd.org 2009/09/08 17:30:19

Modified files:
        sys/dev/pci    : azalia.c 

Log message:
cleanup/fix RIRB processing:
* move the code for azalia_comresp() to be nearer the functions it
uses (azalia_set_command() and azalia_get_response()) for easier
comprehension.
* don't turn off RIRB interrupts in azalia_set_command(), then reenable
them in azalia_get_response().  it's ugly, problematic, and the code
is already at SPL_AUDIO.
* in azalia_get_response(), wait for a solicited response (the response
from azalia_set_command()) instead of "waiting" for just any response
as there may already be an unsolicited response in the RIRB.
* no need to run the unsolicited response handler in azalia_get_response().
since RIRB interrupts aren't being disables, the unsolicited response
handler will be run by the RIRB interrupt handler.
* in azalia_rirb_intr(), when a solicited response is found in the RIRB,
instead of stopping and losing the response, print a debug message
and keep going.  there should never be a solicited response in the
RIRB at this point.
* remove some now useless #if 0'd debug cruft.
* minor KNF while here.

Reply via email to