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

Revert "drm/radeon: drop btc_get_max_clock_from_voltage_dependency_table"

This reverts commit fc9dfeb1383287631ad5c5a676a2558b799db6e9.

There are still some stability problems on some SI boards so bring
this back.

+19
+17
drivers/gpu/drm/radeon/btc_dpm.c
··· 1170 1170 { 25000, 30000, RADEON_SCLK_UP } 1171 1171 }; 1172 1172 1173 + void btc_get_max_clock_from_voltage_dependency_table(struct radeon_clock_voltage_dependency_table *table, 1174 + u32 *max_clock) 1175 + { 1176 + u32 i, clock = 0; 1177 + 1178 + if ((table == NULL) || (table->count == 0)) { 1179 + *max_clock = clock; 1180 + return; 1181 + } 1182 + 1183 + for (i = 0; i < table->count; i++) { 1184 + if (clock < table->entries[i].clk) 1185 + clock = table->entries[i].clk; 1186 + } 1187 + *max_clock = clock; 1188 + } 1189 + 1173 1190 void btc_apply_voltage_dependency_rules(struct radeon_clock_voltage_dependency_table *table, 1174 1191 u32 clock, u16 max_voltage, u16 *voltage) 1175 1192 {
+2
drivers/gpu/drm/radeon/btc_dpm.h
··· 46 46 struct rv7xx_pl *pl); 47 47 void btc_apply_voltage_dependency_rules(struct radeon_clock_voltage_dependency_table *table, 48 48 u32 clock, u16 max_voltage, u16 *voltage); 49 + void btc_get_max_clock_from_voltage_dependency_table(struct radeon_clock_voltage_dependency_table *table, 50 + u32 *max_clock); 49 51 void btc_apply_voltage_delta_rules(struct radeon_device *rdev, 50 52 u16 max_vddc, u16 max_vddci, 51 53 u16 *vddc, u16 *vddci);