All of lore.kernel.org
 help / color / mirror / Atom feed
* Re: [OOPS?] 2.6-test11 : problem about irq18.
@ 2003-12-08 18:48 Jon Burgess
       [not found] ` <3FD5E454.2030404@inp-net.eu.org>
  0 siblings, 1 reply; 5+ messages in thread
From: Jon Burgess @ 2003-12-08 18:48 UTC (permalink / raw)
  To: raphael.rigo; +Cc: linux kernel

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

Raphaël Rigo wrote:

 > Dec 7 18:27:45 pici kernel: Disabling IRQ #18
 >
 > I am using a P4 2.6 Ghz without HT activated
 > 512 MB DDR PC3200 on an ASUS P4P800 Deluxe MB.
 > HardDrive is on SATA (native mode) : Maxtor 6Y120MO.

Sounds like the known problem with an interrupt storm with the ICH5
See "Issue #2" at 
http://www.ussg.iu.edu/hypermail/linux/kernel/0312.0/0597.html

 > 2.4.23 doesn't have this problem but keeps using 30-50% CPU even if I 
do nothing.

Try vmstat, I expect you'll see ~100k IRQ/s

You could try using the ata_piix driver (located amongst the SCSI drivers).

If that still doesn't help, you could try adding the patch attached to 
drivers/scsi/libata-core.c
this should make the ata_piix driver catch the spurious interrupts

    Jon


[-- Attachment #2: libata-spurious2.diff --]
[-- Type: text/plain, Size: 1322 bytes --]

--- libata-core.c-orig	2003-12-07 01:54:19.000000000 +0000
+++ libata-core.c	2003-12-07 16:25:11.961806872 +0000
@@ -2386,6 +2386,37 @@
 }
 
 /**
+ *	ata_chk_spurious_int - Check for spurious interrupts
+ *	@ap: port to which command is being issued
+ *
+ *	Examines the DMA status registers and clears
+ *      unexpected interrupts
+ *
+ *	LOCKING:
+ */
+static inline void ata_chk_spurious_int(struct ata_port *ap) {
+	int host_stat;
+	
+	if (ap->flags & ATA_FLAG_MMIO) {
+		void *mmio = (void *) ap->ioaddr.bmdma_addr;
+		host_stat = readb(mmio + ATA_DMA_STATUS);
+	} else
+		host_stat = inb(ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
+	
+	if ((host_stat & (ATA_DMA_INTR | ATA_DMA_ERR | ATA_DMA_ACTIVE)) == ATA_DMA_INTR) {
+		if (ap->flags & ATA_FLAG_MMIO) {
+			void *mmio = (void *) ap->ioaddr.bmdma_addr;
+			writeb(host_stat & ~ATA_DMA_ERR, mmio + ATA_DMA_STATUS);
+		} else
+			outb(host_stat & ~ATA_DMA_ERR, ap->ioaddr.bmdma_addr + ATA_DMA_STATUS);
+		
+		DPRINTK("ata%u: Caught spurious interrupt, status 0x%X\n", ap->id, host_stat);
+		udelay(1);
+	}
+}
+
+
+/**
  *	ata_interrupt -
  *	@irq:
  *	@dev_instance:
@@ -2417,6 +2448,7 @@
 			qc = ata_qc_from_tag(ap, ap->active_tag);
 			if (qc && ((qc->flags & ATA_QCFLAG_POLL) == 0))
 				handled += ata_host_intr(ap, qc);
+			ata_chk_spurious_int(ap);
 		}
 	}
 

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

* Re: [2.6.1-rc2] SATA problem.
       [not found]                 ` <3FD62990.80708@inp-net.eu.org>
@ 2004-01-06 18:32                   ` Jon Burgess
  2004-01-06 19:01                     ` Matthias Hentges
  0 siblings, 1 reply; 5+ messages in thread
From: Jon Burgess @ 2004-01-06 18:32 UTC (permalink / raw)
  To: Raphaël Rigo, linux kernel

In a previous email, Rigo sent me the following boot log + lspci info 
giving further details of the ICH5 in his setup.

The thing which looked most odd to me was that both controllers appear 
to be configured in native mode on IRQ 18 and for some reason this 
appears to give some trouble. In particular he was seeing an "unhandled 
interrupt" error on IRQ 18.

