Bug 6471 - ACPI Reduce severity of Linux kernel S2 missing message
Summary: ACPI Reduce severity of Linux kernel S2 missing message
Status: RESOLVED MOVED
Alias: None
Product: Kernel
Classification: Yocto Project Subprojects
Component: linux-yocto (show other bugs)
Version: unspecified
Hardware: MinnowBoard Max Multiple
: Low normal
Target Milestone: Future
Assignee: Unassigned
QA Contact:
URL:
Whiteboard:
Depends on:
Blocks:
 
Reported: 2014-06-20 16:26 UTC by Darren Hart
Modified: 2017-06-13 21:28 UTC (History)
3 users (show)

See Also:
OS type for building Yocto: ---
Type of Regression: ---
Verified:
Documentation change: No (bug/feature does not impact docs)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Darren Hart 2014-06-20 16:26:44 UTC
With LPSS enumeration configured in the firmware to "PCI Mode", the following ACPI warnings, errors, and exceptions are report by the Linux kernel at boot.

Firmware Image: 6/17
root@intel-corei7-64:~# dmidecode | grep -e "^BIOS Inf" -A2
BIOS Information
        Vendor: Intel Corp.
        Version: MNW2CRB1.X64.0071.D30.1406171531

OS IMage: 5/13

root@intel-corei7-64:~# dmesg | grep "ACPI \([EW]\|: EC\)"
[    0.739052] ACPI : EC: input buffer is not empty, aborting transaction
[    0.746375] ACPI Exception: AE_TIME, Returned by Handler for [EmbeddedControl] (20131218/evregion-282)
[    0.746390] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.H_EC._REG] (Node ffff880075029960), AE_TIME (20131218/psparse-536)
[    0.746449] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20131218/hwxface-580)
[    0.746461] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20131218/hwxface-580)
[    0.878301] ACPI : EC: GPE = 0x18, I/O: command/status = 0x66, data = 0x62
[    1.519368] ACPI : EC: input buffer is not empty, aborting transaction
[    1.526802] ACPI Exception: AE_TIME, Returned by Handler for [EmbeddedControl] (20131218/evregion-282)
[    1.526818] ACPI Error: Method parse/execution failed [\_SB_.LID0._LID] (Node ffff880075029bb8), AE_TIME (20131218/psparse-536)
[    2.034041] ACPI : EC: input buffer is not empty, aborting transaction
[    2.541700] ACPI : EC: input buffer is not empty, aborting transaction
[    3.049359] ACPI : EC: input buffer is not empty, aborting transaction
[    3.557016] ACPI : EC: input buffer is not empty, aborting transaction
[    3.564327] ACPI Exception: AE_TIME, Returned by Handler for [EmbeddedControl] (20131218/evregion-282)
[    3.564348] ACPI Error: Method parse/execution failed [\_SB_.PCI0.LPCB.H_EC.BAT1._BIX] (Node ffff880075029898), AE_TIME (20131218/psparse-536)
[    3.564379] ACPI Exception: AE_TIME, Evaluating _BIX (20131218/battery-416)
[    6.976781] ACPI Warning: SystemIO range 0x0000000000002000-0x000000000000201f conflicts with OpRegion 0x0000000000002000-0x000000000000200f (\_SB_.PCI0.SBUS.SMBI) (20131218/utaddress-258)
Comment 1 He, Tim 2014-07-03 07:57:58 UTC
After removing EC device for ACPI, most of acpi warning and error releated to EC are removed. there are still some acpi warning.
Comment 2 Darren Hart 2014-07-10 17:24:44 UTC
With 07-10 firmware I still observe the following:

[    0.746449] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20131218/hwxface-580)
[    0.746461] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20131218/hwxface-580)

[    6.976781] ACPI Warning: SystemIO range 0x0000000000002000-0x000000000000201f conflicts with OpRegion 0x0000000000002000-0x000000000000200f (\_SB_.PCI0.SBUS.SMBI) (20131218/utaddress-258)
Comment 3 John 'Warthog9' Hawley 2014-09-08 18:32:57 UTC
Still seeing 

root@intel-corei7-64:~# dmesg | grep "ACPI \([EW]\|: EC\)"
[    0.712431] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20131218/hwxface-580)
[    0.722787] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20131218/hwxface-580)
[    6.894869] ACPI Warning: SystemIO range 0x0000000000002000-0x000000000000201f conflicts with OpRegion 0x0000000000002000-0x000000000000200f (\_SB_.PCI0.SBU)
root@intel-corei7-64:~#

