Subject: Re: audio(9) question
To: Nathan J. Williams <nathanw@MIT.EDU>
From: Jason R Thorpe <thorpej@zembu.com>
List: tech-kern
Date: 06/25/2001 11:04:12
On Mon, Jun 25, 2001 at 01:37:28PM -0400, Nathan J. Williams wrote:
> /*
> * XXX: This is just sick. We know what IRQ we're using from
> * pcmcia_intr_establish, so why not use it instead?
> */
> reg = ESS_IRQ_CTRL_MASK | 0x20 | ESS_IRQ_CTRL_INTRA;
> esl_write_x_reg(sc, ESS_XCMD_IRQ_CTRL, reg);
>
> Just to clear up what's going on, the ESS x88/1x88 chips are made to
> be wired up directly to the ISA bus, and have four pins designed to be
> attached to the ISA IRQ 5, 7, 9, and 10 lines. This register controls
> which of those pins is used to signal interrupts. Since, in your case,
> the chip is on a PCMCIA card, and PCMCIA cards only have one IRQ line
> (which goes to the PCMCIA controller, not directly to the ISA bus),
> the designers wired the IRQA line to the PCMCIA IRQ line, which is why
> you have to program it this way. The "actual" ISA IRQ that this shows
> up as is controlled by the PCMCIA controller, and is handles over in
> pcmcia_intr_establish().
This also says to me that the irq value written IRQ_CTRL needs to
come from the front-end (we should also have an esl_isa one day, I
know someone who has an old Compaq laptop with such a chip in it,
attach to ISA).
--
-- Jason R. Thorpe <thorpej@zembu.com>