aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJérome Glisse <jglisse@redhat.com>2016-03-16 07:56:45 -0400
committerAlex Deucher <alexander.deucher@amd.com>2016-03-16 18:08:06 -0400
commit3cf8bb1ad1b8266ae12a0fbdfa79cdbdc2168a3f (patch)
treededf21c49960f51449ba4c55340a2410aa48dc6e
parent60123300db80b17251b4de5e98c63e288c6f7b46 (diff)
drm/radeon: fix indentation.
I hate doing this but it hurts my eyes to go over code that does not comply with indentation rules. Only thing that is not only space change is in atom.c all other files are space indentation issues. Acked-by: Christian König <christian.koenig@amd.com> Signed-off-by: Jérôme Glisse <jglisse@redhat.com> Cc: Alex Deucher <alexander.deucher@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
-rw-r--r--drivers/gpu/drm/radeon/atom.c7
-rw-r--r--drivers/gpu/drm/radeon/atombios_crtc.c6
-rw-r--r--drivers/gpu/drm/radeon/atombios_dp.c4
-rw-r--r--drivers/gpu/drm/radeon/btc_dpm.c41
-rw-r--r--drivers/gpu/drm/radeon/ci_dpm.c42
-rw-r--r--drivers/gpu/drm/radeon/ci_smc.c8
-rw-r--r--drivers/gpu/drm/radeon/cik.c6
-rw-r--r--drivers/gpu/drm/radeon/cypress_dpm.c8
-rw-r--r--drivers/gpu/drm/radeon/evergreen.c2
-rw-r--r--drivers/gpu/drm/radeon/evergreen_cs.c32
-rw-r--r--drivers/gpu/drm/radeon/evergreen_hdmi.c2
-rw-r--r--drivers/gpu/drm/radeon/kv_dpm.c4
-rw-r--r--drivers/gpu/drm/radeon/ni.c4
-rw-r--r--drivers/gpu/drm/radeon/ni_dpm.c170
-rw-r--r--drivers/gpu/drm/radeon/r600.c8
-rw-r--r--drivers/gpu/drm/radeon/r600_cs.c20
-rw-r--r--drivers/gpu/drm/radeon/r600_dpm.c6
-rw-r--r--drivers/gpu/drm/radeon/r600_hdmi.c4
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_device.c8
-rw-r--r--drivers/gpu/drm/radeon/radeon_display.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_fb.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_ib.c4
-rw-r--r--drivers/gpu/drm/radeon/radeon_legacy_encoders.c92
-rw-r--r--drivers/gpu/drm/radeon/radeon_object.c6
-rw-r--r--drivers/gpu/drm/radeon/radeon_pm.c2
-rw-r--r--drivers/gpu/drm/radeon/radeon_semaphore.c4
-rw-r--r--drivers/gpu/drm/radeon/radeon_uvd.c8
-rw-r--r--drivers/gpu/drm/radeon/radeon_vce.c22
-rw-r--r--drivers/gpu/drm/radeon/radeon_vm.c19
-rw-r--r--drivers/gpu/drm/radeon/rs780_dpm.c2
-rw-r--r--drivers/gpu/drm/radeon/rv6xx_dpm.c18
-rw-r--r--drivers/gpu/drm/radeon/rv740_dpm.c16
-rw-r--r--drivers/gpu/drm/radeon/rv770_dpm.c46
-rw-r--r--drivers/gpu/drm/radeon/si.c44
-rw-r--r--drivers/gpu/drm/radeon/si_dpm.c98
-rw-r--r--drivers/gpu/drm/radeon/sumo_dpm.c6
-rw-r--r--drivers/gpu/drm/radeon/trinity_dpm.c24
-rw-r--r--drivers/gpu/drm/radeon/vce_v2_0.c2
39 files changed, 407 insertions, 406 deletions
diff --git a/drivers/gpu/drm/radeon/atom.c b/drivers/gpu/drm/radeon/atom.c
index ec1593a6a561..f66c33dd21a3 100644
--- a/drivers/gpu/drm/radeon/atom.c
+++ b/drivers/gpu/drm/radeon/atom.c
@@ -66,9 +66,10 @@ int atom_debug = 0;
66static int atom_execute_table_locked(struct atom_context *ctx, int index, uint32_t * params); 66static int atom_execute_table_locked(struct atom_context *ctx, int index, uint32_t * params);
67int atom_execute_table(struct atom_context *ctx, int index, uint32_t * params); 67int atom_execute_table(struct atom_context *ctx, int index, uint32_t * params);
68 68
69static uint32_t atom_arg_mask[8] = 69static uint32_t atom_arg_mask[8] = {
70 { 0xFFFFFFFF, 0xFFFF, 0xFFFF00, 0xFFFF0000, 0xFF, 0xFF00, 0xFF0000, 70 0xFFFFFFFF, 0x0000FFFF, 0x00FFFF00, 0xFFFF0000,
710xFF000000 }; 71 0x000000FF, 0x0000FF00, 0x00FF0000, 0xFF000000
72};
72static int atom_arg_shift[8] = { 0, 0, 8, 16, 0, 8, 16, 24 }; 73static int atom_arg_shift[8] = { 0, 0, 8, 16, 0, 8, 16, 24 };
73 74
74static int atom_dst_to_src[8][4] = { 75static int atom_dst_to_src[8][4] = {
diff --git a/drivers/gpu/drm/radeon/atombios_crtc.c b/drivers/gpu/drm/radeon/atombios_crtc.c
index e187beca38f7..cf61e0856f4a 100644
--- a/drivers/gpu/drm/radeon/atombios_crtc.c
+++ b/drivers/gpu/drm/radeon/atombios_crtc.c
@@ -1665,11 +1665,11 @@ int atombios_crtc_set_base(struct drm_crtc *crtc, int x, int y,
1665} 1665}
1666 1666
1667int atombios_crtc_set_base_atomic(struct drm_crtc *crtc, 1667int atombios_crtc_set_base_atomic(struct drm_crtc *crtc,
1668 struct drm_framebuffer *fb, 1668 struct drm_framebuffer *fb,
1669 int x, int y, enum mode_set_atomic state) 1669 int x, int y, enum mode_set_atomic state)
1670{ 1670{
1671 struct drm_device *dev = crtc->dev; 1671 struct drm_device *dev = crtc->dev;
1672 struct radeon_device *rdev = dev->dev_private; 1672 struct radeon_device *rdev = dev->dev_private;
1673 1673
1674 if (ASIC_IS_DCE4(rdev)) 1674 if (ASIC_IS_DCE4(rdev))
1675 return dce4_crtc_do_set_base(crtc, fb, x, y, 1); 1675 return dce4_crtc_do_set_base(crtc, fb, x, y, 1);
diff --git a/drivers/gpu/drm/radeon/atombios_dp.c b/drivers/gpu/drm/radeon/atombios_dp.c
index 44ee72e04df9..ae1ab4d0a98c 100644
--- a/drivers/gpu/drm/radeon/atombios_dp.c
+++ b/drivers/gpu/drm/radeon/atombios_dp.c
@@ -37,10 +37,10 @@
37#define DP_DPCD_SIZE DP_RECEIVER_CAP_SIZE 37#define DP_DPCD_SIZE DP_RECEIVER_CAP_SIZE
38 38
39static char *voltage_names[] = { 39static char *voltage_names[] = {
40 "0.4V", "0.6V", "0.8V", "1.2V" 40 "0.4V", "0.6V", "0.8V", "1.2V"
41}; 41};
42static char *pre_emph_names[] = { 42static char *pre_emph_names[] = {
43 "0dB", "3.5dB", "6dB", "9.5dB" 43 "0dB", "3.5dB", "6dB", "9.5dB"
44}; 44};
45 45
46/***** radeon AUX functions *****/ 46/***** radeon AUX functions *****/
diff --git a/drivers/gpu/drm/radeon/btc_dpm.c b/drivers/gpu/drm/radeon/btc_dpm.c
index 69556f5e247e..38e5123708e7 100644
--- a/drivers/gpu/drm/radeon/btc_dpm.c
+++ b/drivers/gpu/drm/radeon/btc_dpm.c
@@ -1163,12 +1163,11 @@ u32 btc_valid_sclk[40] =
1163 155000, 160000, 165000, 170000, 175000, 180000, 185000, 190000, 195000, 200000 1163 155000, 160000, 165000, 170000, 175000, 180000, 185000, 190000, 195000, 200000
1164}; 1164};
1165 1165
1166static const struct radeon_blacklist_clocks btc_blacklist_clocks[] = 1166static const struct radeon_blacklist_clocks btc_blacklist_clocks[] = {
1167{ 1167 { 10000, 30000, RADEON_SCLK_UP },
1168 { 10000, 30000, RADEON_SCLK_UP }, 1168 { 15000, 30000, RADEON_SCLK_UP },
1169 { 15000, 30000, RADEON_SCLK_UP }, 1169 { 20000, 30000, RADEON_SCLK_UP },
1170 { 20000, 30000, RADEON_SCLK_UP }, 1170 { 25000, 30000, RADEON_SCLK_UP }
1171 { 25000, 30000, RADEON_SCLK_UP }
1172}; 1171};
1173 1172
1174void btc_get_max_clock_from_voltage_dependency_table(struct radeon_clock_voltage_dependency_table *table, 1173void btc_get_max_clock_from_voltage_dependency_table(struct radeon_clock_voltage_dependency_table *table,
@@ -1637,14 +1636,14 @@ static int btc_init_smc_table(struct radeon_device *rdev,
1637 cypress_populate_smc_voltage_tables(rdev, table); 1636 cypress_populate_smc_voltage_tables(rdev, table);
1638 1637
1639 switch (rdev->pm.int_thermal_type) { 1638 switch (rdev->pm.int_thermal_type) {
1640 case THERMAL_TYPE_EVERGREEN: 1639 case THERMAL_TYPE_EVERGREEN:
1641 case THERMAL_TYPE_EMC2103_WITH_INTERNAL: 1640 case THERMAL_TYPE_EMC2103_WITH_INTERNAL:
1642 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_INTERNAL; 1641 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_INTERNAL;
1643 break; 1642 break;
1644 case THERMAL_TYPE_NONE: 1643 case THERMAL_TYPE_NONE:
1645 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_NONE; 1644 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_NONE;
1646 break; 1645 break;
1647 default: 1646 default:
1648 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_EXTERNAL; 1647 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_EXTERNAL;
1649 break; 1648 break;
1650 } 1649 }
@@ -1860,37 +1859,37 @@ static bool btc_check_s0_mc_reg_index(u16 in_reg, u16 *out_reg)
1860 case MC_SEQ_RAS_TIMING >> 2: 1859 case MC_SEQ_RAS_TIMING >> 2:
1861 *out_reg = MC_SEQ_RAS_TIMING_LP >> 2; 1860 *out_reg = MC_SEQ_RAS_TIMING_LP >> 2;
1862 break; 1861 break;
1863 case MC_SEQ_CAS_TIMING >> 2: 1862 case MC_SEQ_CAS_TIMING >> 2:
1864 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2; 1863 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2;
1865 break; 1864 break;
1866 case MC_SEQ_MISC_TIMING >> 2: 1865 case MC_SEQ_MISC_TIMING >> 2:
1867 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2; 1866 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2;
1868 break; 1867 break;
1869 case MC_SEQ_MISC_TIMING2 >> 2: 1868 case MC_SEQ_MISC_TIMING2 >> 2:
1870 *out_reg = MC_SEQ_MISC_TIMING2_LP >> 2; 1869 *out_reg = MC_SEQ_MISC_TIMING2_LP >> 2;
1871 break; 1870 break;
1872 case MC_SEQ_RD_CTL_D0 >> 2: 1871 case MC_SEQ_RD_CTL_D0 >> 2:
1873 *out_reg = MC_SEQ_RD_CTL_D0_LP >> 2; 1872 *out_reg = MC_SEQ_RD_CTL_D0_LP >> 2;
1874 break; 1873 break;
1875 case MC_SEQ_RD_CTL_D1 >> 2: 1874 case MC_SEQ_RD_CTL_D1 >> 2:
1876 *out_reg = MC_SEQ_RD_CTL_D1_LP >> 2; 1875 *out_reg = MC_SEQ_RD_CTL_D1_LP >> 2;
1877 break; 1876 break;
1878 case MC_SEQ_WR_CTL_D0 >> 2: 1877 case MC_SEQ_WR_CTL_D0 >> 2:
1879 *out_reg = MC_SEQ_WR_CTL_D0_LP >> 2; 1878 *out_reg = MC_SEQ_WR_CTL_D0_LP >> 2;
1880 break; 1879 break;
1881 case MC_SEQ_WR_CTL_D1 >> 2: 1880 case MC_SEQ_WR_CTL_D1 >> 2:
1882 *out_reg = MC_SEQ_WR_CTL_D1_LP >> 2; 1881 *out_reg = MC_SEQ_WR_CTL_D1_LP >> 2;
1883 break; 1882 break;
1884 case MC_PMG_CMD_EMRS >> 2: 1883 case MC_PMG_CMD_EMRS >> 2:
1885 *out_reg = MC_SEQ_PMG_CMD_EMRS_LP >> 2; 1884 *out_reg = MC_SEQ_PMG_CMD_EMRS_LP >> 2;
1886 break; 1885 break;
1887 case MC_PMG_CMD_MRS >> 2: 1886 case MC_PMG_CMD_MRS >> 2:
1888 *out_reg = MC_SEQ_PMG_CMD_MRS_LP >> 2; 1887 *out_reg = MC_SEQ_PMG_CMD_MRS_LP >> 2;
1889 break; 1888 break;
1890 case MC_PMG_CMD_MRS1 >> 2: 1889 case MC_PMG_CMD_MRS1 >> 2:
1891 *out_reg = MC_SEQ_PMG_CMD_MRS1_LP >> 2; 1890 *out_reg = MC_SEQ_PMG_CMD_MRS1_LP >> 2;
1892 break; 1891 break;
1893 default: 1892 default:
1894 result = false; 1893 result = false;
1895 break; 1894 break;
1896 } 1895 }
diff --git a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c
index 4a09947be244..35e0fc3ae8a7 100644
--- a/drivers/gpu/drm/radeon/ci_dpm.c
+++ b/drivers/gpu/drm/radeon/ci_dpm.c
@@ -192,9 +192,9 @@ static void ci_fan_ctrl_set_default_mode(struct radeon_device *rdev);
192 192
193static struct ci_power_info *ci_get_pi(struct radeon_device *rdev) 193static struct ci_power_info *ci_get_pi(struct radeon_device *rdev)
194{ 194{
195 struct ci_power_info *pi = rdev->pm.dpm.priv; 195 struct ci_power_info *pi = rdev->pm.dpm.priv;
196 196
197 return pi; 197 return pi;
198} 198}
199 199
200static struct ci_ps *ci_get_ps(struct radeon_ps *rps) 200static struct ci_ps *ci_get_ps(struct radeon_ps *rps)
@@ -1632,7 +1632,7 @@ static int ci_notify_hw_of_power_source(struct radeon_device *rdev,
1632 else 1632 else
1633 power_limit = (u32)(cac_tdp_table->battery_power_limit * 256); 1633 power_limit = (u32)(cac_tdp_table->battery_power_limit * 256);
1634 1634
1635 ci_set_power_limit(rdev, power_limit); 1635 ci_set_power_limit(rdev, power_limit);
1636 1636
1637 if (pi->caps_automatic_dc_transition) { 1637 if (pi->caps_automatic_dc_transition) {
1638 if (ac_power) 1638 if (ac_power)
@@ -2017,9 +2017,9 @@ static void ci_enable_display_gap(struct radeon_device *rdev)
2017{ 2017{
2018 u32 tmp = RREG32_SMC(CG_DISPLAY_GAP_CNTL); 2018 u32 tmp = RREG32_SMC(CG_DISPLAY_GAP_CNTL);
2019 2019
2020 tmp &= ~(DISP_GAP_MASK | DISP_GAP_MCHG_MASK); 2020 tmp &= ~(DISP_GAP_MASK | DISP_GAP_MCHG_MASK);
2021 tmp |= (DISP_GAP(R600_PM_DISPLAY_GAP_IGNORE) | 2021 tmp |= (DISP_GAP(R600_PM_DISPLAY_GAP_IGNORE) |
2022 DISP_GAP_MCHG(R600_PM_DISPLAY_GAP_VBLANK)); 2022 DISP_GAP_MCHG(R600_PM_DISPLAY_GAP_VBLANK));
2023 2023
2024 WREG32_SMC(CG_DISPLAY_GAP_CNTL, tmp); 2024 WREG32_SMC(CG_DISPLAY_GAP_CNTL, tmp);
2025} 2025}
@@ -2938,8 +2938,8 @@ static int ci_populate_single_memory_level(struct radeon_device *rdev,
2938 2938
2939 memory_level->MinVddc = cpu_to_be32(memory_level->MinVddc * VOLTAGE_SCALE); 2939 memory_level->MinVddc = cpu_to_be32(memory_level->MinVddc * VOLTAGE_SCALE);
2940 memory_level->MinVddcPhases = cpu_to_be32(memory_level->MinVddcPhases); 2940 memory_level->MinVddcPhases = cpu_to_be32(memory_level->MinVddcPhases);
2941 memory_level->MinVddci = cpu_to_be32(memory_level->MinVddci * VOLTAGE_SCALE); 2941 memory_level->MinVddci = cpu_to_be32(memory_level->MinVddci * VOLTAGE_SCALE);
2942 memory_level->MinMvdd = cpu_to_be32(memory_level->MinMvdd * VOLTAGE_SCALE); 2942 memory_level->MinMvdd = cpu_to_be32(memory_level->MinMvdd * VOLTAGE_SCALE);
2943 2943
2944 memory_level->MclkFrequency = cpu_to_be32(memory_level->MclkFrequency); 2944 memory_level->MclkFrequency = cpu_to_be32(memory_level->MclkFrequency);
2945 memory_level->ActivityLevel = cpu_to_be16(memory_level->ActivityLevel); 2945 memory_level->ActivityLevel = cpu_to_be16(memory_level->ActivityLevel);
@@ -3152,7 +3152,7 @@ static int ci_calculate_sclk_params(struct radeon_device *rdev,
3152 3152
3153 spll_func_cntl_3 &= ~SPLL_FB_DIV_MASK; 3153 spll_func_cntl_3 &= ~SPLL_FB_DIV_MASK;
3154 spll_func_cntl_3 |= SPLL_FB_DIV(fbdiv); 3154 spll_func_cntl_3 |= SPLL_FB_DIV(fbdiv);
3155 spll_func_cntl_3 |= SPLL_DITHEN; 3155 spll_func_cntl_3 |= SPLL_DITHEN;
3156 3156
3157 if (pi->caps_sclk_ss_support) { 3157 if (pi->caps_sclk_ss_support) {
3158 struct radeon_atom_ss ss; 3158 struct radeon_atom_ss ss;
@@ -3229,7 +3229,7 @@ static int ci_populate_single_graphic_level(struct radeon_device *rdev,
3229 graphic_level->DisplayWatermark = PPSMC_DISPLAY_WATERMARK_LOW; 3229 graphic_level->DisplayWatermark = PPSMC_DISPLAY_WATERMARK_LOW;
3230 3230
3231 graphic_level->Flags = cpu_to_be32(graphic_level->Flags); 3231 graphic_level->Flags = cpu_to_be32(graphic_level->Flags);
3232 graphic_level->MinVddc = cpu_to_be32(graphic_level->MinVddc * VOLTAGE_SCALE); 3232 graphic_level->MinVddc = cpu_to_be32(graphic_level->MinVddc * VOLTAGE_SCALE);
3233 graphic_level->MinVddcPhases = cpu_to_be32(graphic_level->MinVddcPhases); 3233 graphic_level->MinVddcPhases = cpu_to_be32(graphic_level->MinVddcPhases);
3234 graphic_level->SclkFrequency = cpu_to_be32(graphic_level->SclkFrequency); 3234 graphic_level->SclkFrequency = cpu_to_be32(graphic_level->SclkFrequency);
3235 graphic_level->ActivityLevel = cpu_to_be16(graphic_level->ActivityLevel); 3235 graphic_level->ActivityLevel = cpu_to_be16(graphic_level->ActivityLevel);
@@ -4393,7 +4393,7 @@ static bool ci_check_s0_mc_reg_index(u16 in_reg, u16 *out_reg)
4393 break; 4393 break;
4394 case MC_SEQ_CAS_TIMING >> 2: 4394 case MC_SEQ_CAS_TIMING >> 2:
4395 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2; 4395 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2;
4396 break; 4396 break;
4397 case MC_SEQ_MISC_TIMING >> 2: 4397 case MC_SEQ_MISC_TIMING >> 2:
4398 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2; 4398 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2;
4399 break; 4399 break;
@@ -4625,7 +4625,7 @@ static int ci_initialize_mc_reg_table(struct radeon_device *rdev)
4625 if (ret) 4625 if (ret)
4626 goto init_mc_done; 4626 goto init_mc_done;
4627 4627
4628 ret = ci_copy_vbios_mc_reg_table(table, ci_table); 4628 ret = ci_copy_vbios_mc_reg_table(table, ci_table);
4629 if (ret) 4629 if (ret)
4630 goto init_mc_done; 4630 goto init_mc_done;
4631 4631
@@ -4916,7 +4916,7 @@ static int ci_set_private_data_variables_based_on_pptable(struct radeon_device *
4916 allowed_mclk_vddc_table->entries[allowed_sclk_vddc_table->count - 1].clk; 4916 allowed_mclk_vddc_table->entries[allowed_sclk_vddc_table->count - 1].clk;
4917 rdev->pm.dpm.dyn_state.max_clock_voltage_on_ac.vddc = 4917 rdev->pm.dpm.dyn_state.max_clock_voltage_on_ac.vddc =
4918 allowed_sclk_vddc_table->entries[allowed_sclk_vddc_table->count - 1].v; 4918 allowed_sclk_vddc_table->entries[allowed_sclk_vddc_table->count - 1].v;
4919 rdev->pm.dpm.dyn_state.max_clock_voltage_on_ac.vddci = 4919 rdev->pm.dpm.dyn_state.max_clock_voltage_on_ac.vddci =
4920 allowed_mclk_vddci_table->entries[allowed_mclk_vddci_table->count - 1].v; 4920 allowed_mclk_vddci_table->entries[allowed_mclk_vddci_table->count - 1].v;
4921 4921
4922 return 0; 4922 return 0;
@@ -5517,7 +5517,7 @@ static int ci_parse_power_table(struct radeon_device *rdev)
5517 struct _NonClockInfoArray *non_clock_info_array; 5517 struct _NonClockInfoArray *non_clock_info_array;
5518 union power_info *power_info; 5518 union power_info *power_info;
5519 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 5519 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
5520 u16 data_offset; 5520 u16 data_offset;
5521 u8 frev, crev; 5521 u8 frev, crev;
5522 u8 *power_state_offset; 5522 u8 *power_state_offset;
5523 struct ci_ps *ps; 5523 struct ci_ps *ps;
@@ -5693,8 +5693,8 @@ int ci_dpm_init(struct radeon_device *rdev)
5693 return ret; 5693 return ret;
5694 } 5694 }
5695 5695
5696 pi->dll_default_on = false; 5696 pi->dll_default_on = false;
5697 pi->sram_end = SMC_RAM_END; 5697 pi->sram_end = SMC_RAM_END;
5698 5698
5699 pi->activity_target[0] = CISLAND_TARGETACTIVITY_DFLT; 5699 pi->activity_target[0] = CISLAND_TARGETACTIVITY_DFLT;
5700 pi->activity_target[1] = CISLAND_TARGETACTIVITY_DFLT; 5700 pi->activity_target[1] = CISLAND_TARGETACTIVITY_DFLT;
@@ -5734,9 +5734,9 @@ int ci_dpm_init(struct radeon_device *rdev)
5734 pi->caps_uvd_dpm = true; 5734 pi->caps_uvd_dpm = true;
5735 pi->caps_vce_dpm = true; 5735 pi->caps_vce_dpm = true;
5736 5736
5737 ci_get_leakage_voltages(rdev); 5737 ci_get_leakage_voltages(rdev);
5738 ci_patch_dependency_tables_with_leakage(rdev); 5738 ci_patch_dependency_tables_with_leakage(rdev);
5739 ci_set_private_data_variables_based_on_pptable(rdev); 5739 ci_set_private_data_variables_based_on_pptable(rdev);
5740 5740
5741 rdev->pm.dpm.dyn_state.vddc_dependency_on_dispclk.entries = 5741 rdev->pm.dpm.dyn_state.vddc_dependency_on_dispclk.entries =
5742 kzalloc(4 * sizeof(struct radeon_clock_voltage_dependency_entry), GFP_KERNEL); 5742 kzalloc(4 * sizeof(struct radeon_clock_voltage_dependency_entry), GFP_KERNEL);
@@ -5839,7 +5839,7 @@ int ci_dpm_init(struct radeon_device *rdev)
5839 pi->vddci_control = CISLANDS_VOLTAGE_CONTROL_BY_SVID2; 5839 pi->vddci_control = CISLANDS_VOLTAGE_CONTROL_BY_SVID2;
5840 else 5840 else
5841 rdev->pm.dpm.platform_caps &= ~ATOM_PP_PLATFORM_CAP_VDDCI_CONTROL; 5841 rdev->pm.dpm.platform_caps &= ~ATOM_PP_PLATFORM_CAP_VDDCI_CONTROL;
5842 } 5842 }
5843 5843
5844 if (rdev->pm.dpm.platform_caps & ATOM_PP_PLATFORM_CAP_MVDDCONTROL) { 5844 if (rdev->pm.dpm.platform_caps & ATOM_PP_PLATFORM_CAP_MVDDCONTROL) {
5845 if (radeon_atom_is_voltage_gpio(rdev, VOLTAGE_TYPE_MVDDC, VOLTAGE_OBJ_GPIO_LUT)) 5845 if (radeon_atom_is_voltage_gpio(rdev, VOLTAGE_TYPE_MVDDC, VOLTAGE_OBJ_GPIO_LUT))
@@ -5860,7 +5860,7 @@ int ci_dpm_init(struct radeon_device *rdev)
5860#endif 5860#endif
5861 5861
5862 if (atom_parse_data_header(rdev->mode_info.atom_context, index, &size, 5862 if (atom_parse_data_header(rdev->mode_info.atom_context, index, &size,
5863 &frev, &crev, &data_offset)) { 5863 &frev, &crev, &data_offset)) {
5864 pi->caps_sclk_ss_support = true; 5864 pi->caps_sclk_ss_support = true;
5865 pi->caps_mclk_ss_support = true; 5865 pi->caps_mclk_ss_support = true;
5866 pi->dynamic_ss = true; 5866 pi->dynamic_ss = true;
diff --git a/drivers/gpu/drm/radeon/ci_smc.c b/drivers/gpu/drm/radeon/ci_smc.c
index 35c6f648ba04..24760ee3063e 100644
--- a/drivers/gpu/drm/radeon/ci_smc.c
+++ b/drivers/gpu/drm/radeon/ci_smc.c
@@ -194,11 +194,11 @@ PPSMC_Result ci_wait_for_smc_inactive(struct radeon_device *rdev)
194 return PPSMC_Result_OK; 194 return PPSMC_Result_OK;
195 195
196 for (i = 0; i < rdev->usec_timeout; i++) { 196 for (i = 0; i < rdev->usec_timeout; i++) {
197 tmp = RREG32_SMC(SMC_SYSCON_CLOCK_CNTL_0); 197 tmp = RREG32_SMC(SMC_SYSCON_CLOCK_CNTL_0);
198 if ((tmp & CKEN) == 0) 198 if ((tmp & CKEN) == 0)
199 break; 199 break;
200 udelay(1); 200 udelay(1);
201 } 201 }
202 202
203 return PPSMC_Result_OK; 203 return PPSMC_Result_OK;
204} 204}
diff --git a/drivers/gpu/drm/radeon/cik.c b/drivers/gpu/drm/radeon/cik.c
index 1a92ce7059ae..8ac82df2efde 100644
--- a/drivers/gpu/drm/radeon/cik.c
+++ b/drivers/gpu/drm/radeon/cik.c
@@ -1712,7 +1712,7 @@ static void cik_init_golden_registers(struct radeon_device *rdev)
1712 */ 1712 */
1713u32 cik_get_xclk(struct radeon_device *rdev) 1713u32 cik_get_xclk(struct radeon_device *rdev)
1714{ 1714{
1715 u32 reference_clock = rdev->clock.spll.reference_freq; 1715 u32 reference_clock = rdev->clock.spll.reference_freq;
1716 1716
1717 if (rdev->flags & RADEON_IS_IGP) { 1717 if (rdev->flags & RADEON_IS_IGP) {
1718 if (RREG32_SMC(GENERAL_PWRMGT) & GPU_COUNTER_CLK) 1718 if (RREG32_SMC(GENERAL_PWRMGT) & GPU_COUNTER_CLK)
@@ -9350,13 +9350,13 @@ uint64_t cik_get_gpu_clock_counter(struct radeon_device *rdev)
9350 mutex_lock(&rdev->gpu_clock_mutex); 9350 mutex_lock(&rdev->gpu_clock_mutex);
9351 WREG32(RLC_CAPTURE_GPU_CLOCK_COUNT, 1); 9351 WREG32(RLC_CAPTURE_GPU_CLOCK_COUNT, 1);
9352 clock = (uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_LSB) | 9352 clock = (uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_LSB) |
9353 ((uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_MSB) << 32ULL); 9353 ((uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_MSB) << 32ULL);
9354 mutex_unlock(&rdev->gpu_clock_mutex); 9354 mutex_unlock(&rdev->gpu_clock_mutex);
9355 return clock; 9355 return clock;
9356} 9356}
9357 9357
9358static int cik_set_uvd_clock(struct radeon_device *rdev, u32 clock, 9358static int cik_set_uvd_clock(struct radeon_device *rdev, u32 clock,
9359 u32 cntl_reg, u32 status_reg) 9359 u32 cntl_reg, u32 status_reg)
9360{ 9360{
9361 int r, i; 9361 int r, i;
9362 struct atom_clock_dividers dividers; 9362 struct atom_clock_dividers dividers;
diff --git a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c
index ca058589ddef..a4edd0702718 100644
--- a/drivers/gpu/drm/radeon/cypress_dpm.c
+++ b/drivers/gpu/drm/radeon/cypress_dpm.c
@@ -1620,14 +1620,14 @@ static int cypress_init_smc_table(struct radeon_device *rdev,
1620 cypress_populate_smc_voltage_tables(rdev, table); 1620 cypress_populate_smc_voltage_tables(rdev, table);
1621 1621
1622 switch (rdev->pm.int_thermal_type) { 1622 switch (rdev->pm.int_thermal_type) {
1623 case THERMAL_TYPE_EVERGREEN: 1623 case THERMAL_TYPE_EVERGREEN:
1624 case THERMAL_TYPE_EMC2103_WITH_INTERNAL: 1624 case THERMAL_TYPE_EMC2103_WITH_INTERNAL:
1625 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_INTERNAL; 1625 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_INTERNAL;
1626 break; 1626 break;
1627 case THERMAL_TYPE_NONE: 1627 case THERMAL_TYPE_NONE:
1628 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_NONE; 1628 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_NONE;
1629 break; 1629 break;
1630 default: 1630 default:
1631 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_EXTERNAL; 1631 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_EXTERNAL;
1632 break; 1632 break;
1633 } 1633 }
diff --git a/drivers/gpu/drm/radeon/evergreen.c b/drivers/gpu/drm/radeon/evergreen.c
index 2ad462896896..76c4bdf21b20 100644
--- a/drivers/gpu/drm/radeon/evergreen.c
+++ b/drivers/gpu/drm/radeon/evergreen.c
@@ -1140,7 +1140,7 @@ static int sumo_set_uvd_clock(struct radeon_device *rdev, u32 clock,
1140 int r, i; 1140 int r, i;
1141 struct atom_clock_dividers dividers; 1141 struct atom_clock_dividers dividers;
1142 1142
1143 r = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, 1143 r = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
1144 clock, false, &dividers); 1144 clock, false, &dividers);
1145 if (r) 1145 if (r)
1146 return r; 1146 return r;
diff --git a/drivers/gpu/drm/radeon/evergreen_cs.c b/drivers/gpu/drm/radeon/evergreen_cs.c
index 46f87d4aaf31..9e93205eb9e4 100644
--- a/drivers/gpu/drm/radeon/evergreen_cs.c
+++ b/drivers/gpu/drm/radeon/evergreen_cs.c
@@ -1816,8 +1816,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
1816 } 1816 }
1817 1817
1818 offset = reloc->gpu_offset + 1818 offset = reloc->gpu_offset +
1819 (idx_value & 0xfffffff0) + 1819 (idx_value & 0xfffffff0) +
1820 ((u64)(tmp & 0xff) << 32); 1820 ((u64)(tmp & 0xff) << 32);
1821 1821
1822 ib[idx + 0] = offset; 1822 ib[idx + 0] = offset;
1823 ib[idx + 1] = (tmp & 0xffffff00) | (upper_32_bits(offset) & 0xff); 1823 ib[idx + 1] = (tmp & 0xffffff00) | (upper_32_bits(offset) & 0xff);
@@ -1862,8 +1862,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
1862 } 1862 }
1863 1863
1864 offset = reloc->gpu_offset + 1864 offset = reloc->gpu_offset +
1865 idx_value + 1865 idx_value +
1866 ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32); 1866 ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32);
1867 1867
1868 ib[idx+0] = offset; 1868 ib[idx+0] = offset;
1869 ib[idx+1] = upper_32_bits(offset) & 0xff; 1869 ib[idx+1] = upper_32_bits(offset) & 0xff;
@@ -1897,8 +1897,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
1897 } 1897 }
1898 1898
1899 offset = reloc->gpu_offset + 1899 offset = reloc->gpu_offset +
1900 idx_value + 1900 idx_value +
1901 ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32); 1901 ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32);
1902 1902
1903 ib[idx+0] = offset; 1903 ib[idx+0] = offset;
1904 ib[idx+1] = upper_32_bits(offset) & 0xff; 1904 ib[idx+1] = upper_32_bits(offset) & 0xff;
@@ -1925,8 +1925,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
1925 } 1925 }
1926 1926
1927 offset = reloc->gpu_offset + 1927 offset = reloc->gpu_offset +
1928 radeon_get_ib_value(p, idx+1) + 1928 radeon_get_ib_value(p, idx+1) +
1929 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 1929 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1930 1930
1931 ib[idx+1] = offset; 1931 ib[idx+1] = offset;
1932 ib[idx+2] = upper_32_bits(offset) & 0xff; 1932 ib[idx+2] = upper_32_bits(offset) & 0xff;
@@ -2098,8 +2098,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
2098 } 2098 }
2099 2099
2100 offset = reloc->gpu_offset + 2100 offset = reloc->gpu_offset +
2101 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) + 2101 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) +
2102 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 2102 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
2103 2103
2104 ib[idx+1] = (ib[idx+1] & 0x3) | (offset & 0xfffffffc); 2104 ib[idx+1] = (ib[idx+1] & 0x3) | (offset & 0xfffffffc);
2105 ib[idx+2] = upper_32_bits(offset) & 0xff; 2105 ib[idx+2] = upper_32_bits(offset) & 0xff;
@@ -2239,8 +2239,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
2239 return -EINVAL; 2239 return -EINVAL;
2240 } 2240 }
2241 offset = reloc->gpu_offset + 2241 offset = reloc->gpu_offset +
2242 (radeon_get_ib_value(p, idx+1) & 0xfffffff8) + 2242 (radeon_get_ib_value(p, idx+1) & 0xfffffff8) +
2243 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 2243 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
2244 2244
2245 ib[idx+1] = offset & 0xfffffff8; 2245 ib[idx+1] = offset & 0xfffffff8;
2246 ib[idx+2] = upper_32_bits(offset) & 0xff; 2246 ib[idx+2] = upper_32_bits(offset) & 0xff;
@@ -2261,8 +2261,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
2261 } 2261 }
2262 2262
2263 offset = reloc->gpu_offset + 2263 offset = reloc->gpu_offset +
2264 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) + 2264 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) +
2265 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 2265 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
2266 2266
2267 ib[idx+1] = offset & 0xfffffffc; 2267 ib[idx+1] = offset & 0xfffffffc;
2268 ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff); 2268 ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff);
@@ -2283,8 +2283,8 @@ static int evergreen_packet3_check(struct radeon_cs_parser *p,
2283 } 2283 }
2284 2284
2285 offset = reloc->gpu_offset + 2285 offset = reloc->gpu_offset +
2286 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) + 2286 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) +
2287 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 2287 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
2288 2288
2289 ib[idx+1] = offset & 0xfffffffc; 2289 ib[idx+1] = offset & 0xfffffffc;
2290 ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff); 2290 ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff);
diff --git a/drivers/gpu/drm/radeon/evergreen_hdmi.c b/drivers/gpu/drm/radeon/evergreen_hdmi.c
index 3cf04a2f44bb..f766c967a284 100644
--- a/drivers/gpu/drm/radeon/evergreen_hdmi.c
+++ b/drivers/gpu/drm/radeon/evergreen_hdmi.c
@@ -206,7 +206,7 @@ void evergreen_hdmi_write_sad_regs(struct drm_encoder *encoder,
206 * build a AVI Info Frame 206 * build a AVI Info Frame
207 */ 207 */
208void evergreen_set_avi_packet(struct radeon_device *rdev, u32 offset, 208void evergreen_set_avi_packet(struct radeon_device *rdev, u32 offset,
209 unsigned char *buffer, size_t size) 209 unsigned char *buffer, size_t size)
210{ 210{
211 uint8_t *frame = buffer + 3; 211 uint8_t *frame = buffer + 3;
212 212
diff --git a/drivers/gpu/drm/radeon/kv_dpm.c b/drivers/gpu/drm/radeon/kv_dpm.c
index 2d71da448487..d0240743a17c 100644
--- a/drivers/gpu/drm/radeon/kv_dpm.c
+++ b/drivers/gpu/drm/radeon/kv_dpm.c
@@ -2640,7 +2640,7 @@ static int kv_parse_power_table(struct radeon_device *rdev)
2640 struct _NonClockInfoArray *non_clock_info_array; 2640 struct _NonClockInfoArray *non_clock_info_array;
2641 union power_info *power_info; 2641 union power_info *power_info;
2642 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 2642 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
2643 u16 data_offset; 2643 u16 data_offset;
2644 u8 frev, crev; 2644 u8 frev, crev;
2645 u8 *power_state_offset; 2645 u8 *power_state_offset;
2646 struct kv_ps *ps; 2646 struct kv_ps *ps;
@@ -2738,7 +2738,7 @@ int kv_dpm_init(struct radeon_device *rdev)
2738 for (i = 0; i < SUMO_MAX_HARDWARE_POWERLEVELS; i++) 2738 for (i = 0; i < SUMO_MAX_HARDWARE_POWERLEVELS; i++)
2739 pi->at[i] = TRINITY_AT_DFLT; 2739 pi->at[i] = TRINITY_AT_DFLT;
2740 2740
2741 pi->sram_end = SMC_RAM_END; 2741 pi->sram_end = SMC_RAM_END;
2742 2742
2743 /* Enabling nb dpm on an asrock system prevents dpm from working */ 2743 /* Enabling nb dpm on an asrock system prevents dpm from working */
2744 if (rdev->pdev->subsystem_vendor == 0x1849) 2744 if (rdev->pdev->subsystem_vendor == 0x1849)
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
index 158872eb78e4..b88d63c9be99 100644
--- a/drivers/gpu/drm/radeon/ni.c
+++ b/drivers/gpu/drm/radeon/ni.c
@@ -1257,7 +1257,7 @@ static void cayman_gpu_init(struct radeon_device *rdev)
1257 tmp = RREG32_CG(CG_CGTT_LOCAL_0); 1257 tmp = RREG32_CG(CG_CGTT_LOCAL_0);
1258 tmp &= ~0x00380000; 1258 tmp &= ~0x00380000;
1259 WREG32_CG(CG_CGTT_LOCAL_0, tmp); 1259 WREG32_CG(CG_CGTT_LOCAL_0, tmp);
1260 tmp = RREG32_CG(CG_CGTT_LOCAL_1); 1260 tmp = RREG32_CG(CG_CGTT_LOCAL_1);
1261 tmp &= ~0x0e000000; 1261 tmp &= ~0x0e000000;
1262 WREG32_CG(CG_CGTT_LOCAL_1, tmp); 1262 WREG32_CG(CG_CGTT_LOCAL_1, tmp);
1263 } 1263 }
@@ -2634,7 +2634,7 @@ int tn_set_vce_clocks(struct radeon_device *rdev, u32 evclk, u32 ecclk)
2634 struct atom_clock_dividers dividers; 2634 struct atom_clock_dividers dividers;
2635 int r, i; 2635 int r, i;
2636 2636
2637 r = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, 2637 r = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
2638 ecclk, false, &dividers); 2638 ecclk, false, &dividers);
2639 if (r) 2639 if (r)
2640 return r; 2640 return r;
diff --git a/drivers/gpu/drm/radeon/ni_dpm.c b/drivers/gpu/drm/radeon/ni_dpm.c
index c3d531a1114b..4a601f990562 100644
--- a/drivers/gpu/drm/radeon/ni_dpm.c
+++ b/drivers/gpu/drm/radeon/ni_dpm.c
@@ -725,9 +725,9 @@ extern int ni_mc_load_microcode(struct radeon_device *rdev);
725 725
726struct ni_power_info *ni_get_pi(struct radeon_device *rdev) 726struct ni_power_info *ni_get_pi(struct radeon_device *rdev)
727{ 727{
728 struct ni_power_info *pi = rdev->pm.dpm.priv; 728 struct ni_power_info *pi = rdev->pm.dpm.priv;
729 729
730 return pi; 730 return pi;
731} 731}
732 732
733struct ni_ps *ni_get_ps(struct radeon_ps *rps) 733struct ni_ps *ni_get_ps(struct radeon_ps *rps)
@@ -1096,9 +1096,9 @@ static void ni_stop_smc(struct radeon_device *rdev)
1096 1096
1097static int ni_process_firmware_header(struct radeon_device *rdev) 1097static int ni_process_firmware_header(struct radeon_device *rdev)
1098{ 1098{
1099 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 1099 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
1100 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 1100 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
1101 struct ni_power_info *ni_pi = ni_get_pi(rdev); 1101 struct ni_power_info *ni_pi = ni_get_pi(rdev);
1102 u32 tmp; 1102 u32 tmp;
1103 int ret; 1103 int ret;
1104 1104
@@ -1202,14 +1202,14 @@ static int ni_enter_ulp_state(struct radeon_device *rdev)
1202 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 1202 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
1203 1203
1204 if (pi->gfx_clock_gating) { 1204 if (pi->gfx_clock_gating) {
1205 WREG32_P(SCLK_PWRMGT_CNTL, 0, ~DYN_GFX_CLK_OFF_EN); 1205 WREG32_P(SCLK_PWRMGT_CNTL, 0, ~DYN_GFX_CLK_OFF_EN);
1206 WREG32_P(SCLK_PWRMGT_CNTL, GFX_CLK_FORCE_ON, ~GFX_CLK_FORCE_ON); 1206 WREG32_P(SCLK_PWRMGT_CNTL, GFX_CLK_FORCE_ON, ~GFX_CLK_FORCE_ON);
1207 WREG32_P(SCLK_PWRMGT_CNTL, 0, ~GFX_CLK_FORCE_ON); 1207 WREG32_P(SCLK_PWRMGT_CNTL, 0, ~GFX_CLK_FORCE_ON);
1208 RREG32(GB_ADDR_CONFIG); 1208 RREG32(GB_ADDR_CONFIG);
1209 } 1209 }
1210 1210
1211 WREG32_P(SMC_MSG, HOST_SMC_MSG(PPSMC_MSG_SwitchToMinimumPower), 1211 WREG32_P(SMC_MSG, HOST_SMC_MSG(PPSMC_MSG_SwitchToMinimumPower),
1212 ~HOST_SMC_MSG_MASK); 1212 ~HOST_SMC_MSG_MASK);
1213 1213
1214 udelay(25000); 1214 udelay(25000);
1215 1215
@@ -1321,12 +1321,12 @@ static void ni_populate_mvdd_value(struct radeon_device *rdev,
1321 u32 mclk, 1321 u32 mclk,
1322 NISLANDS_SMC_VOLTAGE_VALUE *voltage) 1322 NISLANDS_SMC_VOLTAGE_VALUE *voltage)
1323{ 1323{
1324 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 1324 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
1325 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 1325 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
1326 1326
1327 if (!pi->mvdd_control) { 1327 if (!pi->mvdd_control) {
1328 voltage->index = eg_pi->mvdd_high_index; 1328 voltage->index = eg_pi->mvdd_high_index;
1329 voltage->value = cpu_to_be16(MVDD_HIGH_VALUE); 1329 voltage->value = cpu_to_be16(MVDD_HIGH_VALUE);
1330 return; 1330 return;
1331 } 1331 }
1332 1332
@@ -1510,47 +1510,47 @@ int ni_copy_and_switch_arb_sets(struct radeon_device *rdev,
1510 u32 mc_cg_config; 1510 u32 mc_cg_config;
1511 1511
1512 switch (arb_freq_src) { 1512 switch (arb_freq_src) {
1513 case MC_CG_ARB_FREQ_F0: 1513 case MC_CG_ARB_FREQ_F0:
1514 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING); 1514 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING);
1515 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2); 1515 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2);
1516 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE0_MASK) >> STATE0_SHIFT; 1516 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE0_MASK) >> STATE0_SHIFT;
1517 break; 1517 break;
1518 case MC_CG_ARB_FREQ_F1: 1518 case MC_CG_ARB_FREQ_F1:
1519 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING_1); 1519 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING_1);
1520 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2_1); 1520 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2_1);
1521 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE1_MASK) >> STATE1_SHIFT; 1521 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE1_MASK) >> STATE1_SHIFT;
1522 break; 1522 break;
1523 case MC_CG_ARB_FREQ_F2: 1523 case MC_CG_ARB_FREQ_F2:
1524 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING_2); 1524 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING_2);
1525 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2_2); 1525 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2_2);
1526 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE2_MASK) >> STATE2_SHIFT; 1526 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE2_MASK) >> STATE2_SHIFT;
1527 break; 1527 break;
1528 case MC_CG_ARB_FREQ_F3: 1528 case MC_CG_ARB_FREQ_F3:
1529 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING_3); 1529 mc_arb_dram_timing = RREG32(MC_ARB_DRAM_TIMING_3);
1530 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2_3); 1530 mc_arb_dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2_3);
1531 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE3_MASK) >> STATE3_SHIFT; 1531 burst_time = (RREG32(MC_ARB_BURST_TIME) & STATE3_MASK) >> STATE3_SHIFT;
1532 break; 1532 break;
1533 default: 1533 default:
1534 return -EINVAL; 1534 return -EINVAL;
1535 } 1535 }
1536 1536
1537 switch (arb_freq_dest) { 1537 switch (arb_freq_dest) {
1538 case MC_CG_ARB_FREQ_F0: 1538 case MC_CG_ARB_FREQ_F0:
1539 WREG32(MC_ARB_DRAM_TIMING, mc_arb_dram_timing); 1539 WREG32(MC_ARB_DRAM_TIMING, mc_arb_dram_timing);
1540 WREG32(MC_ARB_DRAM_TIMING2, mc_arb_dram_timing2); 1540 WREG32(MC_ARB_DRAM_TIMING2, mc_arb_dram_timing2);
1541 WREG32_P(MC_ARB_BURST_TIME, STATE0(burst_time), ~STATE0_MASK); 1541 WREG32_P(MC_ARB_BURST_TIME, STATE0(burst_time), ~STATE0_MASK);
1542 break; 1542 break;
1543 case MC_CG_ARB_FREQ_F1: 1543 case MC_CG_ARB_FREQ_F1:
1544 WREG32(MC_ARB_DRAM_TIMING_1, mc_arb_dram_timing); 1544 WREG32(MC_ARB_DRAM_TIMING_1, mc_arb_dram_timing);
1545 WREG32(MC_ARB_DRAM_TIMING2_1, mc_arb_dram_timing2); 1545 WREG32(MC_ARB_DRAM_TIMING2_1, mc_arb_dram_timing2);
1546 WREG32_P(MC_ARB_BURST_TIME, STATE1(burst_time), ~STATE1_MASK); 1546 WREG32_P(MC_ARB_BURST_TIME, STATE1(burst_time), ~STATE1_MASK);
1547 break; 1547 break;
1548 case MC_CG_ARB_FREQ_F2: 1548 case MC_CG_ARB_FREQ_F2:
1549 WREG32(MC_ARB_DRAM_TIMING_2, mc_arb_dram_timing); 1549 WREG32(MC_ARB_DRAM_TIMING_2, mc_arb_dram_timing);
1550 WREG32(MC_ARB_DRAM_TIMING2_2, mc_arb_dram_timing2); 1550 WREG32(MC_ARB_DRAM_TIMING2_2, mc_arb_dram_timing2);
1551 WREG32_P(MC_ARB_BURST_TIME, STATE2(burst_time), ~STATE2_MASK); 1551 WREG32_P(MC_ARB_BURST_TIME, STATE2(burst_time), ~STATE2_MASK);
1552 break; 1552 break;
1553 case MC_CG_ARB_FREQ_F3: 1553 case MC_CG_ARB_FREQ_F3:
1554 WREG32(MC_ARB_DRAM_TIMING_3, mc_arb_dram_timing); 1554 WREG32(MC_ARB_DRAM_TIMING_3, mc_arb_dram_timing);
1555 WREG32(MC_ARB_DRAM_TIMING2_3, mc_arb_dram_timing2); 1555 WREG32(MC_ARB_DRAM_TIMING2_3, mc_arb_dram_timing2);
1556 WREG32_P(MC_ARB_BURST_TIME, STATE3(burst_time), ~STATE3_MASK); 1556 WREG32_P(MC_ARB_BURST_TIME, STATE3(burst_time), ~STATE3_MASK);
@@ -1621,9 +1621,7 @@ static int ni_populate_memory_timing_parameters(struct radeon_device *rdev,
1621 (u8)rv770_calculate_memory_refresh_rate(rdev, pl->sclk); 1621 (u8)rv770_calculate_memory_refresh_rate(rdev, pl->sclk);
1622 1622
1623 1623
1624 radeon_atom_set_engine_dram_timings(rdev, 1624 radeon_atom_set_engine_dram_timings(rdev, pl->sclk, pl->mclk);
1625 pl->sclk,
1626 pl->mclk);
1627 1625
1628 dram_timing = RREG32(MC_ARB_DRAM_TIMING); 1626 dram_timing = RREG32(MC_ARB_DRAM_TIMING);
1629 dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2); 1627 dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2);
@@ -1867,9 +1865,9 @@ static int ni_populate_smc_acpi_state(struct radeon_device *rdev,
1867 1865
1868 mpll_ad_func_cntl_2 |= BIAS_GEN_PDNB | RESET_EN; 1866 mpll_ad_func_cntl_2 |= BIAS_GEN_PDNB | RESET_EN;
1869 1867
1870 if (pi->mem_gddr5) 1868 if (pi->mem_gddr5)
1871 mpll_dq_func_cntl &= ~PDNB; 1869 mpll_dq_func_cntl &= ~PDNB;
1872 mpll_dq_func_cntl_2 |= BIAS_GEN_PDNB | RESET_EN | BYPASS; 1870 mpll_dq_func_cntl_2 |= BIAS_GEN_PDNB | RESET_EN | BYPASS;
1873 1871
1874 1872
1875 mclk_pwrmgt_cntl |= (MRDCKA0_RESET | 1873 mclk_pwrmgt_cntl |= (MRDCKA0_RESET |
@@ -1891,15 +1889,15 @@ static int ni_populate_smc_acpi_state(struct radeon_device *rdev,
1891 MRDCKD1_PDNB); 1889 MRDCKD1_PDNB);
1892 1890
1893 dll_cntl |= (MRDCKA0_BYPASS | 1891 dll_cntl |= (MRDCKA0_BYPASS |
1894 MRDCKA1_BYPASS | 1892 MRDCKA1_BYPASS |
1895 MRDCKB0_BYPASS | 1893 MRDCKB0_BYPASS |
1896 MRDCKB1_BYPASS | 1894 MRDCKB1_BYPASS |
1897 MRDCKC0_BYPASS | 1895 MRDCKC0_BYPASS |
1898 MRDCKC1_BYPASS | 1896 MRDCKC1_BYPASS |
1899 MRDCKD0_BYPASS | 1897 MRDCKD0_BYPASS |
1900 MRDCKD1_BYPASS); 1898 MRDCKD1_BYPASS);
1901 1899
1902 spll_func_cntl_2 &= ~SCLK_MUX_SEL_MASK; 1900 spll_func_cntl_2 &= ~SCLK_MUX_SEL_MASK;
1903 spll_func_cntl_2 |= SCLK_MUX_SEL(4); 1901 spll_func_cntl_2 |= SCLK_MUX_SEL(4);
1904 1902
1905 table->ACPIState.levels[0].mclk.vMPLL_AD_FUNC_CNTL = cpu_to_be32(mpll_ad_func_cntl); 1903 table->ACPIState.levels[0].mclk.vMPLL_AD_FUNC_CNTL = cpu_to_be32(mpll_ad_func_cntl);
@@ -2089,7 +2087,7 @@ static int ni_populate_sclk_value(struct radeon_device *rdev,
2089 2087
2090static int ni_init_smc_spll_table(struct radeon_device *rdev) 2088static int ni_init_smc_spll_table(struct radeon_device *rdev)
2091{ 2089{
2092 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 2090 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
2093 struct ni_power_info *ni_pi = ni_get_pi(rdev); 2091 struct ni_power_info *ni_pi = ni_get_pi(rdev);
2094 SMC_NISLANDS_SPLL_DIV_TABLE *spll_table; 2092 SMC_NISLANDS_SPLL_DIV_TABLE *spll_table;
2095 NISLANDS_SMC_SCLK_VALUE sclk_params; 2093 NISLANDS_SMC_SCLK_VALUE sclk_params;
@@ -2311,8 +2309,8 @@ static int ni_convert_power_level_to_smc(struct radeon_device *rdev,
2311 NISLANDS_SMC_HW_PERFORMANCE_LEVEL *level) 2309 NISLANDS_SMC_HW_PERFORMANCE_LEVEL *level)
2312{ 2310{
2313 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 2311 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
2314 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 2312 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
2315 struct ni_power_info *ni_pi = ni_get_pi(rdev); 2313 struct ni_power_info *ni_pi = ni_get_pi(rdev);
2316 int ret; 2314 int ret;
2317 bool dll_state_on; 2315 bool dll_state_on;
2318 u16 std_vddc; 2316 u16 std_vddc;
@@ -2391,8 +2389,8 @@ static int ni_populate_smc_t(struct radeon_device *rdev,
2391 struct radeon_ps *radeon_state, 2389 struct radeon_ps *radeon_state,
2392 NISLANDS_SMC_SWSTATE *smc_state) 2390 NISLANDS_SMC_SWSTATE *smc_state)
2393{ 2391{
2394 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 2392 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
2395 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 2393 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
2396 struct ni_ps *state = ni_get_ps(radeon_state); 2394 struct ni_ps *state = ni_get_ps(radeon_state);
2397 u32 a_t; 2395 u32 a_t;
2398 u32 t_l, t_h; 2396 u32 t_l, t_h;
@@ -2451,8 +2449,8 @@ static int ni_populate_power_containment_values(struct radeon_device *rdev,
2451 struct radeon_ps *radeon_state, 2449 struct radeon_ps *radeon_state,
2452 NISLANDS_SMC_SWSTATE *smc_state) 2450 NISLANDS_SMC_SWSTATE *smc_state)
2453{ 2451{
2454 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 2452 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
2455 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 2453 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
2456 struct ni_power_info *ni_pi = ni_get_pi(rdev); 2454 struct ni_power_info *ni_pi = ni_get_pi(rdev);
2457 struct ni_ps *state = ni_get_ps(radeon_state); 2455 struct ni_ps *state = ni_get_ps(radeon_state);
2458 u32 prev_sclk; 2456 u32 prev_sclk;
@@ -2595,7 +2593,7 @@ static int ni_enable_power_containment(struct radeon_device *rdev,
2595 struct radeon_ps *radeon_new_state, 2593 struct radeon_ps *radeon_new_state,
2596 bool enable) 2594 bool enable)
2597{ 2595{
2598 struct ni_power_info *ni_pi = ni_get_pi(rdev); 2596 struct ni_power_info *ni_pi = ni_get_pi(rdev);
2599 PPSMC_Result smc_result; 2597 PPSMC_Result smc_result;
2600 int ret = 0; 2598 int ret = 0;
2601 2599
@@ -2625,7 +2623,7 @@ static int ni_convert_power_state_to_smc(struct radeon_device *rdev,
2625 struct radeon_ps *radeon_state, 2623 struct radeon_ps *radeon_state,
2626 NISLANDS_SMC_SWSTATE *smc_state) 2624 NISLANDS_SMC_SWSTATE *smc_state)
2627{ 2625{
2628 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 2626 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
2629 struct ni_power_info *ni_pi = ni_get_pi(rdev); 2627 struct ni_power_info *ni_pi = ni_get_pi(rdev);
2630 struct ni_ps *state = ni_get_ps(radeon_state); 2628 struct ni_ps *state = ni_get_ps(radeon_state);
2631 int i, ret; 2629 int i, ret;
@@ -2770,46 +2768,46 @@ static bool ni_check_s0_mc_reg_index(u16 in_reg, u16 *out_reg)
2770 bool result = true; 2768 bool result = true;
2771 2769
2772 switch (in_reg) { 2770 switch (in_reg) {
2773 case MC_SEQ_RAS_TIMING >> 2: 2771 case MC_SEQ_RAS_TIMING >> 2:
2774 *out_reg = MC_SEQ_RAS_TIMING_LP >> 2; 2772 *out_reg = MC_SEQ_RAS_TIMING_LP >> 2;
2775 break; 2773 break;
2776 case MC_SEQ_CAS_TIMING >> 2: 2774 case MC_SEQ_CAS_TIMING >> 2:
2777 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2; 2775 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2;
2778 break; 2776 break;
2779 case MC_SEQ_MISC_TIMING >> 2: 2777 case MC_SEQ_MISC_TIMING >> 2:
2780 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2; 2778 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2;
2781 break; 2779 break;
2782 case MC_SEQ_MISC_TIMING2 >> 2: 2780 case MC_SEQ_MISC_TIMING2 >> 2:
2783 *out_reg = MC_SEQ_MISC_TIMING2_LP >> 2; 2781 *out_reg = MC_SEQ_MISC_TIMING2_LP >> 2;
2784 break; 2782 break;
2785 case MC_SEQ_RD_CTL_D0 >> 2: 2783 case MC_SEQ_RD_CTL_D0 >> 2:
2786 *out_reg = MC_SEQ_RD_CTL_D0_LP >> 2; 2784 *out_reg = MC_SEQ_RD_CTL_D0_LP >> 2;
2787 break; 2785 break;
2788 case MC_SEQ_RD_CTL_D1 >> 2: 2786 case MC_SEQ_RD_CTL_D1 >> 2:
2789 *out_reg = MC_SEQ_RD_CTL_D1_LP >> 2; 2787 *out_reg = MC_SEQ_RD_CTL_D1_LP >> 2;
2790 break; 2788 break;
2791 case MC_SEQ_WR_CTL_D0 >> 2: 2789 case MC_SEQ_WR_CTL_D0 >> 2:
2792 *out_reg = MC_SEQ_WR_CTL_D0_LP >> 2; 2790 *out_reg = MC_SEQ_WR_CTL_D0_LP >> 2;
2793 break; 2791 break;
2794 case MC_SEQ_WR_CTL_D1 >> 2: 2792 case MC_SEQ_WR_CTL_D1 >> 2:
2795 *out_reg = MC_SEQ_WR_CTL_D1_LP >> 2; 2793 *out_reg = MC_SEQ_WR_CTL_D1_LP >> 2;
2796 break; 2794 break;
2797 case MC_PMG_CMD_EMRS >> 2: 2795 case MC_PMG_CMD_EMRS >> 2:
2798 *out_reg = MC_SEQ_PMG_CMD_EMRS_LP >> 2; 2796 *out_reg = MC_SEQ_PMG_CMD_EMRS_LP >> 2;
2799 break; 2797 break;
2800 case MC_PMG_CMD_MRS >> 2: 2798 case MC_PMG_CMD_MRS >> 2:
2801 *out_reg = MC_SEQ_PMG_CMD_MRS_LP >> 2; 2799 *out_reg = MC_SEQ_PMG_CMD_MRS_LP >> 2;
2802 break; 2800 break;
2803 case MC_PMG_CMD_MRS1 >> 2: 2801 case MC_PMG_CMD_MRS1 >> 2:
2804 *out_reg = MC_SEQ_PMG_CMD_MRS1_LP >> 2; 2802 *out_reg = MC_SEQ_PMG_CMD_MRS1_LP >> 2;
2805 break; 2803 break;
2806 case MC_SEQ_PMG_TIMING >> 2: 2804 case MC_SEQ_PMG_TIMING >> 2:
2807 *out_reg = MC_SEQ_PMG_TIMING_LP >> 2; 2805 *out_reg = MC_SEQ_PMG_TIMING_LP >> 2;
2808 break; 2806 break;
2809 case MC_PMG_CMD_MRS2 >> 2: 2807 case MC_PMG_CMD_MRS2 >> 2:
2810 *out_reg = MC_SEQ_PMG_CMD_MRS2_LP >> 2; 2808 *out_reg = MC_SEQ_PMG_CMD_MRS2_LP >> 2;
2811 break; 2809 break;
2812 default: 2810 default:
2813 result = false; 2811 result = false;
2814 break; 2812 break;
2815 } 2813 }
@@ -2876,9 +2874,9 @@ static int ni_initialize_mc_reg_table(struct radeon_device *rdev)
2876 struct ni_mc_reg_table *ni_table = &ni_pi->mc_reg_table; 2874 struct ni_mc_reg_table *ni_table = &ni_pi->mc_reg_table;
2877 u8 module_index = rv770_get_memory_module_index(rdev); 2875 u8 module_index = rv770_get_memory_module_index(rdev);
2878 2876
2879 table = kzalloc(sizeof(struct atom_mc_reg_table), GFP_KERNEL); 2877 table = kzalloc(sizeof(struct atom_mc_reg_table), GFP_KERNEL);
2880 if (!table) 2878 if (!table)
2881 return -ENOMEM; 2879 return -ENOMEM;
2882 2880
2883 WREG32(MC_SEQ_RAS_TIMING_LP, RREG32(MC_SEQ_RAS_TIMING)); 2881 WREG32(MC_SEQ_RAS_TIMING_LP, RREG32(MC_SEQ_RAS_TIMING));
2884 WREG32(MC_SEQ_CAS_TIMING_LP, RREG32(MC_SEQ_CAS_TIMING)); 2882 WREG32(MC_SEQ_CAS_TIMING_LP, RREG32(MC_SEQ_CAS_TIMING));
@@ -2896,25 +2894,25 @@ static int ni_initialize_mc_reg_table(struct radeon_device *rdev)
2896 2894
2897 ret = radeon_atom_init_mc_reg_table(rdev, module_index, table); 2895 ret = radeon_atom_init_mc_reg_table(rdev, module_index, table);
2898 2896
2899 if (ret) 2897 if (ret)
2900 goto init_mc_done; 2898 goto init_mc_done;
2901 2899
2902 ret = ni_copy_vbios_mc_reg_table(table, ni_table); 2900 ret = ni_copy_vbios_mc_reg_table(table, ni_table);
2903 2901
2904 if (ret) 2902 if (ret)
2905 goto init_mc_done; 2903 goto init_mc_done;
2906 2904
2907 ni_set_s0_mc_reg_index(ni_table); 2905 ni_set_s0_mc_reg_index(ni_table);
2908 2906
2909 ret = ni_set_mc_special_registers(rdev, ni_table); 2907 ret = ni_set_mc_special_registers(rdev, ni_table);
2910 2908
2911 if (ret) 2909 if (ret)
2912 goto init_mc_done; 2910 goto init_mc_done;
2913 2911
2914 ni_set_valid_flag(ni_table); 2912 ni_set_valid_flag(ni_table);
2915 2913
2916init_mc_done: 2914init_mc_done:
2917 kfree(table); 2915 kfree(table);
2918 2916
2919 return ret; 2917 return ret;
2920} 2918}
@@ -2994,7 +2992,7 @@ static int ni_populate_mc_reg_table(struct radeon_device *rdev,
2994{ 2992{
2995 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 2993 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
2996 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 2994 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
2997 struct ni_power_info *ni_pi = ni_get_pi(rdev); 2995 struct ni_power_info *ni_pi = ni_get_pi(rdev);
2998 struct ni_ps *boot_state = ni_get_ps(radeon_boot_state); 2996 struct ni_ps *boot_state = ni_get_ps(radeon_boot_state);
2999 SMC_NIslands_MCRegisters *mc_reg_table = &ni_pi->smc_mc_reg_table; 2997 SMC_NIslands_MCRegisters *mc_reg_table = &ni_pi->smc_mc_reg_table;
3000 2998
@@ -3025,7 +3023,7 @@ static int ni_upload_mc_reg_table(struct radeon_device *rdev,
3025{ 3023{
3026 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 3024 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
3027 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 3025 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
3028 struct ni_power_info *ni_pi = ni_get_pi(rdev); 3026 struct ni_power_info *ni_pi = ni_get_pi(rdev);
3029 struct ni_ps *ni_new_state = ni_get_ps(radeon_new_state); 3027 struct ni_ps *ni_new_state = ni_get_ps(radeon_new_state);
3030 SMC_NIslands_MCRegisters *mc_reg_table = &ni_pi->smc_mc_reg_table; 3028 SMC_NIslands_MCRegisters *mc_reg_table = &ni_pi->smc_mc_reg_table;
3031 u16 address; 3029 u16 address;
@@ -3142,7 +3140,7 @@ static int ni_initialize_smc_cac_tables(struct radeon_device *rdev)
3142 struct ni_power_info *ni_pi = ni_get_pi(rdev); 3140 struct ni_power_info *ni_pi = ni_get_pi(rdev);
3143 PP_NIslands_CACTABLES *cac_tables = NULL; 3141 PP_NIslands_CACTABLES *cac_tables = NULL;
3144 int i, ret; 3142 int i, ret;
3145 u32 reg; 3143 u32 reg;
3146 3144
3147 if (ni_pi->enable_cac == false) 3145 if (ni_pi->enable_cac == false)
3148 return 0; 3146 return 0;
@@ -3422,13 +3420,13 @@ static int ni_pcie_performance_request(struct radeon_device *rdev,
3422 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 3420 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
3423 3421
3424 if ((perf_req == PCIE_PERF_REQ_PECI_GEN1) || 3422 if ((perf_req == PCIE_PERF_REQ_PECI_GEN1) ||
3425 (perf_req == PCIE_PERF_REQ_PECI_GEN2)) { 3423 (perf_req == PCIE_PERF_REQ_PECI_GEN2)) {
3426 if (eg_pi->pcie_performance_request_registered == false) 3424 if (eg_pi->pcie_performance_request_registered == false)
3427 radeon_acpi_pcie_notify_device_ready(rdev); 3425 radeon_acpi_pcie_notify_device_ready(rdev);
3428 eg_pi->pcie_performance_request_registered = true; 3426 eg_pi->pcie_performance_request_registered = true;
3429 return radeon_acpi_pcie_performance_request(rdev, perf_req, advertise); 3427 return radeon_acpi_pcie_performance_request(rdev, perf_req, advertise);
3430 } else if ((perf_req == PCIE_PERF_REQ_REMOVE_REGISTRY) && 3428 } else if ((perf_req == PCIE_PERF_REQ_REMOVE_REGISTRY) &&
3431 eg_pi->pcie_performance_request_registered) { 3429 eg_pi->pcie_performance_request_registered) {
3432 eg_pi->pcie_performance_request_registered = false; 3430 eg_pi->pcie_performance_request_registered = false;
3433 return radeon_acpi_pcie_performance_request(rdev, perf_req, advertise); 3431 return radeon_acpi_pcie_performance_request(rdev, perf_req, advertise);
3434 } 3432 }
@@ -3441,12 +3439,12 @@ static int ni_advertise_gen2_capability(struct radeon_device *rdev)
3441 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 3439 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
3442 u32 tmp; 3440 u32 tmp;
3443 3441
3444 tmp = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL); 3442 tmp = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL);
3445 3443
3446 if ((tmp & LC_OTHER_SIDE_EVER_SENT_GEN2) && 3444 if ((tmp & LC_OTHER_SIDE_EVER_SENT_GEN2) &&
3447 (tmp & LC_OTHER_SIDE_SUPPORTS_GEN2)) 3445 (tmp & LC_OTHER_SIDE_SUPPORTS_GEN2))
3448 pi->pcie_gen2 = true; 3446 pi->pcie_gen2 = true;
3449 else 3447 else
3450 pi->pcie_gen2 = false; 3448 pi->pcie_gen2 = false;
3451 3449
3452 if (!pi->pcie_gen2) 3450 if (!pi->pcie_gen2)
@@ -3458,8 +3456,8 @@ static int ni_advertise_gen2_capability(struct radeon_device *rdev)
3458static void ni_enable_bif_dynamic_pcie_gen2(struct radeon_device *rdev, 3456static void ni_enable_bif_dynamic_pcie_gen2(struct radeon_device *rdev,
3459 bool enable) 3457 bool enable)
3460{ 3458{
3461 struct rv7xx_power_info *pi = rv770_get_pi(rdev); 3459 struct rv7xx_power_info *pi = rv770_get_pi(rdev);
3462 u32 tmp, bif; 3460 u32 tmp, bif;
3463 3461
3464 tmp = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL); 3462 tmp = RREG32_PCIE_PORT(PCIE_LC_SPEED_CNTL);
3465 3463
@@ -3502,7 +3500,7 @@ static void ni_enable_dynamic_pcie_gen2(struct radeon_device *rdev,
3502 if (enable) 3500 if (enable)
3503 WREG32_P(GENERAL_PWRMGT, ENABLE_GEN2PCIE, ~ENABLE_GEN2PCIE); 3501 WREG32_P(GENERAL_PWRMGT, ENABLE_GEN2PCIE, ~ENABLE_GEN2PCIE);
3504 else 3502 else
3505 WREG32_P(GENERAL_PWRMGT, 0, ~ENABLE_GEN2PCIE); 3503 WREG32_P(GENERAL_PWRMGT, 0, ~ENABLE_GEN2PCIE);
3506} 3504}
3507 3505
3508void ni_set_uvd_clock_before_set_eng_clock(struct radeon_device *rdev, 3506void ni_set_uvd_clock_before_set_eng_clock(struct radeon_device *rdev,
@@ -3563,7 +3561,7 @@ void ni_update_current_ps(struct radeon_device *rdev,
3563{ 3561{
3564 struct ni_ps *new_ps = ni_get_ps(rps); 3562 struct ni_ps *new_ps = ni_get_ps(rps);
3565 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 3563 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
3566 struct ni_power_info *ni_pi = ni_get_pi(rdev); 3564 struct ni_power_info *ni_pi = ni_get_pi(rdev);
3567 3565
3568 eg_pi->current_rps = *rps; 3566 eg_pi->current_rps = *rps;
3569 ni_pi->current_ps = *new_ps; 3567 ni_pi->current_ps = *new_ps;
@@ -3575,7 +3573,7 @@ void ni_update_requested_ps(struct radeon_device *rdev,
3575{ 3573{
3576 struct ni_ps *new_ps = ni_get_ps(rps); 3574 struct ni_ps *new_ps = ni_get_ps(rps);
3577 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev); 3575 struct evergreen_power_info *eg_pi = evergreen_get_pi(rdev);
3578 struct ni_power_info *ni_pi = ni_get_pi(rdev); 3576 struct ni_power_info *ni_pi = ni_get_pi(rdev);
3579 3577
3580 eg_pi->requested_rps = *rps; 3578 eg_pi->requested_rps = *rps;
3581 ni_pi->requested_ps = *new_ps; 3579 ni_pi->requested_ps = *new_ps;
@@ -3591,8 +3589,8 @@ int ni_dpm_enable(struct radeon_device *rdev)
3591 3589
3592 if (pi->gfx_clock_gating) 3590 if (pi->gfx_clock_gating)
3593 ni_cg_clockgating_default(rdev); 3591 ni_cg_clockgating_default(rdev);
3594 if (btc_dpm_enabled(rdev)) 3592 if (btc_dpm_enabled(rdev))
3595 return -EINVAL; 3593 return -EINVAL;
3596 if (pi->mg_clock_gating) 3594 if (pi->mg_clock_gating)
3597 ni_mg_clockgating_default(rdev); 3595 ni_mg_clockgating_default(rdev);
3598 if (eg_pi->ls_clock_gating) 3596 if (eg_pi->ls_clock_gating)
@@ -3991,7 +3989,7 @@ static int ni_parse_power_table(struct radeon_device *rdev)
3991 union pplib_clock_info *clock_info; 3989 union pplib_clock_info *clock_info;
3992 union power_info *power_info; 3990 union power_info *power_info;
3993 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 3991 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
3994 u16 data_offset; 3992 u16 data_offset;
3995 u8 frev, crev; 3993 u8 frev, crev;
3996 struct ni_ps *ps; 3994 struct ni_ps *ps;
3997 3995
diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c
index ed121042247f..f86ab695ee8f 100644
--- a/drivers/gpu/drm/radeon/r600.c
+++ b/drivers/gpu/drm/radeon/r600.c
@@ -235,8 +235,8 @@ int r600_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk)
235 fb_div |= 1; 235 fb_div |= 1;
236 236
237 r = radeon_uvd_send_upll_ctlreq(rdev, CG_UPLL_FUNC_CNTL); 237 r = radeon_uvd_send_upll_ctlreq(rdev, CG_UPLL_FUNC_CNTL);
238 if (r) 238 if (r)
239 return r; 239 return r;
240 240
241 /* assert PLL_RESET */ 241 /* assert PLL_RESET */
242 WREG32_P(CG_UPLL_FUNC_CNTL, UPLL_RESET_MASK, ~UPLL_RESET_MASK); 242 WREG32_P(CG_UPLL_FUNC_CNTL, UPLL_RESET_MASK, ~UPLL_RESET_MASK);
@@ -1490,7 +1490,7 @@ static int r600_mc_init(struct radeon_device *rdev)
1490 rdev->fastfb_working = true; 1490 rdev->fastfb_working = true;
1491 } 1491 }
1492 } 1492 }
1493 } 1493 }
1494 } 1494 }
1495 1495
1496 radeon_update_bandwidth_info(rdev); 1496 radeon_update_bandwidth_info(rdev);
@@ -4574,7 +4574,7 @@ uint64_t r600_get_gpu_clock_counter(struct radeon_device *rdev)
4574 mutex_lock(&rdev->gpu_clock_mutex); 4574 mutex_lock(&rdev->gpu_clock_mutex);
4575 WREG32(RLC_CAPTURE_GPU_CLOCK_COUNT, 1); 4575 WREG32(RLC_CAPTURE_GPU_CLOCK_COUNT, 1);
4576 clock = (uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_LSB) | 4576 clock = (uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_LSB) |
4577 ((uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_MSB) << 32ULL); 4577 ((uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_MSB) << 32ULL);
4578 mutex_unlock(&rdev->gpu_clock_mutex); 4578 mutex_unlock(&rdev->gpu_clock_mutex);
4579 return clock; 4579 return clock;
4580} 4580}
diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c
index 2f36fa1576e0..b69c8de35bd3 100644
--- a/drivers/gpu/drm/radeon/r600_cs.c
+++ b/drivers/gpu/drm/radeon/r600_cs.c
@@ -1671,8 +1671,8 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
1671 } 1671 }
1672 1672
1673 offset = reloc->gpu_offset + 1673 offset = reloc->gpu_offset +
1674 (idx_value & 0xfffffff0) + 1674 (idx_value & 0xfffffff0) +
1675 ((u64)(tmp & 0xff) << 32); 1675 ((u64)(tmp & 0xff) << 32);
1676 1676
1677 ib[idx + 0] = offset; 1677 ib[idx + 0] = offset;
1678 ib[idx + 1] = (tmp & 0xffffff00) | (upper_32_bits(offset) & 0xff); 1678 ib[idx + 1] = (tmp & 0xffffff00) | (upper_32_bits(offset) & 0xff);
@@ -1712,8 +1712,8 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
1712 } 1712 }
1713 1713
1714 offset = reloc->gpu_offset + 1714 offset = reloc->gpu_offset +
1715 idx_value + 1715 idx_value +
1716 ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32); 1716 ((u64)(radeon_get_ib_value(p, idx+1) & 0xff) << 32);
1717 1717
1718 ib[idx+0] = offset; 1718 ib[idx+0] = offset;
1719 ib[idx+1] = upper_32_bits(offset) & 0xff; 1719 ib[idx+1] = upper_32_bits(offset) & 0xff;
@@ -1764,8 +1764,8 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
1764 } 1764 }
1765 1765
1766 offset = reloc->gpu_offset + 1766 offset = reloc->gpu_offset +
1767 (radeon_get_ib_value(p, idx+1) & 0xfffffff0) + 1767 (radeon_get_ib_value(p, idx+1) & 0xfffffff0) +
1768 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 1768 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1769 1769
1770 ib[idx+1] = (ib[idx+1] & 0x3) | (offset & 0xfffffff0); 1770 ib[idx+1] = (ib[idx+1] & 0x3) | (offset & 0xfffffff0);
1771 ib[idx+2] = upper_32_bits(offset) & 0xff; 1771 ib[idx+2] = upper_32_bits(offset) & 0xff;
@@ -1876,8 +1876,8 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
1876 return -EINVAL; 1876 return -EINVAL;
1877 } 1877 }
1878 offset = reloc->gpu_offset + 1878 offset = reloc->gpu_offset +
1879 (radeon_get_ib_value(p, idx+1) & 0xfffffff8) + 1879 (radeon_get_ib_value(p, idx+1) & 0xfffffff8) +
1880 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 1880 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1881 1881
1882 ib[idx+1] = offset & 0xfffffff8; 1882 ib[idx+1] = offset & 0xfffffff8;
1883 ib[idx+2] = upper_32_bits(offset) & 0xff; 1883 ib[idx+2] = upper_32_bits(offset) & 0xff;
@@ -1898,8 +1898,8 @@ static int r600_packet3_check(struct radeon_cs_parser *p,
1898 } 1898 }
1899 1899
1900 offset = reloc->gpu_offset + 1900 offset = reloc->gpu_offset +
1901 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) + 1901 (radeon_get_ib_value(p, idx+1) & 0xfffffffc) +
1902 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32); 1902 ((u64)(radeon_get_ib_value(p, idx+2) & 0xff) << 32);
1903 1903
1904 ib[idx+1] = offset & 0xfffffffc; 1904 ib[idx+1] = offset & 0xfffffffc;
1905 ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff); 1905 ib[idx+2] = (ib[idx+2] & 0xffffff00) | (upper_32_bits(offset) & 0xff);
diff --git a/drivers/gpu/drm/radeon/r600_dpm.c b/drivers/gpu/drm/radeon/r600_dpm.c
index fa2154493cf1..6a4b020dd0b4 100644
--- a/drivers/gpu/drm/radeon/r600_dpm.c
+++ b/drivers/gpu/drm/radeon/r600_dpm.c
@@ -844,7 +844,7 @@ int r600_get_platform_caps(struct radeon_device *rdev)
844 struct radeon_mode_info *mode_info = &rdev->mode_info; 844 struct radeon_mode_info *mode_info = &rdev->mode_info;
845 union power_info *power_info; 845 union power_info *power_info;
846 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 846 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
847 u16 data_offset; 847 u16 data_offset;
848 u8 frev, crev; 848 u8 frev, crev;
849 849
850 if (!atom_parse_data_header(mode_info->atom_context, index, NULL, 850 if (!atom_parse_data_header(mode_info->atom_context, index, NULL,
@@ -874,7 +874,7 @@ int r600_parse_extended_power_table(struct radeon_device *rdev)
874 union fan_info *fan_info; 874 union fan_info *fan_info;
875 ATOM_PPLIB_Clock_Voltage_Dependency_Table *dep_table; 875 ATOM_PPLIB_Clock_Voltage_Dependency_Table *dep_table;
876 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 876 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
877 u16 data_offset; 877 u16 data_offset;
878 u8 frev, crev; 878 u8 frev, crev;
879 int ret, i; 879 int ret, i;
880 880
@@ -1070,7 +1070,7 @@ int r600_parse_extended_power_table(struct radeon_device *rdev)
1070 ext_hdr->usVCETableOffset) { 1070 ext_hdr->usVCETableOffset) {
1071 VCEClockInfoArray *array = (VCEClockInfoArray *) 1071 VCEClockInfoArray *array = (VCEClockInfoArray *)
1072 (mode_info->atom_context->bios + data_offset + 1072 (mode_info->atom_context->bios + data_offset +
1073 le16_to_cpu(ext_hdr->usVCETableOffset) + 1); 1073 le16_to_cpu(ext_hdr->usVCETableOffset) + 1);
1074 ATOM_PPLIB_VCE_Clock_Voltage_Limit_Table *limits = 1074 ATOM_PPLIB_VCE_Clock_Voltage_Limit_Table *limits =
1075 (ATOM_PPLIB_VCE_Clock_Voltage_Limit_Table *) 1075 (ATOM_PPLIB_VCE_Clock_Voltage_Limit_Table *)
1076 (mode_info->atom_context->bios + data_offset + 1076 (mode_info->atom_context->bios + data_offset +
diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c
index e85894ade95c..e82a99cb2459 100644
--- a/drivers/gpu/drm/radeon/r600_hdmi.c
+++ b/drivers/gpu/drm/radeon/r600_hdmi.c
@@ -215,7 +215,7 @@ void r600_hdmi_update_acr(struct drm_encoder *encoder, long offset,
215 * build a HDMI Video Info Frame 215 * build a HDMI Video Info Frame
216 */ 216 */
217void r600_set_avi_packet(struct radeon_device *rdev, u32 offset, 217void r600_set_avi_packet(struct radeon_device *rdev, u32 offset,
218 unsigned char *buffer, size_t size) 218 unsigned char *buffer, size_t size)
219{ 219{
220 uint8_t *frame = buffer + 3; 220 uint8_t *frame = buffer + 3;
221 221
@@ -312,7 +312,7 @@ void r600_hdmi_audio_workaround(struct drm_encoder *encoder)
312} 312}
313 313
314void r600_hdmi_audio_set_dto(struct radeon_device *rdev, 314void r600_hdmi_audio_set_dto(struct radeon_device *rdev,
315 struct radeon_crtc *crtc, unsigned int clock) 315 struct radeon_crtc *crtc, unsigned int clock)
316{ 316{
317 struct radeon_encoder *radeon_encoder; 317 struct radeon_encoder *radeon_encoder;
318 struct radeon_encoder_atom_dig *dig; 318 struct radeon_encoder_atom_dig *dig;
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index de9a2ffcf5f7..f8097a0e7a79 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -2095,7 +2095,7 @@ static int radeon_atombios_parse_power_table_1_3(struct radeon_device *rdev)
2095 struct radeon_i2c_bus_rec i2c_bus; 2095 struct radeon_i2c_bus_rec i2c_bus;
2096 union power_info *power_info; 2096 union power_info *power_info;
2097 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 2097 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
2098 u16 data_offset; 2098 u16 data_offset;
2099 u8 frev, crev; 2099 u8 frev, crev;
2100 2100
2101 if (!atom_parse_data_header(mode_info->atom_context, index, NULL, 2101 if (!atom_parse_data_header(mode_info->atom_context, index, NULL,
@@ -2575,7 +2575,7 @@ static int radeon_atombios_parse_power_table_4_5(struct radeon_device *rdev)
2575 bool valid; 2575 bool valid;
2576 union power_info *power_info; 2576 union power_info *power_info;
2577 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 2577 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
2578 u16 data_offset; 2578 u16 data_offset;
2579 u8 frev, crev; 2579 u8 frev, crev;
2580 2580
2581 if (!atom_parse_data_header(mode_info->atom_context, index, NULL, 2581 if (!atom_parse_data_header(mode_info->atom_context, index, NULL,
@@ -2666,7 +2666,7 @@ static int radeon_atombios_parse_power_table_6(struct radeon_device *rdev)
2666 bool valid; 2666 bool valid;
2667 union power_info *power_info; 2667 union power_info *power_info;
2668 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 2668 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
2669 u16 data_offset; 2669 u16 data_offset;
2670 u8 frev, crev; 2670 u8 frev, crev;
2671 u8 *power_state_offset; 2671 u8 *power_state_offset;
2672 2672
diff --git a/drivers/gpu/drm/radeon/radeon_device.c b/drivers/gpu/drm/radeon/radeon_device.c
index 4de23ae3a64b..ec8de1a1de12 100644
--- a/drivers/gpu/drm/radeon/radeon_device.c
+++ b/drivers/gpu/drm/radeon/radeon_device.c
@@ -1161,9 +1161,9 @@ static void radeon_check_arguments(struct radeon_device *rdev)
1161 radeon_vm_size = 4; 1161 radeon_vm_size = 4;
1162 } 1162 }
1163 1163
1164 /* 1164 /*
1165 * Max GPUVM size for Cayman, SI and CI are 40 bits. 1165 * Max GPUVM size for Cayman, SI and CI are 40 bits.
1166 */ 1166 */
1167 if (radeon_vm_size > 1024) { 1167 if (radeon_vm_size > 1024) {
1168 dev_warn(rdev->dev, "VM size (%d) too large, max is 1TB\n", 1168 dev_warn(rdev->dev, "VM size (%d) too large, max is 1TB\n",
1169 radeon_vm_size); 1169 radeon_vm_size);
@@ -1902,7 +1902,7 @@ int radeon_debugfs_add_files(struct radeon_device *rdev,
1902 if (i > RADEON_DEBUGFS_MAX_COMPONENTS) { 1902 if (i > RADEON_DEBUGFS_MAX_COMPONENTS) {
1903 DRM_ERROR("Reached maximum number of debugfs components.\n"); 1903 DRM_ERROR("Reached maximum number of debugfs components.\n");
1904 DRM_ERROR("Report so we increase " 1904 DRM_ERROR("Report so we increase "
1905 "RADEON_DEBUGFS_MAX_COMPONENTS.\n"); 1905 "RADEON_DEBUGFS_MAX_COMPONENTS.\n");
1906 return -EINVAL; 1906 return -EINVAL;
1907 } 1907 }
1908 rdev->debugfs[rdev->debugfs_count].files = files; 1908 rdev->debugfs[rdev->debugfs_count].files = files;
diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index a885dae22dff..ec6e65965079 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -406,7 +406,7 @@ static void radeon_flip_work_func(struct work_struct *__work)
406 int vpos, hpos, stat, min_udelay; 406 int vpos, hpos, stat, min_udelay;
407 struct drm_vblank_crtc *vblank = &crtc->dev->vblank[work->crtc_id]; 407 struct drm_vblank_crtc *vblank = &crtc->dev->vblank[work->crtc_id];
408 408
409 down_read(&rdev->exclusive_lock); 409 down_read(&rdev->exclusive_lock);
410 if (work->fence) { 410 if (work->fence) {
411 struct radeon_fence *fence; 411 struct radeon_fence *fence;
412 412
@@ -906,7 +906,7 @@ static void avivo_reduce_ratio(unsigned *nom, unsigned *den,
906 *den /= tmp; 906 *den /= tmp;
907 907
908 /* make sure nominator is large enough */ 908 /* make sure nominator is large enough */
909 if (*nom < nom_min) { 909 if (*nom < nom_min) {
910 tmp = DIV_ROUND_UP(nom_min, *nom); 910 tmp = DIV_ROUND_UP(nom_min, *nom);
911 *nom *= tmp; 911 *nom *= tmp;
912 *den *= tmp; 912 *den *= tmp;
@@ -946,7 +946,7 @@ static void avivo_get_fb_ref_div(unsigned nom, unsigned den, unsigned post_div,
946 *fb_div = DIV_ROUND_CLOSEST(nom * *ref_div * post_div, den); 946 *fb_div = DIV_ROUND_CLOSEST(nom * *ref_div * post_div, den);
947 947
948 /* limit fb divider to its maximum */ 948 /* limit fb divider to its maximum */
949 if (*fb_div > fb_div_max) { 949 if (*fb_div > fb_div_max) {
950 *ref_div = DIV_ROUND_CLOSEST(*ref_div * fb_div_max, *fb_div); 950 *ref_div = DIV_ROUND_CLOSEST(*ref_div * fb_div_max, *fb_div);
951 *fb_div = fb_div_max; 951 *fb_div = fb_div_max;
952 } 952 }
diff --git a/drivers/gpu/drm/radeon/radeon_fb.c b/drivers/gpu/drm/radeon/radeon_fb.c
index d179596334a7..0e3143acb565 100644
--- a/drivers/gpu/drm/radeon/radeon_fb.c
+++ b/drivers/gpu/drm/radeon/radeon_fb.c
@@ -38,9 +38,9 @@
38#include <linux/vga_switcheroo.h> 38#include <linux/vga_switcheroo.h>
39 39
40/* object hierarchy - 40/* object hierarchy -
41 this contains a helper + a radeon fb 41 * this contains a helper + a radeon fb
42 the helper contains a pointer to radeon framebuffer baseclass. 42 * the helper contains a pointer to radeon framebuffer baseclass.
43*/ 43 */
44struct radeon_fbdev { 44struct radeon_fbdev {
45 struct drm_fb_helper helper; 45 struct drm_fb_helper helper;
46 struct radeon_framebuffer rfb; 46 struct radeon_framebuffer rfb;
diff --git a/drivers/gpu/drm/radeon/radeon_ib.c b/drivers/gpu/drm/radeon/radeon_ib.c
index c39ce1f05703..92ce0e533bc0 100644
--- a/drivers/gpu/drm/radeon/radeon_ib.c
+++ b/drivers/gpu/drm/radeon/radeon_ib.c
@@ -274,7 +274,7 @@ int radeon_ib_ring_tests(struct radeon_device *rdev)
274 if (i == RADEON_RING_TYPE_GFX_INDEX) { 274 if (i == RADEON_RING_TYPE_GFX_INDEX) {
275 /* oh, oh, that's really bad */ 275 /* oh, oh, that's really bad */
276 DRM_ERROR("radeon: failed testing IB on GFX ring (%d).\n", r); 276 DRM_ERROR("radeon: failed testing IB on GFX ring (%d).\n", r);
277 rdev->accel_working = false; 277 rdev->accel_working = false;
278 return r; 278 return r;
279 279
280 } else { 280 } else {
@@ -304,7 +304,7 @@ static int radeon_debugfs_sa_info(struct seq_file *m, void *data)
304} 304}
305 305
306static struct drm_info_list radeon_debugfs_sa_list[] = { 306static struct drm_info_list radeon_debugfs_sa_list[] = {
307 {"radeon_sa_info", &radeon_debugfs_sa_info, 0, NULL}, 307 {"radeon_sa_info", &radeon_debugfs_sa_info, 0, NULL},
308}; 308};
309 309
310#endif 310#endif
diff --git a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
index 88dc973fb209..868c3ba2efaa 100644
--- a/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
+++ b/drivers/gpu/drm/radeon/radeon_legacy_encoders.c
@@ -818,52 +818,52 @@ static void radeon_legacy_tmds_int_mode_set(struct drm_encoder *encoder,
818 tmds_transmitter_cntl = RREG32(RADEON_TMDS_TRANSMITTER_CNTL) & 818 tmds_transmitter_cntl = RREG32(RADEON_TMDS_TRANSMITTER_CNTL) &
819 ~(RADEON_TMDS_TRANSMITTER_PLLRST); 819 ~(RADEON_TMDS_TRANSMITTER_PLLRST);
820 820
821 if (rdev->family == CHIP_R200 || 821 if (rdev->family == CHIP_R200 ||
822 rdev->family == CHIP_R100 || 822 rdev->family == CHIP_R100 ||
823 ASIC_IS_R300(rdev)) 823 ASIC_IS_R300(rdev))
824 tmds_transmitter_cntl &= ~(RADEON_TMDS_TRANSMITTER_PLLEN); 824 tmds_transmitter_cntl &= ~(RADEON_TMDS_TRANSMITTER_PLLEN);
825 else /* RV chips got this bit reversed */ 825 else /* RV chips got this bit reversed */
826 tmds_transmitter_cntl |= RADEON_TMDS_TRANSMITTER_PLLEN; 826 tmds_transmitter_cntl |= RADEON_TMDS_TRANSMITTER_PLLEN;
827 827
828 fp_gen_cntl = (RREG32(RADEON_FP_GEN_CNTL) | 828 fp_gen_cntl = (RREG32(RADEON_FP_GEN_CNTL) |
829 (RADEON_FP_CRTC_DONT_SHADOW_VPAR | 829 (RADEON_FP_CRTC_DONT_SHADOW_VPAR |
830 RADEON_FP_CRTC_DONT_SHADOW_HEND)); 830 RADEON_FP_CRTC_DONT_SHADOW_HEND));
831 831
832 fp_gen_cntl &= ~(RADEON_FP_FPON | RADEON_FP_TMDS_EN); 832 fp_gen_cntl &= ~(RADEON_FP_FPON | RADEON_FP_TMDS_EN);
833 833
834 fp_gen_cntl &= ~(RADEON_FP_RMX_HVSYNC_CONTROL_EN | 834 fp_gen_cntl &= ~(RADEON_FP_RMX_HVSYNC_CONTROL_EN |
835 RADEON_FP_DFP_SYNC_SEL | 835 RADEON_FP_DFP_SYNC_SEL |
836 RADEON_FP_CRT_SYNC_SEL | 836 RADEON_FP_CRT_SYNC_SEL |
837 RADEON_FP_CRTC_LOCK_8DOT | 837 RADEON_FP_CRTC_LOCK_8DOT |
838 RADEON_FP_USE_SHADOW_EN | 838 RADEON_FP_USE_SHADOW_EN |
839 RADEON_FP_CRTC_USE_SHADOW_VEND | 839 RADEON_FP_CRTC_USE_SHADOW_VEND |
840 RADEON_FP_CRT_SYNC_ALT); 840 RADEON_FP_CRT_SYNC_ALT);
841 841
842 if (1) /* FIXME rgbBits == 8 */ 842 if (1) /* FIXME rgbBits == 8 */
843 fp_gen_cntl |= RADEON_FP_PANEL_FORMAT; /* 24 bit format */ 843 fp_gen_cntl |= RADEON_FP_PANEL_FORMAT; /* 24 bit format */
844 else 844 else
845 fp_gen_cntl &= ~RADEON_FP_PANEL_FORMAT;/* 18 bit format */ 845 fp_gen_cntl &= ~RADEON_FP_PANEL_FORMAT;/* 18 bit format */
846 846
847 if (radeon_crtc->crtc_id == 0) { 847 if (radeon_crtc->crtc_id == 0) {
848 if (ASIC_IS_R300(rdev) || rdev->family == CHIP_R200) { 848 if (ASIC_IS_R300(rdev) || rdev->family == CHIP_R200) {
849 fp_gen_cntl &= ~R200_FP_SOURCE_SEL_MASK; 849 fp_gen_cntl &= ~R200_FP_SOURCE_SEL_MASK;
850 if (radeon_encoder->rmx_type != RMX_OFF) 850 if (radeon_encoder->rmx_type != RMX_OFF)
851 fp_gen_cntl |= R200_FP_SOURCE_SEL_RMX; 851 fp_gen_cntl |= R200_FP_SOURCE_SEL_RMX;
852 else 852 else
853 fp_gen_cntl |= R200_FP_SOURCE_SEL_CRTC1; 853 fp_gen_cntl |= R200_FP_SOURCE_SEL_CRTC1;
854 } else 854 } else
855 fp_gen_cntl &= ~RADEON_FP_SEL_CRTC2; 855 fp_gen_cntl &= ~RADEON_FP_SEL_CRTC2;
856 } else { 856 } else {
857 if (ASIC_IS_R300(rdev) || rdev->family == CHIP_R200) { 857 if (ASIC_IS_R300(rdev) || rdev->family == CHIP_R200) {
858 fp_gen_cntl &= ~R200_FP_SOURCE_SEL_MASK; 858 fp_gen_cntl &= ~R200_FP_SOURCE_SEL_MASK;
859 fp_gen_cntl |= R200_FP_SOURCE_SEL_CRTC2; 859 fp_gen_cntl |= R200_FP_SOURCE_SEL_CRTC2;
860 } else 860 } else
861 fp_gen_cntl |= RADEON_FP_SEL_CRTC2; 861 fp_gen_cntl |= RADEON_FP_SEL_CRTC2;
862 } 862 }
863 863
864 WREG32(RADEON_TMDS_PLL_CNTL, tmds_pll_cntl); 864 WREG32(RADEON_TMDS_PLL_CNTL, tmds_pll_cntl);
865 WREG32(RADEON_TMDS_TRANSMITTER_CNTL, tmds_transmitter_cntl); 865 WREG32(RADEON_TMDS_TRANSMITTER_CNTL, tmds_transmitter_cntl);
866 WREG32(RADEON_FP_GEN_CNTL, fp_gen_cntl); 866 WREG32(RADEON_FP_GEN_CNTL, fp_gen_cntl);
867 867
868 if (rdev->is_atom_bios) 868 if (rdev->is_atom_bios)
869 radeon_atombios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id); 869 radeon_atombios_encoder_crtc_scratch_regs(encoder, radeon_crtc->crtc_id);
diff --git a/drivers/gpu/drm/radeon/radeon_object.c b/drivers/gpu/drm/radeon/radeon_object.c
index fb6ad143873f..dd46c38676db 100644
--- a/drivers/gpu/drm/radeon/radeon_object.c
+++ b/drivers/gpu/drm/radeon/radeon_object.c
@@ -214,8 +214,8 @@ int radeon_bo_create(struct radeon_device *rdev,
214 INIT_LIST_HEAD(&bo->list); 214 INIT_LIST_HEAD(&bo->list);
215 INIT_LIST_HEAD(&bo->va); 215 INIT_LIST_HEAD(&bo->va);
216 bo->initial_domain = domain & (RADEON_GEM_DOMAIN_VRAM | 216 bo->initial_domain = domain & (RADEON_GEM_DOMAIN_VRAM |
217 RADEON_GEM_DOMAIN_GTT | 217 RADEON_GEM_DOMAIN_GTT |
218 RADEON_GEM_DOMAIN_CPU); 218 RADEON_GEM_DOMAIN_CPU);
219 219
220 bo->flags = flags; 220 bo->flags = flags;
221 /* PCI GART is always snooped */ 221 /* PCI GART is always snooped */
@@ -848,7 +848,7 @@ int radeon_bo_wait(struct radeon_bo *bo, u32 *mem_type, bool no_wait)
848 * 848 *
849 */ 849 */
850void radeon_bo_fence(struct radeon_bo *bo, struct radeon_fence *fence, 850void radeon_bo_fence(struct radeon_bo *bo, struct radeon_fence *fence,
851 bool shared) 851 bool shared)
852{ 852{
853 struct reservation_object *resv = bo->tbo.resv; 853 struct reservation_object *resv = bo->tbo.resv;
854 854
diff --git a/drivers/gpu/drm/radeon/radeon_pm.c b/drivers/gpu/drm/radeon/radeon_pm.c
index 460c8f2989da..3748a62bf843 100644
--- a/drivers/gpu/drm/radeon/radeon_pm.c
+++ b/drivers/gpu/drm/radeon/radeon_pm.c
@@ -79,7 +79,7 @@ void radeon_pm_acpi_event_handler(struct radeon_device *rdev)
79 radeon_dpm_enable_bapm(rdev, rdev->pm.dpm.ac_power); 79 radeon_dpm_enable_bapm(rdev, rdev->pm.dpm.ac_power);
80 } 80 }
81 mutex_unlock(&rdev->pm.mutex); 81 mutex_unlock(&rdev->pm.mutex);
82 } else if (rdev->pm.pm_method == PM_METHOD_PROFILE) { 82 } else if (rdev->pm.pm_method == PM_METHOD_PROFILE) {
83 if (rdev->pm.profile == PM_PROFILE_AUTO) { 83 if (rdev->pm.profile == PM_PROFILE_AUTO) {
84 mutex_lock(&rdev->pm.mutex); 84 mutex_lock(&rdev->pm.mutex);
85 radeon_pm_update_profile(rdev); 85 radeon_pm_update_profile(rdev);
diff --git a/drivers/gpu/drm/radeon/radeon_semaphore.c b/drivers/gpu/drm/radeon/radeon_semaphore.c
index e6ad54cdfa62..b0eb28e8fb73 100644
--- a/drivers/gpu/drm/radeon/radeon_semaphore.c
+++ b/drivers/gpu/drm/radeon/radeon_semaphore.c
@@ -56,7 +56,7 @@ int radeon_semaphore_create(struct radeon_device *rdev,
56} 56}
57 57
58bool radeon_semaphore_emit_signal(struct radeon_device *rdev, int ridx, 58bool radeon_semaphore_emit_signal(struct radeon_device *rdev, int ridx,
59 struct radeon_semaphore *semaphore) 59 struct radeon_semaphore *semaphore)
60{ 60{
61 struct radeon_ring *ring = &rdev->ring[ridx]; 61 struct radeon_ring *ring = &rdev->ring[ridx];
62 62
@@ -73,7 +73,7 @@ bool radeon_semaphore_emit_signal(struct radeon_device *rdev, int ridx,
73} 73}
74 74
75bool radeon_semaphore_emit_wait(struct radeon_device *rdev, int ridx, 75bool radeon_semaphore_emit_wait(struct radeon_device *rdev, int ridx,
76 struct radeon_semaphore *semaphore) 76 struct radeon_semaphore *semaphore)
77{ 77{
78 struct radeon_ring *ring = &rdev->ring[ridx]; 78 struct radeon_ring *ring = &rdev->ring[ridx];
79 79
diff --git a/drivers/gpu/drm/radeon/radeon_uvd.c b/drivers/gpu/drm/radeon/radeon_uvd.c
index 6edcb5485092..6fe9e4e76284 100644
--- a/drivers/gpu/drm/radeon/radeon_uvd.c
+++ b/drivers/gpu/drm/radeon/radeon_uvd.c
@@ -722,9 +722,11 @@ static int radeon_uvd_send_msg(struct radeon_device *rdev,
722 return r; 722 return r;
723} 723}
724 724
725/* multiple fence commands without any stream commands in between can 725/*
726 crash the vcpu so just try to emmit a dummy create/destroy msg to 726 * multiple fence commands without any stream commands in between can
727 avoid this */ 727 * crash the vcpu so just try to emmit a dummy create/destroy msg to
728 * avoid this
729 */
728int radeon_uvd_get_create_msg(struct radeon_device *rdev, int ring, 730int radeon_uvd_get_create_msg(struct radeon_device *rdev, int ring,
729 uint32_t handle, struct radeon_fence **fence) 731 uint32_t handle, struct radeon_fence **fence)
730{ 732{
diff --git a/drivers/gpu/drm/radeon/radeon_vce.c b/drivers/gpu/drm/radeon/radeon_vce.c
index 566a1a01f6d1..c1c619facb47 100644
--- a/drivers/gpu/drm/radeon/radeon_vce.c
+++ b/drivers/gpu/drm/radeon/radeon_vce.c
@@ -166,7 +166,7 @@ int radeon_vce_init(struct radeon_device *rdev)
166 for (i = 0; i < RADEON_MAX_VCE_HANDLES; ++i) { 166 for (i = 0; i < RADEON_MAX_VCE_HANDLES; ++i) {
167 atomic_set(&rdev->vce.handles[i], 0); 167 atomic_set(&rdev->vce.handles[i], 0);
168 rdev->vce.filp[i] = NULL; 168 rdev->vce.filp[i] = NULL;
169 } 169 }
170 170
171 return 0; 171 return 0;
172} 172}
@@ -389,7 +389,7 @@ int radeon_vce_get_create_msg(struct radeon_device *rdev, int ring,
389 389
390 r = radeon_ib_schedule(rdev, &ib, NULL, false); 390 r = radeon_ib_schedule(rdev, &ib, NULL, false);
391 if (r) { 391 if (r) {
392 DRM_ERROR("radeon: failed to schedule ib (%d).\n", r); 392 DRM_ERROR("radeon: failed to schedule ib (%d).\n", r);
393 } 393 }
394 394
395 if (fence) 395 if (fence)
@@ -446,7 +446,7 @@ int radeon_vce_get_destroy_msg(struct radeon_device *rdev, int ring,
446 446
447 r = radeon_ib_schedule(rdev, &ib, NULL, false); 447 r = radeon_ib_schedule(rdev, &ib, NULL, false);
448 if (r) { 448 if (r) {
449 DRM_ERROR("radeon: failed to schedule ib (%d).\n", r); 449 DRM_ERROR("radeon: failed to schedule ib (%d).\n", r);
450 } 450 }
451 451
452 if (fence) 452 if (fence)
@@ -769,18 +769,18 @@ int radeon_vce_ring_test(struct radeon_device *rdev, struct radeon_ring *ring)
769 radeon_ring_unlock_commit(rdev, ring, false); 769 radeon_ring_unlock_commit(rdev, ring, false);
770 770
771 for (i = 0; i < rdev->usec_timeout; i++) { 771 for (i = 0; i < rdev->usec_timeout; i++) {
772 if (vce_v1_0_get_rptr(rdev, ring) != rptr) 772 if (vce_v1_0_get_rptr(rdev, ring) != rptr)
773 break; 773 break;
774 DRM_UDELAY(1); 774 DRM_UDELAY(1);
775 } 775 }
776 776
777 if (i < rdev->usec_timeout) { 777 if (i < rdev->usec_timeout) {
778 DRM_INFO("ring test on %d succeeded in %d usecs\n", 778 DRM_INFO("ring test on %d succeeded in %d usecs\n",
779 ring->idx, i); 779 ring->idx, i);
780 } else { 780 } else {
781 DRM_ERROR("radeon: ring %d test failed\n", 781 DRM_ERROR("radeon: ring %d test failed\n",
782 ring->idx); 782 ring->idx);
783 r = -ETIMEDOUT; 783 r = -ETIMEDOUT;
784 } 784 }
785 785
786 return r; 786 return r;
diff --git a/drivers/gpu/drm/radeon/radeon_vm.c b/drivers/gpu/drm/radeon/radeon_vm.c
index 3979632b9225..a1358748cea5 100644
--- a/drivers/gpu/drm/radeon/radeon_vm.c
+++ b/drivers/gpu/drm/radeon/radeon_vm.c
@@ -611,15 +611,16 @@ uint64_t radeon_vm_map_gart(struct radeon_device *rdev, uint64_t addr)
611 */ 611 */
612static uint32_t radeon_vm_page_flags(uint32_t flags) 612static uint32_t radeon_vm_page_flags(uint32_t flags)
613{ 613{
614 uint32_t hw_flags = 0; 614 uint32_t hw_flags = 0;
615 hw_flags |= (flags & RADEON_VM_PAGE_VALID) ? R600_PTE_VALID : 0; 615
616 hw_flags |= (flags & RADEON_VM_PAGE_READABLE) ? R600_PTE_READABLE : 0; 616 hw_flags |= (flags & RADEON_VM_PAGE_VALID) ? R600_PTE_VALID : 0;
617 hw_flags |= (flags & RADEON_VM_PAGE_WRITEABLE) ? R600_PTE_WRITEABLE : 0; 617 hw_flags |= (flags & RADEON_VM_PAGE_READABLE) ? R600_PTE_READABLE : 0;
618 if (flags & RADEON_VM_PAGE_SYSTEM) { 618 hw_flags |= (flags & RADEON_VM_PAGE_WRITEABLE) ? R600_PTE_WRITEABLE : 0;
619 hw_flags |= R600_PTE_SYSTEM; 619 if (flags & RADEON_VM_PAGE_SYSTEM) {
620 hw_flags |= (flags & RADEON_VM_PAGE_SNOOPED) ? R600_PTE_SNOOPED : 0; 620 hw_flags |= R600_PTE_SYSTEM;
621 } 621 hw_flags |= (flags & RADEON_VM_PAGE_SNOOPED) ? R600_PTE_SNOOPED : 0;
622 return hw_flags; 622 }
623 return hw_flags;
623} 624}
624 625
625/** 626/**
diff --git a/drivers/gpu/drm/radeon/rs780_dpm.c b/drivers/gpu/drm/radeon/rs780_dpm.c
index cb0afe78abed..94b48fc1e266 100644
--- a/drivers/gpu/drm/radeon/rs780_dpm.c
+++ b/drivers/gpu/drm/radeon/rs780_dpm.c
@@ -795,7 +795,7 @@ static int rs780_parse_power_table(struct radeon_device *rdev)
795 union pplib_clock_info *clock_info; 795 union pplib_clock_info *clock_info;
796 union power_info *power_info; 796 union power_info *power_info;
797 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 797 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
798 u16 data_offset; 798 u16 data_offset;
799 u8 frev, crev; 799 u8 frev, crev;
800 struct igp_ps *ps; 800 struct igp_ps *ps;
801 801
diff --git a/drivers/gpu/drm/radeon/rv6xx_dpm.c b/drivers/gpu/drm/radeon/rv6xx_dpm.c
index 97e5a6f1ce58..25e29303b119 100644
--- a/drivers/gpu/drm/radeon/rv6xx_dpm.c
+++ b/drivers/gpu/drm/radeon/rv6xx_dpm.c
@@ -209,7 +209,7 @@ static struct rv6xx_sclk_stepping rv6xx_next_vco_step(struct radeon_device *rdev
209 209
210static bool rv6xx_can_step_post_div(struct radeon_device *rdev, 210static bool rv6xx_can_step_post_div(struct radeon_device *rdev,
211 struct rv6xx_sclk_stepping *cur, 211 struct rv6xx_sclk_stepping *cur,
212 struct rv6xx_sclk_stepping *target) 212 struct rv6xx_sclk_stepping *target)
213{ 213{
214 return (cur->post_divider > target->post_divider) && 214 return (cur->post_divider > target->post_divider) &&
215 ((cur->vco_frequency * target->post_divider) <= 215 ((cur->vco_frequency * target->post_divider) <=
@@ -239,7 +239,7 @@ static bool rv6xx_reached_stepping_target(struct radeon_device *rdev,
239 239
240static void rv6xx_generate_steps(struct radeon_device *rdev, 240static void rv6xx_generate_steps(struct radeon_device *rdev,
241 u32 low, u32 high, 241 u32 low, u32 high,
242 u32 start_index, u8 *end_index) 242 u32 start_index, u8 *end_index)
243{ 243{
244 struct rv6xx_sclk_stepping cur; 244 struct rv6xx_sclk_stepping cur;
245 struct rv6xx_sclk_stepping target; 245 struct rv6xx_sclk_stepping target;
@@ -1356,23 +1356,23 @@ static void rv6xx_set_dpm_event_sources(struct radeon_device *rdev, u32 sources)
1356 enum radeon_dpm_event_src dpm_event_src; 1356 enum radeon_dpm_event_src dpm_event_src;
1357 1357
1358 switch (sources) { 1358 switch (sources) {
1359 case 0: 1359 case 0:
1360 default: 1360 default:
1361 want_thermal_protection = false; 1361 want_thermal_protection = false;
1362 break; 1362 break;
1363 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL): 1363 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL):
1364 want_thermal_protection = true; 1364 want_thermal_protection = true;
1365 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGITAL; 1365 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGITAL;
1366 break; 1366 break;
1367 1367
1368 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL): 1368 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL):
1369 want_thermal_protection = true; 1369 want_thermal_protection = true;
1370 dpm_event_src = RADEON_DPM_EVENT_SRC_EXTERNAL; 1370 dpm_event_src = RADEON_DPM_EVENT_SRC_EXTERNAL;
1371 break; 1371 break;
1372 1372
1373 case ((1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL) | 1373 case ((1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL) |
1374 (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL)): 1374 (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL)):
1375 want_thermal_protection = true; 1375 want_thermal_protection = true;
1376 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGIAL_OR_EXTERNAL; 1376 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGIAL_OR_EXTERNAL;
1377 break; 1377 break;
1378 } 1378 }
@@ -1879,7 +1879,7 @@ static int rv6xx_parse_power_table(struct radeon_device *rdev)
1879 union pplib_clock_info *clock_info; 1879 union pplib_clock_info *clock_info;
1880 union power_info *power_info; 1880 union power_info *power_info;
1881 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 1881 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
1882 u16 data_offset; 1882 u16 data_offset;
1883 u8 frev, crev; 1883 u8 frev, crev;
1884 struct rv6xx_ps *ps; 1884 struct rv6xx_ps *ps;
1885 1885
diff --git a/drivers/gpu/drm/radeon/rv740_dpm.c b/drivers/gpu/drm/radeon/rv740_dpm.c
index c4c8da501da8..4b850824fe06 100644
--- a/drivers/gpu/drm/radeon/rv740_dpm.c
+++ b/drivers/gpu/drm/radeon/rv740_dpm.c
@@ -36,28 +36,28 @@ u32 rv740_get_decoded_reference_divider(u32 encoded_ref)
36 u32 ref = 0; 36 u32 ref = 0;
37 37
38 switch (encoded_ref) { 38 switch (encoded_ref) {
39 case 0: 39 case 0:
40 ref = 1; 40 ref = 1;
41 break; 41 break;
42 case 16: 42 case 16:
43 ref = 2; 43 ref = 2;
44 break; 44 break;
45 case 17: 45 case 17:
46 ref = 3; 46 ref = 3;
47 break; 47 break;
48 case 18: 48 case 18:
49 ref = 2; 49 ref = 2;
50 break; 50 break;
51 case 19: 51 case 19:
52 ref = 3; 52 ref = 3;
53 break; 53 break;
54 case 20: 54 case 20:
55 ref = 4; 55 ref = 4;
56 break; 56 break;
57 case 21: 57 case 21:
58 ref = 5; 58 ref = 5;
59 break; 59 break;
60 default: 60 default:
61 DRM_ERROR("Invalid encoded Reference Divider\n"); 61 DRM_ERROR("Invalid encoded Reference Divider\n");
62 ref = 0; 62 ref = 0;
63 break; 63 break;
diff --git a/drivers/gpu/drm/radeon/rv770_dpm.c b/drivers/gpu/drm/radeon/rv770_dpm.c
index e830c8935db0..a010decf59af 100644
--- a/drivers/gpu/drm/radeon/rv770_dpm.c
+++ b/drivers/gpu/drm/radeon/rv770_dpm.c
@@ -345,27 +345,27 @@ static int rv770_encode_yclk_post_div(u32 postdiv, u32 *encoded_postdiv)
345 int ret = 0; 345 int ret = 0;
346 346
347 switch (postdiv) { 347 switch (postdiv) {
348 case 1: 348 case 1:
349 *encoded_postdiv = 0; 349 *encoded_postdiv = 0;
350 break; 350 break;
351 case 2: 351 case 2:
352 *encoded_postdiv = 1; 352 *encoded_postdiv = 1;
353 break; 353 break;
354 case 4: 354 case 4:
355 *encoded_postdiv = 2; 355 *encoded_postdiv = 2;
356 break; 356 break;
357 case 8: 357 case 8:
358 *encoded_postdiv = 3; 358 *encoded_postdiv = 3;
359 break; 359 break;
360 case 16: 360 case 16:
361 *encoded_postdiv = 4; 361 *encoded_postdiv = 4;
362 break; 362 break;
363 default: 363 default:
364 ret = -EINVAL; 364 ret = -EINVAL;
365 break; 365 break;
366 } 366 }
367 367
368 return ret; 368 return ret;
369} 369}
370 370
371u32 rv770_map_clkf_to_ibias(struct radeon_device *rdev, u32 clkf) 371u32 rv770_map_clkf_to_ibias(struct radeon_device *rdev, u32 clkf)
@@ -1175,15 +1175,15 @@ static int rv770_init_smc_table(struct radeon_device *rdev,
1175 rv770_populate_smc_mvdd_table(rdev, table); 1175 rv770_populate_smc_mvdd_table(rdev, table);
1176 1176
1177 switch (rdev->pm.int_thermal_type) { 1177 switch (rdev->pm.int_thermal_type) {
1178 case THERMAL_TYPE_RV770: 1178 case THERMAL_TYPE_RV770:
1179 case THERMAL_TYPE_ADT7473_WITH_INTERNAL: 1179 case THERMAL_TYPE_ADT7473_WITH_INTERNAL:
1180 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_INTERNAL; 1180 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_INTERNAL;
1181 break; 1181 break;
1182 case THERMAL_TYPE_NONE: 1182 case THERMAL_TYPE_NONE:
1183 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_NONE; 1183 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_NONE;
1184 break; 1184 break;
1185 case THERMAL_TYPE_EXTERNAL_GPIO: 1185 case THERMAL_TYPE_EXTERNAL_GPIO:
1186 default: 1186 default:
1187 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_EXTERNAL; 1187 table->thermalProtectType = PPSMC_THERMAL_PROTECT_TYPE_EXTERNAL;
1188 break; 1188 break;
1189 } 1189 }
@@ -1567,18 +1567,18 @@ void rv770_reset_smio_status(struct radeon_device *rdev)
1567 sw_smio_index = 1567 sw_smio_index =
1568 (RREG32(GENERAL_PWRMGT) & SW_SMIO_INDEX_MASK) >> SW_SMIO_INDEX_SHIFT; 1568 (RREG32(GENERAL_PWRMGT) & SW_SMIO_INDEX_MASK) >> SW_SMIO_INDEX_SHIFT;
1569 switch (sw_smio_index) { 1569 switch (sw_smio_index) {
1570 case 3: 1570 case 3:
1571 vid_smio_cntl = RREG32(S3_VID_LOWER_SMIO_CNTL); 1571 vid_smio_cntl = RREG32(S3_VID_LOWER_SMIO_CNTL);
1572 break; 1572 break;
1573 case 2: 1573 case 2:
1574 vid_smio_cntl = RREG32(S2_VID_LOWER_SMIO_CNTL); 1574 vid_smio_cntl = RREG32(S2_VID_LOWER_SMIO_CNTL);
1575 break; 1575 break;
1576 case 1: 1576 case 1:
1577 vid_smio_cntl = RREG32(S1_VID_LOWER_SMIO_CNTL); 1577 vid_smio_cntl = RREG32(S1_VID_LOWER_SMIO_CNTL);
1578 break; 1578 break;
1579 case 0: 1579 case 0:
1580 return; 1580 return;
1581 default: 1581 default:
1582 vid_smio_cntl = pi->s0_vid_lower_smio_cntl; 1582 vid_smio_cntl = pi->s0_vid_lower_smio_cntl;
1583 break; 1583 break;
1584 } 1584 }
@@ -1817,21 +1817,21 @@ static void rv770_set_dpm_event_sources(struct radeon_device *rdev, u32 sources)
1817 enum radeon_dpm_event_src dpm_event_src; 1817 enum radeon_dpm_event_src dpm_event_src;
1818 1818
1819 switch (sources) { 1819 switch (sources) {
1820 case 0: 1820 case 0:
1821 default: 1821 default:
1822 want_thermal_protection = false; 1822 want_thermal_protection = false;
1823 break; 1823 break;
1824 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL): 1824 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL):
1825 want_thermal_protection = true; 1825 want_thermal_protection = true;
1826 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGITAL; 1826 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGITAL;
1827 break; 1827 break;
1828 1828
1829 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL): 1829 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL):
1830 want_thermal_protection = true; 1830 want_thermal_protection = true;
1831 dpm_event_src = RADEON_DPM_EVENT_SRC_EXTERNAL; 1831 dpm_event_src = RADEON_DPM_EVENT_SRC_EXTERNAL;
1832 break; 1832 break;
1833 1833
1834 case ((1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL) | 1834 case ((1 << RADEON_DPM_AUTO_THROTTLE_SRC_EXTERNAL) |
1835 (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL)): 1835 (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL)):
1836 want_thermal_protection = true; 1836 want_thermal_protection = true;
1837 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGIAL_OR_EXTERNAL; 1837 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGIAL_OR_EXTERNAL;
@@ -2273,7 +2273,7 @@ int rv7xx_parse_power_table(struct radeon_device *rdev)
2273 union pplib_clock_info *clock_info; 2273 union pplib_clock_info *clock_info;
2274 union power_info *power_info; 2274 union power_info *power_info;
2275 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 2275 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
2276 u16 data_offset; 2276 u16 data_offset;
2277 u8 frev, crev; 2277 u8 frev, crev;
2278 struct rv7xx_ps *ps; 2278 struct rv7xx_ps *ps;
2279 2279
diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
index b3e7c8bf877d..ae21550fe767 100644
--- a/drivers/gpu/drm/radeon/si.c
+++ b/drivers/gpu/drm/radeon/si.c
@@ -1307,7 +1307,7 @@ int si_get_allowed_info_register(struct radeon_device *rdev,
1307 */ 1307 */
1308u32 si_get_xclk(struct radeon_device *rdev) 1308u32 si_get_xclk(struct radeon_device *rdev)
1309{ 1309{
1310 u32 reference_clock = rdev->clock.spll.reference_freq; 1310 u32 reference_clock = rdev->clock.spll.reference_freq;
1311 u32 tmp; 1311 u32 tmp;
1312 1312
1313 tmp = RREG32(CG_CLKPIN_CNTL_2); 1313 tmp = RREG32(CG_CLKPIN_CNTL_2);
@@ -7267,7 +7267,7 @@ uint64_t si_get_gpu_clock_counter(struct radeon_device *rdev)
7267 mutex_lock(&rdev->gpu_clock_mutex); 7267 mutex_lock(&rdev->gpu_clock_mutex);
7268 WREG32(RLC_CAPTURE_GPU_CLOCK_COUNT, 1); 7268 WREG32(RLC_CAPTURE_GPU_CLOCK_COUNT, 1);
7269 clock = (uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_LSB) | 7269 clock = (uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_LSB) |
7270 ((uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_MSB) << 32ULL); 7270 ((uint64_t)RREG32(RLC_GPU_CLOCK_COUNT_MSB) << 32ULL);
7271 mutex_unlock(&rdev->gpu_clock_mutex); 7271 mutex_unlock(&rdev->gpu_clock_mutex);
7272 return clock; 7272 return clock;
7273} 7273}
@@ -7728,33 +7728,33 @@ static void si_program_aspm(struct radeon_device *rdev)
7728 7728
7729int si_vce_send_vcepll_ctlreq(struct radeon_device *rdev) 7729int si_vce_send_vcepll_ctlreq(struct radeon_device *rdev)
7730{ 7730{
7731 unsigned i; 7731 unsigned i;
7732 7732
7733 /* make sure VCEPLL_CTLREQ is deasserted */ 7733 /* make sure VCEPLL_CTLREQ is deasserted */
7734 WREG32_SMC_P(CG_VCEPLL_FUNC_CNTL, 0, ~UPLL_CTLREQ_MASK); 7734 WREG32_SMC_P(CG_VCEPLL_FUNC_CNTL, 0, ~UPLL_CTLREQ_MASK);
7735 7735
7736 mdelay(10); 7736 mdelay(10);
7737 7737
7738 /* assert UPLL_CTLREQ */ 7738 /* assert UPLL_CTLREQ */
7739 WREG32_SMC_P(CG_VCEPLL_FUNC_CNTL, UPLL_CTLREQ_MASK, ~UPLL_CTLREQ_MASK); 7739 WREG32_SMC_P(CG_VCEPLL_FUNC_CNTL, UPLL_CTLREQ_MASK, ~UPLL_CTLREQ_MASK);
7740 7740
7741 /* wait for CTLACK and CTLACK2 to get asserted */ 7741 /* wait for CTLACK and CTLACK2 to get asserted */
7742 for (i = 0; i < 100; ++i) { 7742 for (i = 0; i < 100; ++i) {
7743 uint32_t mask = UPLL_CTLACK_MASK | UPLL_CTLACK2_MASK; 7743 uint32_t mask = UPLL_CTLACK_MASK | UPLL_CTLACK2_MASK;
7744 if ((RREG32_SMC(CG_VCEPLL_FUNC_CNTL) & mask) == mask) 7744 if ((RREG32_SMC(CG_VCEPLL_FUNC_CNTL) & mask) == mask)
7745 break; 7745 break;
7746 mdelay(10); 7746 mdelay(10);
7747 } 7747 }
7748 7748
7749 /* deassert UPLL_CTLREQ */ 7749 /* deassert UPLL_CTLREQ */
7750 WREG32_SMC_P(CG_VCEPLL_FUNC_CNTL, 0, ~UPLL_CTLREQ_MASK); 7750 WREG32_SMC_P(CG_VCEPLL_FUNC_CNTL, 0, ~UPLL_CTLREQ_MASK);
7751 7751
7752 if (i == 100) { 7752 if (i == 100) {
7753 DRM_ERROR("Timeout setting UVD clocks!\n"); 7753 DRM_ERROR("Timeout setting UVD clocks!\n");
7754 return -ETIMEDOUT; 7754 return -ETIMEDOUT;
7755 } 7755 }
7756 7756
7757 return 0; 7757 return 0;
7758} 7758}
7759 7759
7760int si_set_vce_clocks(struct radeon_device *rdev, u32 evclk, u32 ecclk) 7760int si_set_vce_clocks(struct radeon_device *rdev, u32 evclk, u32 ecclk)
diff --git a/drivers/gpu/drm/radeon/si_dpm.c b/drivers/gpu/drm/radeon/si_dpm.c
index a82b891ae1fe..cb75ab72098a 100644
--- a/drivers/gpu/drm/radeon/si_dpm.c
+++ b/drivers/gpu/drm/radeon/si_dpm.c
@@ -499,7 +499,7 @@ static const struct si_cac_config_reg lcac_pitcairn[] =
499 499
500static const struct si_cac_config_reg cac_override_pitcairn[] = 500static const struct si_cac_config_reg cac_override_pitcairn[] =
501{ 501{
502 { 0xFFFFFFFF } 502 { 0xFFFFFFFF }
503}; 503};
504 504
505static const struct si_powertune_data powertune_data_pitcairn = 505static const struct si_powertune_data powertune_data_pitcairn =
@@ -991,7 +991,7 @@ static const struct si_cac_config_reg lcac_cape_verde[] =
991 991
992static const struct si_cac_config_reg cac_override_cape_verde[] = 992static const struct si_cac_config_reg cac_override_cape_verde[] =
993{ 993{
994 { 0xFFFFFFFF } 994 { 0xFFFFFFFF }
995}; 995};
996 996
997static const struct si_powertune_data powertune_data_cape_verde = 997static const struct si_powertune_data powertune_data_cape_verde =
@@ -1762,9 +1762,9 @@ static void si_fan_ctrl_set_default_mode(struct radeon_device *rdev);
1762 1762
1763static struct si_power_info *si_get_pi(struct radeon_device *rdev) 1763static struct si_power_info *si_get_pi(struct radeon_device *rdev)
1764{ 1764{
1765 struct si_power_info *pi = rdev->pm.dpm.priv; 1765 struct si_power_info *pi = rdev->pm.dpm.priv;
1766 1766
1767 return pi; 1767 return pi;
1768} 1768}
1769 1769
1770static void si_calculate_leakage_for_v_and_t_formula(const struct ni_leakage_coeffients *coeff, 1770static void si_calculate_leakage_for_v_and_t_formula(const struct ni_leakage_coeffients *coeff,
@@ -3150,9 +3150,9 @@ static void si_apply_state_adjust_rules(struct radeon_device *rdev,
3150 } 3150 }
3151 } 3151 }
3152 3152
3153 for (i = 0; i < ps->performance_level_count; i++) 3153 for (i = 0; i < ps->performance_level_count; i++)
3154 btc_adjust_clock_combinations(rdev, max_limits, 3154 btc_adjust_clock_combinations(rdev, max_limits,
3155 &ps->performance_levels[i]); 3155 &ps->performance_levels[i]);
3156 3156
3157 for (i = 0; i < ps->performance_level_count; i++) { 3157 for (i = 0; i < ps->performance_level_count; i++) {
3158 if (ps->performance_levels[i].vddc < min_vce_voltage) 3158 if (ps->performance_levels[i].vddc < min_vce_voltage)
@@ -3291,7 +3291,7 @@ static void si_set_dpm_event_sources(struct radeon_device *rdev, u32 sources)
3291 case 0: 3291 case 0:
3292 default: 3292 default:
3293 want_thermal_protection = false; 3293 want_thermal_protection = false;
3294 break; 3294 break;
3295 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL): 3295 case (1 << RADEON_DPM_AUTO_THROTTLE_SRC_THERMAL):
3296 want_thermal_protection = true; 3296 want_thermal_protection = true;
3297 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGITAL; 3297 dpm_event_src = RADEON_DPM_EVENT_SRC_DIGITAL;
@@ -3493,7 +3493,7 @@ static int si_process_firmware_header(struct radeon_device *rdev)
3493 if (ret) 3493 if (ret)
3494 return ret; 3494 return ret;
3495 3495
3496 si_pi->state_table_start = tmp; 3496 si_pi->state_table_start = tmp;
3497 3497
3498 ret = si_read_smc_sram_dword(rdev, 3498 ret = si_read_smc_sram_dword(rdev,
3499 SISLANDS_SMC_FIRMWARE_HEADER_LOCATION + 3499 SISLANDS_SMC_FIRMWARE_HEADER_LOCATION +
@@ -3652,7 +3652,7 @@ static void si_program_response_times(struct radeon_device *rdev)
3652 si_write_smc_soft_register(rdev, SI_SMC_SOFT_REGISTER_mvdd_chg_time, 1); 3652 si_write_smc_soft_register(rdev, SI_SMC_SOFT_REGISTER_mvdd_chg_time, 1);
3653 3653
3654 voltage_response_time = (u32)rdev->pm.dpm.voltage_response_time; 3654 voltage_response_time = (u32)rdev->pm.dpm.voltage_response_time;
3655 backbias_response_time = (u32)rdev->pm.dpm.backbias_response_time; 3655 backbias_response_time = (u32)rdev->pm.dpm.backbias_response_time;
3656 3656
3657 if (voltage_response_time == 0) 3657 if (voltage_response_time == 0)
3658 voltage_response_time = 1000; 3658 voltage_response_time = 1000;
@@ -3760,7 +3760,7 @@ static void si_setup_bsp(struct radeon_device *rdev)
3760 &pi->pbsu); 3760 &pi->pbsu);
3761 3761
3762 3762
3763 pi->dsp = BSP(pi->bsp) | BSU(pi->bsu); 3763 pi->dsp = BSP(pi->bsp) | BSU(pi->bsu);
3764 pi->psp = BSP(pi->pbsp) | BSU(pi->pbsu); 3764 pi->psp = BSP(pi->pbsp) | BSU(pi->pbsu);
3765 3765
3766 WREG32(CG_BSP, pi->dsp); 3766 WREG32(CG_BSP, pi->dsp);
@@ -4308,7 +4308,7 @@ static int si_populate_memory_timing_parameters(struct radeon_device *rdev,
4308 4308
4309 radeon_atom_set_engine_dram_timings(rdev, 4309 radeon_atom_set_engine_dram_timings(rdev,
4310 pl->sclk, 4310 pl->sclk,
4311 pl->mclk); 4311 pl->mclk);
4312 4312
4313 dram_timing = RREG32(MC_ARB_DRAM_TIMING); 4313 dram_timing = RREG32(MC_ARB_DRAM_TIMING);
4314 dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2); 4314 dram_timing2 = RREG32(MC_ARB_DRAM_TIMING2);
@@ -4343,7 +4343,7 @@ static int si_do_program_memory_timing_parameters(struct radeon_device *rdev,
4343 si_pi->sram_end); 4343 si_pi->sram_end);
4344 if (ret) 4344 if (ret)
4345 break; 4345 break;
4346 } 4346 }
4347 4347
4348 return ret; 4348 return ret;
4349} 4349}
@@ -4821,9 +4821,9 @@ static int si_calculate_sclk_params(struct radeon_device *rdev,
4821 spll_func_cntl_2 &= ~SCLK_MUX_SEL_MASK; 4821 spll_func_cntl_2 &= ~SCLK_MUX_SEL_MASK;
4822 spll_func_cntl_2 |= SCLK_MUX_SEL(2); 4822 spll_func_cntl_2 |= SCLK_MUX_SEL(2);
4823 4823
4824 spll_func_cntl_3 &= ~SPLL_FB_DIV_MASK; 4824 spll_func_cntl_3 &= ~SPLL_FB_DIV_MASK;
4825 spll_func_cntl_3 |= SPLL_FB_DIV(fbdiv); 4825 spll_func_cntl_3 |= SPLL_FB_DIV(fbdiv);
4826 spll_func_cntl_3 |= SPLL_DITHEN; 4826 spll_func_cntl_3 |= SPLL_DITHEN;
4827 4827
4828 if (pi->sclk_ss) { 4828 if (pi->sclk_ss) {
4829 struct radeon_atom_ss ss; 4829 struct radeon_atom_ss ss;
@@ -4930,15 +4930,15 @@ static int si_populate_mclk_value(struct radeon_device *rdev,
4930 tmp = freq_nom / reference_clock; 4930 tmp = freq_nom / reference_clock;
4931 tmp = tmp * tmp; 4931 tmp = tmp * tmp;
4932 if (radeon_atombios_get_asic_ss_info(rdev, &ss, 4932 if (radeon_atombios_get_asic_ss_info(rdev, &ss,
4933 ASIC_INTERNAL_MEMORY_SS, freq_nom)) { 4933 ASIC_INTERNAL_MEMORY_SS, freq_nom)) {
4934 u32 clks = reference_clock * 5 / ss.rate; 4934 u32 clks = reference_clock * 5 / ss.rate;
4935 u32 clkv = (u32)((((131 * ss.percentage * ss.rate) / 100) * tmp) / freq_nom); 4935 u32 clkv = (u32)((((131 * ss.percentage * ss.rate) / 100) * tmp) / freq_nom);
4936 4936
4937 mpll_ss1 &= ~CLKV_MASK; 4937 mpll_ss1 &= ~CLKV_MASK;
4938 mpll_ss1 |= CLKV(clkv); 4938 mpll_ss1 |= CLKV(clkv);
4939 4939
4940 mpll_ss2 &= ~CLKS_MASK; 4940 mpll_ss2 &= ~CLKS_MASK;
4941 mpll_ss2 |= CLKS(clks); 4941 mpll_ss2 |= CLKS(clks);
4942 } 4942 }
4943 } 4943 }
4944 4944
@@ -5265,7 +5265,7 @@ static int si_convert_power_state_to_smc(struct radeon_device *rdev,
5265 ni_pi->enable_power_containment = false; 5265 ni_pi->enable_power_containment = false;
5266 5266
5267 ret = si_populate_sq_ramping_values(rdev, radeon_state, smc_state); 5267 ret = si_populate_sq_ramping_values(rdev, radeon_state, smc_state);
5268 if (ret) 5268 if (ret)
5269 ni_pi->enable_sq_ramping = false; 5269 ni_pi->enable_sq_ramping = false;
5270 5270
5271 return si_populate_smc_t(rdev, radeon_state, smc_state); 5271 return si_populate_smc_t(rdev, radeon_state, smc_state);
@@ -5436,46 +5436,46 @@ static bool si_check_s0_mc_reg_index(u16 in_reg, u16 *out_reg)
5436 case MC_SEQ_RAS_TIMING >> 2: 5436 case MC_SEQ_RAS_TIMING >> 2:
5437 *out_reg = MC_SEQ_RAS_TIMING_LP >> 2; 5437 *out_reg = MC_SEQ_RAS_TIMING_LP >> 2;
5438 break; 5438 break;
5439 case MC_SEQ_CAS_TIMING >> 2: 5439 case MC_SEQ_CAS_TIMING >> 2:
5440 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2; 5440 *out_reg = MC_SEQ_CAS_TIMING_LP >> 2;
5441 break; 5441 break;
5442 case MC_SEQ_MISC_TIMING >> 2: 5442 case MC_SEQ_MISC_TIMING >> 2:
5443 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2; 5443 *out_reg = MC_SEQ_MISC_TIMING_LP >> 2;
5444 break; 5444 break;
5445 case MC_SEQ_MISC_TIMING2 >> 2: 5445 case MC_SEQ_MISC_TIMING2 >> 2:
5446 *out_reg = MC_SEQ_MISC_TIMING2_LP >> 2; 5446 *out_reg = MC_SEQ_MISC_TIMING2_LP >> 2;
5447 break; 5447 break;
5448 case MC_SEQ_RD_CTL_D0 >> 2: 5448 case MC_SEQ_RD_CTL_D0 >> 2:
5449 *out_reg = MC_SEQ_RD_CTL_D0_LP >> 2; 5449 *out_reg = MC_SEQ_RD_CTL_D0_LP >> 2;
5450 break; 5450 break;
5451 case MC_SEQ_RD_CTL_D1 >> 2: 5451 case MC_SEQ_RD_CTL_D1 >> 2:
5452 *out_reg = MC_SEQ_RD_CTL_D1_LP >> 2; 5452 *out_reg = MC_SEQ_RD_CTL_D1_LP >> 2;
5453 break; 5453 break;
5454 case MC_SEQ_WR_CTL_D0 >> 2: 5454 case MC_SEQ_WR_CTL_D0 >> 2:
5455 *out_reg = MC_SEQ_WR_CTL_D0_LP >> 2; 5455 *out_reg = MC_SEQ_WR_CTL_D0_LP >> 2;
5456 break; 5456 break;
5457 case MC_SEQ_WR_CTL_D1 >> 2: 5457 case MC_SEQ_WR_CTL_D1 >> 2:
5458 *out_reg = MC_SEQ_WR_CTL_D1_LP >> 2; 5458 *out_reg = MC_SEQ_WR_CTL_D1_LP >> 2;
5459 break; 5459 break;
5460 case MC_PMG_CMD_EMRS >> 2: 5460 case MC_PMG_CMD_EMRS >> 2:
5461 *out_reg = MC_SEQ_PMG_CMD_EMRS_LP >> 2; 5461 *out_reg = MC_SEQ_PMG_CMD_EMRS_LP >> 2;
5462 break; 5462 break;
5463 case MC_PMG_CMD_MRS >> 2: 5463 case MC_PMG_CMD_MRS >> 2:
5464 *out_reg = MC_SEQ_PMG_CMD_MRS_LP >> 2; 5464 *out_reg = MC_SEQ_PMG_CMD_MRS_LP >> 2;
5465 break; 5465 break;
5466 case MC_PMG_CMD_MRS1 >> 2: 5466 case MC_PMG_CMD_MRS1 >> 2:
5467 *out_reg = MC_SEQ_PMG_CMD_MRS1_LP >> 2; 5467 *out_reg = MC_SEQ_PMG_CMD_MRS1_LP >> 2;
5468 break; 5468 break;
5469 case MC_SEQ_PMG_TIMING >> 2: 5469 case MC_SEQ_PMG_TIMING >> 2:
5470 *out_reg = MC_SEQ_PMG_TIMING_LP >> 2; 5470 *out_reg = MC_SEQ_PMG_TIMING_LP >> 2;
5471 break; 5471 break;
5472 case MC_PMG_CMD_MRS2 >> 2: 5472 case MC_PMG_CMD_MRS2 >> 2:
5473 *out_reg = MC_SEQ_PMG_CMD_MRS2_LP >> 2; 5473 *out_reg = MC_SEQ_PMG_CMD_MRS2_LP >> 2;
5474 break; 5474 break;
5475 case MC_SEQ_WR_CTL_2 >> 2: 5475 case MC_SEQ_WR_CTL_2 >> 2:
5476 *out_reg = MC_SEQ_WR_CTL_2_LP >> 2; 5476 *out_reg = MC_SEQ_WR_CTL_2_LP >> 2;
5477 break; 5477 break;
5478 default: 5478 default:
5479 result = false; 5479 result = false;
5480 break; 5480 break;
5481 } 5481 }
@@ -5562,19 +5562,19 @@ static int si_initialize_mc_reg_table(struct radeon_device *rdev)
5562 WREG32(MC_SEQ_PMG_CMD_MRS2_LP, RREG32(MC_PMG_CMD_MRS2)); 5562 WREG32(MC_SEQ_PMG_CMD_MRS2_LP, RREG32(MC_PMG_CMD_MRS2));
5563 WREG32(MC_SEQ_WR_CTL_2_LP, RREG32(MC_SEQ_WR_CTL_2)); 5563 WREG32(MC_SEQ_WR_CTL_2_LP, RREG32(MC_SEQ_WR_CTL_2));
5564 5564
5565 ret = radeon_atom_init_mc_reg_table(rdev, module_index, table); 5565 ret = radeon_atom_init_mc_reg_table(rdev, module_index, table);
5566 if (ret) 5566 if (ret)
5567 goto init_mc_done; 5567 goto init_mc_done;
5568 5568
5569 ret = si_copy_vbios_mc_reg_table(table, si_table); 5569 ret = si_copy_vbios_mc_reg_table(table, si_table);
5570 if (ret) 5570 if (ret)
5571 goto init_mc_done; 5571 goto init_mc_done;
5572 5572
5573 si_set_s0_mc_reg_index(si_table); 5573 si_set_s0_mc_reg_index(si_table);
5574 5574
5575 ret = si_set_mc_special_registers(rdev, si_table); 5575 ret = si_set_mc_special_registers(rdev, si_table);
5576 if (ret) 5576 if (ret)
5577 goto init_mc_done; 5577 goto init_mc_done;
5578 5578
5579 si_set_valid_flag(si_table); 5579 si_set_valid_flag(si_table);
5580 5580
@@ -5715,10 +5715,10 @@ static int si_upload_mc_reg_table(struct radeon_device *rdev,
5715 5715
5716static void si_enable_voltage_control(struct radeon_device *rdev, bool enable) 5716static void si_enable_voltage_control(struct radeon_device *rdev, bool enable)
5717{ 5717{
5718 if (enable) 5718 if (enable)
5719 WREG32_P(GENERAL_PWRMGT, VOLT_PWRMGT_EN, ~VOLT_PWRMGT_EN); 5719 WREG32_P(GENERAL_PWRMGT, VOLT_PWRMGT_EN, ~VOLT_PWRMGT_EN);
5720 else 5720 else
5721 WREG32_P(GENERAL_PWRMGT, 0, ~VOLT_PWRMGT_EN); 5721 WREG32_P(GENERAL_PWRMGT, 0, ~VOLT_PWRMGT_EN);
5722} 5722}
5723 5723
5724static enum radeon_pcie_gen si_get_maximum_link_speed(struct radeon_device *rdev, 5724static enum radeon_pcie_gen si_get_maximum_link_speed(struct radeon_device *rdev,
@@ -6820,7 +6820,7 @@ static int si_parse_power_table(struct radeon_device *rdev)
6820 struct _NonClockInfoArray *non_clock_info_array; 6820 struct _NonClockInfoArray *non_clock_info_array;
6821 union power_info *power_info; 6821 union power_info *power_info;
6822 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 6822 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
6823 u16 data_offset; 6823 u16 data_offset;
6824 u8 frev, crev; 6824 u8 frev, crev;
6825 u8 *power_state_offset; 6825 u8 *power_state_offset;
6826 struct ni_ps *ps; 6826 struct ni_ps *ps;
diff --git a/drivers/gpu/drm/radeon/sumo_dpm.c b/drivers/gpu/drm/radeon/sumo_dpm.c
index cd0862809adf..f0d5c1724f55 100644
--- a/drivers/gpu/drm/radeon/sumo_dpm.c
+++ b/drivers/gpu/drm/radeon/sumo_dpm.c
@@ -787,8 +787,8 @@ static void sumo_program_acpi_power_level(struct radeon_device *rdev)
787 struct atom_clock_dividers dividers; 787 struct atom_clock_dividers dividers;
788 int ret; 788 int ret;
789 789
790 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, 790 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
791 pi->acpi_pl.sclk, 791 pi->acpi_pl.sclk,
792 false, &dividers); 792 false, &dividers);
793 if (ret) 793 if (ret)
794 return; 794 return;
@@ -1462,7 +1462,7 @@ static int sumo_parse_power_table(struct radeon_device *rdev)
1462 struct _NonClockInfoArray *non_clock_info_array; 1462 struct _NonClockInfoArray *non_clock_info_array;
1463 union power_info *power_info; 1463 union power_info *power_info;
1464 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 1464 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
1465 u16 data_offset; 1465 u16 data_offset;
1466 u8 frev, crev; 1466 u8 frev, crev;
1467 u8 *power_state_offset; 1467 u8 *power_state_offset;
1468 struct sumo_ps *ps; 1468 struct sumo_ps *ps;
diff --git a/drivers/gpu/drm/radeon/trinity_dpm.c b/drivers/gpu/drm/radeon/trinity_dpm.c
index d34bfcdab9be..6730367ac228 100644
--- a/drivers/gpu/drm/radeon/trinity_dpm.c
+++ b/drivers/gpu/drm/radeon/trinity_dpm.c
@@ -369,8 +369,8 @@ static void trinity_gfx_powergating_initialize(struct radeon_device *rdev)
369 int ret; 369 int ret;
370 u32 hw_rev = (RREG32(HW_REV) & ATI_REV_ID_MASK) >> ATI_REV_ID_SHIFT; 370 u32 hw_rev = (RREG32(HW_REV) & ATI_REV_ID_MASK) >> ATI_REV_ID_SHIFT;
371 371
372 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, 372 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
373 25000, false, &dividers); 373 25000, false, &dividers);
374 if (ret) 374 if (ret)
375 return; 375 return;
376 376
@@ -587,8 +587,8 @@ static void trinity_set_divider_value(struct radeon_device *rdev,
587 u32 value; 587 u32 value;
588 u32 ix = index * TRINITY_SIZEOF_DPM_STATE_TABLE; 588 u32 ix = index * TRINITY_SIZEOF_DPM_STATE_TABLE;
589 589
590 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, 590 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
591 sclk, false, &dividers); 591 sclk, false, &dividers);
592 if (ret) 592 if (ret)
593 return; 593 return;
594 594
@@ -597,8 +597,8 @@ static void trinity_set_divider_value(struct radeon_device *rdev,
597 value |= CLK_DIVIDER(dividers.post_div); 597 value |= CLK_DIVIDER(dividers.post_div);
598 WREG32_SMC(SMU_SCLK_DPM_STATE_0_CNTL_0 + ix, value); 598 WREG32_SMC(SMU_SCLK_DPM_STATE_0_CNTL_0 + ix, value);
599 599
600 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM, 600 ret = radeon_atom_get_clock_dividers(rdev, COMPUTE_ENGINE_PLL_PARAM,
601 sclk/2, false, &dividers); 601 sclk/2, false, &dividers);
602 if (ret) 602 if (ret)
603 return; 603 return;
604 604
@@ -1045,14 +1045,14 @@ static int trinity_set_thermal_temperature_range(struct radeon_device *rdev,
1045 int low_temp = 0 * 1000; 1045 int low_temp = 0 * 1000;
1046 int high_temp = 255 * 1000; 1046 int high_temp = 255 * 1000;
1047 1047
1048 if (low_temp < min_temp) 1048 if (low_temp < min_temp)
1049 low_temp = min_temp; 1049 low_temp = min_temp;
1050 if (high_temp > max_temp) 1050 if (high_temp > max_temp)
1051 high_temp = max_temp; 1051 high_temp = max_temp;
1052 if (high_temp < low_temp) { 1052 if (high_temp < low_temp) {
1053 DRM_ERROR("invalid thermal range: %d - %d\n", low_temp, high_temp); 1053 DRM_ERROR("invalid thermal range: %d - %d\n", low_temp, high_temp);
1054 return -EINVAL; 1054 return -EINVAL;
1055 } 1055 }
1056 1056
1057 WREG32_P(CG_THERMAL_INT_CTRL, DIG_THERM_INTH(49 + (high_temp / 1000)), ~DIG_THERM_INTH_MASK); 1057 WREG32_P(CG_THERMAL_INT_CTRL, DIG_THERM_INTH(49 + (high_temp / 1000)), ~DIG_THERM_INTH_MASK);
1058 WREG32_P(CG_THERMAL_INT_CTRL, DIG_THERM_INTL(49 + (low_temp / 1000)), ~DIG_THERM_INTL_MASK); 1058 WREG32_P(CG_THERMAL_INT_CTRL, DIG_THERM_INTL(49 + (low_temp / 1000)), ~DIG_THERM_INTL_MASK);
@@ -1737,7 +1737,7 @@ static int trinity_parse_power_table(struct radeon_device *rdev)
1737 struct _NonClockInfoArray *non_clock_info_array; 1737 struct _NonClockInfoArray *non_clock_info_array;
1738 union power_info *power_info; 1738 union power_info *power_info;
1739 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo); 1739 int index = GetIndexIntoMasterTable(DATA, PowerPlayInfo);
1740 u16 data_offset; 1740 u16 data_offset;
1741 u8 frev, crev; 1741 u8 frev, crev;
1742 u8 *power_state_offset; 1742 u8 *power_state_offset;
1743 struct sumo_ps *ps; 1743 struct sumo_ps *ps;
diff --git a/drivers/gpu/drm/radeon/vce_v2_0.c b/drivers/gpu/drm/radeon/vce_v2_0.c
index cdeaab7c7b1e..fce214482e72 100644
--- a/drivers/gpu/drm/radeon/vce_v2_0.c
+++ b/drivers/gpu/drm/radeon/vce_v2_0.c
@@ -53,7 +53,7 @@ static void vce_v2_0_set_sw_cg(struct radeon_device *rdev, bool gated)
53 WREG32(VCE_UENC_REG_CLOCK_GATING, tmp); 53 WREG32(VCE_UENC_REG_CLOCK_GATING, tmp);
54 54
55 WREG32(VCE_CGTT_CLK_OVERRIDE, 0); 55 WREG32(VCE_CGTT_CLK_OVERRIDE, 0);
56 } else { 56 } else {
57 tmp = RREG32(VCE_CLOCK_GATING_B); 57 tmp = RREG32(VCE_CLOCK_GATING_B);
58 tmp |= 0xe7; 58 tmp |= 0xe7;
59 tmp &= ~0xe70000; 59 tmp &= ~0xe70000;