Path: csiph.com!1.us.feeder.erje.net!2.us.feeder.erje.net!feeder.erje.net!2.eu.feeder.erje.net!news.unit0.net!news.mixmin.net!aioe.org!bofh.it!news.nic.it!robomod From: Tony Lindgren Newsgroups: linux.kernel Subject: Re: [PATCHv2 09/10] drm: omapdrm: crtc: get manual mode displays working Date: Sun, 05 Mar 2017 06:50:02 +0100 Message-ID: References: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline User-Agent: Mutt/1.7.2 (2016-11-26) Sender: robomod@news.nic.it List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Approved: robomod@news.nic.it Lines: 31 Organization: linux.* mail to news gateway X-Original-Cc: Aaro Koskinen , Tomi Valkeinen , Laurent Pinchart , David Airlie , linux-omap@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org X-Original-Date: Sat, 4 Mar 2017 21:39:51 -0800 X-Original-Message-ID: <20170305053951.GB20572@atomide.com> X-Original-References: <20170304235021.27055-1-sre@kernel.org> <20170305004309.28259-1-sre@kernel.org> <20170305004309.28259-9-sre@kernel.org> X-Original-Sender: linux-kernel-owner@vger.kernel.org Xref: csiph.com linux.kernel:1592699 * Sebastian Reichel [170304 16:45]: > From: Tony Lindgren > > With manual mode displays we need to flush the panel manually. > > Let's add flushing so we get Tomi's fbtest, kmstest, kmstest --flip, > and X and wayland working. > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -97,6 +97,11 @@ bool omap_crtc_is_manual_updated(struct drm_crtc *crtc) > return omap_crtc->manually_updated; > } > > +static void omap_crtc_manual_needs_flush(struct drm_crtc *crtc) > +{ > + omap_crtc_flush(crtc, 0, 0, 0, 0); > +} ... > @@ -554,6 +561,7 @@ static void omap_crtc_atomic_flush(struct drm_crtc *crtc, > ret = drm_crtc_vblank_get(crtc); > WARN_ON(ret != 0); > } > + omap_crtc_flush(&omap_crtc->base, 0, 0, 0, 0); Just noticed that this should also just use omap_crtc_manual_needs_flush() here if you care to update it. Regards, Tony