Use correct FB handle in amdgpu_do_pageflip

Submitted by Michel Dänzer on Aug. 16, 2018, 2:33 p.m.

Details

Message ID 20180816143346.6763-1-michel@daenzer.net
State Accepted
Commit f6cd72e64e85896b6d155bee0930e59771dcb701
Headers show
Series "Use correct FB handle in amdgpu_do_pageflip" ( rev: 1 ) in AMD X.Org drivers

Not browsing as part of any series.

Commit Message

Michel Dänzer Aug. 16, 2018, 2:33 p.m.
From: Michel Dänzer <michel.daenzer@amd.com>

We were always using the handle of the client provided FB, which
prevented RandR transforms from working, and could result in a black
screen.

Fixes: 9b6782c821e0 "Store FB for each CRTC in drmmode_flipdata_rec"
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 src/drmmode_display.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

Patch hide | download patch | download mbox

diff --git a/src/drmmode_display.c b/src/drmmode_display.c
index e58e15d7b..be0e6b875 100644
--- a/src/drmmode_display.c
+++ b/src/drmmode_display.c
@@ -3974,7 +3974,7 @@  Bool amdgpu_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
 		if (crtc == ref_crtc) {
 			if (drmmode_page_flip_target_absolute(pAMDGPUEnt,
 							      drmmode_crtc,
-							      fb->handle,
+							      flipdata->fb[i]->handle,
 							      flip_flags,
 							      drm_queue_seq,
 							      target_msc) != 0)
@@ -3982,7 +3982,7 @@  Bool amdgpu_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
 		} else {
 			if (drmmode_page_flip_target_relative(pAMDGPUEnt,
 							      drmmode_crtc,
-							      fb->handle,
+							      flipdata->fb[i]->handle,
 							      flip_flags,
 							      drm_queue_seq, 0) != 0)
 				goto flip_error;

Comments

On Thu, Aug 16, 2018 at 10:36 AM Michel Dänzer <michel@daenzer.net> wrote:
>
> From: Michel Dänzer <michel.daenzer@amd.com>
>
> We were always using the handle of the client provided FB, which
> prevented RandR transforms from working, and could result in a black
> screen.
>
> Fixes: 9b6782c821e0 "Store FB for each CRTC in drmmode_flipdata_rec"
> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

Good catch!
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  src/drmmode_display.c | 4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/src/drmmode_display.c b/src/drmmode_display.c
> index e58e15d7b..be0e6b875 100644
> --- a/src/drmmode_display.c
> +++ b/src/drmmode_display.c
> @@ -3974,7 +3974,7 @@ Bool amdgpu_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
>                 if (crtc == ref_crtc) {
>                         if (drmmode_page_flip_target_absolute(pAMDGPUEnt,
>                                                               drmmode_crtc,
> -                                                             fb->handle,
> +                                                             flipdata->fb[i]->handle,
>                                                               flip_flags,
>                                                               drm_queue_seq,
>                                                               target_msc) != 0)
> @@ -3982,7 +3982,7 @@ Bool amdgpu_do_pageflip(ScrnInfoPtr scrn, ClientPtr client,
>                 } else {
>                         if (drmmode_page_flip_target_relative(pAMDGPUEnt,
>                                                               drmmode_crtc,
> -                                                             fb->handle,
> +                                                             flipdata->fb[i]->handle,
>                                                               flip_flags,
>                                                               drm_queue_seq, 0) != 0)
>                                 goto flip_error;
> --
> 2.18.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx