public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: CaT <cat@zip.com.au>
To: Bartlomiej Zolnierkiewicz <B.Zolnierkiewicz@elka.pw.edu.pl>
Cc: linux-kernel@vger.kernel.org, Jeff Garzik <jgarzik@pobox.com>
Subject: Re: libata + siI3112 + 2.6.5-rc3 hang
Date: Sat, 1 May 2004 13:08:28 +1000	[thread overview]
Message-ID: <20040501030828.GE2109@zip.com.au> (raw)
In-Reply-To: <200404301800.08763.bzolnier@elka.pw.edu.pl>

On Fri, Apr 30, 2004 at 06:00:08PM +0200, Bartlomiej Zolnierkiewicz wrote:
> On Friday 30 of April 2004 11:39, CaT wrote:
> > On Fri, Apr 30, 2004 at 02:08:32AM +0200, Bartlomiej Zolnierkiewicz wrote:
> > > Probably your drive needs mod15write quirk. please try this.
> > >
> > > [PATCH] sata_sil.c: ST3200822AS needs MOD15WRITE quirk
> >
> > Didn't work. Still hangs rather well. :/
> 
> I have no idea then.   Jeff?

A solution has come forth! Whee! :) Joe Rutledge sent me a message in 
private relating to his issues with the sil3112 and local apic. It solved
the hang issue for him and it appears to have solved it for me also as
I've run many a hdparm -tT on the drive and got upto 62MB/s each go where
as before I could run it once at the most, with the 2nd try resulting
in a hang.

Happy days. Linux doesn't hang anymore on my PC, my SATA drive does 62MB/s
thanks to libata (tons of thanks for the work on that - it did 35MB/s using
the normal IDE SATA driver) and I found a reclusive easter egg next to my
keyboard. Joy. :)

Here's the patch that Joe sent me. It doesn't apply cleanly mainly due
to formatting errors in the patch but a bit of manual fixerupping made
it all apply.

--- 8< ---
--- linux-2.6.4-orig/arch/i386/pci/fixup.c      2004-03-11 
03:55:36.000000000 +0100
+++ linux-2.6.4/arch/i386/pci/fixup.c   2004-03-16 13:12:25.706569480 +0100
@@ -187,6 +187,22 @@
               dev->transparent = 1;
}

+/*
+ * Halt Disconnect and Stop Grant Disconnect (bit 4 at offset 0x6F)
+ * must be disabled when APIC is used (or lockups will happen).
+ */
+static void __devinit pci_fixup_nforce2_disconnect(struct pci_dev *d)
+{
+       u8 t;
+
+       pci_read_config_byte(d, 0x6F, &t);
+       if (t & 0x10) {
+               printk(KERN_INFO "PCI: disabling nForce2 Halt Disconnect"
+                                " and Stop Grant Disconnect\n");
+               pci_write_config_byte(d, 0x6F, (t & 0xef));
+       }
+}
+
struct pci_fixup pcibios_fixups[] = {
       {
               .pass           = PCI_FIXUP_HEADER,
@@ -290,5 +306,11 @@
               .device         = PCI_ANY_ID,
               .hook           = pci_fixup_transparent_bridge
       },
+        {
+               .pass           = PCI_FIXUP_HEADER,
+               .vendor         = PCI_VENDOR_ID_NVIDIA,
+               .device         = PCI_DEVICE_ID_NVIDIA_NFORCE2,
+               .hook           = pci_fixup_nforce2_disconnect
+        },
       { .pass = 0 }
 };
--- 8< ---

-- 
    Red herrings strewn hither and yon.

  reply	other threads:[~2004-05-01  3:08 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-04-29 23:42 libata + siI3112 + 2.6.5-rc3 hang CaT
2004-04-30  0:08 ` Bartlomiej Zolnierkiewicz
2004-04-30  0:39   ` CaT
2004-04-30  9:39   ` CaT
2004-04-30 16:00     ` Bartlomiej Zolnierkiewicz
2004-05-01  3:08       ` CaT [this message]
2004-05-01  5:21         ` Andrew Morton
2004-05-01 11:58           ` Prakash K. Cheemplavam
2004-05-01 15:15           ` Bartlomiej Zolnierkiewicz
2004-05-01 15:58             ` CaT
  -- strict thread matches above, loose matches on Subject: below --
2004-05-01  3:53 Marcus Hartig

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20040501030828.GE2109@zip.com.au \
    --to=cat@zip.com.au \
    --cc=B.Zolnierkiewicz@elka.pw.edu.pl \
    --cc=jgarzik@pobox.com \
    --cc=linux-kernel@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox