Hi, Everything looks fine to me, I just noticed that the amdgpu patches did not apply smoothly, however it was trivial to fix the issues. Reviewed-by: Rodrigo Siqueira Melissa, Since you are using vkms regularly, could you test this patch and review it? Remember to add your Tested-by when you finish. Thanks On 07/07, Daniel Vetter wrote: > This is needed to signal the fences from page flips, annotate it > accordingly. We need to annotate entire timer callback since if we get > stuck anywhere in there, then the timer stops, and hence fences stop. > Just annotating the top part that does the vblank handling isn't > enough. > > Cc: linux-media@vger.kernel.org > Cc: linaro-mm-sig@lists.linaro.org > Cc: linux-rdma@vger.kernel.org > Cc: amd-gfx@lists.freedesktop.org > Cc: intel-gfx@lists.freedesktop.org > Cc: Chris Wilson > Cc: Maarten Lankhorst > Cc: Christian König > Signed-off-by: Daniel Vetter > Cc: Rodrigo Siqueira > Cc: Haneen Mohammed > Cc: Daniel Vetter > --- > drivers/gpu/drm/vkms/vkms_crtc.c | 8 +++++++- > 1 file changed, 7 insertions(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_crtc.c > index ac85e17428f8..a53a40848a72 100644 > --- a/drivers/gpu/drm/vkms/vkms_crtc.c > +++ b/drivers/gpu/drm/vkms/vkms_crtc.c > @@ -1,5 +1,7 @@ > // SPDX-License-Identifier: GPL-2.0+ > > +#include > + > #include > #include > #include > @@ -14,7 +16,9 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer) > struct drm_crtc *crtc = &output->crtc; > struct vkms_crtc_state *state; > u64 ret_overrun; > - bool ret; > + bool ret, fence_cookie; > + > + fence_cookie = dma_fence_begin_signalling(); > > ret_overrun = hrtimer_forward_now(&output->vblank_hrtimer, > output->period_ns); > @@ -49,6 +53,8 @@ static enum hrtimer_restart vkms_vblank_simulate(struct hrtimer *timer) > DRM_DEBUG_DRIVER("Composer worker already queued\n"); > } > > + dma_fence_end_signalling(fence_cookie); > + > return HRTIMER_RESTART; > } > > -- > 2.27.0 > -- Rodrigo Siqueira https://siqueira.tech