答复: [PATCH] sync amdgpu scanout update event before mode setting

Qu, Jim Jim.Qu at amd.com
Wed Apr 18 09:12:12 UTC 2018


Hi Michel,

drmmode_crtc_wait_pending_event(drmmode_crtc, pAMDGPUEnt->fd,
                                                drmmode_crtc->flip_pending ||
                                                drmmode_crtc->scanout_update_pending);

Here, should not use && for this condition?

Thanks
JimQu

________________________________________
发件人: amd-gfx <amd-gfx-bounces at lists.freedesktop.org> 代表 Qu, Jim <Jim.Qu at amd.com>
发送时间: 2018年4月18日 17:00
收件人: Michel Dänzer
抄送: amd-gfx at lists.freedesktop.org
主题: 答复: [PATCH] sync amdgpu scanout update event before mode setting

Okay if I make that modification before pushing?

A: Yes , of course :p)

Thanks
JimQu

________________________________________
发件人: Michel Dänzer <michel at daenzer.net>
发送时间: 2018年4月18日 16:55
收件人: Qu, Jim
抄送: amd-gfx at lists.freedesktop.org
主题: Re: [PATCH] sync amdgpu scanout update event before mode setting

On 2018-04-17 01:11 PM, Jim Qu wrote:
> There is a case that when set screen from reverse to normal, the old
> scanout damage is freed in modesetting before sanout update handler,
> so it causes segment fault issue.

Good catch, thanks.


> diff --git a/src/drmmode_display.c b/src/drmmode_display.c
> index 85970d1..ea38e29 100644
> --- a/src/drmmode_display.c
> +++ b/src/drmmode_display.c
> @@ -902,6 +902,9 @@ drmmode_set_mode_major(xf86CrtcPtr crtc, DisplayModePtr mode,
>               drmmode_crtc_wait_pending_event(drmmode_crtc, pAMDGPUEnt->fd,
>                                               drmmode_crtc->flip_pending);
>
> +             drmmode_crtc_wait_pending_event(drmmode_crtc, pAMDGPUEnt->fd,
> +                                             drmmode_crtc->scanout_update_pending);
> +
>               if (!drmmode_set_mode(crtc, fb, mode, x, y))
>                       goto done;
>
>

The two drmmode_crtc_wait_pending_event invocations can be combined like
this:

                drmmode_crtc_wait_pending_event(drmmode_crtc, pAMDGPUEnt->fd,
                                                drmmode_crtc->flip_pending ||
                                                drmmode_crtc->scanout_update_pending);

Okay if I make that modification before pushing?


--
Earthling Michel Dänzer               |               http://www.amd.com
Libre software enthusiast             |             Mesa and X developer
_______________________________________________
amd-gfx mailing list
amd-gfx at lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx


More information about the amd-gfx mailing list