hc
2024-01-03 2f7c68cb55ecb7331f2381deb497c27155f32faf
kernel/drivers/gpu/drm/radeon/ni_dpm.c
....@@ -2240,8 +2240,12 @@
22402240 ASIC_INTERNAL_MEMORY_SS, vco_freq)) {
22412241 u32 reference_clock = rdev->clock.mpll.reference_freq;
22422242 u32 decoded_ref = rv740_get_decoded_reference_divider(dividers.ref_div);
2243
- u32 clk_s = reference_clock * 5 / (decoded_ref * ss.rate);
2244
- u32 clk_v = ss.percentage *
2243
+ u32 clk_s, clk_v;
2244
+
2245
+ if (!decoded_ref)
2246
+ return -EINVAL;
2247
+ clk_s = reference_clock * 5 / (decoded_ref * ss.rate);
2248
+ clk_v = ss.percentage *
22452249 (0x4000 * dividers.whole_fb_div + 0x800 * dividers.frac_fb_div) / (clk_s * 625);
22462250
22472251 mpll_ss1 &= ~CLKV_MASK;