drm/amdgpu/vcn: improve vcn dpg stop procedure
[ Upstream commit 6ea239adc2a712eb318f04f5c29b018ba65ea38a ] Prior to disabling dpg, VCN need unpausing dpg mode, or VCN will hang in S3 resuming. Reviewed-by: James Zhu <James.Zhu@amd.com> Signed-off-by: Tianci Yin <tianci.yin@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:

committed by
Greg Kroah-Hartman

parent
d2e0931e6d
commit
e5afacc826
@@ -1429,8 +1429,11 @@ static int vcn_v3_0_start_sriov(struct amdgpu_device *adev)
|
|||||||
|
|
||||||
static int vcn_v3_0_stop_dpg_mode(struct amdgpu_device *adev, int inst_idx)
|
static int vcn_v3_0_stop_dpg_mode(struct amdgpu_device *adev, int inst_idx)
|
||||||
{
|
{
|
||||||
|
struct dpg_pause_state state = {.fw_based = VCN_DPG_STATE__UNPAUSE};
|
||||||
uint32_t tmp;
|
uint32_t tmp;
|
||||||
|
|
||||||
|
vcn_v3_0_pause_dpg_mode(adev, 0, &state);
|
||||||
|
|
||||||
/* Wait for power status to be 1 */
|
/* Wait for power status to be 1 */
|
||||||
SOC15_WAIT_ON_RREG(VCN, inst_idx, mmUVD_POWER_STATUS, 1,
|
SOC15_WAIT_ON_RREG(VCN, inst_idx, mmUVD_POWER_STATUS, 1,
|
||||||
UVD_POWER_STATUS__UVD_POWER_STATUS_MASK);
|
UVD_POWER_STATUS__UVD_POWER_STATUS_MASK);
|
||||||
|
Reference in New Issue
Block a user