Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e7c31f6f authored by Robert Foss's avatar Robert Foss Committed by Eric Anholt
Browse files

drm/vc4: Return -EBUSY if there's already a pending flip event.



As per the documentation in drm_crtc.h, atomic_commit should return
-EBUSY if an asynchronous update is requested and there is an earlier
update pending.

v2: Rebase on the s/async/nonblock/ change.

Signed-off-by: default avatarRobert Foss <robert.foss@collabora.com>
Reviewed-by: default avatarEric Anholt <eric@anholt.net>
parent ee7c10e1
Loading
Loading
Loading
Loading
+12 −4
Original line number Diff line number Diff line
@@ -117,11 +117,19 @@ static int vc4_atomic_commit(struct drm_device *dev,
		return -ENOMEM;

	/* Make sure that any outstanding modesets have finished. */
	if (nonblock) {
		ret = down_trylock(&vc4->async_modeset);
		if (ret) {
			kfree(c);
			return -EBUSY;
		}
	} else {
		ret = down_interruptible(&vc4->async_modeset);
		if (ret) {
			kfree(c);
			return ret;
		}
	}

	ret = drm_atomic_helper_prepare_planes(dev, state);
	if (ret) {