Here the test results on the DSDT variants, as a tree.  THM0 is the
root (meaning a DSDT with only THM0).  -XYZ means 'fake the method XYZ
in THM0, relative to the situation in the parent DSDT':

hang:    THM0
okay:           -TMP
hang:           -PSV
okay:                   -AC0 (i.e. THM0 methods but no PSV, no AC0)
hang:                   -SCP
hang:           -AC0

The first two results are consistent with the view that TMP is the
problem.  

>From the first five results, I convinced myself that TMP needed AC0
around to cause a problem, and vice versa: hang iff (TMP & AC0).  But
the last result (-AC0) surprised me.  Now I think: 
   hang iff (TMP & (PSV | AC0)).

The -PSV-AC0 DSDT, which did not hang, seemed close to hanging.  After
a few cycles, it became very sluggish and the load was 8.2 on wakeup.
But the sluggishness disappeared after a couple more cycles, and I
couldn't produce a hang (tried two reboots, each with different
permutations of sleep.sh or "echo 1 > THM0/polling_frequency").

The -AC0 DSDT hung upon doing 

 echo 1 > THM0/polling_frequency ; sleep.sh; sleep.sh

and it got in an endless loop that showed it sluggishly executing
(over and over again) THM0._TMP.

It's probably not coincidence that TMP and AC0 both use the EC.
Although PSV doesn't.

I didn't make any tests on the MODP method.  And the TC1, TC2, and TSP
methods seemed to trivial (just returning a constant) that it didn't
seem worth testing them.

I keep the kernels around for each permutation, so I can retest any of
the above, or send the THM0 portions of the .dsl files.

-Sanjoy

`Never underestimate the evil of which men of power are capable.'
         --Bertrand Russell, _War Crimes in Vietnam_, chapter 1.
-
To unsubscribe from this list: send the line "unsubscribe linux-acpi" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to