linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* PCI & IRQ problems on TI Extensa 600CD
@ 2004-10-23 14:29 David Jez
  2004-10-23 19:53 ` Jim Nelson
  0 siblings, 1 reply; 11+ messages in thread
From: David Jez @ 2004-10-23 14:29 UTC (permalink / raw)
  To: Martin Mares; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 787 bytes --]

  Hi Martin,

  i spent few last nights with my Extensa. This notebook has PCI 2.1 wich
works only under m$ window$ :-(. I tried many version of kernel, 2.2,
2.4 and 2.6 tree and nothing helps me. I tried pci=bios pci=bios,biosirq
kernel options, PCI=BIOS instead of ANY...
  Result is always same:
PCI: No IRQ known for interrupt pin A of device 00:04.0.
  this cause for example that PCMCIA doesn't work. See attached dmesg log
and other files for details.
  In Window$ everythink works OK and IRQ routing table is get from PCI
BIOS.

  Any ideas?
-- 
-------------------------------------------------------
  David "Dave" Jez                Brno, CZ, Europe
 E-mail: dave.jez@seznam.cz
PGP key: finger xjezda00@eva.fit.vutbr.cz
---------=[ ~EOF ]=------------------------------------

[-- Attachment #2: dmesg --]
[-- Type: text/plain, Size: 7077 bytes --]

Linux version 2.4.18 (root@midas) (gcc version 2.95.3 20010315 (release)) #1 Wed Jun 5 11:31:58 PDT 2002
BIOS-provided physical RAM map:
 BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
 BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
 BIOS-e820: 00000000000f1dfc - 0000000000100000 (reserved)
 BIOS-e820: 0000000000100000 - 0000000002800000 (usable)
 BIOS-e820: 00000000ffff1dfc - 0000000100000000 (reserved)
On node 0 totalpages: 10240
zone(0): 4096 pages.
zone(1): 6144 pages.
zone(2): 0 pages.
Kernel command line: root=/dev/hda1 rw pci=biosirq reboot=fast BOOT_IMAGE=vmlinuz
Initializing CPU#0
Detected 165.786 MHz processor.
Console: colour VGA+ 80x25
Calibrating delay loop... 330.95 BogoMIPS
Memory: 36844k/40960k available (1955k kernel code, 3728k reserved, 553k data, 264k init, 0k highmem)
Dentry-cache hash table entries: 8192 (order: 4, 65536 bytes)
Inode-cache hash table entries: 4096 (order: 3, 32768 bytes)
Mount-cache hash table entries: 1024 (order: 1, 8192 bytes)
Buffer-cache hash table entries: 1024 (order: 0, 4096 bytes)
Page-cache hash table entries: 16384 (order: 4, 65536 bytes)
CPU: Before vendor init, caps: 000001bf 00000000 00000000, vendor = 0
Intel Pentium with F0 0F bug - workaround enabled.
CPU: After vendor init, caps: 000001bf 00000000 00000000 00000000
CPU:     After generic, caps: 000001bf 00000000 00000000 00000000
CPU:             Common caps: 000001bf 00000000 00000000 00000000
CPU: Intel Pentium 75 - 200 stepping 0c
Checking 'hlt' instruction... OK.
Checking for popad bug... OK.
POSIX conformance testing by UNIFIX
mtrr: v1.40 (20010327) Richard Gooch (rgooch@atnf.csiro.au)
mtrr: detected mtrr type: none
PCI: PCI BIOS revision 2.10 entry at 0xf7019, last bus=0
PCI: Using configuration type 1
PCI: Probing PCI hardware
Linux NET4.0 for Linux 2.4
Based upon Swansea University Computer Society NET3.039
Initializing RT netlink socket
Starting kswapd
VFS: Diskquotas version dquot_6.4.0 initialized
Journalled Block Device driver loaded
parport0: PC-style at 0x378 [PCSPP,TRISTATE]
pty: 512 Unix98 ptys configured
Serial driver version 5.05c (2001-07-08) with HUB-6 MANY_PORTS MULTIPORT SHARE_IRQ SERIAL_PCI enabled
ttyS00 at 0x03f8 (irq = 4) is a 16550A
ttyS01 at 0x02f8 (irq = 3) is a 16550A
Real Time Clock Driver v1.10e
block: 128 slots per queue, batch=32
RAMDISK driver initialized: 16 RAM disks of 7777K size 1024 blocksize
Uniform Multi-Platform E-IDE driver Revision: 6.31
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PCI_IDE: unknown IDE controller on PCI bus 00 device 11, VID=10b9, DID=5219
PCI: No IRQ known for interrupt pin A of device 00:02.1.
PCI_IDE: chipset revision 32
PCI_IDE: not 100% native mode: will probe irqs later
    ide0: BM-DMA at 0xfcf0-0xfcf7, BIOS settings: hda:DMA, hdb:pio
    ide1: BM-DMA at 0xfcf8-0xfcff, BIOS settings: hdc:pio, hdd:pio
hda: TOSHIBA MK6017MAP, ATA DISK drive
hdc: UJDCD6700, ATAPI CD/DVD-ROM drive
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
ide1 at 0x170-0x177,0x376 on irq 15
hda: 11733120 sectors (6007 MB), CHS=776/240/63, (U)DMA
hdc: ATAPI 6X CD-ROM drive, 128kB Cache
Uniform CD-ROM driver Revision: 3.12
ide-floppy driver 0.97.sv
Partition check:
 hda: hda1 hda4
paride: aten registered as protocol 0
paride: bpck registered as protocol 1
paride: comm registered as protocol 2
paride: dstr registered as protocol 3
paride: epat registered as protocol 4
paride: epia registered as protocol 5
paride: frpw registered as protocol 6
paride: friq registered as protocol 7
paride: fit2 registered as protocol 8
paride: fit3 registered as protocol 9
paride: k951 registered as protocol 10
paride: k971 registered as protocol 11
paride: ktti registered as protocol 12
paride: on20 registered as protocol 13
paride: on26 registered as protocol 14
pd: pd version 1.05, major 45, cluster 64, nice 0
epat_init_protopda: Autoprobe failed
pd: no valid drive found
pcd: pcd version 1.07, major 46, nice 0
epat_init_protopcd0: Autoprobe failed
pcd: No CD-ROM drive found
pf: pf version 1.04, major 47, cluster 64, nice 0
epat_init_protopf0: Autoprobe failed
pf: No ATAPI disk detected
pg: pg version 1.02, major 97
epat_init_protopg0: Autoprobe failed
pg: No ATAPI device detected
FDC 0 is a National Semiconductor PC87306
loop: loaded (max 8 devices)
ide-floppy driver 0.97.sv
SCSI subsystem driver Revision: 1.00
ppa: Version 2.07 (for Linux 2.4.x)
WARNING - no ppa compatible devices found.
  As of 31/Aug/1998 Iomega started shipping parallel
  port ZIP drives with a different interface which is
  supported by the imm (ZIP Plus) driver. If the
  cable is marked with "AutoDetect", this is what has
  happened.
imm: Version 2.05 (for Linux 2.4.0)
request_module[scsi_hostadapter]: Root fs not mounted
request_module[scsi_hostadapter]: Root fs not mounted
request_module[scsi_hostadapter]: Root fs not mounted
usb.c: registered new driver usbdevfs
usb.c: registered new driver hub
usb-uhci.c: $Revision: 1.275 $ time 11:33:38 Jun  5 2002
usb-uhci.c: High bandwidth mode enabled
usb-uhci.c: v1.275:USB Universal Host Controller Interface driver
usb.c: registered new driver hiddev
usb.c: registered new driver hid
hid-core.c: v1.8 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz>
hid-core.c: USB HID support drivers
Initializing USB Mass Storage driver...
usb.c: registered new driver usb-storage
USB Mass Storage support registered.
mice: PS/2 mouse device common for all mice
md: linear personality registered as nr 1
md: raid0 personality registered as nr 2
md: raid1 personality registered as nr 3
md: raid5 personality registered as nr 4
raid5: measuring checksumming speed
   8regs     :    60.000 MB/sec
   32regs    :    76.800 MB/sec
raid5: using function: 32regs (76.800 MB/sec)
md: md driver 0.90.0 MAX_MD_DEVS=256, MD_SB_DISKS=27
md: Autodetecting RAID arrays.
md: autorun ...
md: ... autorun DONE.
LVM version 1.0.1-rc4(ish)(03/10/2001)
NET4: Linux TCP/IP 1.0 for NET4.0
IP Protocols: ICMP, UDP, TCP
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 4096 bind 4096)
NET4: Unix domain sockets 1.0/SMP for Linux NET4.0.
UMSDOS 0.86k (compatibility level 0.4, fast msdos)
check_pseudo_root: mounted as root
check_pseudo_root: found //linux
check_pseudo_root: found sbin/init, enabling pseudo-root
UMSDOS: changed to alternate root
VFS: Mounted root (umsdos filesystem).
Freeing unused kernel memory: 264k freed
Adding Swap: 504k swap-space (priority -1)
scsi0 : SCSI host adapter emulation for IDE ATAPI devices
Linux PCMCIA Card Services 3.1.33
  kernel build: 2.4.18 #1 Wed May 8 13:51:37 PDT 2002
  options:  [pci] [cardbus]
Intel ISA/PCI/CardBus PCIC probe:
PCI: No IRQ known for interrupt pin A of device 00:04.0.
PCI: No IRQ known for interrupt pin B of device 00:04.1.
  TI 1130 rev 04 PCI-to-CardBus at slot 00:04, mem 0x2800000
    host opts [0]: [isa irq] [no pci irq] [lat 64/176] [bus 1/5]
    host opts [1]: [isa irq] [no pci irq] [lat 64/176] [bus 6/10]
    ISA irqs (scanned) = 5,7,9,10,11,12 polling interval = 1000 ms
UMSDOS_notify_change: //linux not in EMD, ret=-2

[-- Attachment #3: lspci --]
[-- Type: text/plain, Size: 402 bytes --]

00:00.0 Host bridge: Acer Laboratories Inc. [ALi] M1521 [Aladdin III] (rev 1c)
00:02.0 ISA bridge: Acer Laboratories Inc. [ALi] M1523 (rev 07)
00:02.1 IDE interface: Acer Laboratories Inc. [ALi] M5219 (rev 20)
00:04.0 CardBus bridge: Texas Instruments PCI1130 (rev 04)
00:04.1 CardBus bridge: Texas Instruments PCI1130 (rev 04)
00:06.0 VGA compatible controller: Chips and Technologies F65550 (rev 45)

[-- Attachment #4: lspci-vvvnx --]
[-- Type: text/plain, Size: 4260 bytes --]

00:00.0 Class 0600: 10b9:1521 (rev 1c)
	Subsystem: 10b9:1521
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 32
00: b9 10 21 15 06 00 00 24 1c 00 00 06 00 20 00 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b9 10 21 15
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:02.0 Class 0601: 10b9:1523 (rev 07)
	Subsystem: 10b9:1523
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort+ <MAbort+ >SERR- <PERR-
	Latency: 0
00: b9 10 23 15 0f 00 00 32 07 00 01 06 00 00 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 b9 10 23 15
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:02.1 Class 0101: 10b9:5219 (rev 20) (prog-if fa)
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 0
	Region 4: I/O ports at fcf0 [size=16]
00: b9 10 19 52 05 00 80 02 20 fa 01 01 00 40 80 00
10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
20: f1 fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 ff 01 02 04

00:04.0 Class 0607: 104c:ac12 (rev 04)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64, cache line size 04
	Interrupt: pin A routed to IRQ 0
	Region 0: Memory at 02800000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=01, subordinate=05, sec-latency=176
	Memory window 0: fffff000-00000000
	Memory window 1: fffff000-00000000
	I/O window 0: 0000fffc-00000003
	I/O window 1: 0000fffc-00000003
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite-
	16-bit legacy interface ports at 0001
00: 4c 10 12 ac 07 00 00 02 04 00 07 06 04 40 82 00
10: 00 00 80 02 00 00 00 02 00 01 05 b0 00 f0 ff ff
20: 00 00 00 00 00 f0 ff ff 00 00 00 00 fc ff 00 00
30: 00 00 00 00 fc ff 00 00 00 00 00 00 ff 01 c0 00
40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:04.1 Class 0607: 104c:ac12 (rev 04)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64, cache line size 04
	Interrupt: pin B routed to IRQ 0
	Region 0: Memory at 02802000 (32-bit, non-prefetchable) [size=4K]
	Bus: primary=00, secondary=06, subordinate=0a, sec-latency=176
	Memory window 0: 00000000-00000000
	Memory window 1: fffff000-00000000
	I/O window 0: 0000fffc-00000003
	I/O window 1: 0000fffc-00000003
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite-
	16-bit legacy interface ports at 0001
00: 4c 10 12 ac 07 00 00 02 04 00 07 06 04 40 82 00
10: 00 20 80 02 00 00 00 22 00 06 0a b0 00 00 00 00
20: 00 00 00 00 00 f0 ff ff 00 00 00 00 fc ff 00 00
30: 00 00 00 00 fc ff 00 00 00 00 00 00 ff 02 c0 00
40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00

00:06.0 Class 0300: 102c:00e0 (rev 45)
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Region 0: Memory at fd000000 (32-bit, non-prefetchable) [size=16M]
	Expansion ROM at <unassigned> [disabled] [size=256K]
00: 2c 10 e0 00 83 00 80 02 45 00 00 03 00 00 00 00
10: 00 00 00 fd 00 00 00 00 00 00 00 00 00 00 00 00
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
30: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00


[-- Attachment #5: proc.tgz --]
[-- Type: application/x-gtar, Size: 2018 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-10-23 14:29 PCI & IRQ problems on TI Extensa 600CD David Jez
@ 2004-10-23 19:53 ` Jim Nelson
  2004-10-25 16:19   ` David Jez
  0 siblings, 1 reply; 11+ messages in thread
From: Jim Nelson @ 2004-10-23 19:53 UTC (permalink / raw)
  To: David Jez; +Cc: Martin Mares, linux-kernel

David Jez wrote:
>   Hi Martin,
> 
>   i spent few last nights with my Extensa. This notebook has PCI 2.1 wich
> works only under m$ window$ :-(. I tried many version of kernel, 2.2,
> 2.4 and 2.6 tree and nothing helps me. I tried pci=bios pci=bios,biosirq
> kernel options, PCI=BIOS instead of ANY...
>   Result is always same:
> PCI: No IRQ known for interrupt pin A of device 00:04.0.
>   this cause for example that PCMCIA doesn't work. See attached dmesg log
> and other files for details.
>   In Window$ everythink works OK and IRQ routing table is get from PCI
> BIOS.
> 
>   Any ideas?
> 

I've got the same problem with the Cardbus bridge on my old Thinkpad 760ED - I 
think your laptop is as old as mine (Pentium 166 - 1996 or thereabouts).

The problem with mine is that the Cardbus bridge doesn't get a vaild IRQ written 
into the chip by the BIOS, and Linux relies on the BIOS to do it on older 
machines.  I haven't found an answer yet - I'm just getting into this stuff 
myself, and don't understand PCI well enough to code a fix.  It is good to know 
that it is not an IBM-only problem.

> 00:00.0 Host bridge: Acer Laboratories Inc. [ALi] M1521 [Aladdin III] (rev 1c)
> 00:02.0 ISA bridge: Acer Laboratories Inc. [ALi] M1523 (rev 07)
> 00:02.1 IDE interface: Acer Laboratories Inc. [ALi] M5219 (rev 20)
> 00:04.0 CardBus bridge: Texas Instruments PCI1130 (rev 04)
> 00:04.1 CardBus bridge: Texas Instruments PCI1130 (rev 04)
> 00:06.0 VGA compatible controller: Chips and Technologies F65550 (rev 45)
> 

> 00:02.1 Class 0101: 10b9:5219 (rev 20) (prog-if fa)
> 	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> 	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> 	Latency: 64 (500ns min, 1000ns max)
> 	Interrupt: pin A routed to IRQ 0
> 	Region 4: I/O ports at fcf0 [size=16]
> 00: b9 10 19 52 05 00 80 02 20 fa 01 01 00 40 80 00
> 10: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 20: f1 fc 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 30: 00 00 00 00 00 00 00 00 00 00 00 00 ff 01 02 04
> 
> 00:04.0 Class 0607: 104c:ac12 (rev 04)
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> 	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> 	Latency: 64, cache line size 04
> 	Interrupt: pin A routed to IRQ 0
> 	Region 0: Memory at 02800000 (32-bit, non-prefetchable) [size=4K]
> 	Bus: primary=00, secondary=01, subordinate=05, sec-latency=176
> 	Memory window 0: fffff000-00000000
> 	Memory window 1: fffff000-00000000
> 	I/O window 0: 0000fffc-00000003
> 	I/O window 1: 0000fffc-00000003
> 	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite-
> 	16-bit legacy interface ports at 0001
> 00: 4c 10 12 ac 07 00 00 02 04 00 07 06 04 40 82 00
> 10: 00 00 80 02 00 00 00 02 00 01 05 b0 00 f0 ff ff
> 20: 00 00 00 00 00 f0 ff ff 00 00 00 00 fc ff 00 00
> 30: 00 00 00 00 fc ff 00 00 00 00 00 00 ff 01 c0 00
> 40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 
> 00:04.1 Class 0607: 104c:ac12 (rev 04)
> 	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
> 	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
> 	Latency: 64, cache line size 04
> 	Interrupt: pin B routed to IRQ 0
> 	Region 0: Memory at 02802000 (32-bit, non-prefetchable) [size=4K]
> 	Bus: primary=00, secondary=06, subordinate=0a, sec-latency=176
> 	Memory window 0: 00000000-00000000
> 	Memory window 1: fffff000-00000000
> 	I/O window 0: 0000fffc-00000003
> 	I/O window 1: 0000fffc-00000003
> 	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt+ PostWrite-
> 	16-bit legacy interface ports at 0001
> 00: 4c 10 12 ac 07 00 00 02 04 00 07 06 04 40 82 00
> 10: 00 20 80 02 00 00 00 22 00 06 0a b0 00 00 00 00
> 20: 00 00 00 00 00 f0 ff ff 00 00 00 00 fc ff 00 00
> 30: 00 00 00 00 fc ff 00 00 00 00 00 00 ff 02 c0 00
> 40: 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00
> 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
> 70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
>

Just out of curiosity - does lspci -vvb show the interrupt pins on the Cardbus 
bridge routed to IRQ 255?

If so, it might be a problem with the TI bridge chip.  IIRC, that's the same model 
chip as in my laptop.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-10-23 19:53 ` Jim Nelson
@ 2004-10-25 16:19   ` David Jez
  2004-10-29  8:18     ` David Jez
  0 siblings, 1 reply; 11+ messages in thread
