Re: [PATCH v2] platform/x86/amd/pmc: adjust amd_pmc_get_dram_size() behavior

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

 



Hi Mark, Ilpo,

Apologies for the delay

On 11/13/2023 6:40 PM, Ilpo Järvinen wrote:
> On Thu, 9 Nov 2023, Shyam Sundar S K wrote:
> 
>> After talking to the PMFW team, its understood that the "get dram size"
>> mbox command would only be supported on specific platforms (like Mendocino)
>> and not all. So adjust the behavior of amd_pmc_get_dram_size() function
>> such that,
>>
>> - if that's Rembrandt or Mendocino and the underlying PMFW knows how
>> to execute the "get dram size" command it shall give the custom dram size.
>>
>> - if the underlying FW does not report the dram size, we just proceed
>> further and assign the default dram size.
> 
> This commit message lacks the description of the problem we have the Fixes 
> tag for. Please explain also that problem as it's very much related.
> 
>> Cc: Mark Hasemeyer <markhas@xxxxxxxxxxxx>
> 
> Mark, does this patch solve the issue for you?
> 
>> Link: https://lore.kernel.org/platform-driver-x86/3b224c62-a1d8-41bd-aced-5825f5f20e66@xxxxxxx/
>> Fixes: be8325fb3d8c ("platform/x86/amd: pmc: Get STB DRAM size from PMFW")
>> Suggested-by: Sanket Goswami <Sanket.Goswami@xxxxxxx>
>> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
>> ---
>>
>> v2:
>> - Based on review-ilpo branch
>> - Drop calling get smu version from probe.
>>
>>  drivers/platform/x86/amd/pmc/pmc.c | 11 +----------
>>  1 file changed, 1 insertion(+), 10 deletions(-)
>>
>> diff --git a/drivers/platform/x86/amd/pmc/pmc.c b/drivers/platform/x86/amd/pmc/pmc.c
>> index cd6ac04c1468..501c72c7d34c 100644
>> --- a/drivers/platform/x86/amd/pmc/pmc.c
>> +++ b/drivers/platform/x86/amd/pmc/pmc.c
>> @@ -968,17 +968,8 @@ static int amd_pmc_get_dram_size(struct amd_pmc_dev *dev)
>>  {
>>  	int ret;
>>  
>> -	switch (dev->cpu_id) {
>> -	case AMD_CPU_ID_YC:
>> -		if (!(dev->major > 90 || (dev->major == 90 && dev->minor > 39))) {
>> -			ret = -EINVAL;
>> -			goto err_dram_size;
>> -		}
>> -		break;
>> -	default:
>> -		ret = -EINVAL;
>> +	if (dev->cpu_id != AMD_CPU_ID_YC)
>>  		goto err_dram_size;
> 
> This now ends up returning uninitialized ret variable. I'd have expected 
> compiler to warn you about it...??
> 
> It also still prints the dev_err() after jumping to the label. If we know 
> dram size not supported, dev_err is not really correct level (I'd say 
> dev_dbg at most but better would be to not print anything, IMO).
> 
> Thinking it more though, it would make more sense to initialize the 
> default dram_size within this function to make it easier to track the code 
> + call this function amd_pmc_init_dram_size() and make it void since its 
> return value is not really used for anything else than setting the default
> dram_size.

I have sent a simplified version now. Can you please take a look.

Thanks,
Shyam

> 
>> -	}
>>  
>>  	ret = amd_pmc_send_cmd(dev, S2D_DRAM_SIZE, &dev->dram_size, dev->s2d_msg_id, true);
>>  	if (ret || !dev->dram_size)
>>
> 
> 



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

  Powered by Linux