lkml.org 
[lkml]   [2004]   [Oct]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
Patch in this message
/
Date
From
SubjectRe: PCI & IRQ problems on TI Extensa 600CD
  Hi all,

Last night i solved this problem. It cause by crippled PCI chipset
parody called ALi and his perverse undocumented "features". I think that
use ISA bridge as IRQ router if we haven't any router is guite good idea.
Everythink with this patch works fine even though i have different irq in
win. See attached logs.
Jim, can you try this patch please? I assume that you have some kind
of ALi chipset too. Maybe this solves your problem too.
Martin, Marcelo, please aply :-).

PS: is here anybody who have relevant datascheet?

Regards,
--
-------------------------------------------------------
David "Dave" Jez Brno, CZ, Europe
E-mail: dave.jez@seznam.cz
PGP key: finger xjezda00@eva.fit.vutbr.cz
---------=[ ~EOF ]=------------------------------------
pci-irq.c | 15 +++++++++++++--
1 files changed, 13 insertions(+), 2 deletions(-)

diff -urN linux.orig/arch/i386/kernel/pci-irq.c linux/arch/i386/kernel/pci-irq.c
--- linux.orig/arch/i386/kernel/pci-irq.c Fri Sep 24 15:19:06 2004
+++ linux/arch/i386/kernel/pci-irq.c Thu Oct 28 15:49:26 2004
@@ -736,6 +736,7 @@
{
switch(device)
{
+ case PCI_DEVICE_ID_AL_M1523:
case PCI_DEVICE_ID_AL_M1533:
r->name = "ALI";
r->get = pirq_ali_get;
@@ -814,8 +815,18 @@

pirq_router_dev = pci_find_slot(rt->rtr_bus, rt->rtr_devfn);
if (!pirq_router_dev) {
- DBG("PCI: Interrupt router not found at %02x:%02x\n", rt->rtr_bus, rt->rtr_devfn);
- return;
+ DBG("PCI: Interrupt router not found at %02x:%02x. Aieee, do you have ALi chipset?\n",
+ rt->rtr_bus, rt->rtr_devfn);
+ pirq_router_dev = (pci_find_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1523, NULL));
+ if (!pirq_router_dev)
+ pirq_router_dev = (pci_find_device(PCI_VENDOR_ID_AL, PCI_DEVICE_ID_AL_M1533, NULL));
+ if (!pirq_router_dev) {
+ DBG("PC: ...hmmm sorry...\n");
+ return;
+ } else {
+ DBG("PCI: OK, found %04x:%04x. Let's playing a game!\n",
+ pirq_router_dev->vendor, pirq_router_dev->device);
+ }
}

for( h = pirq_routers; h->vendor; h++) {[unhandled content-type:application/x-gtar]
\
 
 \ /
  Last update: 2005-03-22 14:07    [W:0.086 / U:1.232 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site