public inbox for linux-acpi@vger.kernel.org
 help / color / mirror / Atom feed
* S5 Powerdown problem on TX150 servers
@ 2003-09-16  8:12 Andrew de Quincey
       [not found] ` <200309160912.15060.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Andrew de Quincey @ 2003-09-16  8:12 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

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.

However, if I press the power button once again, I can see that it RETURNS 
from this call, and displays the tracing I put after it. Its almost as if the 
system is going into S1 and not S5.

I've checked in the DSDT, and the values for PM1a_CNT.SLP_TYP and 
PM1b_CNT.SLP_TYP are correctly for entering an S5 state.

Anyone have any suggestions?



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found] ` <200309160912.15060.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
@ 2003-09-16  8:16   ` Andrew de Quincey
  2003-09-16  9:30   ` Ducrot Bruno
  1 sibling, 0 replies; 10+ messages in thread
From: Andrew de Quincey @ 2003-09-16  8:16 UTC (permalink / raw)
  To: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Tuesday 16 September 2003 09:12, Andrew de Quincey wrote:
> 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.

Whoops, this is kernel 2.4.23-pre3 BTW.



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found] ` <200309160912.15060.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
  2003-09-16  8:16   ` Andrew de Quincey
@ 2003-09-16  9:30   ` Ducrot Bruno
       [not found]     ` <20030916093032.GP11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
  1 sibling, 1 reply; 10+ messages in thread
From: Ducrot Bruno @ 2003-09-16  9:30 UTC (permalink / raw)
  To: Andrew de Quincey; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Tue, Sep 16, 2003 at 09:12:15AM +0100, Andrew de Quincey wrote:
> 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. 

-- 
Ducrot Bruno

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found]     ` <20030916093032.GP11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
@ 2003-09-16 11:09       ` Andrew de Quincey
       [not found]         ` <200309161209.35760.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Andrew de Quincey @ 2003-09-16 11:09 UTC (permalink / raw)
  To: Ducrot Bruno; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Tuesday 16 September 2003 10:30, Ducrot Bruno wrote:
> On Tue, Sep 16, 2003 at 09:12:15AM +0100, Andrew de Quincey wrote:
> > 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

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found]         ` <200309161209.35760.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
@ 2003-09-16 13:19           ` Ducrot Bruno
       [not found]             ` <20030916131922.GT11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Ducrot Bruno @ 2003-09-16 13:19 UTC (permalink / raw)
  To: Andrew de Quincey; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Tue, Sep 16, 2003 at 12:09:35PM +0100, Andrew de Quincey wrote:
> On Tuesday 16 September 2003 10:30, Ducrot Bruno wrote:
> > On Tue, Sep 16, 2003 at 09:12:15AM +0100, Andrew de Quincey wrote:
> > > 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?
> 
> 

Ok.  But trouble: you have at first write the desired sleep type,
then set SLP_EN.  Not the two at the same time.

-- 
Ducrot Bruno

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found]             ` <20030916131922.GT11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
@ 2003-09-16 13:50               ` Andrew de Quincey
       [not found]                 ` <200309161450.19600.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Andrew de Quincey @ 2003-09-16 13:50 UTC (permalink / raw)
  To: Ducrot Bruno; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f


> Ok.  But trouble: you have at first write the desired sleep type,
> then set SLP_EN.  Not the two at the same time.

Yup, its doing that as well. Heres a quick summary of what it does:

Clears any wake status
Disable BM arbitration

Get current value of PM1A control (and store two copies in variables 
PM1AControl, PM1BControl)

Clear SLP_EN and SLP_TYP fields in the above variables
Insert the SLP_TYP bits in each variable.

Store PM1AControl into ACPI PM1A
Store PM1BControl into ACPI PM1B

Insert the SLP_ENABLE bit in PM1AControl, PM1BControl
Flush the CPU cache
Store PM1AControl into ACPI PM1A
Store PM1BControl into ACPI PM1B

At this point the machine should be in S5, but appears to be in S1.

Prior to all this, it has called the _PTS and _GTS (if present) methods as it 
should.


Should I try masking off the SLP_TYP bits when the second write to PM1A/PM1B 
occurs?



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found]                 ` <200309161450.19600.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
@ 2003-09-16 14:15                   ` Ducrot Bruno
       [not found]                     ` <20030916141503.GU11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Ducrot Bruno @ 2003-09-16 14:15 UTC (permalink / raw)
  To: Andrew de Quincey; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Tue, Sep 16, 2003 at 02:50:19PM +0100, Andrew de Quincey wrote:
> 
> > Ok.  But trouble: you have at first write the desired sleep type,
> > then set SLP_EN.  Not the two at the same time.
> 
> Yup, its doing that as well. Heres a quick summary of what it does:
> 
> Clears any wake status
> Disable BM arbitration
> 
> Get current value of PM1A control (and store two copies in variables 
> PM1AControl, PM1BControl)
> 
> Clear SLP_EN and SLP_TYP fields in the above variables
> Insert the SLP_TYP bits in each variable.
> 
> Store PM1AControl into ACPI PM1A
> Store PM1BControl into ACPI PM1B
> 
> Insert the SLP_ENABLE bit in PM1AControl, PM1BControl
> Flush the CPU cache
> Store PM1AControl into ACPI PM1A
> Store PM1BControl into ACPI PM1B
> 
> At this point the machine should be in S5, but appears to be in S1.
> 
> Prior to all this, it has called the _PTS and _GTS (if present) methods as it 
> should.
> 
> 
> Should I try masking off the SLP_TYP bits when the second write to PM1A/PM1B 
> occurs?

