[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20160326155224.GA25190@earth>
Date: Sat, 26 Mar 2016 16:52:24 +0100
From: Sebastian Reichel <sre@...nel.org>
To: Laurent Pinchart <laurent.pinchart@...asonboard.com>
Cc: Tony Lindgren <tony@...mide.com>,
Aaro Koskinen <aaro.koskinen@....fi>,
Tomi Valkeinen <tomi.valkeinen@...com>,
David Airlie <airlied@...ux.ie>, linux-omap@...r.kernel.org,
dri-devel@...ts.freedesktop.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 06/23] drm: omapdrm: wait for pending operations before
updating plane
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@...nel.org>
> > ---
> > 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
>
Download attachment "signature.asc" of type "application/pgp-signature" (820 bytes)
Powered by blists - more mailing lists