From: Karol Kozimor <sziwan@hell.org.pl>
To: Eric Valette <eric.valette@free.fr>
Cc: len.brown@intel.com, zhenyu.z.wang@intel.com,
Andrew Morton <akpm@osdl.org>, Greg KH <greg@kroah.com>,
linux@brodo.de, linux-kernel@vger.kernel.org
Subject: Re: 2.6.8.1-mm1 and Asus L3C : problematic change found, can be reverted. Real fix still missing
Date: Thu, 19 Aug 2004 02:00:45 +0200 [thread overview]
Message-ID: <20040819000045.GA9079@hell.org.pl> (raw)
In-Reply-To: <4123AC79.5000709@free.fr>
Okay, so I think I've finally got what's happening here.
Enabling the SMBus device (00:1f.3) seems to mess up the resource
reservation code, specifically the 0xe800 port region. Here's the diff
between 2.6.8.1-mm1 acpi=off and the same kernel with no arguments:
#v+
0cf8-0cff : PCI conf1
+1000-101f : 0000:00:1f.3
4000-40ff : PCI CardBus #03
[...]
e300-e37f : 0000:00:1f.6
-e400-e47f : pnp 00:11
- e400-e47f : 0000:00:1f.0
-e800-e81f : 0000:00:1f.3
-ec00-ec3f : pnp 00:11
- ec00-ec3f : 0000:00:1f.0
+e400-e47f : 0000:00:1f.0
+ e400-e47f : motherboard
+ e400-e403 : PM1a_EVT_BLK
+ e404-e405 : PM1a_CNT_BLK
+ e408-e40b : PM_TMR
+ e410-e415 : ACPI CPU throttle
+ e428-e42b : GPE0_BLK
+ e42c-e42f : GPE1_BLK
+e800-e81f : motherboard
+ec00-ec3f : 0000:00:1f.0
+ ec00-ec3f : motherboard
+ ec00-ec3f : pnp 00:11
00000000-0009fbff : System RAM
#v-
Note that since ACPI reserves the 0xe800-0xe81f region, the SMBus gets
assigned a bogus port range. The next relevant piece of code is from the
DSDT:
#v+
Device (SBIO)
{
Name (_HID, EisaId ("PNP0C02"))
Name (_UID, 0x04)
Method (_CRS, 0, NotSerialized)
{
Name (BUF1, ResourceTemplate ()
{
IO (Decode16, 0xE400, 0xE400, 0x01, 0x80)
=> IO (Decode16, 0xE800, 0xE800, 0x01, 0x20) <=
IO (Decode16, 0xEC00, 0xEC00, 0x01, 0x40)
IO (Decode16, 0x040B, 0x040B, 0x01, 0x01)
IO (Decode16, 0x0480, 0x0480, 0x01, 0x10)
IO (Decode16, 0x04D6, 0x04D6, 0x01, 0x01)
})
Return (BUF1)
}
}
[...]
OperationRegion (SMB0, SystemIO, 0xE800, 0x10)
Field (SMB0, ByteAcc, NoLock, Preserve)
{
=> HSTS, 8, <=
SSTS, 8,
HSTC, 8,
HCMD, 8,
[...]
}
#v-
And that leads us to the root of the problem: _TMP calls RTMP, which calls
RBYT and finally HBSY. The latter attempts to access HSTS and subsequently
fails (hence _TMP returns 0x7f and kacpid loops).
Now, I see two possibilities: either the resource allocation code is buggy
and should be fixed (hopefully by someone with better understanding than
me) or the code relies on the necessary information that is not exported by
the BIOS / DSDT (which wouldn't be strange assuming the system is supposed
to run with SMBus disabled), and in that case the SMBus fixup should be
reverted.
A similar patch went in for ASUS M2400N, so I guess those systems could
also be affected.
Dmesg, ioports and iomem of plain 2.6.8.1-mm1 with and without acpi-off as
well as dmesg found at http://hell.org.pl/~sziwan/asus/l3c/ (note the extra
IRQ 0 and 0xe400 problem when ACPI is on).
Best regards,
--
Karol 'sziwan' Kozimor
sziwan@hell.org.pl
next prev parent reply other threads:[~2004-08-19 0:02 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-08-10 9:08 2.6.8-rc4-mm1 : radeon_monitor.c broken vs CONFIG_FB_MODE_HELPERS + Hard freeze Eric Valette
2004-08-10 10:35 ` 2.6.8-rc4-mm1 : Hard freeze due to ACPI Eric Valette
2004-08-10 15:29 ` Len Brown
2004-08-10 15:44 ` Karol Kozimor
2004-08-11 12:01 ` Eric Valette
2004-08-10 18:51 ` Eric Valette
2004-08-10 19:53 ` Eric Valette
2004-08-10 19:56 ` Len Brown
2004-08-10 20:09 ` Eric Valette
2004-08-12 10:40 ` Eric Valette
2004-08-10 16:07 ` Andrew Morton
[not found] ` <4123AC79.5000709@free.fr>
2004-08-19 0:00 ` Karol Kozimor [this message]
2004-08-19 7:16 ` 2.6.8.1-mm1 and Asus L3C : problematic change found, can be reverted. Real fix still missing Eric Valette
2004-08-10 21:06 ` 2.6.8-rc4-mm1 : Hard freeze due to ACPI Karol Kozimor
-- strict thread matches above, loose matches on Subject: below --
2004-08-19 7:50 2.6.8.1-mm1 and Asus L3C : problematic change found, can be reverted. Real fix still missing Li, Shaohua
2004-08-19 8:05 ` Eric Valette
2004-08-19 11:09 ` Eric Valette
2004-08-29 13:04 ` Dominik Brodowski
2004-08-29 13:50 ` Eric Valette
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=20040819000045.GA9079@hell.org.pl \
--to=sziwan@hell.org.pl \
--cc=akpm@osdl.org \
--cc=eric.valette@free.fr \
--cc=greg@kroah.com \
--cc=len.brown@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@brodo.de \
--cc=zhenyu.z.wang@intel.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