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>