aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c19
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c2
-rw-r--r--drivers/gpu/drm/amd/powerplay/hwmgr/process_pptables_v1_0.c4
-rw-r--r--drivers/gpu/drm/amd/powerplay/inc/hwmgr.h1
-rw-r--r--drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c4
5 files changed, 9 insertions, 21 deletions
diff --git a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
index b610e3b30d95..2f18c64d531f 100644
--- a/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
+++ b/drivers/gpu/drm/amd/amdgpu/gfx_v9_0.c
@@ -1959,25 +1959,6 @@ static void gfx_v9_0_constants_init(struct amdgpu_device *adev)
1959 mutex_unlock(&adev->srbm_mutex); 1959 mutex_unlock(&adev->srbm_mutex);
1960 1960
1961 gfx_v9_0_init_compute_vmid(adev); 1961 gfx_v9_0_init_compute_vmid(adev);
1962
1963 mutex_lock(&adev->grbm_idx_mutex);
1964 /*
1965 * making sure that the following register writes will be broadcasted
1966 * to all the shaders
1967 */
1968 gfx_v9_0_select_se_sh(adev, 0xffffffff, 0xffffffff, 0xffffffff);
1969
1970 WREG32_SOC15(GC, 0, mmPA_SC_FIFO_SIZE,
1971 (adev->gfx.config.sc_prim_fifo_size_frontend <<
1972 PA_SC_FIFO_SIZE__SC_FRONTEND_PRIM_FIFO_SIZE__SHIFT) |
1973 (adev->gfx.config.sc_prim_fifo_size_backend <<
1974 PA_SC_FIFO_SIZE__SC_BACKEND_PRIM_FIFO_SIZE__SHIFT) |
1975 (adev->gfx.config.sc_hiz_tile_fifo_size <<
1976 PA_SC_FIFO_SIZE__SC_HIZ_TILE_FIFO_SIZE__SHIFT) |
1977 (adev->gfx.config.sc_earlyz_tile_fifo_size <<
1978 PA_SC_FIFO_SIZE__SC_EARLYZ_TILE_FIFO_SIZE__SHIFT));
1979 mutex_unlock(&adev->grbm_idx_mutex);
1980
1981} 1962}
1982 1963
1983static void gfx_v9_0_wait_for_rlc_serdes(struct amdgpu_device *adev) 1964static void gfx_v9_0_wait_for_rlc_serdes(struct amdgpu_device *adev)
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
index f1d326caf69e..a7e8340baf90 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/hwmgr.c
@@ -326,7 +326,7 @@ int hwmgr_resume(struct pp_hwmgr *hwmgr)
326 if (ret) 326 if (ret)
327 return ret; 327 return ret;
328 328
329 ret = psm_adjust_power_state_dynamic(hwmgr, true, NULL); 329 ret = psm_adjust_power_state_dynamic(hwmgr, false, NULL);
330 330
331 return ret; 331 return ret;
332} 332}
diff --git a/drivers/gpu/drm/amd/powerplay/hwmgr/process_pptables_v1_0.c b/drivers/gpu/drm/amd/powerplay/hwmgr/process_pptables_v1_0.c
index ae64ff7153d6..1cd5a8b5cdc1 100644
--- a/drivers/gpu/drm/amd/powerplay/hwmgr/process_pptables_v1_0.c
+++ b/drivers/gpu/drm/amd/powerplay/hwmgr/process_pptables_v1_0.c
@@ -916,8 +916,10 @@ static int init_thermal_controller(
916 PHM_PlatformCaps_ThermalController 916 PHM_PlatformCaps_ThermalController
917 ); 917 );
918 918
919 if (0 == powerplay_table->usFanTableOffset) 919 if (0 == powerplay_table->usFanTableOffset) {
920 hwmgr->thermal_controller.use_hw_fan_control = 1;
920 return 0; 921 return 0;
922 }
921 923
922 fan_table = (const PPTable_Generic_SubTable_Header *) 924 fan_table = (const PPTable_Generic_SubTable_Header *)
923 (((unsigned long)powerplay_table) + 925 (((unsigned long)powerplay_table) +
diff --git a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
index c92999aac07c..eccb26fddbd0 100644
--- a/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
+++ b/drivers/gpu/drm/amd/powerplay/inc/hwmgr.h
@@ -694,6 +694,7 @@ struct pp_thermal_controller_info {
694 uint8_t ucType; 694 uint8_t ucType;
695 uint8_t ucI2cLine; 695 uint8_t ucI2cLine;
696 uint8_t ucI2cAddress; 696 uint8_t ucI2cAddress;
697 uint8_t use_hw_fan_control;
697 struct pp_fan_info fanInfo; 698 struct pp_fan_info fanInfo;
698 struct pp_advance_fan_control_parameters advanceFanControlParameters; 699 struct pp_advance_fan_control_parameters advanceFanControlParameters;
699}; 700};
diff --git a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
index 2d4cfe14f72e..29e641c6a5db 100644
--- a/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
+++ b/drivers/gpu/drm/amd/powerplay/smumgr/polaris10_smumgr.c
@@ -2092,6 +2092,10 @@ static int polaris10_thermal_setup_fan_table(struct pp_hwmgr *hwmgr)
2092 return 0; 2092 return 0;
2093 } 2093 }
2094 2094
2095 /* use hardware fan control */
2096 if (hwmgr->thermal_controller.use_hw_fan_control)
2097 return 0;
2098
2095 tmp64 = hwmgr->thermal_controller.advanceFanControlParameters. 2099 tmp64 = hwmgr->thermal_controller.advanceFanControlParameters.
2096 usPWMMin * duty100; 2100 usPWMMin * duty100;
2097 do_div(tmp64, 10000); 2101 do_div(tmp64, 10000);