[PATCHv2 42/45] drm: omapdrm: add omap_atomic_wait_for_gos()

Tomi Valkeinen tomi.valkeinen at ti.com
Mon Jun 8 01:36:25 PDT 2015

On 06/06/15 07:10, Laurent Pinchart wrote:
> Hi Tomi,
> Thank you for the patch.
> On Thursday 04 June 2015 12:02:59 Tomi Valkeinen wrote:
>> omap_atomic_complete() uses drm_atomic_helper_wait_for_vblanks() to wait
>> for all operations to finish. That works, but can easily cause waits for
>> vblanks when no wait is actually necessary.
> It actually doesn't work properly, as a full mode set without any change to 
> framebuffers will need to reenable planes after enabling the CRTC and thus 
> sets the go bit, but the drm_atomic_helper_wait_for_vblanks() function called 

That's not how it goes. In complete(), we first disable the crtcs, then
set the planes, then enable the crtcs. We don't first enable the crtcs,
and then enable the planes.

So everything is already configured at the time we enable the crtc, and
no GO bit is needed, and thus no wait is needed.

> during atomic commit waits for vblank only on CRTCs that have seen a page 
> flip. This leads to missing waits, resulting in a go busy warning if the next 
> .atomic_flush() call occurs too soon.

I think those issues came from your patch that moved the plane config to
be done after crtc enable. I dropped that patch.


-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://lists.freedesktop.org/archives/dri-devel/attachments/20150608/248ca9c0/attachment-0001.sig>

More information about the dri-devel mailing list