diff mbox

[1/1] drm/mgag200: Fix to always set HiPri for G200e4 V2

Message ID ec0f8568d7ec41904dfe593c5deccf3f062d7bd8.1497450944.git.mathieu.larouche@matrox.com (mailing list archive)
State New, archived
Headers show

Commit Message

Mathieu Larouche June 14, 2017, 2:39 p.m. UTC
From: Mathieu Larouche <mathieu.larouche@matrox.com>

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

Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>
---
 drivers/gpu/drm/mgag200/mgag200_mode.c | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Comments

Sean Paul June 15, 2017, 5:05 p.m. UTC | #1
On Wed, Jun 14, 2017 at 10:39:42AM -0400, mathieu.larouche@matrox.com wrote:
> From: Mathieu Larouche <mathieu.larouche@matrox.com>
> 
>   - Changed the HiPri value for G200e4 to always be 0.
>   - Added Bandwith limitation to block resolution above 1920x1200x60Hz
> 
> Signed-off-by: Mathieu Larouche <mathieu.larouche@matrox.com>

Applied to -misc-fixes with airlied's Ack.

Thanks,

Sean

> ---
>  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 6b21cb2..292e8eb 100644
> --- a/drivers/gpu/drm/mgag200/mgag200_mode.c
> +++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
> @@ -1133,7 +1133,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;
> @@ -1598,6 +1601,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)
> -- 
> 1.8.3.1
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/gpu/drm/mgag200/mgag200_mode.c b/drivers/gpu/drm/mgag200/mgag200_mode.c
index 6b21cb2..292e8eb 100644
--- a/drivers/gpu/drm/mgag200/mgag200_mode.c
+++ b/drivers/gpu/drm/mgag200/mgag200_mode.c
@@ -1133,7 +1133,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;
@@ -1598,6 +1601,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)