drm/amdgpu/vcn: improve vcn dpg stop procedure
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>
This commit is contained in:
parent
c5650327ab
commit
6ea239adc2
|
@ -1480,8 +1480,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);
|
||||||
|
|
Loading…
Reference in New Issue