linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* I need a hardware wizard... I have been beating my head on the wall..
@ 2005-01-28  1:44 David Sims
  2005-01-28  1:52 ` Jeff Garzik
  0 siblings, 1 reply; 6+ messages in thread
From: David Sims @ 2005-01-28  1:44 UTC (permalink / raw)
  To: linux-kernel

Hi,

  I have posted a couple of times in the past to no avail... I have an
Intel 31244 SATA controller that is supposed to work with the sata_vsc
driver module... It does in fact, almost....

  You can insert the module in a running kernel and after barking as
follows (once for each disk attached) it runs just fine.

Jan 24 13:55:37 linux kernel: irq 3: nobody cared!
Jan 24 13:55:37 linux kernel: [<c0128972>] __report_bad_irq+0x22/0x90
Jan 24 13:55:37 linux kernel: [<c0128a68>] note_interrupt+0x58/0x90
Jan 24 13:55:37 linux kernel: [<c01285f8>] __do_IRQ+0xd8/0xe0
Jan 24 13:55:37 linux kernel: [<c0103a7a>] do_IRQ+0x1a/0x30
Jan 24 13:55:37 linux kernel: [<c010254a>] common_interrupt+0x1a/0x20
Jan 24 13:55:37 linux kernel: [<c0114fc0>] __do_softirq+0x30/0x90
Jan 24 13:55:37 linux kernel: [<c0115055>] do_softirq+0x35/0x40
Jan 24 13:55:37 linux kernel: [<c0103a7f>] do_IRQ+0x1f/0x30
Jan 24 13:55:37 linux kernel: [<c010254a>] common_interrupt+0x1a/0x20
Jan 24 13:55:37 linux kernel: [<c0100590>] default_idle+0x0/0x40
Jan 24 13:55:37 linux kernel: [<c01005b4>] default_idle+0x24/0x40
Jan 24 13:55:37 linux kernel: [<c010063e>] cpu_idle+0x2e/0x40
Jan 24 13:55:37 linux kernel: [<c03d277b>] start_kernel+0x15b/0x190

Jan 24 13:55:37 linux kernel: handlers:
Jan 24 13:55:37 linux kernel: [<c02471e0>] (ide_intr+0x0/0x120)
Jan 24 13:55:37 linux kernel: [<c02471e0>] (ide_intr+0x0/0x120)
Jan 24 13:55:37 linux kernel: [<e08ef250>] (vsc_sata_interrupt+0x0/0xa0
[sata_vsc])
Jan 24 13:55:37 linux kernel: Disabling IRQ #3


  The problem is that when you insert the module at boot time, the machine
just hangs while trying to enumerate the first disk.... Same when booting
with the module builtin to a monolithic kernel....

  To facilitate helping me, I have gathered the requisite stuff and posted
it on my website as follows:

   http://www.dpsims.com/~dpsims/31244/

  If someone would be so kind as to help me, I would be willing to provide
access to the machine in question for testing, etc... I believe the
problem is caused by the Intel 31244 having multiple ways of sending
interrupts... The Intel documentation is located at:

   http://www.dpsims.com/~dpsims/31244/31244_developers_guide.pdf

and I draw your attention to section 5.8 and 5.9.... The code for the
sata_vsc.c from kernel 2.6.10 can be found at

   http://www.dpsims.com/~dpsims/31244/sata_vsc.c

I would make this work myself if I had the required skill sets... but I
don't.... Thus I am reduced to pleading ;)

Please help me. I will try to contribute whatever I can... quickly
test.... /etc...

Dave


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

* Re: I need a hardware wizard... I have been beating my head on the wall..
  2005-01-28  1:44 I need a hardware wizard... I have been beating my head on the wall David Sims
@ 2005-01-28  1:52 ` Jeff Garzik
  2005-01-28  3:04   ` David Sims
  2005-01-30  2:48   ` David Sims
  0 siblings, 2 replies; 6+ messages in thread
From: Jeff Garzik @ 2005-01-28  1:52 UTC (permalink / raw)
  To: David Sims; +Cc: linux-kernel

David Sims wrote:
> Hi,
> 
>   I have posted a couple of times in the past to no avail... I have an
> Intel 31244 SATA controller that is supposed to work with the sata_vsc
> driver module... It does in fact, almost....
> 
>   You can insert the module in a running kernel and after barking as
> follows (once for each disk attached) it runs just fine.

