Explorar o código

drm/amgpu/acp: Implement set_powergating_state for acp

so driver can powergate acp block after asic initialized
to save power.

Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Rex Zhu <Rex.Zhu@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Rex Zhu %!s(int64=7) %!d(string=hai) anos
pai
achega
c36628d898
Modificáronse 1 ficheiros con 6 adicións e 0 borrados
  1. 6 0
      drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c

+ 6 - 0
drivers/gpu/drm/amd/amdgpu/amdgpu_acp.c

@@ -514,6 +514,12 @@ static int acp_set_clockgating_state(void *handle,
 static int acp_set_powergating_state(void *handle,
 				     enum amd_powergating_state state)
 {
+	struct amdgpu_device *adev = (struct amdgpu_device *)handle;
+	bool enable = state == AMD_PG_STATE_GATE ? true : false;
+
+	if (adev->powerplay.pp_funcs->set_powergating_by_smu)
+		amdgpu_dpm_set_powergating_by_smu(adev, AMD_IP_BLOCK_TYPE_ACP, enable);
+
 	return 0;
 }