Re: S5 Powerdown problem on TX150 servers
From: Andrew de Quincey <hidden>
Date: 2003-09-16 11:09:35
On Tuesday 16 September 2003 10:30, Ducrot Bruno wrote:
On Tue, Sep 16, 2003 at 09:12:15AM +0100, Andrew de Quincey wrote:quoted
Hi, I have an issue with TX150 servers. Basically, they don't power down in ACPI. I press the power button, and I can see the system shutting down, but, although it clears the screen and kinda makes a clunking noise as if the HDDs are being stopped, the fans stay running, and the power light stays on. I want the system to enter S5 when I press the power button. I added some debug to the hwsleep.c/acpi_enter_sleep_state() function. The last thing it executes is: status = acpi_hw_register_write (ACPI_MTX_DO_NOT_LOCK, ACPI_REGISTER_PM1B_CONTROL, PM1Bcontrol); <-- DOES NOT GET HERE on button press. if (ACPI_FAILURE (status)) { return_ACPI_STATUS (status); } Which kinda makes sense as this is the write of the PM1B value that completes powerdown.No. The real stuff that will complete the powerdown is when you set SLP_EN. Try to remove the write to the PM1b. Anyway, we already clear ARB_DIS early.
Ah, I realise I did not include enough context, sorry.
This _is_ in the code which sets SLP_EN:
/* Insert SLP_ENABLE bit */
PM1Acontrol |= sleep_enable_reg_info->access_bit_mask;
PM1Bcontrol |= sleep_enable_reg_info->access_bit_mask;
/* Write #2: SLP_TYP + SLP_EN */
ACPI_FLUSH_CPU_CACHE ();
status = acpi_hw_register_write (ACPI_MTX_DO_NOT_LOCK,
ACPI_REGISTER_PM1A_CONTROL, PM1Acontrol);
if (ACPI_FAILURE (status)) {
return_ACPI_STATUS (status);
}
status = acpi_hw_register_write (ACPI_MTX_DO_NOT_LOCK,
ACPI_REGISTER_PM1B_CONTROL, PM1Bcontrol);
<-- this is the point I highlighted before
if (ACPI_FAILURE (status)) {
ACPI_DEBUG_PRINT ((ACPI_DB_INIT, "X6failed\n"));
return_ACPI_STATUS (status);
}
In the light of this, is there anything you would like me to try?
-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf