[PATCH AUTOSEL for 3.18 034/101] drm/mgag200: Fix to always set HiPri for G200e4 V2

2018-04-08 Thread Sasha Levin
From: Mathieu Larouche 

[ Upstream commit 0cbb738108927916a659b5b0b96e386fcd7cc6e1 ]

  - Changed the HiPri value for G200e4 to always be 0.
  - Added Bandwith limitation to block resolution above 1920x1200x60Hz

Signed-off-by: Mathieu Larouche 
Acked-by: Dave Airlie 
[seanpaul removed some trailing whitespace from the patch]
Signed-off-by: Sean Paul 
Link: 
http://patchwork.freedesktop.org/patch/msgid/ec0f8568d7ec41904dfe593c5deccf3f062d7bd8.1497450944.git.mathieu.larou...@matrox.com
Signed-off-by: Sasha Levin 
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c 
b/drivers/gpu/drm/mgag200/mgag200_mode.c
index d8e693d1f6d4..35400bea17bd 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1029,7 +1029,10 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
 
 
if (IS_G200_SE(mdev)) {
-   if (mdev->unique_rev_id >= 0x02) {
+   if  (mdev->unique_rev_id >= 0x04) {
+   WREG8(MGAREG_CRTCEXT_INDEX, 0x06);
+   WREG8(MGAREG_CRTCEXT_DATA, 0);
+   } else if (mdev->unique_rev_id >= 0x02) {
u8 hi_pri_lvl;
u32 bpp;
u32 mb;
@@ -1502,6 +1505,10 @@ static int mga_vga_mode_valid(struct drm_connector 
*connector,
if (mga_vga_calculate_mode_bandwidth(mode, bpp)
> (30100 * 1024))
return MODE_BANDWIDTH;
+   } else {
+   if (mga_vga_calculate_mode_bandwidth(mode, bpp)
+   > (55000 * 1024))
+   return MODE_BANDWIDTH;
}
} else if (mdev->type == G200_WB) {
if (mode->hdisplay > 1280)
-- 
2.15.1


[PATCH AUTOSEL for 3.18 034/101] drm/mgag200: Fix to always set HiPri for G200e4 V2

2018-04-08 Thread Sasha Levin
From: Mathieu Larouche 

[ Upstream commit 0cbb738108927916a659b5b0b96e386fcd7cc6e1 ]

  - Changed the HiPri value for G200e4 to always be 0.
  - Added Bandwith limitation to block resolution above 1920x1200x60Hz

Signed-off-by: Mathieu Larouche 
Acked-by: Dave Airlie 
[seanpaul removed some trailing whitespace from the patch]
Signed-off-by: Sean Paul 
Link: 
http://patchwork.freedesktop.org/patch/msgid/ec0f8568d7ec41904dfe593c5deccf3f062d7bd8.1497450944.git.mathieu.larou...@matrox.com
Signed-off-by: Sasha Levin 
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 9 -
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c 
b/drivers/gpu/drm/mgag200/mgag200_mode.c
index d8e693d1f6d4..35400bea17bd 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1029,7 +1029,10 @@ static int mga_crtc_mode_set(struct drm_crtc *crtc,
 
 
if (IS_G200_SE(mdev)) {
-   if (mdev->unique_rev_id >= 0x02) {
+   if  (mdev->unique_rev_id >= 0x04) {
+   WREG8(MGAREG_CRTCEXT_INDEX, 0x06);
+   WREG8(MGAREG_CRTCEXT_DATA, 0);
+   } else if (mdev->unique_rev_id >= 0x02) {
u8 hi_pri_lvl;
u32 bpp;
u32 mb;
@@ -1502,6 +1505,10 @@ static int mga_vga_mode_valid(struct drm_connector 
*connector,
if (mga_vga_calculate_mode_bandwidth(mode, bpp)
> (30100 * 1024))
return MODE_BANDWIDTH;
+   } else {
+   if (mga_vga_calculate_mode_bandwidth(mode, bpp)
+   > (55000 * 1024))
+   return MODE_BANDWIDTH;
}
} else if (mdev->type == G200_WB) {
if (mode->hdisplay > 1280)
-- 
2.15.1