
82801AA and 82801AB Datasheet
12-11
AC’97 Audio Controller Registers (D31:F5)
12.2.4
x_SR—Status Register
I/O Address:
NABMBAR + 06h (PISR),
NABMBAR + 16h (POSR),
NABMBAR + 26h (MCSR)
0001h
No
Attribute:
R/W
Default Value:
Lockable:
Size:
Power Well:
16 bits
Core
Software can read these 3 registers simultaneously by scheduling a single 32-bit read from address
offset 04h. Software can also read this individual register by performing a 16-bit read from 06h.
Bit
Description
15:5
Reserved.
4
FIFO error (FIFOE).
The ICH will set the FIFOE bit if the under-run or overrun occurs when there
are more valid buffers to process.
1 = FIFO error occurs.
0 = Cleared by writing a "1" to this bit position.
NOTES:
1.
PISR Register:
FIFO error indicates a FIFO overrun. The FIFO pointers do not increment, the
incoming data is not written into the FIFO, thus is lost.
2.
POSR Register:
FIFO error indicates a FIFO under-run. The sample transmitted in this case
should be the last valid sample.
3
Buffer Completion Interrupt Status (BCIS).
1 = Set by the hardware after the last sample of a buffer has been processed, AND if the Interrupt
on Completion (IOC) bit is set in the command byte of the buffer descriptor. It remains active
until cleared by software.
0 = Cleared by writing a "1" to this bit position.
2
Last Valid Buffer Completion Interrupt (LVBCI).
1 = Last valid buffer has been processed. It remains active until cleared by software. This bit
indicates the occurrence of the event signified by the last valid buffer being processed. Thus,
this is an event status bit that can be cleared by software once this event has been recognized.
This event causes an interrupt if the enable bit in the Control Register is set. The interrupt is
cleared when the software clears this bit.
In the case of Transmits(PCM out, Modem out) this bit is set, after the last valid buffer has been
fetched (not after transmitting it). While in the case of Receives this bit is set after the data for
the last buffer has been written to memory.
0 = Cleared by writing a "1" to this bit position.
1
Current Equals Last Valid (CELV).
1 = Current Index is equal to the value in the Last Valid Index Register, and the buffer pointed to by
the CIV has been processed (i.e., after the last valid buffer has been processed). This bit is very
similar to bit 2, except this bit reflects the state rather than the event. This bit reflects the state of
the controller and remains set until the controller exits this state.
0 = Cleared by hardware when controller exists state (i.e., until a new value is written to the LVI
register.)
0
DMA Controller Halted (DCH).
1 = Halted. This could happen because of the Start/Stop bit being cleared or it could happen once
the controller has processed the last valid buffer (in which case it sets bit 1 and halts).