Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754750AbcC1TSO (ORCPT ); Mon, 28 Mar 2016 15:18:14 -0400 Received: from galahad.ideasonboard.com ([185.26.127.97]:42866 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751005AbcC1TSL (ORCPT ); Mon, 28 Mar 2016 15:18:11 -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 13/23] drm: omapdrm: crtc: update plane fifos on lcd config change Date: Sat, 26 Mar 2016 19:00:53 +0200 Message-ID: <3716864.g0dovaDAJW@avalon> User-Agent: KMail/4.14.10 (Linux/4.1.15-gentoo-r1; KDE/4.14.16; x86_64; ; ) In-Reply-To: <1457455195-1938-14-git-send-email-sre@kernel.org> References: <1457455195-1938-1-git-send-email-sre@kernel.org> <1457455195-1938-14-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: 1301 Lines: 44 Hi Sebastian, Thank you for the patch. On Tuesday 08 Mar 2016 17:39:45 Sebastian Reichel wrote: > Due to a hardware bug, FIFOs thresholds must be > configured very carefully for manually updated > displays. Could you please provide more information about the bug and how the code handles it ? > Signed-off-by: Sebastian Reichel > --- > drivers/gpu/drm/omapdrm/omap_crtc.c | 4 ++++ > 1 file changed, 4 insertions(+) > > diff --git a/drivers/gpu/drm/omapdrm/omap_crtc.c > b/drivers/gpu/drm/omapdrm/omap_crtc.c index 8967013c1fb5..094e89a2fa94 > 100644 > --- a/drivers/gpu/drm/omapdrm/omap_crtc.c > +++ b/drivers/gpu/drm/omapdrm/omap_crtc.c > @@ -253,6 +253,10 @@ static void omap_crtc_dss_set_lcd_config(struct > omap_overlay_manager *mgr, omap_crtc->manually_updated = > dss_lcd_mgr_config_get_stallmode(config); > > dispc_mgr_set_lcd_config(omap_crtc->channel, config); > + > + drm_for_each_plane(plane, dev) { > + omap_plane_update_fifo(plane); > + } This seems fishy :-/ To start with you shouldn't touch planes that don't belong to this CRTC. Then, updating the FIFO thresholds here in addition to omap_plane_atomic_update() makes me wonder if both are needed, and if so, why. > } > > static int omap_crtc_dss_register_framedone( -- Regards, Laurent Pinchart