
70
Functional Operation
Chapter 3
AMD-8111 HyperTransport I/O Hub Data Sheet
24674
Rev. 3.00
April 2003
AMD Preliminary Information
When accessing the codec registers, only one I/O cycle can be pending across the AC-link at any
time. The IC internal architecture and AC ‘97 controller implementation provides arbitration logic to
ensure that. For compatibility reasons the CAS bit in the Codec Access Semaphore register is
provided. Software is to monitor the CAS bit that indicates that a codec access is pending. The CAS
bit is set by reads from software and reset upon completion of the codec register access cycle. Once
the CAS bit is cleared, another codec access can be initiated. The exception to this being reads to the
GPIO Pin Status codec register that are returned immediately with the most recently received input
slot 12 data shadowed in a controller internal register. A read access to the GPIO Pin Status register
does not reset the CAS bit upon completion while a write access to the GPIO Pin Status register does
reset the CAS bit upon completion.
The controller does not issue back to back reads. It must get a response to the first read before issuing
a second. In addition, codec reads and writes are only executed once across the link and are not
repeated.
3.8.3
A
C '97 PCI Interface and Bus Master Controlle
r
The AC ‘97 controller is a PCI bus master with scatter/gather support. The PCI interface has the
following characteristics:
On reads from a codec, the controller
expects t
he codec to respond within the next frame, after
which, if no response is received, it
returns a
dummy read completion to the processor (with FFh
on the data) and also set
s
the Read Completion Status bit in the Global Status Register. If ACCLK
is not operating adequately the same responses
occurs i
mmediately (with FFh on the data, and
AC30/MC40[RCSTAT] set). Codec register reads by the host
might c
ause a PCI retry cycle.
On writes to a codec, the controller
returns a
write completion to the processor when the write
data is inserted in a frame to the codec. If ACCLK is not operating adequately the same response
occurs i
mmediately.
FIFO buffers are filled and emptied in one PCI transaction using double-word transfers where
possible, and word transfers where necessary. Data sets can be word-aligned. When host memory
buffer page boundaries are crossed (i.e., need to switch to the next buffer page) more than one PCI
transactions are used.
Audio and modem interrupts generated by the AC '97 controller are connected to one PCI
interrupt request.
Table 23
lists the PCI interrupt sources
.
Table 23.
PCI Interrupt Sources
Interrupt
Register Bit
Enable
Register Bit
Interrupt
ACx6/MCx6[BCIS]
ACxB/MCxB[IOCE]
Scatter/gather host memory Buffer Completion Interrupt
Status (i.e., buffer full/empty)
FIFO over-run (modem in buffer) or under-run (modem
out buffer) error
Last Valid Buffer Completion Interrupt
ACx6/MCx6[FIFOERR]
ACxB/MCxB[FEIE]
ACx6/MCx6[LVBCI]
ACxB/MCxB[LVBCIEN]