Re: [PATCH 2/6] platform/x86: amd-pmc: Fix SMU firmware reporting mechanism

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

 



Hi,

On 6/17/21 6:56 PM, Limonciello, Mario wrote:
> On 6/17/2021 10:02, Hans de Goede wrote:
>> Hi,
>>
>> On 6/17/21 1:30 PM, Shyam Sundar S K wrote:
>>> It was lately understood that the current mechanism available in the
>>> driver to get SMU firmware info works only on internal SMU builds and
>>> there is a separate way to get all the SMU logging counters (addressed
>>> in the next patch). Hence remove all the smu info shown via debugfs as it
>>> is no more useful.
>>>
>>> Also, use dump registers routine only at one place i.e. after the command
>>> submission to SMU is done.
>>>
>>> Fixes: 156ec4731cb2 ("platform/x86: amd-pmc: Add AMD platform support for S2Idle")
>>> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@xxxxxxx>
>>> ---
>>>   drivers/platform/x86/amd-pmc.c | 15 +--------------
>>>   1 file changed, 1 insertion(+), 14 deletions(-)
>>>
>>> diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
>>> index 9c8a53120767..ce0e2ad94d09 100644
>>> --- a/drivers/platform/x86/amd-pmc.c
>>> +++ b/drivers/platform/x86/amd-pmc.c
>>> @@ -52,7 +52,6 @@
>>>   #define AMD_CPU_ID_PCO            AMD_CPU_ID_RV
>>>   #define AMD_CPU_ID_CZN            AMD_CPU_ID_RN
>>>   -#define AMD_SMU_FW_VERSION        0x0
>>>   #define PMC_MSG_DELAY_MIN_US        100
>>>   #define RESPONSE_REGISTER_LOOP_MAX    200
>>>   @@ -88,11 +87,6 @@ static inline void amd_pmc_reg_write(struct amd_pmc_dev *dev, int reg_offset, u3
>>>   #ifdef CONFIG_DEBUG_FS
>>>   static int smu_fw_info_show(struct seq_file *s, void *unused)
>>>   {
>>> -    struct amd_pmc_dev *dev = s->private;
>>> -    u32 value;
>>> -
>>> -    value = ioread32(dev->smu_base + AMD_SMU_FW_VERSION);
>>> -    seq_printf(s, "SMU FW Info: %x\n", value);
>>>       return 0;
>>>   }
>>>   DEFINE_SHOW_ATTRIBUTE(smu_fw_info);
>>> @@ -164,6 +158,7 @@ static int amd_pmc_send_cmd(struct amd_pmc_dev *dev, bool set)
>>>           dev_err(dev->dev, "SMU response timed out\n");
>>>           return rc;
>>>       }
>>> +    amd_pmc_dump_registers(dev);
>>
>> Is this addition instead of a removal intentional ?  If this is intentional
>> this really should be done in a separate commit, with a commit message
>> explaining why this change is being made.
>>
>>>       return 0;
>>>   }
>>>   @@ -176,7 +171,6 @@ static int __maybe_unused amd_pmc_suspend(struct device *dev)
>>>       if (rc)
>>>           dev_err(pdev->dev, "suspend failed\n");
>>>   -    amd_pmc_dump_registers(pdev);
>>>       return 0;
>>>   }
>>>   @@ -189,7 +183,6 @@ static int __maybe_unused amd_pmc_resume(struct device *dev)
>>>       if (rc)
>>>           dev_err(pdev->dev, "resume failed\n");
>>>   -    amd_pmc_dump_registers(pdev);
>>>       return 0;
>>>   }
>>>   @@ -256,17 +249,11 @@ static int amd_pmc_probe(struct platform_device *pdev)
>>>       pci_dev_put(rdev);
>>>       base_addr = ((u64)base_addr_hi << 32 | base_addr_lo);
>>>   -    dev->smu_base = devm_ioremap(dev->dev, base_addr, AMD_PMC_MAPPING_SIZE);
>>> -    if (!dev->smu_base)
>>> -        return -ENOMEM;
>>> -
>>
>> Since you are now no longer setting this, I assume that this is also
>> not used anywhere anymore? And thus the smu_base variable should also
>> be removed from the "dev" struct.
> 
> It's removed in the next patch. 

Ah I missed that.

> I suppose when Shyam re-spins you're looking to have it removed in "this" patch instead.

Yes please.

Regards,

Hans




> 
>>
>>>       dev->regbase = devm_ioremap(dev->dev, base_addr + AMD_PMC_BASE_ADDR_OFFSET,
>>>                       AMD_PMC_MAPPING_SIZE);
>>>       if (!dev->regbase)
>>>           return -ENOMEM;
>>>   -    amd_pmc_dump_registers(dev);
>>> -
>>>       platform_set_drvdata(pdev, dev);
>>>       amd_pmc_dbgfs_register(dev);
>>>       return 0;
>>
>>
>> Regards,
>>
>> Hans
>>
>>
>> p.s.
>>
>> I don't have time to review the rest of this series today. I'll continue
>> reviewing this later (probably on Monday).
>>
>>
> 




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

  Powered by Linux