Commit f6f534e2 authored by Rex Zhu's avatar Rex Zhu Committed by Alex Deucher
Browse files

drm/amdgpu: add drm light sleep support for Vi



v2: fix copy error.

Signed-off-by: default avatarRex Zhu <Rex.Zhu@amd.com>
Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent e8a95b27
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -1177,6 +1177,23 @@ static void vi_update_hdp_light_sleep(struct amdgpu_device *adev,
		WREG32(mmHDP_MEM_POWER_LS, data);
}

static void vi_update_drm_light_sleep(struct amdgpu_device *adev,
				      bool enable)
{
	uint32_t temp, data;

	temp = data = RREG32(0x157a);

	if (enable && (adev->cg_flags & AMD_CG_SUPPORT_DRM_LS))
		data |= 1;
	else
		data &= ~1;

	if (temp != data)
		WREG32(0x157a, data);
}


static void vi_update_rom_medium_grain_clock_gating(struct amdgpu_device *adev,
						    bool enable)
{
@@ -1337,6 +1354,8 @@ static int vi_common_set_clockgating_state(void *handle,
				state == AMD_CG_STATE_GATE ? true : false);
		vi_update_hdp_light_sleep(adev,
				state == AMD_CG_STATE_GATE ? true : false);
		vi_update_drm_light_sleep(adev,
				state == AMD_CG_STATE_GATE ? true : false);
		break;
	case CHIP_TONGA:
	case CHIP_POLARIS10: