https://bugzilla.kernel.org/show_bug.cgi?id=199393

--- Comment #1 from Tristian Celestin (tristian.celes...@outlook.com) ---
I narrowed down what I believe to be the cause of the difference, but I don't
know how to proceed.

The acpi driver file in platform/acpi/sleep.c has a method,
lps0_device_attach(...) that determines whether a device should be set to
s2idle by default. The relevant block is:

       if (out_obj && out_obj->type == ACPI_TYPE_BUFFER) {                      
                char bitmask = *(char *)out_obj->buffer.pointer;                

                if ((bitmask & ACPI_LPS0_PLATFORM_MASK) ==
ACPI_LPS0_PLATFORM_MASK ||                               
                    (bitmask & ACPI_LPS0_SCREEN_MASK) == ACPI_LPS0_SCREEN_MASK)
{                                   
                        lps0_dsm_func_mask = bitmask;                           
                        lps0_device_handle = adev->handle;                      
                        /*                                                      
                         * Use suspend-to-idle by default if the default        
                         * suspend mode was not set from the command line.      
                         */                                                     
                        if (mem_sleep_default > PM_SUSPEND_MEM)                 
                                mem_sleep_current = PM_SUSPEND_TO_IDLE;         
                }

I placed a bunch of acpi_handle_debug statements prior to the bitmask check:

                acpi_handle_debug(adev->handle, "bitmask is 0x%x\n", bitmask);  
                acpi_handle_debug(adev->handle, "ACPI_LPS0_PLATFORM_MASK is
0x%x\n", ACPI_LPS0_PLATFORM_MASK);      
                acpi_handle_debug(adev->handle, "bitmask &
ACPI_LPS0_PLATFORM_MASK is 0x%x\n", bitmask & ACPI_LPS0_P
LATFORM_MASK);                                                                  
                acpi_handle_debug(adev->handle, "ACPI_LPS0_SCREEN_MASK is
%x\n", ACPI_LPS0_SCREEN_MASK);            
                acpi_handle_debug(adev->handle, "bitmask &
ACPI_LPS0_SCREEN_MASK is 0x%x\n", bitmask & ACPI_LPS0_SCR
EEN_MASK);                                                                      

                if ((bitmask & ACPI_LPS0_PLATFORM_MASK) ==
ACPI_LPS0_PLATFORM_MASK ...

and received the following output:

[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x01] low level lint[0x24])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x02] dfl res lint[0x1])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x03] dfl edge lint[0xc6])
[    0.000000] ACPI: LAPIC_NMI (acpi_id[0x04] dfl dfl lint[0x44])
[    0.060484] acpiphp: ACPI Hot Plug PCI Controller Driver version: 0.5
[    0.116014] acpi PNP0A08:00: _OSC: OS supports [ExtendedConfig ASPM ClockPM
Segments MSI]
[    0.116014] acpi PNP0A08:00: _OSC failed (AE_ERROR); disabling ASPM
[    0.139573] acpi:920: ACPI: \_SB_.PEPD: bitmask is 0x7
[    0.139575] acpi:921: ACPI: \_SB_.PEPD: ACPI_LPS0_PLATFORM_MASK is 0x60
[    0.139577] acpi:922: ACPI: \_SB_.PEPD: bitmask & ACPI_LPS0_PLATFORM_MASK is
0x0
[    0.139579] acpi:923: ACPI: \_SB_.PEPD: ACPI_LPS0_SCREEN_MASK is 18
[    0.139580] acpi:924: ACPI: \_SB_.PEPD: bitmask & ACPI_LPS0_SCREEN_MASK is
0x0
[    0.139582] acpi:939: ACPI: \_SB_.PEPD: _DSM function mask: 0x7
[    0.139584] acpi:754: ACPI: \: _DSM function 1 eval failed
[    0.139585] acpi:757: ACPI: \: out_obj is NULL
[    0.203942] clocksource: acpi_pm: mask: 0xffffff max_cycles: 0xffffff,
max_idle_ns: 2085701024 ns

-- 
You are receiving this mail because:
You are watching the assignee of the bug.
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
acpi-bugzilla mailing list
acpi-bugzilla@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/acpi-bugzilla

Reply via email to