From: David Jez @ 2004-10-25 16:19 UTC (permalink / raw)
  To: Jim Nelson; +Cc: Martin Mares, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1442 bytes --]

  Hi Jim,

  thank you for reply! Nice to hear that you have similar problem. You
have right, my notebook is same old as yours, pentium 166, maybe
1994-1997. I have TI PCI1130 cardbus bridge. You have right, pin is
routed to IRQ 255. See attach file. But i see same behaviour on IDE
device. Strange is that this works fine under window$ :-( which says
somethink as "interrupts table get from PCI 1.2 bios". I don't know how
far i can believe it.

> I've got the same problem with the Cardbus bridge on my old Thinkpad 760ED 
> - I think your laptop is as old as mine (Pentium 166 - 1996 or thereabouts).
> 
> The problem with mine is that the Cardbus bridge doesn't get a vaild IRQ 
> written into the chip by the BIOS, and Linux relies on the BIOS to do it on 
> older machines.  I haven't found an answer yet - I'm just getting into this 
> stuff myself, and don't understand PCI well enough to code a fix.  It is 
> good to know that it is not an IBM-only problem.
> 
> Just out of curiosity - does lspci -vvb show the interrupt pins on the 
> Cardbus bridge routed to IRQ 255?
> 
> If so, it might be a problem with the TI bridge chip.  IIRC, that's the 
> same model chip as in my laptop.
  Regards,
-- 
-------------------------------------------------------
  David "Dave" Jez                Brno, CZ, Europe
 E-mail: dave.jez@seznam.cz
PGP key: finger xjezda00@eva.fit.vutbr.cz
---------=[ ~EOF ]=------------------------------------

[-- Attachment #2: LSPCI --]
[-- Type: text/plain, Size: 3437 bytes --]

00:00.0 Host bridge: Acer Laboratories Inc. [ALi] M1521 [Aladdin III] (rev 1c)
	Subsystem: Acer Laboratories Inc. [ALi] ALI M1521 Aladdin III CPU Bridge
	Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=slow >TAbort- <TAbort- <MAbort+ >SERR- <PERR-
	Latency: 32

00:02.0 ISA bridge: Acer Laboratories Inc. [ALi] M1523 (rev 07)
	Subsystem: Acer Laboratories Inc. [ALi] ALI M1523 ISA Bridge
	Control: I/O+ Mem+ BusMaster+ SpecCycle+ MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort+ <MAbort+ >SERR- <PERR-
	Latency: 0

00:02.1 IDE interface: Acer Laboratories Inc. [ALi] M5219 (rev 20) (prog-if fa)
	Control: I/O+ Mem- BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 64 (500ns min, 1000ns max)
	Interrupt: pin A routed to IRQ 255
	Region 4: I/O ports at fcf0

00:04.0 CardBus bridge: Texas Instruments PCI1130 (rev 04)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168, cache line size 08
	Interrupt: pin A routed to IRQ 255
	Region 0: Memory at 10000000 (32-bit, non-prefetchable)
	Bus: primary=00, secondary=01, subordinate=05, sec-latency=176
	Memory window 0: 10400000-107ff000 (prefetchable)
	Memory window 1: 10800000-10bff000
	I/O window 0: 00004000-000040ff
	I/O window 1: 00004400-000044ff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset+ 16bInt- PostWrite+
	16-bit legacy interface ports at 0001

00:04.1 CardBus bridge: Texas Instruments PCI1130 (rev 04)
	Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B- ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Latency: 168, cache line size 08
	Interrupt: pin B routed to IRQ 255
	Region 0: Memory at 10001000 (32-bit, non-prefetchable)
	Bus: primary=00, secondary=06, subordinate=0a, sec-latency=176
	Memory window 0: 10c00000-10fff000 (prefetchable)
	Memory window 1: 11000000-113ff000
	I/O window 0: 00004800-000048ff
	I/O window 1: 00004c00-00004cff
	BridgeCtl: Parity- SERR- ISA- VGA- MAbort- >Reset- 16bInt+ PostWrite+
	16-bit legacy interface ports at 0001

00:06.0 VGA compatible controller: Chips and Technologies F65550 (rev 45) (prog-if 00 [VGA])
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping+ SERR- FastB2B-
	Status: Cap- 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Region 0: Memory at fd000000 (32-bit, non-prefetchable)

06:00.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C (rev 10)
	Subsystem: Realtek Semiconductor Co., Ltd. RT8139
	Control: I/O+ Mem+ BusMaster- SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B-
	Status: Cap+ 66Mhz- UDF- FastB2B+ ParErr- DEVSEL=medium >TAbort- <TAbort- <MAbort- >SERR- <PERR-
	Interrupt: pin A routed to IRQ 0
	Region 0: I/O ports at 4800
	Region 1: Memory at 11000000 (32-bit, non-prefetchable)
	Capabilities: [50] Power Management version 2
		Flags: PMEClk- DSI- D1+ D2+ AuxCurrent=0mA PME(D0-,D1+,D2+,D3hot+,D3cold-)
		Status: D0 PME-Enable- DSel=0 DScale=0 PME-


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-10-25 16:19   ` David Jez
@ 2004-10-29  8:18     ` David Jez
  2004-10-29  9:50       ` Jim Nelson
  0 siblings, 1 reply; 11+ messages in thread
From: David Jez @ 2004-10-29  8:18 UTC (permalink / raw)
  To: Jim Nelson; +Cc: Martin Mares, linux-kernel

[-- Attachment #1: Type: text/plain, Size: 790 bytes --]

  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 ]=------------------------------------

[-- Attachment #2: pci-irq.diff --]
[-- Type: text/plain, Size: 1249 bytes --]

 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++) {

[-- Attachment #3: data.tgz --]
[-- Type: application/x-gtar, Size: 6093 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-10-29  8:18     ` David Jez
@ 2004-10-29  9:50       ` Jim Nelson
  2004-10-29 10:14         ` David Jez
  2004-11-01  8:42         ` David Jez
  0 siblings, 2 replies; 11+ messages in thread
From: Jim Nelson @ 2004-10-29  9:50 UTC (permalink / raw)
  To: David Jez; +Cc: Martin Mares, linux-kernel

David Jez wrote:
>   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,
> 
> 

Naah.  I have a piix chipset.  My problem (per David Hinds) is that my laptop is 
even more b0rken than yours - IBM never hooked up the PCI INTx lines on the TI 
1130.  My laptop never worked with Cardbus stuff - even in Windows.

He reccommended the external pcmcia_cs package for my system - there's a dummy_cs 
module in there (2.4 only, though) that should fix my problem.

Thanks,

Jim

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-10-29  9:50       ` Jim Nelson
@ 2004-10-29 10:14         ` David Jez
  2004-11-01  8:42         ` David Jez
  1 sibling, 0 replies; 11+ messages in thread
From: David Jez @ 2004-10-29 10:14 UTC (permalink / raw)
  To: Jim Nelson; +Cc: linux-kernel

> Naah.  I have a piix chipset.  My problem (per David Hinds) is that my 
> laptop is even more b0rken than yours - IBM never hooked up the PCI INTx 
> lines on the TI 1130.  My laptop never worked with Cardbus stuff - even in 
> Windows.
  That's pity :-(. So i don't help you with this because i don't have
similar IBM notebook. Hmmm you should beat out datasheet from IBM :-).

> He reccommended the external pcmcia_cs package for my system - there's a 
> dummy_cs module in there (2.4 only, though) that should fix my problem.
  Yes, external pcmcia_cs drivers works in this situation. But you need
working irq for e.g. cardbus card that have only pci driver in kernel. I
needed this because realtek_cb work bad and i would like to use cardbus
usb controller and some wifi card.

> Thanks,
> 
> Jim
  Regards,
-- 
-------------------------------------------------------
  David "Dave" Jez                Brno, CZ, Europe
 E-mail: dave.jez@seznam.cz
PGP key: finger xjezda00@eva.fit.vutbr.cz
---------=[ ~EOF ]=------------------------------------

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-10-29  9:50       ` Jim Nelson
  2004-10-29 10:14         ` David Jez
@ 2004-11-01  8:42         ` David Jez
  2004-11-01 12:59           ` Jim Nelson
  1 sibling, 1 reply; 11+ messages in thread
From: David Jez @ 2004-11-01  8:42 UTC (permalink / raw)
  To: Jim Nelson; +Cc: linux-kernel

> Naah.  I have a piix chipset.  My problem (per David Hinds) is that my 
> laptop is even more b0rken than yours - IBM never hooked up the PCI INTx 
> lines on the TI 1130.  My laptop never worked with Cardbus stuff - even in 
> Windows.
  Jim, just for fun: can you send me your dmesg, lspci -n and dump_pirq
results?

-- 
-------------------------------------------------------
  David "Dave" Jez                Brno, CZ, Europe
 E-mail: dave.jez@seznam.cz
PGP key: finger xjezda00@eva.fit.vutbr.cz
---------=[ ~EOF ]=------------------------------------

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-11-01  8:42         ` David Jez
@ 2004-11-01 12:59           ` Jim Nelson
  2004-11-01 20:27             ` David Jez
  0 siblings, 1 reply; 11+ messages in thread
From: Jim Nelson @ 2004-11-01 12:59 UTC (permalink / raw)
  To: David Jez; +Cc: linux-kernel

David Jez wrote:
>>Naah.  I have a piix chipset.  My problem (per David Hinds) is that my 
>>laptop is even more b0rken than yours - IBM never hooked up the PCI INTx 
>>lines on the TI 1130.  My laptop never worked with Cardbus stuff - even in 
>>Windows.
> 
>   Jim, just for fun: can you send me your dmesg, lspci -n and dump_pirq
> results?
> 

Need to compile a new kernel for this thing w/o tridentfb - doesn't work right on 
my system for some reason.

<dmesg - haven't compiled a 2.6.9 for it yet>

Linux version 2.6.9-rc4Thinkpad.1 (root@david) (gcc version 3.3.3 20040412 (Red 
Hat Linux 3.3.3-7)) #6 Thu Oct 14 17:05:32 EDT 2004
BIOS-provided physical RAM map:
  BIOS-e820: 0000000000000000 - 000000000009fc00 (usable)
  BIOS-e820: 000000000009fc00 - 00000000000a0000 (reserved)
  BIOS-e820: 00000000000f0000 - 0000000000100000 (reserved)
  BIOS-e820: 0000000000100000 - 0000000005000000 (usable)
  BIOS-e820: 00000000fffe0000 - 0000000100000000 (reserved)
80MB LOWMEM available.
On node 0 totalpages: 20480
   DMA zone: 4096 pages, LIFO batch:1
   Normal zone: 16384 pages, LIFO batch:4
   HighMem zone: 0 pages, LIFO batch:1
DMI not present.
Built 1 zonelists
Kernel command line: BOOT_IMAGE=2.6_test ro root=303 
video=tridentfb:1024x768,bpp=16,noaccel
Initializing CPU#0
PID hash table entries: 512 (order: 9, 8192 bytes)
Detected 132.645 MHz processor.
Using tsc for high-res timesource
Console: colour VGA+ 80x25
Dentry cache hash table entries: 16384 (order: 4, 65536 bytes)
Inode-cache hash table entries: 8192 (order: 3, 32768 bytes)
Memory: 78200k/81920k available (1589k kernel code, 3296k reserved, 693k data, 
112k init, 0k highmem)
Checking if this processor honours the WP bit even in supervisor mode... Ok.
Calibrating delay loop... 260.09 BogoMIPS (lpj=130048)
Mount-cache hash table entries: 512 (order: 0, 4096 bytes)
CPU: After generic identify, caps: 000001bf 00000000 00000000 00000000
CPU: After vendor identify, caps:  000001bf 00000000 00000000 00000000
Intel Pentium with F0 0F bug - workaround enabled.
CPU: After all inits, caps:        000001bf 00000000 00000000 00000000
CPU: Intel Pentium 75 - 200 stepping 0c
Checking 'hlt' instruction... OK.
NET: Registered protocol family 16
PCI: PCI BIOS revision 2.10 entry at 0xfd930, last bus=6
PCI: Using configuration type 1
Linux Kernel Card Services
   options:  [pci] [cardbus] [pm]
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
tridentfb: Trident framebuffer 0.7.8-NEWAPI initializing
tridentfb: framebuffer size = 2048 Kb
tridentfb: 0000:00:03.0 board found
tridentfb: 1024x768 flat panel found
Console: switching to colour frame buffer device 128x48
tridentfb: fb0: Trident frame buffer device 1024x768-16bpp
serio: i8042 AUX port at 0x60,0x64 irq 12
serio: i8042 KBD port at 0x60,0x64 irq 1
Serial: 8250/16550 driver $Revision: 1.90 $ 8 ports, IRQ sharing disabled
ttyS0 at I/O 0x3f8 (irq = 4) is a 16550A
Using anticipatory io scheduler
Floppy drive(s): fd0 is 1.44M
FDC 0 is a National Semiconductor PC87306
RAMDISK driver initialized: 16 RAM disks of 4096K size 1024 blocksize
loop: loaded (max 8 devices)
Uniform Multi-Platform E-IDE driver Revision: 7.00alpha2
ide: Assuming 33MHz system bus speed for PIO modes; override with idebus=xx
PIIXa: IDE controller at PCI slot 0000:00:01.0
PIIXa: chipset revision 2
PIIXa: bad irq (0): will probe later
PIIXa: neither IDE port enabled (BIOS)
Probing IDE interface ide0...
hda: IBM-DCRA-22110, ATA DISK drive
Probing IDE interface ide1...
ide1: Wait for ready failed before probe !
Probing IDE interface ide2...
ide2: Wait for ready failed before probe !
Probing IDE interface ide3...
ide3: Wait for ready failed before probe !
Probing IDE interface ide4...
ide4: Wait for ready failed before probe !
Probing IDE interface ide5...
ide5: Wait for ready failed before probe !
ide0 at 0x1f0-0x1f7,0x3f6 on irq 14
hda: max request size: 128KiB
hda: 4128768 sectors (2113 MB) w/96KiB Cache, CHS=4096/16/63
hda: cache flushes not supported
  hda: hda1 hda2 hda3
PCI: No IRQ known for interrupt pin A of device 0000:00:02.0. Please try using 
pci=biosirq.
Yenta: CardBus bridge found at 0000:00:02.0 [0000:0000]
Yenta: ISA IRQ mask 0x06b8, PCI irq 0
Socket status: 30000006
PCI: No IRQ known for interrupt pin B of device 0000:00:02.1. Please try using 
pci=biosirq.
Yenta: CardBus bridge found at 0000:00:02.1 [0000:0000]
Yenta: ISA IRQ mask 0x06b8, PCI irq 0
Socket status: 30000006
mice: PS/2 mouse device common for all mice
input: AT Translated Set 2 keyboard on isa0060/serio0
input: PS/2 Generic Mouse on isa0060/serio1
NET: Registered protocol family 2
IP: routing cache hash table of 512 buckets, 4Kbytes
TCP: Hash tables configured (established 8192 bind 16384)
kjournald starting.  Commit interval 5 seconds
EXT3-fs: mounted filesystem with ordered data mode.
VFS: Mounted root (ext3 filesystem) readonly.
Freeing unused kernel memory: 112k freed
Adding 98776k swap on /dev/hda2.  Priority:-1 extents:1
EXT3 FS on hda3, internal journal
kjournald starting.  Commit interval 5 seconds
EXT3 FS on hda1, internal journal
EXT3-fs: mounted filesystem with ordered data mode.
usbcore: registered new driver hub
ehci_hcd: block sizes: qh 128 qtd 96 itd 192 sitd 96
ohci_hcd: 2004 Feb 02 USB 1.1 'Open' Host Controller (OHCI) Driver (PCI)
ohci_hcd: block sizes: ed 64 td 64
USB Universal Host Controller Interface driver v2.2

<lspci -n>

00:00.0 Class 0600: 8086:1235 (rev 02)
00:01.0 Class 0601: 8086:122e (rev 02)
00:02.0 Class 0607: 104c:ac12 (rev 04)
00:02.1 Class 0607: 104c:ac12 (rev 04)
00:03.0 Class 0300: 1023:9660 (rev d3)
00:05.0 Class 0400: 1014:0057

<dump_pirq.pl>

No PCI interrupt routing table was found.

Interrupt router at 00:01.0: Intel 82371FB PIIX PCI-to-ISA bridge
   PIRQ1 (link 0x60): irq 11
   PIRQ2 (link 0x61): irq 11
   PIRQ3 (link 0x62): unrouted
   PIRQ4 (link 0x63): unrouted
   Serial IRQ: [disabled] [quiet] [frame=17] [pulse=4]
   Level mask: 0x0800 [11]


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-11-01 12:59           ` Jim Nelson
@ 2004-11-01 20:27             ` David Jez
  2004-11-02 14:15               ` Jim Nelson
  0 siblings, 1 reply; 11+ messages in thread
From: David Jez @ 2004-11-01 20:27 UTC (permalink / raw)
  To: Jim Nelson; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 1719 bytes --]

  Hi Jim,

