Commit c95f75f4 authored by James Zhu's avatar James Zhu Committed by Alex Deucher
Browse files

drm/amdgpu:No action when VCN PG state is unchanged



When VCN PG state is unchanged, it is unnecessary to reset power
gate state

Signed-off-by: default avatarJames Zhu <James.Zhu@amd.com>
Acked-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Acked-by: default avatarChristian König <christian.koenig@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 2faec55c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -69,6 +69,7 @@ struct amdgpu_vcn {
	struct amdgpu_ring	ring_jpeg;
	struct amdgpu_irq_src	irq;
	unsigned		num_enc_rings;
	enum amd_powergating_state cur_state;
};

int amdgpu_vcn_sw_init(struct amdgpu_device *adev);
+10 −2
Original line number Diff line number Diff line
@@ -1633,12 +1633,20 @@ static int vcn_v1_0_set_powergating_state(void *handle,
	 * revisit this when there is a cleaner line between
	 * the smc and the hw blocks
	 */
	int ret;
	struct amdgpu_device *adev = (struct amdgpu_device *)handle;

	if(state == adev->vcn.cur_state)
		return 0;

	if (state == AMD_PG_STATE_GATE)
		return vcn_v1_0_stop(adev);
		ret = vcn_v1_0_stop(adev);
	else
		return vcn_v1_0_start(adev);
		ret = vcn_v1_0_start(adev);

	if(!ret)
		adev->vcn.cur_state = state;
	return ret;
}

static const struct amd_ip_funcs vcn_v1_0_ip_funcs = {