|
|
0903551 |
From 1e5895f2c6068fb9ae5356e3a751a29a22af5f01 Mon Sep 17 00:00:00 2001
|
|
|
0903551 |
From: Fedora Kernel Team <kernel-team@fedoraproject.org>
|
|
|
0903551 |
Date: Mon, 20 Jun 2016 14:53:03 +0200
|
|
|
0903551 |
Subject: [PATCH 1/6] drm/mgag200: Black screen fix for G200e rev 4
|
|
|
0903551 |
|
|
|
0903551 |
Upstream: since drm-fixes-for-v4.7
|
|
|
0903551 |
commit d3922b69617b62bb2509936b68301f837229d9f0
|
|
|
0903551 |
|
|
|
0903551 |
Author: Mathieu Larouche <mathieu.larouche@matrox.com>
|
|
|
0903551 |
AuthorDate: Fri May 27 15:12:50 2016 -0400
|
|
|
0903551 |
Commit: Dave Airlie <airlied@redhat.com>
|
|
|
0903551 |
CommitDate: Wed Jun 1 15:25:04 2016 +1000
|
|
|
0903551 |
|
|
|
0903551 |
drm/mgag200: Black screen fix for G200e rev 4
|
|
|
0903551 |
|
|
|
0903551 |
- Fixed black screen for some resolutions of G200e rev4
|
|
|
0903551 |
- Fixed testm & testn which had predetermined value.
|
|
|
0903551 |
|
|
|
0903551 |
Reported-by: Jan Beulich <jbeulich@suse.com>
|
|
|
0903551 |
|
|
|
0903551 |
Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>
|
|
|
0903551 |
Cc: stable@vger.kernel.org
|
|
|
0903551 |
Signed-off-by: Dave Airlie <airlied@redhat.com>
|
|
|
0903551 |
---
|
|
|
0903551 |
drivers/gpu/drm/mgag200/mgag200_mode.c | 10 +++++++++-
|
|
|
0903551 |
1 file changed, 9 insertions(+), 1 deletion(-)
|
|
|
0903551 |
|
|
|
0903551 |
diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
|
|
|
0903551 |
index 14e64e0..d347dca 100644
|
|
|
0903551 |
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
|
|
|
0903551 |
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
|
|
|
0903551 |
@@ -182,7 +182,7 @@ static int mga_g200se_set_plls(struct mga_device *mdev, long clock)
|
|
|
0903551 |
}
|
|
|
0903551 |
}
|
|
|
0903551 |
|
|
|
0903551 |
- fvv = pllreffreq * testn / testm;
|
|
|
0903551 |
+ fvv = pllreffreq * (n + 1) / (m + 1);
|
|
|
0903551 |
fvv = (fvv - 800000) / 50000;
|
|
|
0903551 |
|
|
|
0903551 |
if (fvv > 15)
|
|
|
0903551 |
@@ -202,6 +202,14 @@ static int mga_g200se_set_plls(struct mga_device *mdev, long clock)
|
|
|
0903551 |
WREG_DAC(MGA1064_PIX_PLLC_M, m);
|
|
|
0903551 |
WREG_DAC(MGA1064_PIX_PLLC_N, n);
|
|
|
0903551 |
WREG_DAC(MGA1064_PIX_PLLC_P, p);
|
|
|
0903551 |
+
|
|
|
0903551 |
+ if (mdev->unique_rev_id >= 0x04) {
|
|
|
0903551 |
+ WREG_DAC(0x1a, 0x09);
|
|
|
0903551 |
+ msleep(20);
|
|
|
0903551 |
+ WREG_DAC(0x1a, 0x01);
|
|
|
0903551 |
+
|
|
|
0903551 |
+ }
|
|
|
0903551 |
+
|
|
|
0903551 |
return 0;
|
|
|
0903551 |
}
|
|
|
0903551 |
|
|
|
0903551 |
--
|
|
|
0903551 |
2.7.4
|
|
|
0903551 |
|