> Need to compile a new kernel for this thing w/o tridentfb - doesn't work 
> right on my system for some reason.
> 
> <dmesg - haven't compiled a 2.6.9 for it yet>
>
> PCI: PCI BIOS revision 2.10 entry at 0xfd930, last bus=6
> PCI: Using configuration type 1
> Linux Kernel Card Services
>   options:  [pci] [cardbus] [pm]
> PCI: Probing PCI hardware
> PCI: Probing PCI hardware (bus 00)
  IRQ router is missing.

> PCI: No IRQ known for interrupt pin A of device 0000:00:02.0. Please try 
> using pci=biosirq.
> PCI: No IRQ known for interrupt pin B of device 0000:00:02.1. Please try 
> using pci=biosirq.
>
> 00:00.0 Class 0600: 8086:1235 (rev 02)
> 00:01.0 Class 0601: 8086:122e (rev 02)
> 00:02.0 Class 0607: 104c:ac12 (rev 04)
> 00:02.1 Class 0607: 104c:ac12 (rev 04)
> 00:03.0 Class 0300: 1023:9660 (rev d3)
> 00:05.0 Class 0400: 1014:0057
> 
> No PCI interrupt routing table was found.
> 
> Interrupt router at 00:01.0: Intel 82371FB PIIX PCI-to-ISA bridge
>   PIRQ1 (link 0x60): irq 11
>   PIRQ2 (link 0x61): irq 11
>   PIRQ3 (link 0x62): unrouted
>   PIRQ4 (link 0x63): unrouted
>   Serial IRQ: [disabled] [quiet] [frame=17] [pulse=4]
>   Level mask: 0x0800 [11]
  It looks that you have same problem and kernel doesn't find IRQ
