aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_atombios.c
diff options
context:
space:
mode:
authorAlex Deucher <alexander.deucher@amd.com>2013-08-19 19:06:19 -0400
committerAlex Deucher <alexander.deucher@amd.com>2013-08-30 16:31:02 -0400
commit9cb84ab0abd1f5af2482387f8ff585dcfa30b9e6 (patch)
tree82a7f2a6864365c937184a87fb9fea7575acb14d /drivers/gpu/drm/radeon/radeon_atombios.c
parentbc01a8c7a24169f8b111b7dda6f5d8e7088309af (diff)
drm/radeon: check firmware overrides for mclk/sclk ss
Check the overrides in the firmware info table before enabling spread spectrum on the engine or memory clocks. Some boards may have valid spread spectrum tables, but shouldn't necessarily have it enabled. Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_atombios.c')
-rw-r--r--drivers/gpu/drm/radeon/radeon_atombios.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_atombios.c b/drivers/gpu/drm/radeon/radeon_atombios.c
index 7ba439e9f30f..4ac5f4027620 100644
--- a/drivers/gpu/drm/radeon/radeon_atombios.c
+++ b/drivers/gpu/drm/radeon/radeon_atombios.c
@@ -1480,6 +1480,15 @@ bool radeon_atombios_get_asic_ss_info(struct radeon_device *rdev,
1480 uint8_t frev, crev; 1480 uint8_t frev, crev;
1481 int i, num_indices; 1481 int i, num_indices;
1482 1482
1483 if (id == ASIC_INTERNAL_MEMORY_SS) {
1484 if (!(rdev->mode_info.firmware_flags & ATOM_BIOS_INFO_MEMORY_CLOCK_SS_SUPPORT))
1485 return false;
1486 }
1487 if (id == ASIC_INTERNAL_ENGINE_SS) {
1488 if (!(rdev->mode_info.firmware_flags & ATOM_BIOS_INFO_ENGINE_CLOCK_SS_SUPPORT))
1489 return false;
1490 }
1491
1483 memset(ss, 0, sizeof(struct radeon_atom_ss)); 1492 memset(ss, 0, sizeof(struct radeon_atom_ss));
1484 if (atom_parse_data_header(mode_info->atom_context, index, &size, 1493 if (atom_parse_data_header(mode_info->atom_context, index, &size,
1485 &frev, &crev, &data_offset)) { 1494 &frev, &crev, &data_offset)) {