From: Len Brown <len.brown@intel.com>
To: Tony Lindgren <tony@atomide.com>
Cc: linux-kernel@vger.kernel.org,
acpi-devel-request@lists.sourceforge.net, patches@x86-64.org,
Andi Kleen <ak@suse.de>,
pavel@ucw.cz, ccheney@debian.org
Subject: Re: [PATCH] x86_64 VIA chipset IOAPIC fix
Date: 25 Mar 2004 19:15:13 -0500 [thread overview]
Message-ID: <1080260113.757.67.camel@dhcppc4> (raw)
In-Reply-To: <20040325033434.GB8139@atomide.com>
Tony,
At one point we nearly deleted disabled links on parsing them
http://bugme.osdl.org/show_bug.cgi?id=1581
But testing that "fix" suggested that some systems we'd considered
"broken" before required the opposite -- pretending that the the links
are not disabled at all.
Looks like that is what your VIA box needs.
I think we need to tread carefully in this area.
Ignoring the result of _CRS means that we really don't
know if the IRQ is programmed or not. We could attach
a device to the wrong IRQ and not know it.
Unclear if that risk is a better policy than pretending
we confirmed that the IRQ was successfully programmed
when it may not have been.
perhaps you can attach this patch to 1581 and we can work there
to come up with a "disabled links patch" that makes sense
for all systems. We might find that we need only a small
VIA-specific tweak to an otherwise robust policy.
If your dmesg and acpidmp are different from 2090, it would
be good to attach them also.
thanks,
-Len
On Wed, 2004-03-24 at 22:34, Tony Lindgren wrote:
> Hi Andi & Len,
>
> Sorry for cross posting all over the place, I tried to CC some people who have
> been bugged by this bug.
>
> I finally got the IOAPIC working on my eMachines m6805 amd64 laptop with the
> following patch. I have not tried it on any other machines, so can you guys
> please check the sanity and make the necessary changes if needed?
>
> This fixes at least ACPI bug 2090:
>
> http://bugme.osdl.org/show_bug.cgi?id=2090
>
> Might fix some other x86 VIA bugs too?
>
> To turn it on, apic still needs to be specified in the kernel cmdline:
>
> root=/dev/hda3 ro psmouse.proto=imps apic console=tty0
>
> Now cat /proc/interrupts shows:
>
> 0: 70843 IO-APIC-edge timer
> 1: 9 IO-APIC-edge i8042
> 2: 0 XT-PIC cascade
> 8: 0 IO-APIC-edge rtc
> 10: 0 IO-APIC-level acpi
> 12: 44 IO-APIC-edge i8042
> 14: 2734 IO-APIC-edge ide0
> 15: 19 IO-APIC-edge ide1
> 17: 0 IO-APIC-level yenta
> 18: 0 IO-APIC-level eth0
> 21: 565 IO-APIC-level ehci_hcd, uhci_hcd, uhci_hcd, uhci_hcd
> 22: 0 IO-APIC-level VIA8233
> 23: 6 IO-APIC-level eth1
> NMI: 12
> LOC: 70752
> ERR: 0
> MIS: 0
>
> And things are just working :)
>
> Regards,
>
> Tony
>
> And here's the patch, it's against 2.6.5-rc2:
>
>
> ______________________________________________________________________
>
> diff -Nru a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
> --- a/drivers/acpi/pci_link.c Wed Feb 25 21:11:46 2004
> +++ b/drivers/acpi/pci_link.c Wed Mar 24 18:47:48 2004
> @@ -402,10 +402,8 @@
> ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Unable to read status\n"));
> return_VALUE(result);
> }
> - if (!link->device->status.enabled) {
> - ACPI_DEBUG_PRINT((ACPI_DB_ERROR, "Link disabled\n"));
> - return_VALUE(-ENODEV);
> - }
> + if (!link->device->status.enabled)
> + ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Link disabled: VIA chipset? Trying to continue\n"));
>
> /* Make sure the active IRQ is the one we requested. */
> result = acpi_pci_link_try_get_current(link, irq);
> @@ -415,11 +413,9 @@
>
> if (link->irq.active != irq) {
> ACPI_DEBUG_PRINT((ACPI_DB_ERROR,
> - "Attempt to enable at IRQ %d resulted in IRQ %d\n",
> - irq, link->irq.active));
> - link->irq.active = 0;
> - acpi_ut_evaluate_object (link->handle, "_DIS", 0, NULL);
> - return_VALUE(-ENODEV);
> + "Attempt to enable at IRQ %d resulted in IRQ %d: VIA chipset? Using irq %d\n",
> + irq, link->irq.active, irq));
> + link->irq.active = irq;
> }
>
> ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Set IRQ %d\n", link->irq.active));
next prev parent reply other threads:[~2004-03-26 0:32 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-03-25 3:34 [PATCH] x86_64 VIA chipset IOAPIC fix Tony Lindgren
2004-03-26 0:15 ` Len Brown [this message]
2004-03-26 0:47 ` Tony Lindgren
2004-03-26 3:04 ` Chris Cheney
2004-03-26 3:11 ` Tony Lindgren
2004-03-26 3:13 ` Len Brown
2004-03-26 3:20 ` Chris Cheney
2004-03-26 3:35 ` Tony Lindgren
2004-03-26 4:21 ` Len Brown
2004-03-26 4:34 ` Chris Cheney
2004-03-26 5:10 ` Tony Lindgren
2004-03-30 3:17 ` Randy.Dunlap
2004-03-26 5:02 ` Tony Lindgren
-- strict thread matches above, loose matches on Subject: below --
2004-04-16 10:53 HurryLin
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=1080260113.757.67.camel@dhcppc4 \
--to=len.brown@intel.com \
--cc=acpi-devel-request@lists.sourceforge.net \
--cc=ak@suse.de \
--cc=ccheney@debian.org \
--cc=linux-kernel@vger.kernel.org \
--cc=patches@x86-64.org \
--cc=pavel@ucw.cz \
--cc=tony@atomide.com \
/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