diff mbox series

platform/x86: amd-pmc: Send command to dump data after clearing OS_HINT

Message ID 20210921115910.19401-1-Sanket.Goswami@amd.com (mailing list archive)
State Accepted, archived
Headers show
Series platform/x86: amd-pmc: Send command to dump data after clearing OS_HINT | expand

Commit Message

Sanket Goswami Sept. 21, 2021, 11:59 a.m. UTC
It was reported that the resume stats received from the firmware are
always zero. This happens because the SMU expects the driver to send the
command to dump the log data after clearing the OS_HINT.

Adjust the order of the commands sent to SMU.

Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>
---
 drivers/platform/x86/amd-pmc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

Comments

Hans de Goede Sept. 28, 2021, 11:30 a.m. UTC | #1
Hi,

On 9/21/21 1:59 PM, Sanket Goswami wrote:
> It was reported that the resume stats received from the firmware are
> always zero. This happens because the SMU expects the driver to send the
> command to dump the log data after clearing the OS_HINT.
> 
> Adjust the order of the commands sent to SMU.
> 
> Signed-off-by: Shyam Sundar S K <Shyam-sundar.S-k@amd.com>
> Signed-off-by: Sanket Goswami <Sanket.Goswami@amd.com>

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

Question, should I also submit this as a bug-fix for 5.15, or
can this wait for the 5.16 cycle ?

Regards,

Hans


> ---
>  drivers/platform/x86/amd-pmc.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
> index 91c1f1c6c929..bc7c4498067b 100644
> --- a/drivers/platform/x86/amd-pmc.c
> +++ b/drivers/platform/x86/amd-pmc.c
> @@ -436,14 +436,14 @@ static int __maybe_unused amd_pmc_resume(struct device *dev)
>  	int rc;
>  	u8 msg;
>  
> -	/* Let SMU know that we are looking for stats */
> -	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_DUMP_DATA, 0);
> -
>  	msg = amd_pmc_get_os_hint(pdev);
>  	rc = amd_pmc_send_cmd(pdev, 0, NULL, msg, 0);
>  	if (rc)
>  		dev_err(pdev->dev, "resume failed\n");
>  
> +	/* Let SMU know that we are looking for stats */
> +	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_DUMP_DATA, 0);
> +
>  	/* Dump the IdleMask to see the blockers */
>  	amd_pmc_idlemask_read(pdev, dev, NULL);
>  
>
diff mbox series

Patch

diff --git a/drivers/platform/x86/amd-pmc.c b/drivers/platform/x86/amd-pmc.c
index 91c1f1c6c929..bc7c4498067b 100644
--- a/drivers/platform/x86/amd-pmc.c
+++ b/drivers/platform/x86/amd-pmc.c
@@ -436,14 +436,14 @@  static int __maybe_unused amd_pmc_resume(struct device *dev)
 	int rc;
 	u8 msg;
 
-	/* Let SMU know that we are looking for stats */
-	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_DUMP_DATA, 0);
-
 	msg = amd_pmc_get_os_hint(pdev);
 	rc = amd_pmc_send_cmd(pdev, 0, NULL, msg, 0);
 	if (rc)
 		dev_err(pdev->dev, "resume failed\n");
 
+	/* Let SMU know that we are looking for stats */
+	amd_pmc_send_cmd(pdev, 0, NULL, SMU_MSG_LOG_DUMP_DATA, 0);
+
 	/* Dump the IdleMask to see the blockers */
 	amd_pmc_idlemask_read(pdev, dev, NULL);