diff options
-rw-r--r-- | drivers/gpu/drm/radeon/rv770_dpm.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/rv770_dpm.c b/drivers/gpu/drm/radeon/rv770_dpm.c index 44c1e782a696..8cbb85dae5aa 100644 --- a/drivers/gpu/drm/radeon/rv770_dpm.c +++ b/drivers/gpu/drm/radeon/rv770_dpm.c | |||
@@ -2294,6 +2294,7 @@ int rv7xx_parse_power_table(struct radeon_device *rdev) | |||
2294 | (power_state->v1.ucNonClockStateIndex * | 2294 | (power_state->v1.ucNonClockStateIndex * |
2295 | power_info->pplib.ucNonClockSize)); | 2295 | power_info->pplib.ucNonClockSize)); |
2296 | if (power_info->pplib.ucStateEntrySize - 1) { | 2296 | if (power_info->pplib.ucStateEntrySize - 1) { |
2297 | u8 *idx; | ||
2297 | ps = kzalloc(sizeof(struct rv7xx_ps), GFP_KERNEL); | 2298 | ps = kzalloc(sizeof(struct rv7xx_ps), GFP_KERNEL); |
2298 | if (ps == NULL) { | 2299 | if (ps == NULL) { |
2299 | kfree(rdev->pm.dpm.ps); | 2300 | kfree(rdev->pm.dpm.ps); |
@@ -2303,12 +2304,12 @@ int rv7xx_parse_power_table(struct radeon_device *rdev) | |||
2303 | rv7xx_parse_pplib_non_clock_info(rdev, &rdev->pm.dpm.ps[i], | 2304 | rv7xx_parse_pplib_non_clock_info(rdev, &rdev->pm.dpm.ps[i], |
2304 | non_clock_info, | 2305 | non_clock_info, |
2305 | power_info->pplib.ucNonClockSize); | 2306 | power_info->pplib.ucNonClockSize); |
2307 | idx = (u8 *)&power_state->v1.ucClockStateIndices[0]; | ||
2306 | for (j = 0; j < (power_info->pplib.ucStateEntrySize - 1); j++) { | 2308 | for (j = 0; j < (power_info->pplib.ucStateEntrySize - 1); j++) { |
2307 | clock_info = (union pplib_clock_info *) | 2309 | clock_info = (union pplib_clock_info *) |
2308 | (mode_info->atom_context->bios + data_offset + | 2310 | (mode_info->atom_context->bios + data_offset + |
2309 | le16_to_cpu(power_info->pplib.usClockInfoArrayOffset) + | 2311 | le16_to_cpu(power_info->pplib.usClockInfoArrayOffset) + |
2310 | (power_state->v1.ucClockStateIndices[j] * | 2312 | (idx[j] * power_info->pplib.ucClockInfoSize)); |
2311 | power_info->pplib.ucClockInfoSize)); | ||
2312 | rv7xx_parse_pplib_clock_info(rdev, | 2313 | rv7xx_parse_pplib_clock_info(rdev, |
2313 | &rdev->pm.dpm.ps[i], j, | 2314 | &rdev->pm.dpm.ps[i], j, |
2314 | clock_info); | 2315 | clock_info); |