For vega20, there are two UVD rings which share one powerplay instance.
Under some case(two rings used parallel), the uvd dpm is disabled twice
which causes the SMC hang.
Signed-off-by: Evan Quan <evan.quan@amd.com>
Reviewed-by: Rex Zhu <rezhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
{
struct vega20_hwmgr *data = (struct vega20_hwmgr *)(hwmgr->backend);
+ if (data->vce_power_gated == bgate)
+ return ;
+
data->vce_power_gated = bgate;
vega20_enable_disable_vce_dpm(hwmgr, !bgate);
}
{
struct vega20_hwmgr *data = (struct vega20_hwmgr *)(hwmgr->backend);
+ if (data->uvd_power_gated == bgate)
+ return ;
+
data->uvd_power_gated = bgate;
vega20_enable_disable_uvd_dpm(hwmgr, !bgate);
}