Messages in this thread | | | Date | Thu, 25 Mar 1999 23:52:21 +0100 | From | Frank de Lange <> | Subject | DMA related problems (freeze) with Intel 430FX chipset, solved |
| |
Hi'all,
I have been experiencing sudden freezes of my system ever since I got past the 2.1.1xx kernel version (I don ot remember which version it was exactly). These freezes were very reproducible, but they only occur in specific situations. Examples of these are:
- run esd (enlightened sound daemon), which does nasty things to the sound interrupt by generating app. 700 interrupts per second AND THEN access the SCSI-bus for a lengthy file transfer -> freeze after app. 2 seconds - at 04:00 AM, have a SCSI-CDROM mounted. It will get caught by the various cron jobs which are fired off at that time. After some time the system freezes.
All freezes are just that, sudden rigor mortis without any warning whatsoever in log files or otherwise. This is a clear indicator for a hardware-related problem, so I started looking.
I found out several other people had problems with the 2.2.x series on hardware containing Intel 430FX and other chipsets. The problems look remarkably similar to problems encountered on systems using the VIA VP2/VP3/MVP3 chipsets, for which a fix is already in place in drivers/pci/quirks.c (quirk_isa_dma_hangs()).
Adding the Intel 82437 chip (PCI_VENDOR_ID_INTEL, PCI_DEVICE_ID_INTEL_82437) to the quirk_list[] array solved my problems, as it does for those VIA users. Therefore, it seems that the 430FX (and possibly other Intel chipsets) also have problems with rapid DMA en- and disabling activities.
ATTENTION: I am not totally sure that I the chip I blame for these problems is actually the correct one. On my box (Inten Endeavour MB, 430FX chipset) there are three 430FX chips:
pci bus 0x0 cardnum 0x00 function 0x0000: vendor 0x8086 device 0x122d Intel 82437 Triton pci bus 0x0 cardnum 0x07 function 0x0000: vendor 0x8086 device 0x122e Intel 82471 Triton pci bus 0x0 cardnum 0x07 function 0x0001: vendor 0x8086 device 0x1230 Intel 82371 bus-master IDE controller
The 82437 is the system controller. I chose this one because I think it is the culprit, but it might be that the actual problems are caused by the 82471. The chip to look for would be the one which implements the ISA_DMA functions. It works for me, but it needs more testing on other systems.
A patch which implements this fix is attached (ASCII, just a couple of lines)
Cheers//Frank
-- WWWWW ________________________ ## o o\ / Frank de Lange \ }# \| / +31-70-3712708 day \ ##---# _/ +31-320-252965 night \ #### \ frank.de.lange@inet.kpn.com / \ frank@animalhouse.dhs.org / --------------------------
- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.rutgers.edu Please read the FAQ at http://www.tux.org/lkml/
| |