Comment # 30 on bug 108514 from
The following patch seems to work for me:
client@client-LIFEBOOK-AH531 ~/Téléchargements $ diff -u
old/linux-4.19.21/drivers/gpu/drm/radeon/radeon_display.c
linux-4.19.21/drivers/gpu/drm/radeon/radeon_display.c
--- old/linux-4.19.21/drivers/gpu/drm/radeon/radeon_display.c   2019-02-12
13:47:27.000000000 -0500
+++ linux-4.19.21/drivers/gpu/drm/radeon/radeon_display.c       2019-02-14
15:29:37.743229474 -0500
@@ -921,12 +921,14 @@
        ref_div_max = max(min(100 / post_div, ref_div_max), 1u);

        /* get matching reference and feedback divider */
-       *ref_div = min(max(DIV_ROUND_CLOSEST(den, post_div), 1u), ref_div_max);
+       // was: *ref_div = min(max(DIV_ROUND_CLOSEST(den, post_div), 1u),
ref_div_max);
+       *ref_div = min(max((den/post_div), 1u), ref_div_max);
        *fb_div = DIV_ROUND_CLOSEST(nom * *ref_div * post_div, den);

        /* limit fb divider to its maximum */
        if (*fb_div > fb_div_max) {
-               *ref_div = DIV_ROUND_CLOSEST(*ref_div * fb_div_max, *fb_div);
+               // was: *ref_div = DIV_ROUND_CLOSEST(*ref_div * fb_div_max,
*fb_div);
+               *ref_div = (*ref_div * fb_div_max) / (*fb_div);
                *fb_div = fb_div_max;
        }
 }
client@client-LIFEBOOK-AH531 ~/Téléchargements $


You are receiving this mail because: