[PATCH 4.4 061/146] drm/mgag200: Black screen fix for G200e rev 4
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2016-07-25 22:35:24
Also in:
lkml
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Date: 2016-07-25 22:35:24
Also in:
lkml
4.4-stable review patch. If anyone has any objections, please let me know. ------------------ From: Mathieu Larouche <redacted> commit d3922b69617b62bb2509936b68301f837229d9f0 upstream. - Fixed black screen for some resolutions of G200e rev4 - Fixed testm & testn which had predetermined value. Reported-by: Jan Beulich <redacted> Signed-off-by: Mathieu Larouche <redacted> Signed-off-by: Dave Airlie <airlied@redhat.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> --- drivers/gpu/drm/mgag200/mgag200_mode.c | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-)
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c@@ -194,7 +194,7 @@ static int mga_g200se_set_plls(struct mg } } - fvv = pllreffreq * testn / testm; + fvv = pllreffreq * (n + 1) / (m + 1); fvv = (fvv - 800000) / 50000; if (fvv > 15)
@@ -214,6 +214,14 @@ static int mga_g200se_set_plls(struct mg WREG_DAC(MGA1064_PIX_PLLC_M, m); WREG_DAC(MGA1064_PIX_PLLC_N, n); WREG_DAC(MGA1064_PIX_PLLC_P, p); + + if (mdev->unique_rev_id >= 0x04) { + WREG_DAC(0x1a, 0x09); + msleep(20); + WREG_DAC(0x1a, 0x01); + + } + return 0; }