Hello!
I apologize for this long mail, but I have a very strange problem. If you
don't know your low-level PCI and/or kernel hacking, feel free to delete
this mail.
--I've got a problem with my 164SX machine and PCI using Linux 2.3.47. Newer versions of linux kernels did not compile for me. The machine has these PCI units:
o Matrox Mystique (MGA 1064SG) VGA card o Symbios logic (ncr 53c875) UW SCSI card o Addtron (digital 21140) 10/100Mb network card o Brooktree WinTV (Bt878) card o Cypress (82c693) PCI IDE built into motherboard o AOpen AW37 (Crystal cs4235) ISA PnP audio card behind Cypress PCI->ISA bridge
The problem is that my machine locks up or if I'm lucky the WinTV card stops to function correctly. Under "normal operation" using VGA, SCSI and network the machine is stable. If I add one of {WinTV|IDE|audio} to "normal operation" above, everything works just fine. If I use IDE and audio at the same time I get bad audio output (see below). Lockups occur spuriously when I:
1) use the WinTV card and the built IDE controller at the same time. 2) use the WinTV and sound cards at the same time.
When my WinTV card stops to function but the machine survives, error messages of this sort pop out of the kernel:
PYXIS PCI machine check: err0=06400206 err1=c44ec42d err2=c44ec42d
I've seen a similar PCI machine check at tulip load time too (see below). There are no hints in the kernel source about this. What does it mean, why do they occur, and are they related to my lockups?
The odd thing with the IDE controller and the PCI->ISA bridge is that both of them have the latency timer set to 0. However in the PCI registers, the PCI_COMMAND_MASTER bit is set to enable bus mastering. If I remember my PCI correctly this is supposed to mean that any other unit may interrupt each PCI transfer coming from this device at any time. The Pyxis PCI chipset obviously doesn't comply to this, instead it lets those devices make as long transfers as they like without any arbitration.
I know this because high speed DMA to the Cypress IDE controller starves other PCI units from the bus. If I do 64kB block DMA from the disk and play audio at the same time, the audio output is garbled by FIFO underrun in the audio card's DMA. It sounds a little as if the audio is played at a too low and instable sample rate.
As the PCI chipset is not aborting the transfer, this means that the IDE controller may transfer a maximum of 64kB of data for block IDE transfers in one PCI transfer! I have tried to change the latency timer on both the IDE controller and the PCI->ISA bridge, but they are both hardcoded to 0. Great.
There is one more way to limit the PCI transfer sizes, and this is using the master latency timer. It is by default set to 65280 and I've tried to change this to a much lower value, 32. This actually solves the problem of bad audio in combination with IDE. However, it makes the machine lockup even easier as soon as I start X.
The WinTV card generates quite an amount of traffic on the PCI bus as it is able to overlay a possibly scaled TV image directly onto the graphics card. I'm guessing it doesn't know what to do if it can't get access to the PCI bus quick enough.
I guess I can live without the crappy IDE controller, but I really want my WinTV and audio cards to work simultaneously. If anyone has some hint regarding how to solve this problem, please let me know. Below are printouts of /proc/pci and kernel messages.
---- /proc/pci ----
PCI devices found: Bus 0, device 5, function 0: Multimedia video controller: Brooktree Corporation Bt878 (rev 17). IRQ 25. Master Capable. Latency=32. Min Gnt=16.Max Lat=40. Prefetchable 32 bit memory at 0x9000000 [0x9000fff]. Bus 0, device 5, function 1: Multimedia controller: Brooktree Corporation Bt878 (rev 17). IRQ 25. Master Capable. Latency=32. Min Gnt=4.Max Lat=255. Prefetchable 32 bit memory at 0x9001000 [0x9001fff]. Bus 0, device 6, function 0: SCSI storage controller: Symbios Logic Inc. (formerly NCR) 53c875 (rev 3). IRQ 27. Master Capable. Latency=32. Min Gnt=17.Max Lat=64. I/O at 0x8000 [0x80ff]. Non-prefetchable 32 bit memory at 0x9002000 [0x90020ff]. Non-prefetchable 32 bit memory at 0x9003000 [0x9003fff]. Bus 0, device 7, function 0: Ethernet controller: Digital Equipment Corporation DECchip 21140 [FasterNet] (rev 34). IRQ 26. Master Capable. Latency=32. Min Gnt=20.Max Lat=40. I/O at 0x8800 [0x887f]. Non-prefetchable 32 bit memory at 0x9004000 [0x900407f]. Bus 0, device 8, function 0: ISA bridge: Contaq Microsystems 82c693 (rev 0). Bus 0, device 8, function 1: IDE interface: Contaq Microsystems 82c693 (#2) (rev 0). I/O at 0x1f0 [0x1f7]. I/O at 0x3f6 [0x3f6]. I/O at 0x9000 [0x900f]. Bus 0, device 8, function 2: IDE interface: Contaq Microsystems 82c693 (#3) (rev 0). I/O at 0x170 [0x177]. I/O at 0x376 [0x376]. Non-prefetchable 32 bit memory at 0x3060000 [0x306ffff]. Bus 0, device 8, function 3: USB Controller: Contaq Microsystems 82c693 (#4) (rev 0). Master Capable. Latency=32. Non-prefetchable 32 bit memory at 0x3077000 [0x3077fff]. Bus 0, device 9, function 0: VGA compatible controller: Matrox Graphics, Inc. MGA 1064SG [Mystique] (rev 3). IRQ 24. Master Capable. Latency=32. Prefetchable 32 bit memory at 0x9800000 [0x9ffffff]. Non-prefetchable 32 bit memory at 0x9008000 [0x900bfff]. Non-prefetchable 32 bit memory at 0xa000000 [0xa7fffff].
---- boot messages ----
Mar 30 01:06:49 ymer kernel: Linux version 2.3.47 (root@ymer) (gcc version egcs-2.91.66 19990314/Linux (egcs-1.1.2 release)) #9 Sun Mar 19 23:32:48 CET 2000 Mar 30 01:06:49 ymer kernel: Booting on EB164 variation SX164 using machine vector SX164 from MILO Mar 30 01:06:49 ymer kernel: Command line: bootdevice=sda6 bootfile=boot/vmlinuz root=/dev/sda6 console=ttyS0 Mar 30 01:06:49 ymer kernel: memcluster 0, usage 2, start 0, end 1 Mar 30 01:06:49 ymer kernel: memcluster 1, usage 0, start 1, end 222 Mar 30 01:06:49 ymer kernel: memcluster 2, usage 2, start 222, end 224 Mar 30 01:06:49 ymer kernel: memcluster 3, usage 0, start 224, end 256 Mar 30 01:06:49 ymer kernel: memcluster 4, usage 2, start 256, end 328 Mar 30 01:06:49 ymer kernel: memcluster 5, usage 0, start 328, end 384 Mar 30 01:06:49 ymer kernel: memcluster 6, usage 2, start 384, end 699 Mar 30 01:06:49 ymer kernel: memcluster 7, usage 0, start 699, end 16384 Mar 30 01:06:49 ymer kernel: freeing pages 699:16384 Mar 30 01:06:49 ymer kernel: PYXIS: Enabling broken tbia workaround. Mar 30 01:06:49 ymer kernel: On node 0 totalpages: 16384 Mar 30 01:06:49 ymer kernel: zone(0): 16384 pages. Mar 30 01:06:49 ymer kernel: zone(1): 0 pages. Mar 30 01:06:49 ymer kernel: zone(2): 0 pages. Mar 30 01:06:49 ymer kernel: Console: colour VGA+ 80x25 Mar 30 01:06:49 ymer kernel: Calibrating delay loop... 528.48 BogoMIPS Mar 30 01:06:49 ymer kernel: Memory: 122992k/131072k available (1167k kernel code, 4960k reserved, 299k data, 216k init) Mar 30 01:06:49 ymer kernel: Buffer-cache hash table entries: 8192 (order: 3, 65536 bytes) Mar 30 01:06:49 ymer kernel: Page-cache hash table entries: 16384 (order: 4, 131072 bytes) Mar 30 01:06:49 ymer kernel: POSIX conformance testing by UNIFIX Mar 30 01:06:49 ymer kernel: PCI: No parent found for region 4 of device Contaq Microsystems 82c693 (#2) Mar 30 01:06:49 ymer kernel: SMC37c669 Super I/O Controller found @ 0x3f0 Mar 30 01:06:49 ymer kernel: Linux NET4.0 for Linux 2.3 Mar 30 01:06:49 ymer kernel: Based upon Swansea University Computer Society NET3.039 Mar 30 01:06:49 ymer kernel: NET4: Unix domain sockets 1.0/SMP for Linux NET4.0. Mar 30 01:06:49 ymer kernel: NET4: Linux TCP/IP 1.0 for NET4.0 Mar 30 01:06:49 ymer kernel: IP Protocols: ICMP, UDP, TCP, IGMP Mar 30 01:06:49 ymer atd: atd startup succeeded Mar 30 01:06:49 ymer kernel: IP: routing cache hash table of 1024 buckets, 16Kbytes Mar 30 01:06:49 ymer kernel: TCP: Hash tables configured (established 8192 bind 8192) Mar 30 01:06:49 ymer kernel: Initializing RT netlink socket Mar 30 01:06:49 ymer kernel: Starting kswapd v1.6 Mar 30 01:06:49 ymer kernel: initialize_kbd: Keyboard reset failed, no ACK Mar 30 01:06:49 ymer kernel: Serial driver version 4.92 (2000-1-27) with MANY_PORTS SHARE_IRQ SERIAL_PCI enabled Mar 30 01:06:49 ymer kernel: keyboard: Timeout - AT keyboard not present? Mar 30 01:06:49 ymer kernel: keyboard: Timeout - AT keyboard not present? Mar 30 01:06:49 ymer kernel: ttyS00 at 0x03f8 (irq = 4) is a 16550A Mar 30 01:06:49 ymer kernel: ttyS01 at 0x02f8 (irq = 3) is a 16550A Mar 30 01:06:50 ymer kernel: pty: 256 Unix98 ptys configured Mar 30 01:06:50 ymer kernel: Uniform Multi-Platform E-IDE driver Revision: 6.30 Mar 30 01:06:50 ymer kernel: CY82C693: IDE controller on PCI bus 00 dev 41 Mar 30 01:06:50 ymer kernel: CY82C693: not 100% native mode: will probe irqs later Mar 30 01:06:50 ymer kernel: CY82C693U driver v0.34 99-09-03 Andreas S. Krebs (akrebs@altavista.net) Mar 30 01:06:50 ymer kernel: ide0: BM-DMA at 0x9000-0x9007, BIOS settings: hda:DMA, hdb:DMA Mar 30 01:06:50 ymer kernel: ide1: BM-DMA at 0x9008-0x900f, BIOS settings: hdc:pio, hdd:DMA Mar 30 01:06:50 ymer kernel: hda: IBM-DHEA-36480, ATA DISK drive Mar 30 01:06:50 ymer kernel: ide0 at 0x1f0-0x1f7,0x3f6 on irq 14 Mar 30 01:06:50 ymer kernel: hda: IBM-DHEA-36480, 6197MB w/476kB Cache, CHS=12592/16/63, (U)DMA Mar 30 01:06:50 ymer kernel: Partition check: Mar 30 01:06:50 ymer kernel: hda: hda1 Mar 30 01:06:50 ymer kernel: ncr53c8xx: at PCI bus 0, device 6, function 0 Mar 30 01:06:50 ymer kernel: ncr53c8xx: 53c875 detected with Symbios NVRAM Mar 30 01:06:50 ymer kernel: ncr53c875-0: rev 0x3 on pci bus 0 device 6 function 0 irq 27 Mar 30 01:06:50 ymer kernel: ncr53c875-0: Symbios format NVRAM, ID 7, Fast-20, Parity Checking Mar 30 01:06:50 ymer kernel: ncr53c875-0: initial SCNTL3/DMODE/DCNTL/CTEST3/4/5 = (hex) 05/46/a0/00/00/24 Mar 30 01:06:50 ymer kernel: ncr53c875-0: final SCNTL3/DMODE/DCNTL/CTEST3/4/5 = (hex) 05/46/a0/00/08/24 Mar 30 01:06:50 ymer kernel: ncr53c875-0: on-chip RAM at 0x9003000 Mar 30 01:06:50 ymer kernel: ncr53c875-0: resetting, command processing suspended for 2 seconds Mar 30 01:06:50 ymer kernel: ncr53c875-0: restart (scsi reset). Mar 30 01:06:50 ymer kernel: ncr53c875-0: enabling clock multiplier Mar 30 01:06:50 ymer kernel: ncr53c875-0: Downloading SCSI SCRIPTS. Mar 30 01:06:50 ymer kernel: scsi0 : ncr53c8xx - version 3.2e Mar 30 01:06:50 ymer kernel: scsi : 1 host. Mar 30 01:06:50 ymer kernel: ncr53c875-0: command processing resumed Mar 30 01:06:50 ymer kernel: Vendor: SEAGATE Model: ST34572W Rev: 0784 Mar 30 01:06:50 ymer kernel: Type: Direct-Access ANSI SCSI revision: 02 Mar 30 01:06:50 ymer kernel: Detected scsi disk sda at scsi0, channel 0, id 0, lun 0 Mar 30 01:06:50 ymer kernel: Vendor: PIONEER Model: DVD-ROM DVD-303 Rev: 1.10 Mar 30 01:06:50 ymer crond: crond startup succeeded Mar 30 01:06:50 ymer kernel: Type: CD-ROM ANSI SCSI revision: 02 Mar 30 01:06:50 ymer kernel: Detected scsi CD-ROM sr0 at scsi0, channel 0, id 2, lun 0 Mar 30 01:06:50 ymer kernel: Vendor: MATSHITA Model: CD-R CW-7502 Rev: 4.17 Mar 30 01:06:50 ymer kernel: Type: CD-ROM ANSI SCSI revision: 02 Mar 30 01:06:50 ymer kernel: Detected scsi CD-ROM sr1 at scsi0, channel 0, id 6, lun 0 Mar 30 01:06:50 ymer kernel: ncr53c875-0-<0,0>: tagged command queue depth set to 8 Mar 30 01:06:50 ymer kernel: scsi : detected 2 SCSI cdroms 1 SCSI disk total. Mar 30 01:06:50 ymer kernel: ncr53c875-0-<2,*>: FAST-20 SCSI 20.0 MB/s (50 ns, offset 8) Mar 30 01:06:50 ymer kernel: sr0: scsi3-mmc drive: 0x/0x cd/rw xa/form2 cdda tray Mar 30 01:06:50 ymer kernel: Uniform CD-ROM driver Revision: 3.06 Mar 30 01:06:50 ymer kernel: ncr53c875-0-<6,*>: FAST-10 SCSI 10.0 MB/s (100 ns, offset 8) Mar 30 01:06:50 ymer kernel: sr1: scsi3-mmc drive: 8x/8x writer xa/form2 cdda tray Mar 30 01:06:50 ymer kernel: ncr53c875-0-<0,*>: WIDE SCSI (16 bit) enabled. Mar 30 01:06:50 ymer kernel: ncr53c875-0-<0,*>: FAST-20 WIDE SCSI 40.0 MB/s (50 ns, offset 15) Mar 30 01:06:50 ymer kernel: SCSI device sda: hdwr sector= 512 bytes. Sectors= 8888924 [4340 MB] [4.3 GB] Mar 30 01:06:51 ymer kernel: sda: sda1 sda2 sda3 < sda5 sda6 sda7 > Mar 30 01:06:51 ymer kernel: VFS: Mounted root (ext2 filesystem) readonly. Mar 30 01:06:51 ymer kernel: Freeing unused kernel memory: 216k freed Mar 30 01:06:51 ymer kernel: Adding Swap: 263136k swap-space (priority -1) Mar 30 01:06:51 ymer kernel: keyboard: Timeout - AT keyboard not present?
---- tulip 21140 load ----
Mar 30 01:06:51 ymer kernel: Linux Tulip driver version 0.9.2 (Feb 15, 2000) Mar 30 01:06:51 ymer kernel: eth0: Digital DS21140 Tulip rev 34 at 0x8800,<2>PYXIS PCI machine check: err0=03060000 err1=32000040 err2=00000030 Mar 30 01:06:51 ymer kernel: 00:40:33:9F:1A:19, IRQ 26. Mar 30 01:06:51 ymer kernel: eth0: EEPROM default media type Autosense. Mar 30 01:06:51 ymer kernel: eth0: Index #0 - Media 10baseT (#0) described by a 21140 non-MII (0) block. Mar 30 01:06:51 ymer kernel: eth0: Index #1 - Media 100baseTx (#3) described by a 21140 non-MII (0) block. Mar 30 01:06:51 ymer kernel: eth0: Index #2 - Media 10baseT-FD (#4) described by a 21140 non-MII (0) block. Mar 30 01:06:51 ymer kernel: eth0: Index #3 - Media 100baseTx-FD (#5) described by a 21140 non-MII (0) block. Mar 30 01:06:51 ymer kernel: eth0: MII transceiver #1 config 3000 status 782d advertising 05e1. Mar 30 01:06:55 ymer kernel: keyboard: Timeout - AT keyboard not present?
---- cs4235 load ----
Mar 30 03:33:08 ymer kernel: ad1848/cs4248 codec driver Copyright (C) by Hannu Savolainen 1993-1996
---- bttv load ----
Mar 30 20:13:56 ymer kernel: Linux video capture interface: v1.00 Mar 30 20:13:56 ymer kernel: i2c-core.o: i2c core module Mar 30 20:13:56 ymer kernel: i2c-algo-bit.o: i2c bit algorithm module Mar 30 20:13:57 ymer kernel: bttv: driver version 0.7.13 loaded Mar 30 20:13:57 ymer kernel: bttv0: Brooktree Bt878 (rev 17) bus: 0, devfn: 40, irq: 25, memory: 0x9000000. Mar 30 20:13:57 ymer kernel: PCI: Enabling bus mastering for device 00:05.0 Mar 30 20:13:57 ymer kernel: bttv: 1 Bt8xx card(s) found. Mar 30 20:13:57 ymer kernel: i2c-core.o: adapter bt848 #0 registered as adapter 0. Mar 30 20:13:57 ymer kernel: bttv0: i2c: checking for eeprom @ 0xa0... found Mar 30 20:13:57 ymer kernel: bttv0: i2c: checking for eeprom @ 0xa0... found Mar 30 20:13:57 ymer kernel: id: WinTV Theater (0x13eb), vendor: Hauppauge (0x0070) Mar 30 20:13:57 ymer kernel: => card=10 (Hauppauge new (bt878)) Mar 30 20:13:57 ymer kernel: bttv0: model: BT878(Hauppauge new (bt878)) Mar 30 20:13:57 ymer kernel: bttv0: Hauppauge eeprom: tuner=Philips FM1216 (5) Mar 30 20:13:57 ymer kernel: bttv0: i2c: checking for MSP34xx @ 0x80... found Mar 30 20:13:57 ymer kernel: i2c-core.o: driver i2c msp3400 driver registered. Mar 30 20:13:57 ymer kernel: msp3400: init: chip=MSP3415D-B3, has NICAM support Mar 30 20:13:57 ymer kernel: msp3400: daemon started Mar 30 20:13:57 ymer kernel: bttv0: i2c attach [MSP3415D-B3] Mar 30 20:13:57 ymer kernel: i2c-core.o: client [MSP3415D-B3] registered to adapter [bt848 #0](pos. 0). Mar 30 20:13:57 ymer kernel: bttv0: i2c: checking for TDA8425 @ 0x82... not found Mar 30 20:13:57 ymer kernel: bttv0: i2c: checking for TDA985x @ 0xb6... not found Mar 30 20:13:58 ymer kernel: i2c-core.o: driver i2c TV tuner driver registered. Mar 30 20:13:58 ymer kernel: tuner: chip found @ 0x61 Mar 30 20:13:58 ymer kernel: bttv0: i2c attach [Philips PAL] Mar 30 20:13:58 ymer kernel: i2c-core.o: client [Philips PAL] registered to adapter [bt848 #0](pos. 1). Mar 30 20:13:58 ymer kernel: bttv0: PLL: 28636363 => 35468950 ... ok
---- bttv died ----
Mar 30 20:14:40 ymer kernel: PYXIS PCI machine check: err0=06400206 err1=c44ec42d err2=c44ec42d
---- bttv unload after it hung (no, I have no penguin on my i2c bus! :) ----
Mar 30 20:30:00 ymer kernel: msp3400: chip reset failed, penguin on i2c bus? Mar 30 20:30:00 ymer kernel: bttv0: i2c detach [MSP3415D-B3] Mar 30 20:30:00 ymer kernel: i2c-core.o: client [MSP3415D-B3] unregistered. Mar 30 20:30:00 ymer kernel: bttv0: i2c detach [Philips PAL] Mar 30 20:30:00 ymer kernel: i2c-core.o: client [Philips PAL] unregistered. Mar 30 20:30:00 ymer kernel: i2c-core.o: adapter unregistered: bt848 #0 Mar 30 20:40:01 ymer kernel: i2c-core.o: driver unregistered: i2c TV tuner driver Mar 30 20:40:01 ymer kernel: i2c-core.o: driver unregistered: i2c msp3400 driver
/Andreas
-- To unsubscribe: send e-mail to axp-list-request@redhat.com with 'unsubscribe' as the subject. Do not send it to axp-list@redhat.com
This archive was generated by hypermail version 2a22 on Sat Apr 1 04:15:01 2000 PST
Send any problems or questions about this archive to webmaster@alphalinux.org.