Received: by 2002:a05:6902:102b:0:0:0:0 with SMTP id x11csp751174ybt; Wed, 8 Jul 2020 10:44:15 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz24say7p+0nYWU/Jpm3gZe8+I2skraJOUdlBCQ8rwGZyaBsgIB9fCeSKlBBuaTfYnFVhqB X-Received: by 2002:a50:e689:: with SMTP id z9mr20777184edm.131.1594230255800; Wed, 08 Jul 2020 10:44:15 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1594230255; cv=none; d=google.com; s=arc-20160816; b=tgtYlZPNNXzlvO4xKbFqc9UuggVGDJL+mHhwvUTQ+cN9vsopTETpCRw4VhCmrGovkA dYPuRR/y+vI977ULcfSfNIWvEnfMqiogeTD1Jo5h/wZvSL3/MnHGzMZKf0yAXU0jDpZM jfu2uLRUHfNpXatyV+cwSNZ/5oG4ek7NEOc4fkQMxN5T2mG1Uvx/gXka0YZj0oWFcYsW h9F2YkunvWCZ9EA+4Nwx/QvT32wyqWt4YmIjoQVYgmS3l60jj5cOkOVEYXT7Qkwdi0vW UC/+ipcZGcrfFUc8sKVhQjxc6L4h2wiEzx9aGGRzTjYdRdejOV1mzXMyI1b5JF22PQnT WkSg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature:dkim-signature; bh=vbjE83hg7OngdMeQodU+dgrmswlM1THN0QhMEewZkvM=; b=df8j/ODNbZRe2HhIcC3Ar5NaoFKwBQgk5e+fWETY9c3t0jHAkoMS7BLctdKNDzCA2g UPh2jkXsFfD+Uoz4lPNLqqGwTfxCyU/XojLhqskCWPresT7s+32qCPQUgE/ytcEyhf3f 90J069TfPW6FpobENKAuBx5CCzQ1Ax0INB23wjy8mLrcodtrS6F6NH6E7xskdi39W0GO TQOxA+pUsMTCqFNWgWEHXnjSGK9Sky4OBGMcItiiay1RcZbLY8qyuzXaYhP5WdB3qic1 pEAGMx4UHAHxeVVtjZMCxkGWxZtO1dOwMzeHqR8PTHlu8lP7IN3vkfxOu2/gAyWQ5Ndy fMsA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm3 header.b="RW8+v/a2"; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=DWXVhxMB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id mf6si293365ejb.660.2020.07.08.10.43.53; Wed, 08 Jul 2020 10:44:15 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm3 header.b="RW8+v/a2"; dkim=pass header.i=@messagingengine.com header.s=fm3 header.b=DWXVhxMB; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=cerno.tech Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726876AbgGHRnQ (ORCPT + 99 others); Wed, 8 Jul 2020 13:43:16 -0400 Received: from wnew4-smtp.messagingengine.com ([64.147.123.18]:44653 "EHLO wnew4-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726859AbgGHRnO (ORCPT ); Wed, 8 Jul 2020 13:43:14 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.west.internal (Postfix) with ESMTP id 703632F2; Wed, 8 Jul 2020 13:43:13 -0400 (EDT) Received: from mailfrontend2 ([10.202.2.163]) by compute4.internal (MEProxy); Wed, 08 Jul 2020 13:43:14 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cerno.tech; h= from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; s=fm3; bh=vbjE83hg7Ongd MeQodU+dgrmswlM1THN0QhMEewZkvM=; b=RW8+v/a2EI3ks2LHkZUer3JGoGiCk ABeiOoFrl8Mai2jcM8rSjjx5sCwhg3Uw3ZThtNOw8RfMfrDLFyUY0nqP+mwsGL42 UDyezKjInwegZutxkIDqLs8OLYvlbUSICVq97cVYteD8EaQiN5ehk5Oe9fzbXl3D RcipBU38ea3uVifKZBIYLY9Y1wp/fcTPljGPEy3oU/QUYPiLf9dxib4dU8x/M7Xs sJElmJ52OY8YdlXVWyKlg72qPwShPFZf38rqYDrBoUQHfBH9p6qkMmTVU8Td/Vwu UMjAvGR3Oyzk1HMNdwkc6V6x+5VXDsEds4z14bmlkCwm+HeVlypyeQd1w== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d= messagingengine.com; h=cc:content-transfer-encoding:date:from :in-reply-to:message-id:mime-version:references:subject:to :x-me-proxy:x-me-proxy:x-me-sender:x-me-sender:x-sasl-enc; s= fm3; bh=vbjE83hg7OngdMeQodU+dgrmswlM1THN0QhMEewZkvM=; b=DWXVhxMB CsuCQo8OYJl67ZpvprUbp3z9D1Ic0v3d1vI2qryL4Y2ullV+ZgFsw4GY1koUhT7v 6GWYzWQSmxpF5Qev0waD24CapNL9nqedhxqkQy9Jz7LKDeojTwwwScsW6uAwzDFr BOnep/3yWhLZh2mulPWCn8U1DeBboj7+WN/u0p7PEQWxeND3Utl/TWdjIkMUBDzM +zA4ya3+qyiyak0DUnLAw+6ElIbwO1bQ5+f30bG1kuBOifo2ABI2QlpOA3h1Rg+x hbIP3tADSFwp87+uZJGGM3NikoYIweg58paXA6ZB+Nnv0tGsBaPmJ46rn2XvlpGQ Y4rDME0+eYXmmw== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduiedrudejgdduudejucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeforgigihhm vgcutfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecuggftrfgrth htvghrnhepvdekleevfeffkeejhfffueelteelfeduieefheduudfggffhhfffheevveeh hedvnecukfhppeeltddrkeelrdeikedrjeeinecuvehluhhsthgvrhfuihiivgepvdekne curfgrrhgrmhepmhgrihhlfhhrohhmpehmrgigihhmvgestggvrhhnohdrthgvtghh X-ME-Proxy: Received: from localhost (lfbn-tou-1-1502-76.w90-89.abo.wanadoo.fr [90.89.68.76]) by mail.messagingengine.com (Postfix) with ESMTPA id B285730600B2; Wed, 8 Jul 2020 13:43:12 -0400 (EDT) From: Maxime Ripard To: Nicolas Saenz Julienne , Eric Anholt Cc: dri-devel@lists.freedesktop.org, linux-rpi-kernel@lists.infradead.org, bcm-kernel-feedback-list@broadcom.com, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Dave Stevenson , Tim Gover , Phil Elwell , Maxime Ripard Subject: [PATCH v4 29/78] drm/vc4: crtc: Add a delay after disabling the PixelValve output Date: Wed, 8 Jul 2020 19:41:37 +0200 Message-Id: X-Mailer: git-send-email 2.26.2 In-Reply-To: References: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org In order to avoid pixels getting stuck in the (unflushable) FIFO between the HVS and the PV, we need to add some delay after disabling the PV output and before disabling the HDMI controller. 20ms seems to be good enough so let's use that. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_crtc.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/gpu/drm/vc4/vc4_crtc.c b/drivers/gpu/drm/vc4/vc4_crtc.c index d0b326e1df0a..7b178d67187f 100644 --- a/drivers/gpu/drm/vc4/vc4_crtc.c +++ b/drivers/gpu/drm/vc4/vc4_crtc.c @@ -403,6 +403,8 @@ static void vc4_crtc_atomic_disable(struct drm_crtc *crtc, ret = wait_for(!(CRTC_READ(PV_V_CONTROL) & PV_VCONTROL_VIDEN), 1); WARN_ONCE(ret, "Timeout waiting for !PV_VCONTROL_VIDEN\n"); + mdelay(20); + if (vc4_encoder->post_crtc_disable) vc4_encoder->post_crtc_disable(encoder); -- git-series 0.9.1