mirror of https://gitee.com/openkylin/linux.git
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>
This commit is contained in:
parent
2abba66e7a
commit
4bd9f516f6
|
@ -997,3 +997,26 @@ void r600_free_extended_power_table(struct radeon_device *rdev)
|
||||||
if (rdev->pm.dpm.dyn_state.ppm_table)
|
if (rdev->pm.dpm.dyn_state.ppm_table)
|
||||||
kfree(rdev->pm.dpm.dyn_state.ppm_table);
|
kfree(rdev->pm.dpm.dyn_state.ppm_table);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
enum radeon_pcie_gen r600_get_pcie_gen_support(struct radeon_device *rdev,
|
||||||
|
u32 sys_mask,
|
||||||
|
enum radeon_pcie_gen asic_gen,
|
||||||
|
enum radeon_pcie_gen default_gen)
|
||||||
|
{
|
||||||
|
switch (asic_gen) {
|
||||||
|
case RADEON_PCIE_GEN1:
|
||||||
|
return RADEON_PCIE_GEN1;
|
||||||
|
case RADEON_PCIE_GEN2:
|
||||||
|
return RADEON_PCIE_GEN2;
|
||||||
|
case RADEON_PCIE_GEN3:
|
||||||
|
return RADEON_PCIE_GEN3;
|
||||||
|
default:
|
||||||
|
if ((sys_mask & DRM_PCIE_SPEED_80) && (default_gen == RADEON_PCIE_GEN3))
|
||||||
|
return RADEON_PCIE_GEN3;
|
||||||
|
else if ((sys_mask & DRM_PCIE_SPEED_50) && (default_gen == RADEON_PCIE_GEN2))
|
||||||
|
return RADEON_PCIE_GEN2;
|
||||||
|
else
|
||||||
|
return RADEON_PCIE_GEN1;
|
||||||
|
}
|
||||||
|
return RADEON_PCIE_GEN1;
|
||||||
|
}
|
||||||
|
|
|
@ -218,4 +218,9 @@ bool r600_is_internal_thermal_sensor(enum radeon_int_thermal_type sensor);
|
||||||
int r600_parse_extended_power_table(struct radeon_device *rdev);
|
int r600_parse_extended_power_table(struct radeon_device *rdev);
|
||||||
void r600_free_extended_power_table(struct radeon_device *rdev);
|
void r600_free_extended_power_table(struct radeon_device *rdev);
|
||||||
|
|
||||||
|
enum radeon_pcie_gen r600_get_pcie_gen_support(struct radeon_device *rdev,
|
||||||
|
u32 sys_mask,
|
||||||
|
enum radeon_pcie_gen asic_gen,
|
||||||
|
enum radeon_pcie_gen default_gen);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
Loading…
Reference in New Issue