Commit 1fe48ec0 authored by Evan Quan's avatar Evan Quan Committed by Alex Deucher
Browse files

drm/amdgpu: drop unnecessary cancel_delayed_work_sync on PG ungate



As this is already properly handled in amdgpu_gfx_off_ctrl(). In fact,
this unnecessary cancel_delayed_work_sync may leave a small time window
for race condition and is dangerous.

Signed-off-by: default avatarEvan Quan <evan.quan@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent ee79be18
Loading
Loading
Loading
Loading
+1 −5
Original line number Diff line number Diff line
@@ -4353,11 +4353,7 @@ static int gfx_v10_0_set_powergating_state(void *handle,
	switch (adev->asic_type) {
	case CHIP_NAVI10:
	case CHIP_NAVI14:
		if (!enable) {
			amdgpu_gfx_off_ctrl(adev, false);
			cancel_delayed_work_sync(&adev->gfx.gfx_off_delay_work);
		} else
			amdgpu_gfx_off_ctrl(adev, true);
		amdgpu_gfx_off_ctrl(adev, enable);
		break;
	default:
		break;
+3 −9
Original line number Diff line number Diff line
@@ -5025,10 +5025,9 @@ static int gfx_v9_0_set_powergating_state(void *handle,
	switch (adev->asic_type) {
	case CHIP_RAVEN:
	case CHIP_RENOIR:
		if (!enable) {
		if (!enable)
			amdgpu_gfx_off_ctrl(adev, false);
			cancel_delayed_work_sync(&adev->gfx.gfx_off_delay_work);
		}

		if (adev->pg_flags & AMD_PG_SUPPORT_RLC_SMU_HS) {
			gfx_v9_0_enable_sck_slow_down_on_power_up(adev, true);
			gfx_v9_0_enable_sck_slow_down_on_power_down(adev, true);
@@ -5052,12 +5051,7 @@ static int gfx_v9_0_set_powergating_state(void *handle,
			amdgpu_gfx_off_ctrl(adev, true);
		break;
	case CHIP_VEGA12:
		if (!enable) {
			amdgpu_gfx_off_ctrl(adev, false);
			cancel_delayed_work_sync(&adev->gfx.gfx_off_delay_work);
		} else {
			amdgpu_gfx_off_ctrl(adev, true);
		}
		amdgpu_gfx_off_ctrl(adev, enable);
		break;
	default:
		break;