Re: [PATCH 06/23] drm: omapdrm: wait for pending operations before updating plane
From: Sebastian Reichel
Date: Sat Mar 26 2016 - 11:52:40 EST
Hi Laurent,
On Sat, Mar 26, 2016 at 11:20:00AM +0200, Laurent Pinchart wrote:
> 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?
This is a preparation for the manual display update. The planes
should not be touched while a manual display update is in progress.
I only checked the patches for the N950's manually updated DSI
panel, but none of the other supported panel types. Since I wasn't
sure what is triggered by the plane update for the other panel
types, I kept the second wait_for_completion.
I guess I will drop the second wait in the next revision and see
what happens.
-- Sebastian
> > 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
>
Attachment:
signature.asc
Description: PGP signature