From: Nathan Bryant <nbryant-p32f3XyCuykqcZcGjlUOXw@public.gmane.org>
To: "Li, Shaohua" <shaohua.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>
Cc: stefandoesinger-RbZlAiThDcE@public.gmane.org,
acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: "irq 11: nobody cared" after S3
Date: Mon, 02 Aug 2004 10:17:41 -0400 [thread overview]
Message-ID: <410E4D05.3020304@optonline.net> (raw)
In-Reply-To: <B44D37711ED29844BEA67908EAF36F0376876A-4yWAQGcml65pB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
[-- Attachment #1: Type: text/plain, Size: 759 bytes --]
Li, Shaohua wrote:
> I guess the bug is: ACPI sets LNKE's IRQ from 10 to 11 in boot time.
> LNKE's register is at LPC bridge offset 0x68, but current PCI config
> space save/restore code only handles first 0x40 bytes. After resume,
> LNKE's register doesn't recover. So LNKE will actually route to 10, but
> ACPI still thinks it routes to 11. Then you will get such error. I guess
> such error is unavoidable unless LPC bridge driver exists (it can
> save/restore all affected config space instead of first 0x40 bytes).
Hi,
I agree with you, but I suspect a better fix is something like the
attached diff, from my local tree. (My machine has similar problems, but
this is not tested yet. Will test tonight and then send a patch to Len
if it works out.)
[-- Attachment #2: acpi-fixes.patch --]
[-- Type: text/plain, Size: 2121 bytes --]
# This is a BitKeeper generated diff -Nru style patch.
#
# ChangeSet
# 2004/08/02 10:11:58-04:00 nbryant-p32f3XyCuykqcZcGjlUOXw@public.gmane.org
# drivers/acpi/pci_link.c: remove setonboot from struct
# acpi_pci_link_irq. Make acpi_pci_link_allocate() call the BIOS to
# program the IRQ router every time it is called instead of only after
# boot. This should hopefully fix problems with IRQ routing after
# resume from S3 suspend. We can't rely on the bridge state being
# saved/restored, because we don't have proper drivers for every
# chipset, so instead we rely on the BIOS. Even pci_save_state only
# saves the first 0x40 bytes of PCI config space; this is not enough
# for PIIX.
#
# drivers/acpi/pci_link.c
# 2004/08/02 10:11:50-04:00 nbryant-p32f3XyCuykqcZcGjlUOXw@public.gmane.org +0 -6
# remove setonboot from struct
# acpi_pci_link_irq. Make acpi_pci_link_allocate() call the BIOS to
# program the IRQ router every time it is called instead of only after
# boot. This should hopefully fix problems with IRQ routing after
# resume from S3 suspend. We can't rely on the bridge state being
# saved/restored, because we don't have proper drivers for every
# chipset, so instead we rely on the BIOS. Even pci_save_state only
# saves the first 0x40 bytes of PCI config space; this is not enough
# for PIIX.
#
diff -Nru a/drivers/acpi/pci_link.c b/drivers/acpi/pci_link.c
--- a/drivers/acpi/pci_link.c 2004-08-02 10:14:23 -04:00
+++ b/drivers/acpi/pci_link.c 2004-08-02 10:14:23 -04:00
@@ -71,7 +71,6 @@
u8 active; /* Current IRQ */
u8 edge_level; /* All IRQs */
u8 active_high_low; /* All IRQs */
- u8 setonboot;
u8 resource_type;
u8 possible_count;
u8 possible[ACPI_PCI_LINK_MAX_POSSIBLE];
@@ -517,9 +516,6 @@
ACPI_FUNCTION_TRACE("acpi_pci_link_allocate");
- if (link->irq.setonboot)
- return_VALUE(0);
-
/*
* search for active IRQ in list of possible IRQs.
*/
@@ -570,8 +566,6 @@
acpi_device_name(link->device),
acpi_device_bid(link->device), link->irq.active);
}
-
- link->irq.setonboot = 1;
return_VALUE(0);
}
next prev parent reply other threads:[~2004-08-02 14:17 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-02 6:47 "irq 11: nobody cared" after S3 Li, Shaohua
[not found] ` <B44D37711ED29844BEA67908EAF36F0376876A-4yWAQGcml65pB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-02 14:17 ` Nathan Bryant [this message]
-- strict thread matches above, loose matches on Subject: below --
2004-08-03 1:43 Li, Shaohua
2004-08-03 1:12 Li, Shaohua
[not found] ` <B44D37711ED29844BEA67908EAF36F03768BD0-4yWAQGcml65pB2pF5aRoyrfspsVTdybXVpNB7YpNyf8@public.gmane.org>
2004-08-03 1:27 ` Nathan Bryant
2004-08-03 2:21 ` Nathan Bryant
2004-08-01 16:50 Stefan Dösinger
[not found] ` <200408011850.25991.stefandoesinger-RbZlAiThDcE@public.gmane.org>
2004-08-02 4:21 ` Nathan Bryant
[not found] ` <410DC163.1090109-p32f3XyCuykqcZcGjlUOXw@public.gmane.org>
2004-08-03 14:29 ` Stefan Dösinger
[not found] ` <200408031629.19466.stefandoesinger-RbZlAiThDcE@public.gmane.org>
2004-08-03 15:32 ` Nathan Bryant
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=410E4D05.3020304@optonline.net \
--to=nbryant-p32f3xycuykqczcgjluoxw@public.gmane.org \
--cc=acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org \
--cc=shaohua.li-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
--cc=stefandoesinger-RbZlAiThDcE@public.gmane.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 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.