drm/amd/pm: fix runpm hang when amdgpu loaded prior to sound driver
authorEvan Quan <evan.quan@amd.com>
Thu, 9 Sep 2021 03:01:00 +0000 (11:01 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 23 Sep 2021 19:17:28 +0000 (15:17 -0400)
commitbe68d44bf82aa23c53bff0ad4cfd3f90b3b82220
treef2ddf340759eca53e6851f1953bed87b0f96d245
parent0fcfb30019d3e0b891a201e41262b926648c38b0
drm/amd/pm: fix runpm hang when amdgpu loaded prior to sound driver

Current RUNPM mechanism relies on PMFW to master the timing for BACO
in/exit. And that needs cooperation from sound driver for dstate
change notification for function 1(audio). Otherwise(on sound driver
missing), BACO cannot be kicked in correctly and hang will be observed
on RUNPM exit.

By switching back to legacy message way on sound driver missing,
we are able to fix the runpm hang observed for the scenario below:
amdgpu driver loaded -> runpm suspend kicked -> sound driver loaded

Signed-off-by: Evan Quan <evan.quan@amd.com>
Reported-and-tested-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer@amd.com>
Reviewed-by: Lijo Lazar <lijo.lazar@amd.com>
Reviewed-by: Guchun Chen <guchun.chen@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/pm/swsmu/smu11/navi10_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu11/sienna_cichlid_ppt.c
drivers/gpu/drm/amd/pm/swsmu/smu_cmn.c
drivers/gpu/drm/amd/pm/swsmu/smu_cmn.h