drm/amd/pp: Adding a function to store cc6 data in SMU10
authorMikita Lipski <mikita.lipski@amd.com>
Wed, 11 Apr 2018 20:25:26 +0000 (16:25 -0400)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 May 2018 18:43:21 +0000 (13:43 -0500)
Filling the smu10_store_cc6_data based on the implementation
of Windows Powerplay.

There is an uncertainty with one of the parameters passed to the function
pstate_switch_disable - is not a part of smu10 private data structure.
So in the function its just ignored.

Signed-off-by: Mikita Lipski <mikita.lipski@amd.com>
Reviewed-by: Rex Zhu <Rex.Zhu@amd.com>
Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/powerplay/hwmgr/smu10_hwmgr.c

index b712d16a9e6fbe7fdb3cad799c20ae18724a057a..0f252265a75351f568fdd39b289c0bff74788057 100644 (file)
@@ -699,6 +699,16 @@ static int smu10_set_cpu_power_state(struct pp_hwmgr *hwmgr)
 static int smu10_store_cc6_data(struct pp_hwmgr *hwmgr, uint32_t separation_time,
                        bool cc6_disable, bool pstate_disable, bool pstate_switch_disable)
 {
+       struct smu10_hwmgr *data = (struct smu10_hwmgr *)(hwmgr->backend);
+
+       if (separation_time != data->separation_time ||
+                       cc6_disable != data->cc6_disable ||
+                       pstate_disable != data->pstate_disable) {
+               data->separation_time = separation_time;
+               data->cc6_disable = cc6_disable;
+               data->pstate_disable = pstate_disable;
+               data->cc6_setting_changed = true;
+       }
        return 0;
 }