diff options
-rw-r--r-- | drivers/gpu/drm/radeon/cypress_dpm.c | 22 | ||||
-rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 7 |
2 files changed, 20 insertions, 9 deletions
diff --git a/drivers/gpu/drm/radeon/cypress_dpm.c b/drivers/gpu/drm/radeon/cypress_dpm.c index c7cb19e8fdbe..1c6c3a3c5c32 100644 --- a/drivers/gpu/drm/radeon/cypress_dpm.c +++ b/drivers/gpu/drm/radeon/cypress_dpm.c @@ -344,7 +344,7 @@ void cypress_advertise_gen2_capability(struct radeon_device *rdev) } -static u32 cypress_get_maximum_link_speed(struct radeon_ps *radeon_state) +static enum radeon_pcie_gen cypress_get_maximum_link_speed(struct radeon_ps *radeon_state) { struct rv7xx_ps *state = rv770_get_ps(radeon_state); @@ -357,14 +357,16 @@ void cypress_notify_link_speed_change_after_state_change(struct radeon_device *r struct radeon_ps *radeon_new_state, struct radeon_ps *radeon_current_state) { - u32 pcie_link_speed_target = cypress_get_maximum_link_speed(radeon_new_state); - u32 pcie_link_speed_current = cypress_get_maximum_link_speed(radeon_current_state); + enum radeon_pcie_gen pcie_link_speed_target = + cypress_get_maximum_link_speed(radeon_new_state); + enum radeon_pcie_gen pcie_link_speed_current = + cypress_get_maximum_link_speed(radeon_current_state); u8 request; if (pcie_link_speed_target < pcie_link_speed_current) { - if (pcie_link_speed_target == 0) + if (pcie_link_speed_target == RADEON_PCIE_GEN1) request = PCIE_PERF_REQ_PECI_GEN1; - else if (pcie_link_speed_target == 1) + else if (pcie_link_speed_target == RADEON_PCIE_GEN2) request = PCIE_PERF_REQ_PECI_GEN2; else request = PCIE_PERF_REQ_PECI_GEN3; @@ -377,14 +379,16 @@ void cypress_notify_link_speed_change_before_state_change(struct radeon_device * struct radeon_ps *radeon_new_state, struct radeon_ps *radeon_current_state) { - u32 pcie_link_speed_target = cypress_get_maximum_link_speed(radeon_new_state); - u32 pcie_link_speed_current = cypress_get_maximum_link_speed(radeon_current_state); + enum radeon_pcie_gen pcie_link_speed_target = + cypress_get_maximum_link_speed(radeon_new_state); + enum radeon_pcie_gen pcie_link_speed_current = + cypress_get_maximum_link_speed(radeon_current_state); u8 request; if (pcie_link_speed_target > pcie_link_speed_current) { - if (pcie_link_speed_target == 0) + if (pcie_link_speed_target == RADEON_PCIE_GEN1) request = PCIE_PERF_REQ_PECI_GEN1; - else if (pcie_link_speed_target == 1) + else if (pcie_link_speed_target == RADEON_PCIE_GEN2) request = PCIE_PERF_REQ_PECI_GEN2; else request = PCIE_PERF_REQ_PECI_GEN3; diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index 4ea447d52b62..fbf9e1359d19 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h @@ -1298,6 +1298,13 @@ struct radeon_dpm_fan { bool ucode_fan_control; }; +enum radeon_pcie_gen { + RADEON_PCIE_GEN1 = 0, + RADEON_PCIE_GEN2 = 1, + RADEON_PCIE_GEN3 = 2, + RADEON_PCIE_GEN_INVALID = 0xffff +}; + struct radeon_dpm { struct radeon_ps *ps; /* number of valid power states */ |