drm/imx: fix commit_tail for new drm_atomic_helper_setup_commit
Since commit080de2e5be
("drm/atomic: Check for busy planes/connectors before setting the commit"), drm_atomic_helper_setup_commit expects that blocking commits have completed flipping before the commit_tail returns. Add the missing wait_for_flip_done to commit_tail to ensure this. -----BEGIN PGP SIGNATURE----- iQJLBAABCAA1FiEEBsBxhV1FaKwXuCOBUMKIHHCeYOsFAlogMVIXHHAuemFiZWxA cGVuZ3V0cm9uaXguZGUACgkQUMKIHHCeYOt+9BAAvhLZw1SvgH/rA8CT+bMKJ9OY rX8oEay783wKqZYLbzcE5bEm/EFb6bu64uER53IHeAF9U7YfTrgEixhLw3+qeTJo AtvEVhn1nHYxoH1wwsFVVDV6YYlvpGlnirMP+4iYyhhxZDjOA4ia5f7D08pxXta/ EdaiX7qfOzd1chvk2xkyPhpjl6YrKcm7PrWfzi9gdIrvcseRIZCmLrra6rsT1YxN 2ind2Vg10fv6fQeCDkmtpto7UoavsWuiTsaqBMC2NOoPT58ENOxJRIZRjzMpHAS4 Ei8/tuK5TozXTLOSRPMNcRWRDyPEFKNodhZMsjR+62AYE1VKKtCLQ+ftT6z9nrBe uBkJHwArTnVj7PhZFQObmrfPZpNfg2i1J00YZlcyiSW6p9Sp2tWBMUEUVnh5nJaw O1H0JwDYYFhSVQ6jM30IgH1NJG21MXSckAPFRZmyrEhh13wA4PRbtnjot/tp0quM TzAgtB6SqNlKXIwEM06afzmbHDLXkEOmjU1iJHXp8o+xH5FVMVVxupV0M8o+uC10 G1dE2JQIO5DR9hMD+Z1dWYLSShhs7bDpjlelaNHOKyo8cMomi6K1j944XdD9ykve Fzfc35E/S1OGqkj13fIsaXy5li+RRt7NaEfwz0ioIUfpj2XHsmDI7s+e7aS31l2t 22nLHu81NP+LoGyTBnA= =DAk8 -----END PGP SIGNATURE----- Merge tag 'imx-drm-fixes-2017-11-30' of git://git.pengutronix.de/git/pza/linux into drm-fixes drm/imx: fix commit_tail for new drm_atomic_helper_setup_commit Since commit080de2e5be
("drm/atomic: Check for busy planes/connectors before setting the commit"), drm_atomic_helper_setup_commit expects that blocking commits have completed flipping before the commit_tail returns. Add the missing wait_for_flip_done to commit_tail to ensure this. * tag 'imx-drm-fixes-2017-11-30' of git://git.pengutronix.de/git/pza/linux: drm/imx: always call wait_for_flip_done in commit_tail
This commit is contained in:
commit
8503a4c1e3
|
@ -133,9 +133,16 @@ static void imx_drm_atomic_commit_tail(struct drm_atomic_state *state)
|
|||
plane_disabling = true;
|
||||
}
|
||||
|
||||
if (plane_disabling) {
|
||||
drm_atomic_helper_wait_for_vblanks(dev, state);
|
||||
/*
|
||||
* The flip done wait is only strictly required by imx-drm if a deferred
|
||||
* plane disable is in-flight. As the core requires blocking commits
|
||||
* to wait for the flip it is done here unconditionally. This keeps the
|
||||
* workitem around a bit longer than required for the majority of
|
||||
* non-blocking commits, but we accept that for the sake of simplicity.
|
||||
*/
|
||||
drm_atomic_helper_wait_for_flip_done(dev, state);
|
||||
|
||||
if (plane_disabling) {
|
||||
for_each_old_plane_in_state(state, plane, old_plane_state, i)
|
||||
ipu_plane_disable_deferred(plane);
|
||||
|
||||
|
|
Loading…
Reference in New Issue