Messages in this thread Patch in this message | | | Date | Thu, 3 Jul 2003 23:14:01 +0100 | From | Russell King <> | Subject | Re: 2.5.74-mm1 |
| |
On Thu, Jul 03, 2003 at 11:49:21PM +0200, Wiktor Wodecki wrote: > On Thu, Jul 03, 2003 at 03:15:29PM +0100, Russell King wrote: > > Ok, Wiktor has tried removing these 6 patches, and his problem persists. > > According to bk revtool, these 6 patches are the only changes which > > went in for to pcmcia from .73 to .74. > > > > If anyone else is having similar problems, they need to report them so > > we can obtain more data points - I suspect some other change in some other > > subsystem broke PCMCIA for Wiktor. > > > > Wiktor - short of anyone else responding, you could try reversing each > > of the nightly -bk patches from .74 to .73 and work out which set of > > changes broke it. > > it broke with the 2.5.73-rc2 patch. I assume it was:
Ok, looking at the -bk1-bk2 incremental patch, there's a couple of possibilities:
- changes to the x86 PCI code - changes to yenta_socket.c to add different overrides - add burst support to yenta_socket.c for TI bridges - add ISA interrupt routing work-around for TI bridges
I think the number one suspect is probably the final one. Could you try reversing this patch please?
diff -urN linux-2.5.73-bk1/drivers/pcmcia/ti113x.h linux-2.5.73-bk2/drivers/pcmcia/ti113x.h --- linux-2.5.73-bk1/drivers/pcmcia/ti113x.h 2003-06-22 11:32:41.000000000 -0700 +++ linux-2.5.73-bk2/drivers/pcmcia/ti113x.h 2003-06-24 13:06:59.000000000 -0700 @@ -175,6 +175,27 @@ new = reg & ~I365_INTR_ENA; if (new != reg) exca_writeb(socket, I365_INTCTL, new); + + /* + * If ISA interrupts don't work, then fall back to routing card + * interrupts to the PCI interrupt of the socket. + */ + if (!socket->socket.irq_mask) { + int irqmux, devctl; + + printk (KERN_INFO "ti113x: Routing card interrupts to PCI\n"); + + devctl = config_readb(socket, TI113X_DEVICE_CONTROL); + devctl &= ~TI113X_DCR_IMODE_MASK; + + irqmux = config_readl(socket, TI122X_IRQMUX); + irqmux = (irqmux & ~0x0f) | 0x02; /* route INTA */ + irqmux = (irqmux & ~0xf0) | 0x20; /* route INTB */ + + config_writel(socket, TI122X_IRQMUX, irqmux); + config_writeb(socket, TI113X_DEVICE_CONTROL, devctl); + } + socket->socket.ss_entry->init = ti_init; return 0; }
-- Russell King (rmk@arm.linux.org.uk) The developer of ARM Linux http://www.arm.linux.org.uk/personal/aboutme.html
- 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/
| |