with 0.73
Comment 4 David_Wei 2014-09-29 08:56:52 UTC
Hi John and Darren,

For MinnowMax, BIOS does not support S1 and S2. So \_S1 and \_S2 are not reported by BIOS's ACPI table. 

According to ACPI spec, \_S1 and \_S2 are OEM-supplied objetcs, and ACPI spec does not specify them as mandatory objects. 

My concern is that there may be some risk if unsupported sleep states are reported to OS. 


[    0.746449] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S1_] (20131218/hwxface-580)
[    0.746461] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20131218/hwxface-580)
Comment 5 Darren Hart 2014-09-29 17:32:07 UTC
Hi David,

According to the ACPI 5.1 specification, page 629:

"unsupported sleeping states are identified by the lack of the sleeping object"

So, this supports your assertion.

The Linux Kernel (drivers/acpi/sleep.c:644) also appears to probe each of these to determine support, so spitting out an ugly Error about S1 and S2 missing seems to be the wrong thing to do at first glance.

Now, all of the above is predicated on the assumption that the S1/S2 states are not supported by the hardware. My review of the SoC documentation has been indeterminate. Most documentation Refers to S0, S3, S4, and S5. However, I do see references to S1, while S2 appears to be mostly absent.

What is your reading for the hardware specification?
Comment 6 David_Wei 2014-09-30 07:28:58 UTC
Hi Dareen,

You are right. I reviewed E3800 daasheet, finding S1 is supported by Baytrail, while S2 is not supported.

******************************************************************************
Sleep Type (SLP_TYP) (slp_typ): This 3-bit field defines the type of Sleep the 
system should enter when the SLP_EN bit is set to 1. These bits are reset by 
SRTCRST_B only. Bits Mode Typical Mapping 
000 ON S0 
001 Puts CPU in S1 state. S1 
010 Reserved 
011 Reserved 
100 Reserved 
101 Suspend-To-RAM S3 
110 Suspend-ToDisk S4 
111 Soft Off S5
******************************************************************************

BIOS ACPI table should expose S1 to OS.
Comment 7 Darren Hart 2014-09-30 15:51:47 UTC
OK, great. I've also discussed the error messages with the ACPI maintainer, and they agree they shouldn't be displayed with such severity. So we'll work on that as well.

Two work items:

1) Firmware to enable S1
2) Linux to reduce severity of warnings about missing optional sleep state objects
Comment 8 Darren Hart 2014-09-30 15:52:23 UTC
Leaving assigned to Tim as he has the "functional" piece while the Linux folks have a cosmetic fix.
Comment 9 He, Tim 2014-10-09 08:09:05 UTC
I have enalbed the S1 in firmawre this week.
Comment 10 David_Wei 2014-10-11 09:33:19 UTC
Tim, please verify S1 and check in your change to server. 
Shifei has found the root cause of IO conflict(issue shared with bug 6472).
And the _CSR warning also is gone after ACPI tables were cleanned up last month(issue shared with bug 6472). 
After your checking in, please build an image and sent it to Darren to double confirm.
Comment 11 David_Wei 2014-10-15 02:36:32 UTC
Hi Darren,

Aftr reporting \_S1, we did meet issue after run "echo standby > /sys/power/state". We tried SMI hook OS S1 command, and
use BIOS SMI hndler to put system inti S1, but we still fail to make it sleep.

Then we checked datasheet again. "Power Management" chapeter does not explicitly indicate that S1 is supported by this SoC. 


6 Power Management
This chapter provides information on the following power management topics:
• ACPI States
• Processor Core
• PCI Express
• Integrated Graphics Controller
6.1 Power Management Features
• ACPI System States support (S0, S3, S4, S5)
Comment 12 Darren Hart 2014-11-06 22:42:25 UTC
Update: As of Release Firmware 0.74, the following message for S2 persists:

root@intel-corei7-64:~# dmesg | grep "ACPI Exception"
[    0.669276] ACPI Exception: AE_NOT_FOUND, While evaluating Sleep State [\_S2_] (20140724/hwxface-580)

I discussed this with Rafael (ACPI Maintainer), he agrees the message severity should be reduced. I'll look into preparing a patch. Moving status to implementation and leaving assigned to me.
Comment 13 Stephen K Jolley 2017-06-13 21:28:14 UTC
We are no longer tracking in Yocto Project Bugzilla MinnowBoard and MinnowBoard-MAX HW and firmware bugs.