All of lore.kernel.org
 help / color / mirror / Atom feed
From: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>
To: "Prakash K. Cheemplavam" <prakashkc@gmx.de>
Cc: Andrew Morton <akpm@osdl.org>,
	drab@kepler.fjfi.cvut.cz, linux-kernel@vger.kernel.org
Subject: Re: [PATCH] Re: APIC/LAPIC hanging problems on nForce2 system.
Date: Fri, 7 Jan 2005 16:34:56 +0100	[thread overview]
Message-ID: <58cb370e05010707344347f84@mail.gmail.com> (raw)
In-Reply-To: <41DE9466.50006@gmx.de>

On Fri, 07 Jan 2005 14:53:42 +0100, Prakash K. Cheemplavam
<prakashkc@gmx.de> wrote:
> Andrew Morton schrieb:
> > "Prakash K. Cheemplavam" <prakashkc@gmx.de> wrote:
> >
> >>Perhaps firfox fscked up the inlined patch, so please
> >>try the attached version. If it goes alright, I'll resubmit it,
> >>inlcuding more detailed description.
> >
> >
> > There was no attachment.
> 
> *sigh* Not in my last email, but when I submitted the patch...
> 
> > Please go ahead and prepare a final patch against Linus's latest tree.  The
> > simplest way to obtain that is via the topmost link at
> > http://www.kernel.org/pub/linux/kernel/v2.5/testing/cset/.
> 
> It applies cleanly there. Nevertheless, once again, with more details.
> If inlined version doesn't patch, please try attached!
> 
> current state:
> Systems with Nforce2 could freeze on high disk i/o activity in APIC mode
> when CPU Disconnect is enabled. If bios doesn't fix this, current kernel
> fix changes the registers according to follwing table:
> 
>       * Chip  Old value   New value
>       * C17   0x1F0FFF01  0x1F01FF01
>       * C18D  0x9F0FFF01  0x9F01FF01
> 
> But this is only done, if cpu disconnect has been enabled in bios.
> 
> why change this:
> If CPU disconnect is not enabled in bios, and bios is broken (some
> manufacturers like Abit don't care about their customers and even the
> latest bios doesn't fix this; I have an Abit mainboard), the kernel
> doesn't apply the fix, so if cpu disconnect is enabled at a later stage
> (in userspace), the system will be unstable and most likely freeze.
> 
> new behaviour:
> The fix is now applied regardless of cpu disconnect being enabled at
> boot time, or not. As you only have to change byte 3 to 0x01, reading
> out chipset version isn't needed, so the patch simplifies the fix. Now
> turning cpu disconnect on, at later stage won't break the system, and if
> it was already enabled, it gets fixed, as the old version did.
> 
> 
> Signed-off-by: Prakash Punnoor <prakashp@arcor.de>

Patch looks fine (thanks!) and since I added the original quirk...

Acked-by: Bartlomiej Zolnierkiewicz <bzolnier@gmail.com>

> --- arch/i386/pci/fixup.c.o     2005-01-06 15:43:40.535842320 +0100
> +++ arch/i386/pci/fixup.c       2005-01-06 16:00:50.174313480 +0100
> @@ -227,10 +227,7 @@
>    */
>   static void __init pci_fixup_nforce2(struct pci_dev *dev)
>   {
> -       u32 val, fixed_val;
> -       u8 rev;
> -
> -       pci_read_config_byte(dev, PCI_REVISION_ID, &rev);
> +       u32 val;
> 
>         /*
>          * Chip  Old value   New value
> @@ -240,17 +237,14 @@
>          * Northbridge chip version may be determined by
>          * reading the PCI revision ID (0xC1 or greater is C18D).
>          */
> -       fixed_val = rev < 0xC1 ? 0x1F01FF01 : 0x9F01FF01;
> -
>         pci_read_config_dword(dev, 0x6c, &val);
> 
>         /*
> -        * Apply fixup only if C1 Halt Disconnect is enabled
> -        * (bit28) because it is not supported on some boards.
> +        * Apply fixup if needed, but don't touch disconnect state
>          */
> -       if ((val & (1 << 28)) && val != fixed_val) {
> +       if ((val & 0x00FF0000) != 0x00010000) {
>                 printk(KERN_WARNING "PCI: nForce2 C1 Halt Disconnect fixup\n");
> -               pci_write_config_dword(dev, 0x6c, fixed_val);
> +               pci_write_config_dword(dev, 0x6c, (val & 0xFF00FFFF) | 0x00010000);
>         }
>   }
>   DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_NVIDIA,
> PCI_DEVICE_ID_NVIDIA_NFORCE2, pci_fixup_nforce2);

  reply	other threads:[~2005-01-07 15:38 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-01-05 15:28 APIC/LAPIC hanging problems on nForce2 system Martin Drab
2005-01-05 16:05 ` Zwane Mwaikambo
2005-01-05 16:56   ` Martin Drab
2005-01-05 16:50 ` Prakash K. Cheemplavam
2005-01-05 17:06   ` Martin Drab
2005-01-05 17:17     ` Prakash K. Cheemplavam
2005-01-05 17:22       ` Martin Drab
2005-01-05 17:26         ` Prakash K. Cheemplavam
2005-01-05 17:30           ` Martin Drab
2005-01-06  0:14           ` Martin Drab
2005-01-06  9:03             ` Prakash K. Cheemplavam
2005-01-06 13:52               ` Bartlomiej Zolnierkiewicz
2005-01-06 15:04                 ` [PATCH] " Prakash K. Cheemplavam
2005-01-06 23:46                   ` Andrew Morton
2005-01-07  0:28                     ` Prakash K. Cheemplavam
2005-01-07  0:49                       ` Andrew Morton
2005-01-07 11:47                         ` Martin Drab
2005-01-07 13:53                         ` Prakash K. Cheemplavam
2005-01-07 15:34                           ` Bartlomiej Zolnierkiewicz [this message]
2005-01-06 14:18               ` Martin Drab

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=58cb370e05010707344347f84@mail.gmail.com \
    --to=bzolnier@gmail.com \
    --cc=akpm@osdl.org \
    --cc=drab@kepler.fjfi.cvut.cz \
    --cc=linux-kernel@vger.kernel.org \
    --cc=prakashkc@gmx.de \
    /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 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.