diff mbox series

drm/ast: change resolution may cause screen blurred

Message ID 1538549867-1014-1-git-send-email-yc_chen@aspeedtech.com (mailing list archive)
State New, archived
Headers show
Series drm/ast: change resolution may cause screen blurred | expand

Commit Message

陳雅正 Oct. 3, 2018, 6:57 a.m. UTC
From: "Y.C. Chen" <yc_chen@aspeedtech.com>

The value of pitches is not correct while calling mode_set.
The issue we found so far on following system:
- Debian8 with XFCE Desktop
- Ubuntu with KDE Desktop
- SUSE15 with KDE Desktop

Signed-off-by: Y.C. Chen <yc_chen@aspeedtech.com>
---
 drivers/gpu/drm/ast/ast_mode.c | 1 +
 1 file changed, 1 insertion(+)

Comments

Daniel Vetter Oct. 3, 2018, 9:22 a.m. UTC | #1
On Wed, Oct 03, 2018 at 02:57:47PM +0800, Y.C. Chen wrote:
> From: "Y.C. Chen" <yc_chen@aspeedtech.com>
> 
> The value of pitches is not correct while calling mode_set.
> The issue we found so far on following system:
> - Debian8 with XFCE Desktop
> - Ubuntu with KDE Desktop
> - SUSE15 with KDE Desktop
> 
> Signed-off-by: Y.C. Chen <yc_chen@aspeedtech.com>

btw do you want commit rights for drm-misc for these ast patches?

https://drm.pages.freedesktop.org/maintainer-tools/drm-misc.html

Cheers, Daniel

> ---
>  drivers/gpu/drm/ast/ast_mode.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
> index 5e77d45..f06aae7 100644
> --- a/drivers/gpu/drm/ast/ast_mode.c
> +++ b/drivers/gpu/drm/ast/ast_mode.c
> @@ -568,6 +568,7 @@ static int ast_crtc_do_set_base(struct drm_crtc *crtc,
>  	}
>  	ast_bo_unreserve(bo);
>  
> +	ast_set_offset_reg(crtc);
>  	ast_set_start_address_crt1(crtc, (u32)gpu_addr);
>  
>  	return 0;
> -- 
> 1.8.3.1
>
Jean Delvare Nov. 21, 2018, 2:49 p.m. UTC | #2
On Wed,  3 Oct 2018 14:57:47 +0800, Y.C. Chen wrote:
> From: "Y.C. Chen" <yc_chen@aspeedtech.com>
> 
> The value of pitches is not correct while calling mode_set.
> The issue we found so far on following system:
> - Debian8 with XFCE Desktop
> - Ubuntu with KDE Desktop
> - SUSE15 with KDE Desktop
> 
> Signed-off-by: Y.C. Chen <yc_chen@aspeedtech.com>
> ---
>  drivers/gpu/drm/ast/ast_mode.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
> index 5e77d45..f06aae7 100644
> --- a/drivers/gpu/drm/ast/ast_mode.c
> +++ b/drivers/gpu/drm/ast/ast_mode.c
> @@ -568,6 +568,7 @@ static int ast_crtc_do_set_base(struct drm_crtc *crtc,
>  	}
>  	ast_bo_unreserve(bo);
>  
> +	ast_set_offset_reg(crtc);
>  	ast_set_start_address_crt1(crtc, (u32)gpu_addr);
>  
>  	return 0;

Tested-by: Jean Delvare <jdelvare@suse.de>
Reviewed-by: Jean Delvare <jdelvare@suse.de>

I did experience the mentioned display corruption on resolution change
on an ASPEED 1100/2050 chipset, under Plasma (KDE). I can confirm that
the patch above prevents it.

There is also a report in openSUSE's bugzilla:
  https://bugzilla.opensuse.org/show_bug.cgi?id=1112963
where the user tested the patch above successfully on an ASPEED 2500
chipset.

Can we get the fix merged now?

Thanks,
diff mbox series

Patch

diff --git a/drivers/gpu/drm/ast/ast_mode.c b/drivers/gpu/drm/ast/ast_mode.c
index 5e77d45..f06aae7 100644
--- a/drivers/gpu/drm/ast/ast_mode.c
+++ b/drivers/gpu/drm/ast/ast_mode.c
@@ -568,6 +568,7 @@  static int ast_crtc_do_set_base(struct drm_crtc *crtc,
 	}
 	ast_bo_unreserve(bo);
 
+	ast_set_offset_reg(crtc);
 	ast_set_start_address_crt1(crtc, (u32)gpu_addr);
 
 	return 0;