[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

PCI devices causing machine lockups on SX164



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



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index] []