mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-08-21 08:19:28 +00:00
Merge tag 'drm-fixes-5.2-2019-07-02' of git://people.freedesktop.org/~agd5f/linux into drm-fixes
drm-fixes-5.2-2019-07-02: Fixes for stable amdgpu: - stability fix for gfx9 - regression fix for HG on some polaris boards - crash fix for some new OEM boards Signed-off-by: Dave Airlie <airlied@redhat.com> From: Alex Deucher <alexdeucher@gmail.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190703015705.3162-1-alexander.deucher@amd.com
This commit is contained in:
commit
5ee5d30a81
5 changed files with 9 additions and 21 deletions
|
@ -1959,25 +1959,6 @@ static void gfx_v9_0_constants_init(struct amdgpu_device *adev)
|
|||
mutex_unlock(&adev->srbm_mutex);
|
||||
|
||||
gfx_v9_0_init_compute_vmid(adev);
|
||||
|
||||
mutex_lock(&adev->grbm_idx_mutex);
|
||||
/*
|
||||
* making sure that the following register writes will be broadcasted
|
||||
* to all the shaders
|
||||
*/
|
||||
gfx_v9_0_select_se_sh(adev, 0xffffffff, 0xffffffff, 0xffffffff);
|
||||
|
||||
WREG32_SOC15(GC, 0, mmPA_SC_FIFO_SIZE,
|
||||
(adev->gfx.config.sc_prim_fifo_size_frontend <<
|
||||
PA_SC_FIFO_SIZE__SC_FRONTEND_PRIM_FIFO_SIZE__SHIFT) |
|
||||
(adev->gfx.config.sc_prim_fifo_size_backend <<
|
||||
PA_SC_FIFO_SIZE__SC_BACKEND_PRIM_FIFO_SIZE__SHIFT) |
|
||||
(adev->gfx.config.sc_hiz_tile_fifo_size <<
|
||||
PA_SC_FIFO_SIZE__SC_HIZ_TILE_FIFO_SIZE__SHIFT) |
|
||||
(adev->gfx.config.sc_earlyz_tile_fifo_size <<
|
||||
PA_SC_FIFO_SIZE__SC_EARLYZ_TILE_FIFO_SIZE__SHIFT));
|
||||
mutex_unlock(&adev->grbm_idx_mutex);
|
||||
|
||||
}
|
||||
|
||||
static void gfx_v9_0_wait_for_rlc_serdes(struct amdgpu_device *adev)
|
||||
|
|
|
@ -326,7 +326,7 @@ int hwmgr_resume(struct pp_hwmgr *hwmgr)
|
|||
if (ret)
|
||||
return ret;
|
||||
|
||||
ret = psm_adjust_power_state_dynamic(hwmgr, true, NULL);
|
||||
ret = psm_adjust_power_state_dynamic(hwmgr, false, NULL);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
|
|
@ -916,8 +916,10 @@ static int init_thermal_controller(
|
|||
PHM_PlatformCaps_ThermalController
|
||||
);
|
||||
|
||||
if (0 == powerplay_table->usFanTableOffset)
|
||||
if (0 == powerplay_table->usFanTableOffset) {
|
||||
hwmgr->thermal_controller.use_hw_fan_control = 1;
|
||||
return 0;
|
||||
}
|
||||
|
||||
fan_table = (const PPTable_Generic_SubTable_Header *)
|
||||
(((unsigned long)powerplay_table) +
|
||||
|
|
|
@ -694,6 +694,7 @@ struct pp_thermal_controller_info {
|
|||
uint8_t ucType;
|
||||
uint8_t ucI2cLine;
|
||||
uint8_t ucI2cAddress;
|
||||
uint8_t use_hw_fan_control;
|
||||
struct pp_fan_info fanInfo;
|
||||
struct pp_advance_fan_control_parameters advanceFanControlParameters;
|
||||
};
|
||||
|
|
|
@ -2092,6 +2092,10 @@ static int polaris10_thermal_setup_fan_table(struct pp_hwmgr *hwmgr)
|
|||
return 0;
|
||||
}
|
||||
|
||||
/* use hardware fan control */
|
||||
if (hwmgr->thermal_controller.use_hw_fan_control)
|
||||
return 0;
|
||||
|
||||
tmp64 = hwmgr->thermal_controller.advanceFanControlParameters.
|
||||
usPWMMin * duty100;
|
||||
do_div(tmp64, 10000);
|
||||
|
|
Loading…
Reference in a new issue