Re: AC'97 (VT82C686A) & IRQ reassignment (I/O APIC)

From: Adrian Cox (adrian@humboldt.co.uk)
Date: Mon Apr 30 2001 - 13:19:26 EST


Richard B. Johnson wrote:

> Woof... More GAWDAUFULL junk. You mean that if I write 0xff to the R/W
> interrupt line register and read it back, it's only 0x0f?

Yes, and that disables generation of audio interrupts.

> This didn't
> save any money. There are only 4 interrupt 'pins', i.e., interrupt lines
> that go to the PCI bus (A thru D). What these lines connect to for
> actual IRQs is known only to the motherboard manufacturer hence the
> BIOS has to check the pin value and write the appropriate IRQ value
> into the interrupt line register. This register is used only as a
> scratch-pad so that a driver "knows" what IRQ goes to the board. The
> board, itself, never accesses this register. The board only gets one
> interrupt connected (A thru D), and to the board, all interrupts are
> the same.

  I'm currently writing the BIOS for a PowerPC embedded system using the
686B southbridge. On the 686 the 8259 interrupt controller and the
audio system are inside the same physical device. The value you write to
offset 0x3c actually makes the internal connection between the audio
interrupt and the PIC. There is a trick to route that interrupt to an
external APIC involving config register 0x58 in function 0, but I've not
used it.

Most southbridge functions work this way. The USB on the 686B is like
this, and the the IDE controller always generates the legacy IRQ 14/15.

- Adrian Cox

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Mon Apr 30 2001 - 21:00:25 EST