Re: [PATCH 5.8 101/186] drm/radeon: Prefer lower feedback dividers

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Greg,

please drop that patch. It turned out to break a lot of different setups and we are going to revert it now.

Thanks,
Christian.

Am 08.09.20 um 17:24 schrieb Greg Kroah-Hartman:
From: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>

[ Upstream commit fc8c70526bd30733ea8667adb8b8ffebea30a8ed ]

Commit 2e26ccb119bd ("drm/radeon: prefer lower reference dividers")
fixed screen flicker for HP Compaq nx9420 but breaks other laptops like
Asus X50SL.

Turns out we also need to favor lower feedback dividers.

Users confirmed this change fixes the regression and doesn't regress the
original fix.

Fixes: 2e26ccb119bd ("drm/radeon: prefer lower reference dividers")
BugLink: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.launchpad.net%2Fbugs%2F1791312&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7C9fcd8f691f97451da30608d8540e3896%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637351767352887370&amp;sdata=KKx0nGwITXVSg5Bg7XJHbVh0T30knZDioivKxO4%2F%2BB0%3D&amp;reserved=0
BugLink: https://nam11.safelinks.protection.outlook.com/?url=https%3A%2F%2Fbugs.launchpad.net%2Fbugs%2F1861554&amp;data=02%7C01%7Cchristian.koenig%40amd.com%7C9fcd8f691f97451da30608d8540e3896%7C3dd8961fe4884e608e11a82d994e183d%7C0%7C0%7C637351767352897339&amp;sdata=KWknTc75Zjw3clREsEfY6wtDcv%2F3gddeyHhrhlHN0nY%3D&amp;reserved=0
Reviewed-by: Christian König <christian.koenig@xxxxxxx>
Signed-off-by: Kai-Heng Feng <kai.heng.feng@xxxxxxxxxxxxx>
Signed-off-by: Alex Deucher <alexander.deucher@xxxxxxx>
Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>
---
  drivers/gpu/drm/radeon/radeon_display.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/radeon/radeon_display.c b/drivers/gpu/drm/radeon/radeon_display.c
index df1a7eb736517..840c4bf6307fd 100644
--- a/drivers/gpu/drm/radeon/radeon_display.c
+++ b/drivers/gpu/drm/radeon/radeon_display.c
@@ -933,7 +933,7 @@ static void avivo_get_fb_ref_div(unsigned nom, unsigned den, unsigned post_div,
/* get matching reference and feedback divider */
  	*ref_div = min(max(den/post_div, 1u), ref_div_max);
-	*fb_div = DIV_ROUND_CLOSEST(nom * *ref_div * post_div, den);
+	*fb_div = max(nom * *ref_div * post_div / den, 1u);
/* limit fb divider to its maximum */
  	if (*fb_div > fb_div_max) {




[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux