Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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>

+18
+14
drivers/gpu/drm/radeon/ci_dpm.c
··· 5922 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 5939 u32 ci_dpm_get_sclk(struct radeon_device *rdev, bool low) 5926 5940 { 5927 5941 struct ci_power_info *pi = ci_get_pi(rdev);
+2
drivers/gpu/drm/radeon/radeon_asic.c
··· 2137 2137 .fan_ctrl_get_mode = &ci_fan_ctrl_get_mode, 2138 2138 .get_fan_speed_percent = &ci_fan_ctrl_get_fan_speed_percent, 2139 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 2143 .pflip = { 2142 2144 .page_flip = &evergreen_page_flip,
+2
drivers/gpu/drm/radeon/radeon_asic.h
··· 874 874 enum radeon_dpm_forced_level level); 875 875 bool ci_dpm_vblank_too_short(struct radeon_device *rdev); 876 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 880 int ci_fan_ctrl_get_fan_speed_percent(struct radeon_device *rdev, 879 881 u32 *speed);