diff options
| author | Alex Deucher <alexander.deucher@amd.com> | 2014-09-30 10:54:05 -0400 |
|---|---|---|
| committer | Alex Deucher <alexander.deucher@amd.com> | 2015-03-19 12:26:34 -0400 |
| commit | dbbd3c81b042ea2e87b37a6945ed8a31aaaaafec (patch) | |
| tree | 99f16dbc3cd75987704e5e1fef58c9f9797afe57 | |
| parent | ca1110bc5b8d796a7266c0b6de6131e1cea0409a (diff) | |
drm/radeon/ci: implement get_current_sclk/mclk
Will be used for exposing current clocks via INFO ioctl.
Tested-by: Marek Olšák <marek.olsak@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
| -rw-r--r-- | drivers/gpu/drm/radeon/ci_dpm.c | 14 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.h | 2 |
3 files changed, 18 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/ci_dpm.c b/drivers/gpu/drm/radeon/ci_dpm.c index bcd2f1fe803f..8730562323a8 100644 --- a/drivers/gpu/drm/radeon/ci_dpm.c +++ b/drivers/gpu/drm/radeon/ci_dpm.c | |||
| @@ -5922,6 +5922,20 @@ void ci_dpm_print_power_state(struct radeon_device *rdev, | |||
| 5922 | r600_dpm_print_ps_status(rdev, rps); | 5922 | r600_dpm_print_ps_status(rdev, rps); |
| 5923 | } | 5923 | } |
| 5924 | 5924 | ||
| 5925 | u32 ci_dpm_get_current_sclk(struct radeon_device *rdev) | ||
| 5926 | { | ||
| 5927 | u32 sclk = ci_get_average_sclk_freq(rdev); | ||
| 5928 | |||
| 5929 | return sclk; | ||
| 5930 | } | ||
| 5931 | |||
| 5932 | u32 ci_dpm_get_current_mclk(struct radeon_device *rdev) | ||
| 5933 | { | ||
| 5934 | u32 mclk = ci_get_average_mclk_freq(rdev); | ||
| 5935 | |||
| 5936 | return mclk; | ||
| 5937 | } | ||
| 5938 | |||
| 5925 | u32 ci_dpm_get_sclk(struct radeon_device *rdev, bool low) | 5939 | u32 ci_dpm_get_sclk(struct radeon_device *rdev, bool low) |
| 5926 | { | 5940 | { |
| 5927 | struct ci_power_info *pi = ci_get_pi(rdev); | 5941 | struct ci_power_info *pi = ci_get_pi(rdev); |
diff --git a/drivers/gpu/drm/radeon/radeon_asic.c b/drivers/gpu/drm/radeon/radeon_asic.c index 7826493eb587..63bbd66344b0 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.c +++ b/drivers/gpu/drm/radeon/radeon_asic.c | |||
| @@ -2137,6 +2137,8 @@ static struct radeon_asic ci_asic = { | |||
| 2137 | .fan_ctrl_get_mode = &ci_fan_ctrl_get_mode, | 2137 | .fan_ctrl_get_mode = &ci_fan_ctrl_get_mode, |
| 2138 | .get_fan_speed_percent = &ci_fan_ctrl_get_fan_speed_percent, | 2138 | .get_fan_speed_percent = &ci_fan_ctrl_get_fan_speed_percent, |
| 2139 | .set_fan_speed_percent = &ci_fan_ctrl_set_fan_speed_percent, | 2139 | .set_fan_speed_percent = &ci_fan_ctrl_set_fan_speed_percent, |
| 2140 | .get_current_sclk = &ci_dpm_get_current_sclk, | ||
| 2141 | .get_current_mclk = &ci_dpm_get_current_mclk, | ||
| 2140 | }, | 2142 | }, |
| 2141 | .pflip = { | 2143 | .pflip = { |
| 2142 | .page_flip = &evergreen_page_flip, | 2144 | .page_flip = &evergreen_page_flip, |
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h index 23ba9d72005c..dd4f8bcb9633 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.h +++ b/drivers/gpu/drm/radeon/radeon_asic.h | |||
| @@ -874,6 +874,8 @@ int ci_dpm_force_performance_level(struct radeon_device *rdev, | |||
| 874 | enum radeon_dpm_forced_level level); | 874 | enum radeon_dpm_forced_level level); |
| 875 | bool ci_dpm_vblank_too_short(struct radeon_device *rdev); | 875 | bool ci_dpm_vblank_too_short(struct radeon_device *rdev); |
| 876 | void ci_dpm_powergate_uvd(struct radeon_device *rdev, bool gate); | 876 | void ci_dpm_powergate_uvd(struct radeon_device *rdev, bool gate); |
| 877 | u32 ci_dpm_get_current_sclk(struct radeon_device *rdev); | ||
| 878 | u32 ci_dpm_get_current_mclk(struct radeon_device *rdev); | ||
| 877 | 879 | ||
| 878 | int ci_fan_ctrl_get_fan_speed_percent(struct radeon_device *rdev, | 880 | int ci_fan_ctrl_get_fan_speed_percent(struct radeon_device *rdev, |
| 879 | u32 *speed); | 881 | u32 *speed); |
