Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 7ba0eb6d authored by Alex Deucher's avatar Alex Deucher
Browse files

drm/amdgpu/gfx8: clean up polaris11 PG enable



Fix the logic for enabling/disabling.

Signed-off-by: default avatarAlex Deucher <alexander.deucher@amd.com>
parent 2c547165
Loading
Loading
Loading
Loading
+13 −5
Original line number Diff line number Diff line
@@ -5390,12 +5390,20 @@ static int gfx_v8_0_set_powergating_state(void *handle,
			gfx_v8_0_enable_gfx_dynamic_mg_power_gating(adev, false);
		break;
	case CHIP_POLARIS11:
		if (adev->pg_flags & AMD_PG_SUPPORT_GFX_SMG)
			gfx_v8_0_enable_gfx_static_mg_power_gating(adev, enable);
		else if (adev->pg_flags & AMD_PG_SUPPORT_GFX_DMG)
			gfx_v8_0_enable_gfx_dynamic_mg_power_gating(adev, enable);
		if ((adev->pg_flags & AMD_PG_SUPPORT_GFX_SMG) && enable)
			gfx_v8_0_enable_gfx_static_mg_power_gating(adev, true);
		else
			gfx_v8_0_enable_gfx_static_mg_power_gating(adev, false);

		if ((adev->pg_flags & AMD_PG_SUPPORT_GFX_DMG) && enable)
			gfx_v8_0_enable_gfx_dynamic_mg_power_gating(adev, true);
		else
			gfx_v8_0_enable_gfx_dynamic_mg_power_gating(adev, false);

		if ((adev->pg_flags & AMD_PG_SUPPORT_GFX_QUICK_MG) && enable)
			polaris11_enable_gfx_quick_mg_power_gating(adev, true);
		else
			polaris11_enable_gfx_quick_mg_power_gating(adev, enable);
			polaris11_enable_gfx_quick_mg_power_gating(adev, false);
		break;
	default:
		break;