Enabling the sata_piix driver and disabling the ide_piix code was enough 
to get the machine to boot, but I don't know what the real cause of the 
problem.

Raphaël Rigo wrote in a previous email to me:

> Here are the bootlog (of working boot, ask me if you need the one of 
> the non working one because I must copy it by hand) and lspci -vvv
>
>
> Dec  9 20:41:46 pici kernel: Uniform Multi-Platform E-IDE driver 
> Revision: 7.00alpha2
> Dec  9 20:41:46 pici kernel: ide: Assuming 33MHz system bus speed for 
> PIO modes; override with idebus=xx
> Dec  9 20:41:46 pici kernel: ide2: I/O resource 0x3EE-0x3EE not free.
> Dec  9 20:41:46 pici kernel: ide2: ports already in use, skipping probe
> Dec  9 20:41:46 pici kernel: libata version 0.81 loaded.
> Dec  9 20:41:46 pici kernel: ata_piix version 0.95
> Dec  9 20:41:46 pici kernel: PCI: Setting latency timer of device 
> 0000:00:1f.2 to 64
> Dec  9 20:41:46 pici kernel: ata1: SATA max UDMA/133 cmd 0xEF88 ctl 
> 0xEF86 bmdma 0xEE60 irq 18
> Dec  9 20:41:46 pici kernel: ata2: SATA max UDMA/133 cmd 0xEF68 ctl 
> 0xEF82 bmdma 0xEE68 irq 18
> Dec  9 20:41:46 pici kernel: ata1: SATA port has no device. disabling.
> Dec  9 20:41:46 pici kernel: ata1: thread exiting
> Dec  9 20:41:46 pici kernel: scsi0 : ata_piix
> Dec  9 20:41:46 pici kernel: ata2: dev 0 cfg 49:2f00 82:7c6b 83:7b09 
> 84:4003 85:7c49 86:3a01 87:4003 88:207f
> Dec  9 20:41:46 pici kernel: ata2: dev 0 ATA, max UDMA/133, 240121728 
> sectors
> Dec  9 20:41:46 pici kernel: ata2: dev 0 configured for UDMA/133
> Dec  9 20:41:46 pici kernel: scsi1 : ata_piix
> Dec  9 20:41:46 pici kernel:   Vendor: ATA       Model: Maxtor 
> 6Y120M0    Rev: 0.81
> Dec  9 20:41:46 pici kernel:   Type:   
> Direct-Access                      ANSI SCSI revision: 05
> Dec  9 20:41:46 pici kernel: SCSI device sda: 240121728 512-byte hdwr 
> sectors (122942 MB)
> Dec  9 20:41:46 pici kernel: SCSI device sda: drive cache: write through
> Dec  9 20:41:46 pici kernel:  sda: sda1 sda2 < sda5 sda6 sda7 sda8 > sda3
> Dec  9 20:41:46 pici kernel: Attached scsi disk sda at scsi1, channel 
> 0, id 0, lun 0
> Dec  9 20:41:46 pici kernel: Attached scsi generic sg0 at scsi1, 
> channel 0, id 0, lun 0,  type 0
>
>
> 00:1f.1 IDE interface: Intel Corp.: Unknown device 24db (rev 02) 
> (prog-if 8f [Master SecP SecO PriP PriO])
>     Subsystem: Asustek Computer, Inc.: Unknown device 80a6
>     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
>     Interrupt: pin A routed to IRQ 18
>     Region 0: I/O ports at efe0 [size=8]
>     Region 1: I/O ports at efac [size=4]
>     Region 2: I/O ports at efa0 [size=8]
>     Region 3: I/O ports at efa8 [size=4]
>     Region 4: I/O ports at ef90 [size=16]
>     Region 5: Memory at 20000000 (32-bit, non-prefetchable) [size=1K]
>
> 00:1f.2 IDE interface: Intel Corp.: Unknown device 24d1 (rev 02) 
> (prog-if 8f [Master SecP SecO PriP PriO])
>     Subsystem: Asustek Computer, Inc.: Unknown device 80a6
>     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
>     Interrupt: pin A routed to IRQ 18
>     Region 0: I/O ports at ef88 [size=8]
>     Region 1: I/O ports at ef84 [size=4]
>     Region 2: I/O ports at ef68 [size=8]
>     Region 3: I/O ports at ef80 [size=4]
>     Region 4: I/O ports at ee60 [size=16]
>
    Jon



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

