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 |
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 --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);