>Could you put the wait inside prepare_plane_fb?
Yeah, that works, and it gets rid of the need to loop over the planes. I wait
on the fence before taking out the struct_mutex lock like so:
@@ -13369,6 +13345,13 @@ intel_prepare_plane_fb(struct drm_plane *plane,
if (!obj)
return 0;
+ /* For framebuffer backed by dmabuf, wait for fence */
+ if (obj->base.dma_buf) {
+ reservation_object_wait_timeout_rcu(
+ obj->base.dma_buf->resv,
+ true, false, msecs_to_jiffies(96));
+ }
+
mutex_lock(&dev->struct_mutex);
I'll send out the revised patch in the v3 patch set if there are no further
comments.
Thanks,
Alex