* Re: [2.6.1-rc2] SATA problem.
  2004-01-06 18:32                   ` [2.6.1-rc2] SATA problem Jon Burgess
@ 2004-01-06 19:01                     ` Matthias Hentges
  2004-01-06 20:06                       ` Raphaël RIGO
  0 siblings, 1 reply; 5+ messages in thread
From: Matthias Hentges @ 2004-01-06 19:01 UTC (permalink / raw)
  To: linux kernel


FWIW my P4P 800 Deluxe w/ SATA and PATA drives works fine in 2.6.
The trick for me was to configure "Enhanced Mode, SATA only" in
the BIOS.

See http://www.hentges.net/howtos/p4p800_SATA.html for details.

HTH
-- 

Matthias Hentges 
Cologne / Germany

[www.hentges.net] -> PGP welcome, HTML tolerated
ICQ: 97 26 97 4   -> No files, no URL's

My OS: Debian Woody. Geek by Nature, Linux by Choice


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

* Re: [2.6.1-rc2] SATA problem.
  2004-01-06 19:01                     ` Matthias Hentges
@ 2004-01-06 20:06                       ` Raphaël RIGO
  0 siblings, 0 replies; 5+ messages in thread
From: Raphaël RIGO @ 2004-01-06 20:06 UTC (permalink / raw)
  To: linux-kernel

Matthias Hentges wrote:
> FWIW my P4P 800 Deluxe w/ SATA and PATA drives works fine in 2.6.
> The trick for me was to configure "Enhanced Mode, SATA only" in
> the BIOS.
> 
> See http://www.hentges.net/howtos/p4p800_SATA.html for details.
> 
> HTH

Thanks for the help... it is now (partially) working. But a fix in the kernel 
would be better :) (Maybe I should finally start to learn kernel coding)
The partially is because i tried to burn a CD (with k3b without trying anything 
before) => complete freeze.
Raphaël RIGO.

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

* [2.6.1-rc2] SATA problem.
@ 2004-01-06 18:08 Raphael Rigo
  0 siblings, 0 replies; 5+ messages in thread
From: Raphael Rigo @ 2004-01-06 18:08 UTC (permalink / raw)
  To: linux-kernel

Hello,
I have a problem related to Serial ATA : i have an Asus P4P800 Deluxe 
motherboard (ICH5) with 2xCD and 1xSATA HD.
I have the SATA HD working correctly but i can't get the CDs to work. If 
I compile both in the kernel I get :
handlers :
(ide_intr+0x0/0x1b4)
(ata_interrupt+0x0/0x1e8)
that is, both libata and old piix driver try to get access on CDs (as 
Jon Burgess kindly explained to me :)).
If I remove the piix then the system boots correctly.
Any idea on how to fix it ?

Another little thing : the HD activity LED is always on...

Raphaël Rigo.

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

end of thread, other threads:[~2004-01-06 20:06 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2003-12-08 18:48 [OOPS?] 2.6-test11 : problem about irq18 Jon Burgess
     [not found] ` <3FD5E454.2030404@inp-net.eu.org>
     [not found]   ` <3FD60552.5090903@jburgess.uklinux.net>
     [not found]     ` <3FD6094C.5040502@inp-net.eu.org>
     [not found]       ` <3FD60C5D.6010203@jburgess.uklinux.net>
     [not found]         ` <3FD60EC9.8040709@inp-net.eu.org>
     [not found]           ` <3FD614DB.7090207@jburgess.uklinux.net>
     [not found]             ` <3FD61615.30507@inp-net.eu.org>
     [not found]               ` <3FD6197B.1070704@jburgess.uklinux.net>
     [not found]                 ` <3FD62990.80708@inp-net.eu.org>
2004-01-06 18:32                   ` [2.6.1-rc2] SATA problem Jon Burgess
2004-01-06 19:01                     ` Matthias Hentges
2004-01-06 20:06                       ` Raphaël RIGO
2004-01-06 18:08 Raphael Rigo

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.