Basically nobody has ever had hardware to test sata_vsc with that 
hardware.  We should probably remove the PCI ID until an engineer can 
fix it...

	Jeff




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

* Re: I need a hardware wizard... I have been beating my head on the wall..
  2005-01-28  1:52 ` Jeff Garzik
@ 2005-01-28  3:04   ` David Sims
  2005-01-28 20:52     ` Paulo Marques
  2005-01-30  2:48   ` David Sims
  1 sibling, 1 reply; 6+ messages in thread
From: David Sims @ 2005-01-28  3:04 UTC (permalink / raw)
  To: linux-kernel



On Thu, 27 Jan 2005, Jeff Garzik wrote:

> David Sims wrote:
> > Hi,
> > 
> >   I have posted a couple of times in the past to no avail... I have an
> > Intel 31244 SATA controller that is supposed to work with the sata_vsc
> > driver module... It does in fact, almost....
> > 
> >   You can insert the module in a running kernel and after barking as
> > follows (once for each disk attached) it runs just fine.
> 
> Basically nobody has ever had hardware to test sata_vsc with that 
> hardware.  We should probably remove the PCI ID until an engineer can 
> fix it...
> 
> 	Jeff
> 
> 

Hi again,

  I am willing to make this hardware available to any engineer that wants
to help me solve this problem.... and I will do whatever I can to make it
an easy job... Please help me...

Dave


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

* Re: I need a hardware wizard... I have been beating my head on the wall..
  2005-01-28  3:04   ` David Sims
@ 2005-01-28 20:52     ` Paulo Marques
  2005-01-29  1:13       ` David Sims
  0 siblings, 1 reply; 6+ messages in thread
From: Paulo Marques @ 2005-01-28 20:52 UTC (permalink / raw)
  To: David Sims; +Cc: linux-kernel, Jeff Garzik

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

David Sims wrote:
> On Thu, 27 Jan 2005, Jeff Garzik wrote:
>>David Sims wrote:
>>
>>>[...]
>>>  You can insert the module in a running kernel and after barking as
>>>follows (once for each disk attached) it runs just fine.
>>
>>Basically nobody has ever had hardware to test sata_vsc with that 
>>hardware.  We should probably remove the PCI ID until an engineer can 
>>fix it...
> 
> Hi again,
> 
>   I am willing to make this hardware available to any engineer that wants
> to help me solve this problem.... and I will do whatever I can to make it
> an easy job... Please help me...

Well, I don't consider myself a hardware wizard, but at least I'm an 
engineer, so I decided to give it a go :)

It seems that the driver is not acknowledging the interrupt from the 
controller. It would be nice to know what kind of interrupt is 
triggering this.

Could you run the attached patch and show the output from dmesg?

-- 
Paulo Marques - www.grupopie.com

All that is necessary for the triumph of evil is that good men do nothing.
Edmund Burke (1729 - 1797)

[-- Attachment #2: patch --]
[-- Type: text/plain, Size: 655 bytes --]

--- sata_vsc.c.orig	2005-01-28 12:23:47.000000000 +0000
+++ sata_vsc.c	2005-01-28 20:51:13.993868526 +0000
@@ -160,12 +160,17 @@ irqreturn_t vsc_sata_interrupt (int irq,
 	struct ata_host_set *host_set = dev_instance;
 	unsigned int i;
 	unsigned int handled = 0;
+        static int int_count = 0;
 	u32 int_status;
 
 	spin_lock(&host_set->lock);
 
 	int_status = readl(host_set->mmio_base + VSC_SATA_INT_STAT_OFFSET);
 
+	int_count++;
+	if (int_count > 1000 && int_count <= 1020)
+		printk("vsc_sata int status: %08x\n", int_status);
+
 	for (i = 0; i < host_set->n_ports; i++) {
 		if (int_status & ((u32) 0xFF << (8 * i))) {
 			struct ata_port *ap;

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

* Re: I need a hardware wizard... I have been beating my head on the wall..
  2005-01-28 20:52     ` Paulo Marques
