platform/x86/amd/pmf: Fix CnQF and auto-mode after resume
authorMario Limonciello <mario.limonciello@amd.com>
Sat, 13 May 2023 01:14:08 +0000 (20:14 -0500)
committerHans de Goede <hdegoede@redhat.com>
Mon, 15 May 2023 12:56:13 +0000 (14:56 +0200)
commitb54147fa374dbeadcb01b1762db1a793e06e37de
tree32e45d2ebf1512f5fad55f2aaf9920baced434da
parent362c1f2ec82cb65940e1c73e15a395a7a891fc6f
platform/x86/amd/pmf: Fix CnQF and auto-mode after resume

After suspend/resume cycle there is an error message and auto-mode
or CnQF stops working.

[ 5741.447511] amd-pmf AMDI0100:00: SMU cmd failed. err: 0xff
[ 5741.447523] amd-pmf AMDI0100:00: AMD_PMF_REGISTER_RESPONSE:ff
[ 5741.447527] amd-pmf AMDI0100:00: AMD_PMF_REGISTER_ARGUMENT:7
[ 5741.447531] amd-pmf AMDI0100:00: AMD_PMF_REGISTER_MESSAGE:16
[ 5741.447540] amd-pmf AMDI0100:00: [AUTO_MODE] avg power: 0 mW mode: QUIET

This is because the DRAM address used for accessing metrics table
needs to be refreshed after a suspend resume cycle. Add a resume
callback to reset this again.

Fixes: 1a409b35c995 ("platform/x86/amd/pmf: Get performance metrics from PMFW")
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Link: https://lore.kernel.org/r/20230513011408.958-1-mario.limonciello@amd.com
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
drivers/platform/x86/amd/pmf/core.c