Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753389AbcCZPME (ORCPT ); Sat, 26 Mar 2016 11:12:04 -0400 Received: from galahad.ideasonboard.com ([185.26.127.97]:41403 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752383AbcCZPL7 (ORCPT ); Sat, 26 Mar 2016 11:11:59 -0400 From: Laurent Pinchart To: Sebastian Reichel Cc: Tony Lindgren , Aaro Koskinen , Tomi Valkeinen , David Airlie , linux-omap@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: Re: [PATCH 06/23] drm: omapdrm: wait for pending operations before updating plane Date: Sat, 26 Mar 2016 11:20 +0200 Message-ID: <2247354.2fBg1ifxEX@avalon> User-Agent: KMail/4.14.10 (Linux/4.1.15-gentoo-r1; KDE/4.14.16; x86_64; ; ) In-Reply-To: <1457455195-1938-7-git-send-email-sre@kernel.org> References: <1457455195-1938-1-git-send-email-sre@kernel.org> <1457455195-1938-7-git-send-email-sre@kernel.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 1286 Lines: 39 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 > --- > 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