]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - queue-4.14/drm-radeon-prefer-lower-reference-dividers.patch
Linux 4.19.50
[thirdparty/kernel/stable-queue.git] / queue-4.14 / drm-radeon-prefer-lower-reference-dividers.patch
1 From 2e26ccb119bde03584be53406bbd22e711b0d6e6 Mon Sep 17 00:00:00 2001
2 From: =?UTF-8?q?Christian=20K=C3=B6nig?= <christian.koenig@amd.com>
3 Date: Mon, 6 May 2019 19:57:52 +0200
4 Subject: drm/radeon: prefer lower reference dividers
5 MIME-Version: 1.0
6 Content-Type: text/plain; charset=UTF-8
7 Content-Transfer-Encoding: 8bit
8
9 From: Christian König <christian.koenig@amd.com>
10
11 commit 2e26ccb119bde03584be53406bbd22e711b0d6e6 upstream.
12
13 Instead of the closest reference divider prefer the lowest,
14 this fixes flickering issues on HP Compaq nx9420.
15
16 Bugs: https://bugs.freedesktop.org/show_bug.cgi?id=108514
17 Suggested-by: Paul Dufresne <dufresnep@gmail.com>
18 Signed-off-by: Christian König <christian.koenig@amd.com>
19 Acked-by: Alex Deucher <alexander.deucher@amd.com>
20 Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
21 Cc: stable@vger.kernel.org
22 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
23
24 ---
25 drivers/gpu/drm/radeon/radeon_display.c | 4 ++--
26 1 file changed, 2 insertions(+), 2 deletions(-)
27
28 --- a/drivers/gpu/drm/radeon/radeon_display.c
29 +++ b/drivers/gpu/drm/radeon/radeon_display.c
30 @@ -923,12 +923,12 @@ static void avivo_get_fb_ref_div(unsigne
31 ref_div_max = max(min(100 / post_div, ref_div_max), 1u);
32
33 /* get matching reference and feedback divider */
34 - *ref_div = min(max(DIV_ROUND_CLOSEST(den, post_div), 1u), ref_div_max);
35 + *ref_div = min(max(den/post_div, 1u), ref_div_max);
36 *fb_div = DIV_ROUND_CLOSEST(nom * *ref_div * post_div, den);
37
38 /* limit fb divider to its maximum */
39 if (*fb_div > fb_div_max) {
40 - *ref_div = DIV_ROUND_CLOSEST(*ref_div * fb_div_max, *fb_div);
41 + *ref_div = (*ref_div * fb_div_max)/(*fb_div);
42 *fb_div = fb_div_max;
43 }
44 }