No.  But, what contain the _S5 in the asl?  What kind of southbridge
you have?

-- 
Ducrot Bruno

--  Which is worse:  ignorance or apathy?
--  Don't know.  Don't care.


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found]                     ` <20030916141503.GU11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
@ 2003-09-16 15:50                       ` Andrew de Quincey
  0 siblings, 0 replies; 10+ messages in thread
From: Andrew de Quincey @ 2003-09-16 15:50 UTC (permalink / raw)
  To: Ducrot Bruno; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f


> No.  But, what contain the _S5 in the asl?  What kind of southbridge
> you have?

Aha! good idea! Check the chipset docs. Should have thought of that.

Name(\_S5_, Package(0x4) {
    0x7,
    0x0,
    0x1,
    0x1,
})
I've checked, 7 and 0 are correctly being supplied to the code.

I yanked the heatsink off the chip, removing a bit of my finger in the process 
unfortunately. Its a Serverworks chipset. The chip says SWD-NB7485-P01 on it. 
I can't find any docs about this chip. 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: S5 Powerdown problem on TX150 servers
@ 2003-09-24  3:14 Yu, Luming
       [not found] ` <3ACA40606221794F80A5670F0AF15F8401720B38-4yWAQGcml64gGBtAFL8yw7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
  0 siblings, 1 reply; 10+ messages in thread
From: Yu, Luming @ 2003-09-24  3:14 UTC (permalink / raw)
  To: Andrew de Quincey, Ducrot Bruno
  Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

There is a patch for this issue. Would you please try patch at http://bugzilla.kernel.org/show_bug.cgi?id=1141
Thanks,
Luming

-----Original Message-----
From: Andrew de Quincey [mailto:adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org]
Sent: 2003?9?16? 23:50
To: Ducrot Bruno
Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
Subject: Re: [ACPI] S5 Powerdown problem on TX150 servers



> No.  But, what contain the _S5 in the asl?  What kind of southbridge
> you have?

Aha! good idea! Check the chipset docs. Should have thought of that.

Name(\_S5_, Package(0x4) {
    0x7,
    0x0,
    0x1,
    0x1,
})
I've checked, 7 and 0 are correctly being supplied to the code.

I yanked the heatsink off the chip, removing a bit of my finger in the process 
unfortunately. Its a Serverworks chipset. The chip says SWD-NB7485-P01 on it. 
I can't find any docs about this chip. 



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf
_______________________________________________
Acpi-devel mailing list
Acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org
https://lists.sourceforge.net/lists/listinfo/acpi-devel


-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: S5 Powerdown problem on TX150 servers
       [not found] ` <3ACA40606221794F80A5670F0AF15F8401720B38-4yWAQGcml64gGBtAFL8yw7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
@ 2003-09-27 11:59   ` Andrew de Quincey
  0 siblings, 0 replies; 10+ messages in thread
From: Andrew de Quincey @ 2003-09-27 11:59 UTC (permalink / raw)
  To: Yu, Luming, Ducrot Bruno; +Cc: acpi-devel-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f

On Wednesday 24 September 2003 04:14, Yu, Luming wrote:
> There is a patch for this issue. Would you please try patch at
> http://bugzilla.kernel.org/show_bug.cgi?id=1141 Thanks,
> Luming

Hi, sorry about the delay; been having a cold for the last few days.

I've actually tried this patch... it is not this problem.. the standard code 
DOES suspend the machine, but it doesn't appear to enter S5.. its more like 
S1.

I added lots of debugging printks. I can see that the machine halts (but does 
NOT turn off properly) when I press the power button. HOWEVER, when I press 
the button again, my printks AFTER the machine halts get executed.

I haven't had the time to get in touch with fujitsu siemens yet...



-------------------------------------------------------
This sf.net email is sponsored by:ThinkGeek
Welcome to geek heaven.
http://thinkgeek.com/sf

^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2003-09-27 11:59 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2003-09-16  8:12 S5 Powerdown problem on TX150 servers Andrew de Quincey
     [not found] ` <200309160912.15060.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
2003-09-16  8:16   ` Andrew de Quincey
2003-09-16  9:30   ` Ducrot Bruno
     [not found]     ` <20030916093032.GP11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2003-09-16 11:09       ` Andrew de Quincey
     [not found]         ` <200309161209.35760.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
2003-09-16 13:19           ` Ducrot Bruno
     [not found]             ` <20030916131922.GT11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2003-09-16 13:50               ` Andrew de Quincey
     [not found]                 ` <200309161450.19600.adq_dvb-fmPXVN3awWJAJAzL26g0SA@public.gmane.org>
2003-09-16 14:15                   ` Ducrot Bruno
     [not found]                     ` <20030916141503.GU11391-kk6yZipjEM5g9hUCZPvPmw@public.gmane.org>
2003-09-16 15:50                       ` Andrew de Quincey
  -- strict thread matches above, loose matches on Subject: below --
2003-09-24  3:14 Yu, Luming
     [not found] ` <3ACA40606221794F80A5670F0AF15F8401720B38-4yWAQGcml64gGBtAFL8yw7fspsVTdybXVpNB7YpNyf8@public.gmane.org>
2003-09-27 11:59   ` Andrew de Quincey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox