Re: [PATCH v2 1/2] platform/x86/amd/pmf: remove smart_pc_status enum

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Hans,

On 2/14/2024 16:00, Hans de Goede wrote:
> Hi,
> 
> On 2/14/24 10:28, Shyam Sundar S K wrote:
>> Hi Hans,
>>
>> On 2/13/2024 13:06, Shyam Sundar S K wrote:
>>> Improve code readability by removing smart_pc_status enum, as the same
>>> can be done with a simple true/false check; Update the code checks
>>> accordingly.
>>>
>>> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
>>> ---
>>> v1->v2:
>>> - remove enum smart_pc_status and adjust the code handling
>>
>> Please drop this patch for your review list. I tested this on a wrong
>> environment and seems like some more code handling is required before
>> we remove the enum.
> 
> Ah yes, I see I missed that this also chnages the return value of
> amd_pmf_init_smart_pc(). I assume that is what you are referring to ?

That's right. Need to handle this case.

Also, when Smart PC is advertised and enabled the other two features
have to be dropped.

Thanks,
Shyam

> 
> Regards,
> 
> Hans
> 
> 
>>>  drivers/platform/x86/amd/pmf/pmf.h    | 5 -----
>>>  drivers/platform/x86/amd/pmf/tee-if.c | 4 ++--
>>>  3 files changed, 3 insertions(+), 8 deletions(-)
>>>
>>> diff --git a/drivers/platform/x86/amd/pmf/core.c b/drivers/platform/x86/amd/pmf/core.c
>>> index feaa09f5b35a..ff0d61a56484 100644
>>> --- a/drivers/platform/x86/amd/pmf/core.c
>>> +++ b/drivers/platform/x86/amd/pmf/core.c
>>> @@ -351,7 +351,7 @@ static void amd_pmf_deinit_features(struct amd_pmf_dev *dev)
>>>  		amd_pmf_deinit_sps(dev);
>>>  	}
>>>  
>>> -	if (!dev->smart_pc_enabled) {
>>> +	if (dev->smart_pc_enabled) {
>>>  		amd_pmf_deinit_smart_pc(dev);
>>>  	} else if (is_apmf_func_supported(dev, APMF_FUNC_AUTO_MODE)) {
>>>  		amd_pmf_deinit_auto_mode(dev);
>>> diff --git a/drivers/platform/x86/amd/pmf/pmf.h b/drivers/platform/x86/amd/pmf/pmf.h
>>> index 16999c5b334f..66cae1cca73c 100644
>>> --- a/drivers/platform/x86/amd/pmf/pmf.h
>>> +++ b/drivers/platform/x86/amd/pmf/pmf.h
>>> @@ -441,11 +441,6 @@ struct apmf_dyn_slider_output {
>>>  	struct apmf_cnqf_power_set ps[APMF_CNQF_MAX];
>>>  } __packed;
>>>  
>>> -enum smart_pc_status {
>>> -	PMF_SMART_PC_ENABLED,
>>> -	PMF_SMART_PC_DISABLED,
>>> -};
>>> -
>>>  /* Smart PC - TA internals */
>>>  enum system_state {
>>>  	SYSTEM_STATE_S0i3,
>>> diff --git a/drivers/platform/x86/amd/pmf/tee-if.c b/drivers/platform/x86/amd/pmf/tee-if.c
>>> index f8c0177afb0d..8b7e3f87702e 100644
>>> --- a/drivers/platform/x86/amd/pmf/tee-if.c
>>> +++ b/drivers/platform/x86/amd/pmf/tee-if.c
>>> @@ -260,7 +260,7 @@ static int amd_pmf_start_policy_engine(struct amd_pmf_dev *dev)
>>>  	res = amd_pmf_invoke_cmd_init(dev);
>>>  	if (res == TA_PMF_TYPE_SUCCESS) {
>>>  		/* Now its safe to announce that smart pc is enabled */
>>> -		dev->smart_pc_enabled = PMF_SMART_PC_ENABLED;
>>> +		dev->smart_pc_enabled = true;
>>>  		/*
>>>  		 * Start collecting the data from TA FW after a small delay
>>>  		 * or else, we might end up getting stale values.
>>> @@ -268,7 +268,7 @@ static int amd_pmf_start_policy_engine(struct amd_pmf_dev *dev)
>>>  		schedule_delayed_work(&dev->pb_work, msecs_to_jiffies(pb_actions_ms * 3));
>>>  	} else {
>>>  		dev_err(dev->dev, "ta invoke cmd init failed err: %x\n", res);
>>> -		dev->smart_pc_enabled = PMF_SMART_PC_DISABLED;
>>> +		dev->smart_pc_enabled = false;
>>>  		return res;
>>>  	}
>>>  
>>
> 




[Index of Archives]     [Linux Kernel Development]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux