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 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.

>  	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