[PATCH] yenta: irq-routing for TI bridges...again

Pavel Roskin proski at gnu.org
Fri Mar 19 00:27:24 GMT 2004


On Wed, 17 Mar 2004, Daniel Ritz wrote:

> On Wednesday 17 March 2004 12:59, Daniel Ritz wrote:
> >
> > yeah. if routing INTB doesn't work we need INTRTIE. and as you say we need
> > to adjust socket->cb_irq and dev->irq. it's not a problem to find the right
> > setting from function 0, but just setting dev->irq seems wrong. may be
> > russell knows the correct way to do it.
> >
> > i work on the patch later (when i'm at home). ie. resync with 2.6.5-rc1 and
> > change to irqs as in func0 before trying INTRTIE (the plain stupid way just
> > to try)...
> >
>
> ok, here we go. i did it quickly so maybe some bugs there....
> rediffed against 2.4.5-rc1 and with the irq changes.
> did i mention 'compile tested only' already?
>
> http://ritz.dnsalias.org/linux/pcmcia-ti-routing-9.patch

It's working great with the worst crippling code that unsets mfunc, devctl
and INTRTIE.

if (PCI_FUNC(socket->dev->devfn) == 0) {
        u32 sysctl = config_readl(socket, TI113X_SYSTEM_CONTROL);
        config_writel(socket, TI122X_MFUNC, 0);
        config_writeb(socket, TI113X_DEVICE_CONTROL, 0x66);
        sysctl ^= TI122X_SCR_INTRTIE;
        config_writel(socket, TI113X_SYSTEM_CONTROL, sysctl);
}

Yenta: CardBus bridge found at 0000:00:08.0 [133f:1233]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:08.0, mfunc 0x00000000, devctl 0x66
Yenta TI: socket 0000:00:08.0 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:00:08.0 falling back to parallel PCI interrupts
Yenta TI: socket 0000:00:08.0 parallel PCI interrupts ok
Yenta: ISA IRQ mask 0x0000, PCI irq 12
Socket status: 30000006
Yenta: CardBus bridge found at 0000:00:08.1 [133f:1233]
Yenta: Using CSCINT to route CSC interrupts to PCI
Yenta: Routing CardBus interrupts to PCI
Yenta TI: socket 0000:00:08.1, mfunc 0x00000002, devctl 0x64
Yenta TI: socket 0000:00:08.1 probing PCI interrupt failed, trying to fix
Yenta TI: socket 0000:00:08.1 parallel PCI interrupts, tied ok
Yenta: ISA IRQ mask 0x0000, PCI irq 12
Socket status: 30000006

I believe your patch is now ready for wide testing or even applying to the
mainline kernel.

-- 
Regards,
Pavel Roskin



More information about the linux-pcmcia mailing list