@ 2005-01-29  1:13       ` David Sims
  0 siblings, 0 replies; 6+ messages in thread
From: David Sims @ 2005-01-29  1:13 UTC (permalink / raw)
  To: Paulo Marques; +Cc: linux-kernel, Jeff Garzik

Hi Paulo!

  Your patch generated the following:

Jan 28 19:11:51 linux kernel: vsc_sata int status: 00000083
Jan 28 19:11:51 linux last message repeated 19 times
Jan 28 19:11:51 linux kernel: irq 7: nobody cared!
Jan 28 19:11:51 linux kernel:  [<c0128972>] __report_bad_irq+0x22/0x90
Jan 28 19:11:51 linux kernel:  [<c0128a68>] note_interrupt+0x58/0x90
Jan 28 19:11:51 linux kernel:  [<c01285f8>] __do_IRQ+0xd8/0xe0
.
.
.
.


Thanks for helping me... I hope this is useful info....

Dave Sims
************************************************************************
On Fri, 28 Jan 2005, Paulo Marques wrote:

> David Sims wrote:
> > On Thu, 27 Jan 2005, Jeff Garzik wrote:
> >>David Sims wrote:
> >>
> >>>[...]
> >>>  You can insert the module in a running kernel and after barking as
> >>>follows (once for each disk attached) it runs just fine.
> >>
> >>Basically nobody has ever had hardware to test sata_vsc with that 
> >>hardware.  We should probably remove the PCI ID until an engineer can 
> >>fix it...
> > 
> > Hi again,
> > 
> >   I am willing to make this hardware available to any engineer that wants
> > to help me solve this problem.... and I will do whatever I can to make it
> > an easy job... Please help me...
> 
> Well, I don't consider myself a hardware wizard, but at least I'm an 
> engineer, so I decided to give it a go :)
> 
> It seems that the driver is not acknowledging the interrupt from the 
> controller. It would be nice to know what kind of interrupt is 
> triggering this.
> 
> Could you run the attached patch and show the output from dmesg?
> 
> -- 
> Paulo Marques - www.grupopie.com
> 
> All that is necessary for the triumph of evil is that good men do nothing.
> Edmund Burke (1729 - 1797)
> 


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

* Re: I need a hardware wizard... I have been beating my head on the wall..
  2005-01-28  1:52 ` Jeff Garzik
  2005-01-28  3:04   ` David Sims
@ 2005-01-30  2:48   ` David Sims
  1 sibling, 0 replies; 6+ messages in thread
From: David Sims @ 2005-01-30  2:48 UTC (permalink / raw)
  To: Jeff Garzik, Jeremy Higdon, Paulo Marques, Bukie Mabayoje,
	Guennadi Liakhovetski
  Cc: linux-kernel

Hello people,

  Now I _really_ need to bang my head on the wall... :( .... and thank all
you people who responded to my cry for help... I have to admit that I have
been stupid (or just a little clueless).... but I have worked the puzzle!!

  It seems that sata_vsc works just fine.... My entire problem involved
the PCI IRQ routing mechanism.... and my lack of understanding of the
interaction between 'Loacl APIC', 'IO-APIC' and power management.... It
seems that you can do what you want with 'Local APIC' and 'IO-APIC' but if
you have not enabled ACPI, the APIC stuff is not enabled... and doesn't
seem to do anything....

  I have now enabled both ACPI and APIC (with IO-APIC)  and the IRQ
barking has gone away!! 

  I had a similar problem today with another computer (ASUS
MS4800-MX) where the built in Ethernet on a Via PHY chip (supported by the
SiS900 driver) refused to work... In this case I booted up Knoppix which
worked just fine.... and then started trying to figure out why there was a
difference between knoppix and a vanilla Slackware kernel.... It seems
that Slackware 9.1 does not have ACPI (or APIC or IO-APIC) enabled... Once
I figured that out, it was seemed to make the SIS900 driver work so I
decided to try it on the sata_vsc problem.... The result is history and
everything is working as it should.... It's a shame that the knoppix 3.4
kernel doesn't probe for SATA stuff or I would probably have figured this
out a week ago :(

  Meanwhile, a working sata_vsc allows one to turn a Dell Powervault 745N
(Dell's foray into Network Attached Storage) into a good and cheap unix
server with dual gig NICs and 4 SATA disks that can either be run
independently or via software raid!! Cool!

Thanks again for your support for and patience with me... I will be humble
for a while now... ;)

Dave







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

end of thread, other threads:[~2005-01-30  2:48 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2005-01-28  1:44 I need a hardware wizard... I have been beating my head on the wall David Sims
2005-01-28  1:52 ` Jeff Garzik
2005-01-28  3:04   ` David Sims
2005-01-28 20:52     ` Paulo Marques
2005-01-29  1:13       ` David Sims
2005-01-30  2:48   ` David Sims

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).