router. So try attached patch (for 2.6.9 and added your bridge) if it helps.
I think that it may help (look at dump_pirq results).
  You can try turn on DEBUG (in file arch/i386/pci/pci.h) and see debug
messages on screen.

  Dave
-- 
-------------------------------------------------------
  David "Dave" Jez                Brno, CZ, Europe
 E-mail: dave.jez@seznam.cz
PGP key: finger xjezda00@eva.fit.vutbr.cz
---------=[ ~EOF ]=------------------------------------

[-- Attachment #2: irq-2.6.9.diff --]
[-- Type: text/plain, Size: 1233 bytes --]

--- linux-2.6.9/arch/i386/pci/irq.c.orig	Mon Oct 18 23:55:29 2004
+++ linux-2.6.9/arch/i386/pci/irq.c	Mon Nov  1 21:17:01 2004
@@ -589,6 +589,7 @@
 {
 	switch(device)
 	{
+	case PCI_DEVICE_ID_AL_M1523:
 	case PCI_DEVICE_ID_AL_M1533:
 	case PCI_DEVICE_ID_AL_M1563:
 		printk("PCI: Using ALI IRQ Router\n");
@@ -668,8 +669,20 @@
 
 	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 crippled 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)
+			pirq_router_dev = (pci_find_device(PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82371FB_0, NULL));
+		if (!pirq_router_dev) {
+			DBG("PCI: ...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++) {

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-11-01 20:27             ` David Jez
@ 2004-11-02 14:15               ` Jim Nelson
  2004-11-02 16:24                 ` Jim Nelson
  0 siblings, 1 reply; 11+ messages in thread
From: Jim Nelson @ 2004-11-02 14:15 UTC (permalink / raw)
  To: David Jez; +Cc: linux-kernel

[-- Attachment #1: Type: text/plain, Size: 2013 bytes --]

David Jez wrote:
>   Hi Jim,
> 
> 
>>Need to compile a new kernel for this thing w/o tridentfb - doesn't work 
>>right on my system for some reason.
>>
>><dmesg - haven't compiled a 2.6.9 for it yet>
>>
>>PCI: PCI BIOS revision 2.10 entry at 0xfd930, last bus=6
>>PCI: Using configuration type 1
>>Linux Kernel Card Services
>>  options:  [pci] [cardbus] [pm]
>>PCI: Probing PCI hardware
>>PCI: Probing PCI hardware (bus 00)
> 
>   IRQ router is missing.
> 
> 
>>PCI: No IRQ known for interrupt pin A of device 0000:00:02.0. Please try 
>>using pci=biosirq.
>>PCI: No IRQ known for interrupt pin B of device 0000:00:02.1. Please try 
>>using pci=biosirq.
>>
>>00:00.0 Class 0600: 8086:1235 (rev 02)
>>00:01.0 Class 0601: 8086:122e (rev 02)
>>00:02.0 Class 0607: 104c:ac12 (rev 04)
>>00:02.1 Class 0607: 104c:ac12 (rev 04)
>>00:03.0 Class 0300: 1023:9660 (rev d3)
>>00:05.0 Class 0400: 1014:0057
>>
>>No PCI interrupt routing table was found.
>>
>>Interrupt router at 00:01.0: Intel 82371FB PIIX PCI-to-ISA bridge
>>  PIRQ1 (link 0x60): irq 11
>>  PIRQ2 (link 0x61): irq 11
>>  PIRQ3 (link 0x62): unrouted
>>  PIRQ4 (link 0x63): unrouted
>>  Serial IRQ: [disabled] [quiet] [frame=17] [pulse=4]
>>  Level mask: 0x0800 [11]
> 
>   It looks that you have same problem and kernel doesn't find IRQ
> router. So try attached patch (for 2.6.9 and added your bridge) if it helps.
> I think that it may help (look at dump_pirq results).
>   You can try turn on DEBUG (in file arch/i386/pci/pci.h) and see debug
> messages on screen.
> 
>   Dave
> 
> 

That patch comes too late in the PCI init sequence for my machine. 
pirq_find_router() (where your patch goes) depends on pirq_table being set up by 
pirq_find_routing_table().  When I put in the debug statement in the attached 
patch, I got the "PCI: No Interrupt Routing Table found" message.  Since 
pirq_table wasn't set up, pirq_find_router() is never called.  Let me look at this 
some more (got vacation this week, so I can finally devote some time to this.)

Jim

[-- Attachment #2: pirq_fail_message.patch --]
[-- Type: text/x-patch, Size: 258 bytes --]

--- linux-2.6.9/arch/i386/pci/irq.c~~	2004-11-02 07:13:15.562669774 -0500
+++ linux-2.6.9/arch/i386/pci/irq.c	2004-11-02 09:01:05.911581344 -0500
@@ -80,6 +80,7 @@
 			return rt;
 		}
 	}
+	DBG("PCI: No Interrupt Routing Table found\n");
 	return NULL;
 }
 

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: PCI & IRQ problems on TI Extensa 600CD
  2004-11-02 14:15               ` Jim Nelson
@ 2004-11-02 16:24                 ` Jim Nelson
  0 siblings, 0 replies; 11+ messages in thread
From: Jim Nelson @ 2004-11-02 16:24 UTC (permalink / raw)
  To: David Jez; +Cc: linux-kernel

>>   It looks that you have same problem and kernel doesn't find IRQ
>> router. So try attached patch (for 2.6.9 and added your bridge) if it 
>> helps.
>> I think that it may help (look at dump_pirq results).
>>   You can try turn on DEBUG (in file arch/i386/pci/pci.h) and see debug
>> messages on screen.
>>
>>   Dave
>>
>>
> 
> That patch comes too late in the PCI init sequence for my machine. 
> pirq_find_router() (where your patch goes) depends on pirq_table being 
> set up by pirq_find_routing_table().  When I put in the debug statement 
> in the attached patch, I got the "PCI: No Interrupt Routing Table found" 
> message.  Since pirq_table wasn't set up, pirq_find_router() is never 
> called.  Let me look at this some more (got vacation this week, so I can 
> finally devote some time to this.)
> 
> Jim
> 

When I used pci=biosirq, this is what I got:


Linux version 2.6.9-Thinkpad (jim@david) (gcc version 3.3.3 20040412 (Red Hat 
Linux 3.3.3-7)) #9 Tue Nov 2 10:29:03 EST 2004

<snip>

PCI: BIOS32 Service Directory structure at 0xc00fd8e0
PCI: BIOS32 Service Directory entry at 0xfd8f0
PCI: BIOS probe returned s=00 hw=11 ver=02.10 l=06
PCI: PCI BIOS revision 2.10 entry at 0xfd930, last bus=6
PCI: Using configuration type 1
Linux Plug and Play Support v0.97 (c) Adam Belay
PnPBIOS: Scanning system for PnP BIOS support...
PnPBIOS: Found PnP BIOS installation structure at 0xc00fe700
PnPBIOS: PnP BIOS version 1.0, entry 0xf0000:0xe724, dseg 0xf0000
PnPBIOS: 17 nodes reported by PnP BIOS; 17 recorded by driver
PCI: Probing PCI hardware
PCI: Probing PCI hardware (bus 00)
PCI: Scanning for ghost devices on bus 0
PCI: Peer bridge fixup
PCI: IRQ init
PCI: Fetching IRQ routing table... OK  ret=14, size=48, map=800
PCI: Using BIOS Interrupt Routing Table
00:03 slot=00 0:01/def8 1:00/0000 2:00/0000 3:00/0000
00:05 slot=00 0:01/def8 1:00/0000 2:00/0000 3:00/0000
00:04 slot=00 0:01/def8 1:02/def8 2:03/def8 3:04/def8
PCI: Using BIOS for IRQ routing
PCI: IRQ fixup
0000:00:02.0: ignoring bogus IRQ 255
0000:00:02.1: ignoring bogus IRQ 255
IRQ for 0000:00:02.0:0 -> not found in routing table
IRQ for 0000:00:02.1:1 -> not found in routing table
PCI: Allocating resources
PCI: Resource 10812000-10812fff (f=200, d=0, p=0)
PCI: Resource 10811000-10811fff (f=200, d=0, p=0)
PCI: Resource 08000000-083fffff (f=200, d=0, p=0)
PCI: Resource 08400000-0840ffff (f=200, d=0, p=0)
PCI: Resource 08800000-08bfffff (f=200, d=0, p=0)
PCI: Resource 10810000-108100ff (f=200, d=0, p=0)
PCI: Sorting device list...
pnp: the driver 'system' has been registered
pnp: match found with the PnP device '00:10' and the driver 'system'
pnp: 00:10: ioport range 0x100-0x107 has been reserved
pnp: 00:10: ioport range 0x26e-0x26f has been reserved
pnp: 00:10: ioport range 0xd00-0xd01 has been reserved
pnp: 00:10: ioport range 0x15e8-0x15ef has been reserved
apm: BIOS version 1.2 Flags 0x03 (Driver version 1.16ac)
Initializing Cryptographic API
isapnp: Scanning for PnP cards...
isapnp: No Plug & Play device found

<snip>

Linux Kernel Card Services
   options:  [pci] [cardbus] [pm]
IRQ for 0000:00:02.0:0 -> not found in routing table
PCI: No IRQ known for interrupt pin A of device 0000:00:02.0.
Yenta: CardBus bridge found at 0000:00:02.0 [0000:0000]
Yenta: ISA IRQ mask 0x06b8, PCI irq 0
Socket status: 30000006
IRQ for 0000:00:02.1:1 -> not found in routing table
PCI: No IRQ known for interrupt pin B of device 0000:00:02.1.
Yenta: CardBus bridge found at 0000:00:02.1 [0000:0000]
Yenta: ISA IRQ mask 0x06b8, PCI irq 0
Socket status: 30000006
cs: IO port probe 0x0c00-0x0cff: clean.
cs: IO port probe 0x0820-0x08ff: clean.
cs: IO port probe 0x0800-0x080f: clean.
cs: IO port probe 0x03e0-0x04ff: excluding 0x4d0-0x4d7
cs: IO port probe 0x0100-0x03af: excluding 0x200-0x207
cs: IO port probe 0x0a00-0x0aff: excluding 0xa68-0xa6f
spurious 8259A interrupt: IRQ7.

It's a BIOS problem.  Linux is capable of retreiving the pirq table using BIOS 
calls, but the table the BIOS returns does not have entries for the Cardbus 
bridge.  I think I might be out of luck.  Lemme go do some research, and see what 
I can dig up.

Jim

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2004-11-02 16:44 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-10-23 14:29 PCI & IRQ problems on TI Extensa 600CD David Jez
2004-10-23 19:53 ` Jim Nelson
2004-10-25 16:19   ` David Jez
2004-10-29  8:18     ` David Jez
2004-10-29  9:50       ` Jim Nelson
2004-10-29 10:14         ` David Jez
2004-11-01  8:42         ` David Jez
2004-11-01 12:59           ` Jim Nelson
2004-11-01 20:27             ` David Jez
2004-11-02 14:15               ` Jim Nelson
2004-11-02 16:24                 ` Jim Nelson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).