Re: [PATCH 06/23] drm: omapdrm: wait for pending operations before updating plane

From: Laurent Pinchart
Date: Sat Mar 26 2016 - 11:12:15 EST


Hi Sabastian,

Thank you for the patch.

On Tuesday 08 Mar 2016 17:39:38 Sebastian Reichel wrote:
> Updating the plane may interrupt ongoing display
> updates, so wait for any pending operations.

There's already an omap_atomic_wait_for_completion() call a couple of lines
below, do we need two of them ? Why can display update be ongoing there, given
that the previous omap_atomic_complete() call did wait for completion before
returning ?

> Signed-off-By: Sebastian Reichel <sre@xxxxxxxxxx>
> ---
> drivers/gpu/drm/omapdrm/omap_drv.c | 4 ++++
> 1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/omapdrm/omap_drv.c
> b/drivers/gpu/drm/omapdrm/omap_drv.c index a3ff35f5f6cd..e142a4245766
> 100644
> --- a/drivers/gpu/drm/omapdrm/omap_drv.c
> +++ b/drivers/gpu/drm/omapdrm/omap_drv.c
> @@ -95,6 +95,10 @@ static void omap_atomic_complete(struct
> omap_atomic_state_commit *commit) /* Apply the atomic update. */
> dispc_runtime_get();
>
> + dev_dbg(dev->dev, "omap_atomic_complete");
> +
> + omap_atomic_wait_for_completion(dev, old_state);
> +
> drm_atomic_helper_commit_modeset_disables(dev, old_state);
> drm_atomic_helper_commit_planes(dev, old_state, false);
> drm_atomic_helper_commit_modeset_enables(dev, old_state);

--
Regards,

Laurent Pinchart