lkml.org 
[lkml]   [2020]   [Oct]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] platform/x86: hp-wmi: add support for thermal policy
From
Date
Hi,

On 10/5/20 10:57 AM, Andy Shevchenko wrote:
> On Mon, Oct 5, 2020 at 12:14 AM Elia Devito <eliadevito@gmail.com> wrote:
>>
>> HP Spectre notebooks (and probably other model as well)
>> support up to 4 thermal policy:
>> - HP Recommended
>> - Performance
>> - Cool
>> - Quiet
>>
>> at least on HP Spectre x360 Convertible 15-df0xxx the firmware sets the
>> thermal policy to default but hardcode the odvp0 variable to 1, this causes
>> thermald to choose the wrong DPTF profile witch result in low performance
>> when notebook is on AC, calling thermal policy write command allow firmware
>> to correctly set the odvp0 variable.
>>
>> Signed-off-by: Elia Devito <eliadevito@gmail.com>
>> ---
>> drivers/platform/x86/hp-wmi.c | 23 +++++++++++++++++++++++
>> 1 file changed, 23 insertions(+)
>>
>> diff --git a/drivers/platform/x86/hp-wmi.c b/drivers/platform/x86/hp-wmi.c
>> index 1762f335bac9..6e448a79caee 100644
>> --- a/drivers/platform/x86/hp-wmi.c
>> +++ b/drivers/platform/x86/hp-wmi.c
>> @@ -81,6 +81,7 @@ enum hp_wmi_commandtype {
>> HPWMI_FEATURE2_QUERY = 0x0d,
>> HPWMI_WIRELESS2_QUERY = 0x1b,
>> HPWMI_POSTCODEERROR_QUERY = 0x2a,
>
>> + HPWMI_THERMAL_POLICY_QUERY = 0x4c
>
> Usually we leave a comma that next change won't add any unnecessary churn.
> I don't think this comment requires a v2 right now (may be satisfied
> when applied), but if any other comments come and need to be
> addressed, then this should be included as well.

I've fixed this up while applying this to my review-hans branch, so
there is no need to send out a new version.

Elia, Thank you for your patch, I've applied this patch to me review-hans branch:
https://git.kernel.org/pub/scm/linux/kernel/git/pdx86/platform-drivers-x86.git/log/?h=review-hans

Once I've run some tests on this branch the patches there will be added
to the platform-drivers-x86/for-next branch and eventually will be
included in the pdx86 pull-request to Linus for the next merge-window.

Regards,

Hans



>
>> };
>>
>> enum hp_wmi_command {
>> @@ -861,6 +862,26 @@ static int __init hp_wmi_rfkill2_setup(struct platform_device *device)
>> return err;
>> }
>>
>> +static int thermal_policy_setup(struct platform_device *device)
>> +{
>> + int err, tp;
>> +
>> + tp = hp_wmi_read_int(HPWMI_THERMAL_POLICY_QUERY);
>> + if (tp < 0)
>> + return tp;
>> +
>> + /*
>> + * call thermal policy write command to ensure that the firmware correctly
>> + * sets the OEM variables for the DPTF
>> + */
>> + err = hp_wmi_perform_query(HPWMI_THERMAL_POLICY_QUERY, HPWMI_WRITE, &tp,
>> + sizeof(tp), 0);
>> + if (err)
>> + return err;
>> +
>> + return 0;
>> +}
>> +
>> static int __init hp_wmi_bios_setup(struct platform_device *device)
>> {
>> /* clear detected rfkill devices */
>> @@ -872,6 +893,8 @@ static int __init hp_wmi_bios_setup(struct platform_device *device)
>> if (hp_wmi_rfkill_setup(device))
>> hp_wmi_rfkill2_setup(device);
>>
>> + thermal_policy_setup(device);
>> +
>> return 0;
>> }
>>
>> --
>> 2.26.2
>>
>
>

\
 
 \ /
  Last update: 2020-10-07 16:03    [W:0.202 / U:0.092 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site