2006-03-16 06:42:31

by Luming Yu

[permalink] [raw]
Subject: RE: 2.6.16-rc5: known regressions [TP 600X S3, vanilla DSDT]

> hang iff (TMP & (PSV | AC0)).

Very interesting!

I found the common code in _PSV and _AC0

Store (DerefOf (Index (DerefOf (MODP (0x01)), Local1)), Local0)

Could you just comment out that?

We are very near at root-cause.

Thanks,
luming




2006-03-16 06:54:09

by Sanjoy Mahajan

[permalink] [raw]
Subject: Re: 2.6.16-rc5: known regressions [TP 600X S3, vanilla DSDT]

Okay it's compiling with that change. Now those two methods look
like:

Method (_PSV, 0, NotSerialized)
{
/* Store (DerefOf (Index (DerefOf (MODP (0x00)), 0x01)), Local0) */
Return (Local0)
}
Method (_AC0, 0, NotSerialized)
{
If (H8DR)
{
Store (\_SB.PCI0.ISA0.EC0.HT00, Local1)
}
Else
{
And (\_SB.RBEC (0x20), 0x01, Local1)
}

Store (Local1, \_TZ.THM0.AC0M)
/* Store (DerefOf (Index (DerefOf (MODP (0x01)), Local1)), Local0) */
Return (Local0)
}

But I have two worries:

1. The lines that I commented out are not identical (if they are
identical in your setup, maybe we have different disassembled
DSDT's?).

2. With those lines commented out, the local variables might contain
garbage, since those lines initialize them. The iasl compiler also
worries about this:

thm0-ac0psv-line.dsl 10504: Return (Local0)
Error 1013 - Method local variable is not initialized ^ (Local0)

thm0-ac0psv-line.dsl 10520: Return (Local0)
Error 1013 - Method local variable is not initialized ^ (Local0)

Should I change the Return statement to Return(0)?

-Sanjoy

`Never underestimate the evil of which men of power are capable.'
--Bertrand Russell, _War Crimes in Vietnam_, chapter 1.

2006-03-16 07:14:05

by Sanjoy Mahajan

[permalink] [raw]
Subject: Re: 2.6.16-rc5: known regressions [TP 600X S3, vanilla DSDT]

> I found the common code in _PSV and _AC0
> Store (DerefOf (Index (DerefOf (MODP (0x01)), Local1)), Local0)
> Could you just comment out that?

It doesn't hang. Though it seemed close to hanging a couple times,
but after a 5-10 second pause always managed to go to sleep. I tried
about 15 sleep cycles, with a few echo 1 > polling_frequency thrown in.

-Sanjoy

`Never underestimate the evil of which men of power are capable.'
--Bertrand Russell, _War Crimes in Vietnam_, chapter 1.