Question for ACPI status

Bills, Jason M jason.m.bills at linux.intel.com
Tue Sep 24 03:28:10 AEST 2019


On 8/24/2019 9:37 PM, Payne Yang wrote:
> Hi Vernon,
> 
> Thanks for your quick reply.
> Please see my comment as below.
> 
>> -----Original Message-----
>> From: Vernon Mauery <vernon.mauery at linux.intel.com>
>> Sent: Saturday, August 24, 2019 4:11 AM
>> To: Payne Yang <pyang4 at lenovo.com>
>> Cc: openbmc at lists.ozlabs.org
>> Subject: [External] Re: Question for ACPI status
>>
>> On 23-Aug-2019 09:18 AM, Payne Yang wrote:
>>> Hi Team,
>>>
>>> Is there any ACPI service to update the ACPI state ?
>>> I could find that the property of ACPI state is defined in dbus, and the ipmi
>> command is also done in package "phosphor-host-ipmid".
>>> https://github.com/openbmc/phosphor-host-ipmid/blob/b90a53280c74e8c
>> 65e8
>>> dc58c8964d93a08cfd65e/apphandler.cpp#L202
>>>
>>> However, I could not find other services to update the property
>> "ACPIPowerState".
>>> https://github.com/search?q=org%3Aopenbmc+ACPIPowerState&type=Code
>>
>> That is because the host is the only entity that should be modifying that
>> property.
> [Payne]
> Yes, I know that the host is the only entity.
> Therefore, the host may need to send set ACPI state to BMC when it is shutdown.
> 
>>
>>> Do I miss something ?
>>> If yes, please help to share your comment or suggestion:)
>>
>> According to the IPMI specification:
>> 	The Set ACPI Power State command can also be used as a mechanism
>> for
>> 	setting elements of the platform management subsystem to a
>> 	particular power state. This is an independent setting that may not
>> 	necessarily match the actual power state of the system. This command
>> 	is used to enable the reporting of the power state, it does not
>> 	control or change the power state.
>>
> [Payne]
> It is correct.
> However, actually, I just want to make the power state correct.
> 
>>> If no, it seems to me that I have to write a service as ACPI state monitor.
>>
>> Your particular platform may have different needs than other platforms
>> running OpenBMC. A platform that needs to effect system-wide changes
>> based on the Host-reported state (or possibly intended state) could listen for
>> the property changed signal for the ACPIPowerState property and take
>> action.
>>
>> But as the command is currently written, it conforms to the IPMI
>> specification. There just happens to be no public consumers of that
>> property.
>>
> [Payne]
> Well, as I said previous, I just want to correct the power state.
> My system is with a PWRGOOD pin connect to BMC as other platforms, but there is no service to monitor the PWRGOOD pin if the host shutdown is not caused by BMC.
> In entity manager, the power state won`t change if there is no service to set the power related property.
> Therefore, I want to clarify if I miss some package which could monitor PWRGOOD pin even if the PWRGOOD state change is not caused by BMC (eg. "shutdown/init 0" command in OS, "reset -s" command in BIOS shell or global reset).
> If there is no service, I may have service design to monitor PWRGOOD pin to handle this situation.
> And it may be better to sync the power state and ACPI state:)
> 
Hi Payne,

Were you able to get this resolved?

You are correct that the IPMI power state should follow the PWRGOOD pin 
and be updated based on changes to the pin state.  I think the 
phosphor-state-manager can track the state of the PWRGOOD pin using the 
"pgood" DBus property.  Which is intended to keep the IPMI power status 
in sync with the PWRGOOD pin.

However, from what we can see in the IPMI spec, the ACPI state is set by 
the "Set ACPI Power State" command and is not supposed to be in sync 
with the actual system power state (PWRGOOD pin).

Regards,
-Jason

>> --Vernon
> 
> Best Regards,
> Payne
> 
> 


More information about the openbmc mailing list