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

Yu, Luming
2006-03-23T09:10:14Z

> Good, then the hang should be caused by:
>
> Store (Arg0, HCSL)
> Store (ShiftLeft (Arg1, 0x01), HMAD)
> Store (Arg2, HMCM)
> Store (0x0B, HMPR)
>
> Could you add this at the beginning of this block:
> Store (Arg0, Debug)
> And add this at the end of this block:
> Store( HMPR, Debug)
>
>I added those two lines to the DSDT with only THM0 zone, but with
>nothing else commented out. Below are the dmesgs for one sleep-wake
>cycle, plus an 'acpi -t'. I thought it would hang if I did one more
>cycle, but it didn't. So I tried five more, and it was fine too.
>
>Then I reset /proc/acpi/acpi_debug_layer to 0x10 (the boot paramater is
>acpi_dbg_layer although the /proc file is acpi_debug_layer), and
>unloaded and reloaded the thermal module. And it hung in the
>(expected)
>two cycles. I've seen this behavior before: It won't hang with lots of
>debugging turned on, but it does hang with less debugging. Strange!

Hmmm, then I cannot get the ec access log for hang case?!

acpi_hw_low_level_read(8, data, &ec->common.data_addr);
ACPI_DEBUG_PRINT((ACPI_DB_INFO, "Read [%02x] from address
[%02x]\n",
*data, address));

Does it mean we need to slow down acpi_ec_intr_read/write ?
Could you try to insert acpi_os_stall (100) after ACPI_DEBUG_PRINT
statement
both in acpi_ec_intr_read/write.