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 <rodrigosiqueiramelo@xxxxxxxxx> 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@xxxxxxxxxxxxxxx > Cc: linaro-mm-sig@xxxxxxxxxxxxxxxx > Cc: linux-rdma@xxxxxxxxxxxxxxx > Cc: amd-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: intel-gfx@xxxxxxxxxxxxxxxxxxxxx > Cc: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> > Cc: Maarten Lankhorst <maarten.lankhorst@xxxxxxxxxxxxxxx> > Cc: Christian König <christian.koenig@xxxxxxx> > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxxx> > Cc: Rodrigo Siqueira <rodrigosiqueiramelo@xxxxxxxxx> > Cc: Haneen Mohammed <hamohammed.sa@xxxxxxxxx> > Cc: Daniel Vetter <daniel@xxxxxxxx> > --- > 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 <linux/dma-fence.h> > + > #include <drm/drm_atomic.h> > #include <drm/drm_atomic_helper.h> > #include <drm/drm_probe_helper.h> > @@ -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
Attachment:
signature.asc
Description: PGP signature