diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2013-03-25 18:28:29 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2013-06-27 19:16:40 -0400 |
commit | 4bd9f516f622b883b35cda8fb38b95f3a493fc17 (patch) | |
tree | 76fe8ddc8d59a9fc4b67afe9c128be7fd575d0ba /drivers/gpu/drm/radeon/r600_dpm.c | |
parent | 2abba66e7af70825734eaf9fdea37c97f9e7b6ff (diff) |
drm/radeon/dpm: add pcie gen helper function
Add a helper function to determine the preferred
pcie gen based on the card, system, and circumstance.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600_dpm.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r600_dpm.c | 23 |
1 files changed, 23 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 | } | ||