[PATCH] drm/rockchip: Return -EBUSY if there's already a pending flip event v5
Daniel Stone
daniel at fooishbar.org
Tue May 24 00:34:50 PDT 2016
On 24 May 2016 at 09:27, Tomeu Vizoso <tomeu.vizoso at collabora.com> wrote:
> As per the docs, atomic_commit should return -EBUSY "if an asycnhronous
> updated is requested and there is an earlier updated pending".
>
> v2: Use the status of the workqueue instead of vop->event, and don't add
> a superfluous wait on the workqueue.
>
> v3: Drop work_busy, as there's a sizeable delay when the worker
> finishes, which introduces a race in which the client has already
> received the last flip event but the next page flip ioctl will still
> return -EBUSY because work_busy returns outdated information.
>
> v4: Hold dev->event_lock while checking the VOP's event field as
> suggested by Daniel Stone.
>
> v5: Only block if there's outstanding work if it's a blocking call.
>
> Signed-off-by: Tomeu Vizoso <tomeu.vizoso at collabora.com>
Reviewed-by: Daniel Stone <daniels at collabora.com>
Cheers,
Daniel
More information about the Linux-rockchip
mailing list