Project

General

Profile

Bug #623

Updated by herme herme 1 day ago

Hello 

 Currently, P-state data is missing from ACPI tables on T480/S. On my T480S running libreboot, this was confirmed by using the iasl command to decompile the tables at `/sys/firmware/acpi/tables/`; grepping for `_PSS`, `_PCT` and `_PPC` didn't return any results. [Another user](https://codeberg.org/libreboot/lbmk/issues/394) (Another user)[https://codeberg.org/libreboot/lbmk/issues/394] has confirmed that this is also the case for the similar T480 device, with latest release build of libreboot (26.01 RC1). 

 Meanwhile, in the vendor T480S BIOS, this data is present (contributed by @henk on #coreboot IRC channel): 

 ``` 
 # grep -r -e _PCT -e _PPC -e _PSS *.dsl 
 DSDT.dsl:                          If (CondRefOf (\_PR.PR00._PPC)) 
 DSDT.dsl:                          If ((CondRefOf (\_PR.PR00._PSS) && CondRefOf (\_PR.PR00._PPC))) 
 SSDT1.dsl:      External (_PR_.PR00._PSS, MethodObj)      // 0 Arguments 
 SSDT1.dsl:          Name (_PPC, Zero)    // _PPC: Performance Present Capabilities 
 SSDT1.dsl:              If (CondRefOf (\_PR.PR00._PSS)) 
 SSDT1.dsl:          Method (_PSS, 0, NotSerialized)    // _PSS: Performance Supported States 
 SSDT1.dsl:              If (CondRefOf (\_PR.PR00._PSS)) 
 SSDT1.dsl:                  Return (\_PR.PR00._PSS ()) 
 SSDT1.dsl:              If (CondRefOf (\_PR.PR00._PSS)) 
 SSDT8.dsl:              If (CondRefOf (\_PR.PR00._PSS)) 
 ``` 

 The Linux kernel doesn't rely on this data to perform frequency scaling, because native support is provided by the intel_pstate driver. However, the Xen kernel lacks this native support. When the data is missing, as in my case, the Xen-based QubesOS runs underclocked and is only barely usable. 

Back