Contribute
Register

[solved] Lenovo Legion y520 issues

Status
Not open for further replies.
Ok, so I tried 4423 and 4444 and both didn't get CPU PM...

Currently loaded via 4423 (see attachment)
What else can I do to get it to work?

I changed SMbios to 14.3 though.

Clover is getting confused when trying to find Processor declarations in your DSDT.
The ACPI patcher in Clover does not have a true AML parser, but instead relies on binary patterns.

It looks for pattern '5b 83' which is used by ProcessorOPs encoded in ACPI.
from FixBiosDsdt.c (findCPU function):
Code:
    for (i = 0; i < length - 20; i++) {
        if (dsdt[i] == 0x5B && dsdt[i + 1] == 0x83) { // ProcessorOP

But since your Processor declarations are near the end of DSDT, it finds other code first, which happens to match 5b 83.
The 5b 83 pattern comes from the WQDD definition.
Looking at a mixed listing of DSDT.aml:
Code:
                    Name (WQDD, 
...
                        /* 10F8 */  0x20, 0x47, 0x5B, 0x83, 0x80, 0x1C, 0x14, 0x44,
...
 1374A: 47 5B 83 80 1C 14 44 40 8E FE 42 13 90 85 3C 0C  // G[[email protected]...<.

Which results in Clover looking at the wrong bits when trying to determine the path of the Processor objects.

It is trying to find this:
Code:
    Scope (_PR)
    {

 15095: 10 4E 06 5F 50 52 5F                             // .N._PR_

        Processor (CPU0, 0x01, 0x00001810, 0x06) {}

 1509C: 5B 83 0B 43 50 55 30 01 10 18 00 00 06           // [..CPU0......

You can use SSDT-XCPM.aml instead of ACPI/SSDT/Generate/PluginType=true.

Read here:
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/
 
Clover is getting confused when trying to find Processor declarations in your DSDT.
The ACPI patcher in Clover does not have a true AML parser, but instead relies on binary patterns.

It looks for pattern '5b 83' which is used by ProcessorOPs encoded in ACPI.
from FixBiosDsdt.c (findCPU function):
Code:
    for (i = 0; i < length - 20; i++) {
        if (dsdt[i] == 0x5B && dsdt[i + 1] == 0x83) { // ProcessorOP

But since your Processor declarations are near the end of DSDT, it finds other code first, which happens to match 5b 83.
The 5b 83 pattern comes from the WQDD definition.
Looking at a mixed listing of DSDT.aml:
Code:
                    Name (WQDD,
...
                        /* 10F8 */  0x20, 0x47, 0x5B, 0x83, 0x80, 0x1C, 0x14, 0x44,
...
 1374A: 47 5B 83 80 1C 14 44 40 8E FE 42 13 90 85 3C 0C  // G[[email protected]...<.

Which results in Clover looking at the wrong bits when trying to determine the path of the Processor objects.

It is trying to find this:
Code:
    Scope (_PR)
    {

 15095: 10 4E 06 5F 50 52 5F                             // .N._PR_

        Processor (CPU0, 0x01, 0x00001810, 0x06) {}

 1509C: 5B 83 0B 43 50 55 30 01 10 18 00 00 06           // [..CPU0......

You can use SSDT-XCPM.aml instead of ACPI/SSDT/Generate/PluginType=true.

Read here:
https://www.tonymacx86.com/threads/guide-native-power-management-for-laptops.175801/

All righty I got this SSDT-XCPM.aml file in ACPI>patched.

But I got this in my config.plist (see attachment)
Disabled.aml tab Should those be removed?
 

Attachments

  • err58.jpg
    err58.jpg
    7.7 MB · Views: 105
All righty I got this SSDT-XCPM.aml file in ACPI>patched.

But I got this in my config.plist (see attachment)
Disabled.aml tab Should those be removed?

Yes, you will need to remove the SSDT-XCPM.aml entry from DisabledAML.
 
And ACPI>SSDT>Generate>Plugintype=yes ?

Set config.plist/ACPI/SSDT/Generate/PluginType=false, or set config.plist/ACPI/SSDT/Generate=false.
 
Set config.plist/ACPI/SSDT/Generate/PluginType=false, or set config.plist/ACPI/SSDT/Generate=false.

Yay, I think its working now! (see debug attachment)

I was kind of confused that it didn't work, because I could see changes in the CPUs frequency as it was stepping in the multiplier, x13, x23 ,x34 etc..
 

Attachments

  • debug_30549.zip
    2.5 MB · Views: 74
Yay, I think its working now! (see debug attachment)

I was kind of confused that it didn't work, because I could see changes in the CPUs frequency as it was stepping in the multiplier, x13, x23 ,x34 etc..

The ioreg now shows X86PlatformPlugin started.
 
The ioreg now shows X86PlatformPlugin started.

Yep

I tried to put it to sleep and wake it up again. It however after it wakes is still unresponsive and intel power gadget still freezes.
 
Status
Not open for further replies.
Back
Top