Skip to contentSkip to conversation

drm/ast: change resolution may cause screen blurred

PATCH In review Y.C. Chen 3 participants 3 messages Oct 3, 2018 – Nov 21, 2018

Subsystems (4)
lore
Share & tools
lore

Y.C. Chen

author
#0 lore raw

PATCH 1/1 drm/ast: change resolution may cause screen blurred

From: "Y.C. Chen" <[email protected]>

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

---
 drivers/gpu/drm/ast/ast_mode.c | 1 +
 1 file changed, 1 insertion(+)
drivers/gpu/drm/ast/ast_mode.c +1 -0
index 5e77d45..f06aae7 100644
@@ -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;
Signature · 1 line
1.8.3.1
#1 lore raw
Quoted 9 lines · Y.C. Chen

From: "Y.C. Chen" <[email protected]>

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

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

Quoted 19 lines
---
 drivers/gpu/drm/ast/ast_mode.c | 1 +
 1 file changed, 1 insertion(+)
drivers/gpu/drm/ast/ast_mode.c +1 -0
index 5e77d45..f06aae7 100644
@@ -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;
Signature · 1 line
1.8.3.1
Signature · 3 lines
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
Tested-by Reviewed-by on v1 1/1
#2 lore raw
In reply to Y.C. Chen
Quoted 18 lines · Y.C. Chen

From: "Y.C. Chen" <[email protected]>

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

---
 drivers/gpu/drm/ast/ast_mode.c | 1 +
 1 file changed, 1 insertion(+)
drivers/gpu/drm/ast/ast_mode.c +0 -0
index 5e77d45..f06aae7 100644

drivers/gpu/drm/ast/ast_mode.c static int ast_crtc_do_set_base(struct drm_crtc *crtc, · line 574

Quoted 7 lines
drivers/gpu/drm/ast/ast_mode.c +1 -0
@@ -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;

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,

Signature · 2 lines
Jean Delvare
SUSE L3 Support