diff options
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/gpu/drm/radeon/r600_dpm.c | 23 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/r600_dpm.h | 5 |
2 files changed, 28 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r600_dpm.c b/drivers/gpu/drm/radeon/r600_dpm.c index 2e5ec65a78f7..28177da694f2 100644 --- a/drivers/gpu/drm/radeon/r600_dpm.c +++ b/drivers/gpu/drm/radeon/r600_dpm.c | |||
@@ -997,3 +997,26 @@ void r600_free_extended_power_table(struct radeon_device *rdev) | |||
997 | if (rdev->pm.dpm.dyn_state.ppm_table) | 997 | if (rdev->pm.dpm.dyn_state.ppm_table) |
998 | kfree(rdev->pm.dpm.dyn_state.ppm_table); | 998 | kfree(rdev->pm.dpm.dyn_state.ppm_table); |
999 | } | 999 | } |
1000 | |||
1001 | enum radeon_pcie_gen r600_get_pcie_gen_support(struct radeon_device *rdev, | ||
1002 | u32 sys_mask, | ||
1003 | enum radeon_pcie_gen asic_gen, | ||
1004 | enum radeon_pcie_gen default_gen) | ||
1005 | { | ||
1006 | switch (asic_gen) { | ||
1007 | case RADEON_PCIE_GEN1: | ||
1008 | return RADEON_PCIE_GEN1; | ||
1009 | case RADEON_PCIE_GEN2: | ||
1010 | return RADEON_PCIE_GEN2; | ||
1011 | case RADEON_PCIE_GEN3: | ||
1012 | return RADEON_PCIE_GEN3; | ||
1013 | default: | ||
1014 | if ((sys_mask & DRM_PCIE_SPEED_80) && (default_gen == RADEON_PCIE_GEN3)) | ||
1015 | return RADEON_PCIE_GEN3; | ||
1016 | else if ((sys_mask & DRM_PCIE_SPEED_50) && (default_gen == RADEON_PCIE_GEN2)) | ||
1017 | return RADEON_PCIE_GEN2; | ||
1018 | else | ||
1019 | return RADEON_PCIE_GEN1; | ||
1020 | } | ||
1021 | return RADEON_PCIE_GEN1; | ||
1022 | } | ||
diff --git a/drivers/gpu/drm/radeon/r600_dpm.h b/drivers/gpu/drm/radeon/r600_dpm.h index c6b9e30f20c2..a95ab214289b 100644 --- a/drivers/gpu/drm/radeon/r600_dpm.h +++ b/drivers/gpu/drm/radeon/r600_dpm.h | |||
@@ -218,4 +218,9 @@ bool r600_is_internal_thermal_sensor(enum radeon_int_thermal_type sensor); | |||
218 | int r600_parse_extended_power_table(struct radeon_device *rdev); | 218 | int r600_parse_extended_power_table(struct radeon_device *rdev); |
219 | void r600_free_extended_power_table(struct radeon_device *rdev); | 219 | void r600_free_extended_power_table(struct radeon_device *rdev); |
220 | 220 | ||
221 | enum radeon_pcie_gen r600_get_pcie_gen_support(struct radeon_device *rdev, | ||
222 | u32 sys_mask, | ||
223 | enum radeon_pcie_gen asic_gen, | ||
224 | enum radeon_pcie_gen default_gen); | ||
225 | |||
221 | #endif | 226 | #endif |