linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] drm/radeon: Prefer lower feedback dividers
@ 2020-08-25 17:33 Kai-Heng Feng
  2020-08-27 11:18 ` Christian König
  0 siblings, 1 reply; 3+ messages in thread
From: Kai-Heng Feng @ 2020-08-25 17:33 UTC (permalink / raw)
  To: alexander.deucher, christian.koenig
  Cc: Kai-Heng Feng, David Airlie, Daniel Vetter,
	open list:RADEON and AMDGPU DRM DRIVERS, open list:DRM DRIVERS,
	open list

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://bugs.launchpad.net/bugs/1791312
BugLink: https://bugs.launchpad.net/bugs/1861554
Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
---
 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 e0ae911ef427..7b69d6dfe44a 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) {
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/radeon: Prefer lower feedback dividers
  2020-08-25 17:33 [PATCH] drm/radeon: Prefer lower feedback dividers Kai-Heng Feng
@ 2020-08-27 11:18 ` Christian König
  2020-08-27 13:51   ` Alex Deucher
  0 siblings, 1 reply; 3+ messages in thread
From: Christian König @ 2020-08-27 11:18 UTC (permalink / raw)
  To: Kai-Heng Feng, alexander.deucher
  Cc: David Airlie, open list, open list:DRM DRIVERS,
	open list:RADEON and AMDGPU DRM DRIVERS, Daniel Vetter

Am 25.08.20 um 19:33 schrieb Kai-Heng Feng:
> 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.

Mhm, let's hope that this works out for all others as well :)

>
> Users confirmed this change fixes the regression and doesn't regress the
> original fix.
>
> Fixes: 2e26ccb119bd ("drm/radeon: prefer lower reference dividers")
> BugLink: https://bugs.launchpad.net/bugs/1791312
> BugLink: https://bugs.launchpad.net/bugs/1861554
> Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>

Reviewed-by: Christian König <christian.koenig@amd.com>

> ---
>   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 e0ae911ef427..7b69d6dfe44a 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) {


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] drm/radeon: Prefer lower feedback dividers
  2020-08-27 11:18 ` Christian König
@ 2020-08-27 13:51   ` Alex Deucher
  0 siblings, 0 replies; 3+ messages in thread
From: Alex Deucher @ 2020-08-27 13:51 UTC (permalink / raw)
  To: Christian König
  Cc: Kai-Heng Feng, Deucher, Alexander, David Airlie,
	open list:RADEON and AMDGPU DRM DRIVERS, open list,
	open list:DRM DRIVERS

Applied.  Thanks!

Alex

On Thu, Aug 27, 2020 at 7:18 AM Christian König
<christian.koenig@amd.com> wrote:
>
> Am 25.08.20 um 19:33 schrieb Kai-Heng Feng:
> > 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.
>
> Mhm, let's hope that this works out for all others as well :)
>
> >
> > Users confirmed this change fixes the regression and doesn't regress the
> > original fix.
> >
> > Fixes: 2e26ccb119bd ("drm/radeon: prefer lower reference dividers")
> > BugLink: https://bugs.launchpad.net/bugs/1791312
> > BugLink: https://bugs.launchpad.net/bugs/1861554
> > Signed-off-by: Kai-Heng Feng <kai.heng.feng@canonical.com>
>
> Reviewed-by: Christian König <christian.koenig@amd.com>
>
> > ---
> >   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 e0ae911ef427..7b69d6dfe44a 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) {
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-08-27 15:19 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-25 17:33 [PATCH] drm/radeon: Prefer lower feedback dividers Kai-Heng Feng
2020-08-27 11:18 ` Christian König
2020-08-27 13:51   ` Alex Deucher

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).