Hi, On 10/3/20 3:19 PM, Hans de Goede wrote:
Hi All, Recently 2 different patches have been submitted for drivers under drivers/platform/x86 to configure the performance-profile of modern laptops (see the actual RFC patch for what I mean with a performance-profile). One for the thinkpad_acpi driver and one for the hp-wmi driver. Since I don't want each pdx86 driver to invent its own userspace API for this I have started a dicussion about coming up with a standardized / common sysfs class / API for this on the pdx86 list: https://www.spinics.net/lists/platform-driver-x86/msg22794.html The sysfs API proposal which I'm sending out as RFC in this email thread is the result of me trying to distill that discussion into a concrete proposal. I have Cc-ed the linux-pm and linux-acpi lists because even though the trigger for doing this is 2 different pdx86 drivers, the resulting API should (must even) also be suitable for other platforms. I can e.g. see various modern ARM platforms also having similar functionality which they may want to export to userspace and the ideally the userspace code for allowing the end-user to configure/select a profile would be the same under ARM and x86. Talking about userspace I've also Cc-ed Bastien and Benjamin who are working on the userspace side of this.
p.s. About the type part of the proposed sysfs API for this, the idea here is that e.g. the Intel pstate driver could also export a performance-profile interface, mirroring the custom interface it currently has for this. The performance-profile-daemon (p-p-d) Bastien is working on already talks to the pstate driver in some cases. Currently it does this using the pstate drivers own/custom API, but that does not really scale. If ARM or AMD chips get similar functionality in the future then ideally these would export a /sys/class/performance-profile with a type of "cpu" and then p-p-d would just need to talk to the performance-profile API, instead of needing to have its own internal HAL to deal with different CPU vendors. Regards, Hans