Merge tag 'amd-drm-fixes-5.8-2020-07-01' of git://people.freedesktop.org/~agd5f/linux into drm-fixes

amd-drm-fixes-5.8-2020-07-01:

amdgpu:
- Fix for vega20 boards without RAS support
- DC bandwidth revalidation fix
- Fix Renoir vram info fetching
- Fix hwmon freq printing

Signed-off-by: Dave Airlie <airlied@redhat.com>
From: Alex Deucher <alexdeucher@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200701194415.4065-1-alexander.deucher@amd.com
This commit is contained in:
Dave Airlie 2020-07-02 14:50:59 +10:00
commit 80e89901e5
4 changed files with 16 additions and 10 deletions

View File

@ -204,6 +204,7 @@ amdgpu_atomfirmware_get_vram_info(struct amdgpu_device *adev,
(mode_info->atom_context->bios + data_offset); (mode_info->atom_context->bios + data_offset);
switch (crev) { switch (crev) {
case 11: case 11:
case 12:
mem_channel_number = igp_info->v11.umachannelnumber; mem_channel_number = igp_info->v11.umachannelnumber;
/* channel width is 64 */ /* channel width is 64 */
if (vram_width) if (vram_width)

View File

@ -2784,7 +2784,7 @@ static ssize_t amdgpu_hwmon_show_sclk(struct device *dev,
if (r) if (r)
return r; return r;
return snprintf(buf, PAGE_SIZE, "%d\n", sclk * 10 * 1000); return snprintf(buf, PAGE_SIZE, "%u\n", sclk * 10 * 1000);
} }
static ssize_t amdgpu_hwmon_show_sclk_label(struct device *dev, static ssize_t amdgpu_hwmon_show_sclk_label(struct device *dev,
@ -2819,7 +2819,7 @@ static ssize_t amdgpu_hwmon_show_mclk(struct device *dev,
if (r) if (r)
return r; return r;
return snprintf(buf, PAGE_SIZE, "%d\n", mclk * 10 * 1000); return snprintf(buf, PAGE_SIZE, "%u\n", mclk * 10 * 1000);
} }
static ssize_t amdgpu_hwmon_show_mclk_label(struct device *dev, static ssize_t amdgpu_hwmon_show_mclk_label(struct device *dev,

View File

@ -2538,10 +2538,12 @@ void dc_commit_updates_for_stream(struct dc *dc,
copy_stream_update_to_stream(dc, context, stream, stream_update); copy_stream_update_to_stream(dc, context, stream, stream_update);
if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) { if (update_type > UPDATE_TYPE_FAST) {
DC_ERROR("Mode validation failed for stream update!\n"); if (!dc->res_pool->funcs->validate_bandwidth(dc, context, false)) {
dc_release_state(context); DC_ERROR("Mode validation failed for stream update!\n");
return; dc_release_state(context);
return;
}
} }
commit_planes_for_stream( commit_planes_for_stream(

View File

@ -522,9 +522,11 @@ static int vega20_smu_init(struct pp_hwmgr *hwmgr)
priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].version = 0x01; priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].version = 0x01;
priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].size = sizeof(DpmActivityMonitorCoeffInt_t); priv->smu_tables.entry[TABLE_ACTIVITY_MONITOR_COEFF].size = sizeof(DpmActivityMonitorCoeffInt_t);
ret = smu_v11_0_i2c_eeprom_control_init(&adev->pm.smu_i2c); if (adev->psp.ras.ras) {
if (ret) ret = smu_v11_0_i2c_eeprom_control_init(&adev->pm.smu_i2c);
goto err4; if (ret)
goto err4;
}
return 0; return 0;
@ -560,7 +562,8 @@ static int vega20_smu_fini(struct pp_hwmgr *hwmgr)
(struct vega20_smumgr *)(hwmgr->smu_backend); (struct vega20_smumgr *)(hwmgr->smu_backend);
struct amdgpu_device *adev = hwmgr->adev; struct amdgpu_device *adev = hwmgr->adev;
smu_v11_0_i2c_eeprom_control_fini(&adev->pm.smu_i2c); if (adev->psp.ras.ras)
smu_v11_0_i2c_eeprom_control_fini(&adev->pm.smu_i2c);
if (priv) { if (priv) {
amdgpu_bo_free_kernel(&priv->smu_tables.entry[TABLE_PPTABLE].handle, amdgpu_bo_free_kernel(&priv->smu_tables.entry[TABLE_PPTABLE].handle,