Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp951570ybm; Wed, 27 May 2020 12:01:23 -0700 (PDT) X-Google-Smtp-Source: ABdhPJzWQwLGJZ/4bPpc3MdmHq0v65n48pUNxIiSzLaEo04phJLiXo5Nblav9OwL1HzKl+PDcCes X-Received: by 2002:a17:906:703:: with SMTP id y3mr7514481ejb.61.1590606083058; Wed, 27 May 2020 12:01:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590606083; cv=none; d=google.com; s=arc-20160816; b=mhgS1dI22oJkMH3t3QpfCmj9V1FC1OAZPSN2u4kzcFqWAQlwyhsoeVmf2GP1WeVZf7 /Y+iPx/MbX4SSljcaAIz1lAa2yIfaymkdIKgpye1EYDN9MEjo8Vb/iKZ/vWxojS387mr H21icX6KqOyRvnz5CXiFQvALw4V+pscTxWcVPaBNWa8NyTh8naWqX5RsPmqO/oy3v4Cj HoYAQsPQq8baynxybEaEv40Eeo6pbyVEWV+p9jvP8Q+NPlYeq8/STQo6e5Ltamc85hMK rEfgKP91Le2XS1cLMdTOIS47y3NgDxYZ1yPZGZcbqRkZwe74TgX4+zSY1WiRG9homt6x YgxA== 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=P60EMhfBagvbNCYsash0laZNNpJmdalqtze5MocJiC8=; b=ImhxcyOTowHbdLEQnkz/tO4MQTqIZ7HVe0mjiED6rgC8du7MljLFcCxxMb8CcoV+Nh jpa9sJSZyQGyIkU84DHzeNF9EeM4cjNLZ3/PJWKQWi+WcH9bZcAa9h11YxVURGEDse4t 029fKF91qfAvJ9GpdS0KkTQC/pkERjgEqv79aK4c06slnwIN/3kR2oRx5+QjsYfvJ6tZ 3lNXWq49fO/wRBHGhz2ob35IdYv7ZrzDoPUKUEv2/FDScjlNLBHOFqets7lJi5XOEtnn edxwA0es9NtU2iLeODfUGUyBfiIq1M6CIabLE85XNnFvksyAFwuZF4Ybt/uAu660Ht0S XRng== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@cerno.tech header.s=fm2 header.b=VmBFaM76; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=Cghlw0OL; 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 r6si2203439edq.553.2020.05.27.12.01.00; Wed, 27 May 2020 12:01:23 -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=fm2 header.b=VmBFaM76; dkim=pass header.i=@messagingengine.com header.s=fm2 header.b=Cghlw0OL; 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 S2390285AbgE0PvO (ORCPT + 98 others); Wed, 27 May 2020 11:51:14 -0400 Received: from new1-smtp.messagingengine.com ([66.111.4.221]:47187 "EHLO new1-smtp.messagingengine.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730587AbgE0Puo (ORCPT ); Wed, 27 May 2020 11:50:44 -0400 Received: from compute4.internal (compute4.nyi.internal [10.202.2.44]) by mailnew.nyi.internal (Postfix) with ESMTP id B3FBC5820B3; Wed, 27 May 2020 11:50:43 -0400 (EDT) Received: from mailfrontend1 ([10.202.2.162]) by compute4.internal (MEProxy); Wed, 27 May 2020 11:50:43 -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=fm2; bh=P60EMhfBagvbN CYsash0laZNNpJmdalqtze5MocJiC8=; b=VmBFaM76vEge6Z0d+XLGWJbq05u6y nT3QKUCyo/p2UmRZ4A/I7yujmq3lj4IJvHIsXuQZ/ZJBk9CANQrlILyPXIUzDjEm pKmrfYdt91xFxzH5umMh64X6FfVAdxOCqVK079lqbAYt5cfgSxdOsQr6pSBg/ikw +BJFd7bxwpFuXq1f6Gs+8pNP9A5lXrDa4Cygv4TFX7hx3SThjd4jwKHXMttPFXHY Mbd9MtHzIDPg9OIOiRis8CAv0S7j84WuWQPkMma9qwfRGafBLinKD7yOjkQcNi8/ 4ERSVQiKCSnsQqsqZZtDrRZjcUH8Da9hyvA3GhHZ9chVnGStjj6UVEkTw== 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= fm2; bh=P60EMhfBagvbNCYsash0laZNNpJmdalqtze5MocJiC8=; b=Cghlw0OL YCDeBLvW+8F/luj+HI3Wa768qbFC3ek/HT9XPMraN+d5wXtavtE/MD95rkEfVF85 RK2va8xxAlcJ0XhD0ctB7AqsfA0uTZ1QGE1NOKKp8QVrfcp1OrR7xzfMT4+k4TwG L2SpSlvf+w+UykdNeYrLswnDCgQoSfkTdjo3e6bqz7H/Qv7Ujp6ByqkK6JwuBW5B oHnk/Im77LVeJFbMIakR9rWtanMOBAQl9vykPpKO01d97K1dQFPTdu8jsIiPH2ip XgUIFriyWF96MmiBi91CUA1kytHBm1JkyX+bVd0diq/0Tc14+Jz8c7kbKxAoh2nc j9bfBcUuephtIg== X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgeduhedruddvgedgkeegucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhephffvufffkffojghfggfgsedtkeertdertddtnecuhfhrohhmpeforgigihhm vgcutfhiphgrrhguuceomhgrgihimhgvsegtvghrnhhordhtvggthheqnecuggftrfgrth htvghrnhepvdekleevfeffkeejhfffueelteelfeduieefheduudfggffhhfffheevveeh hedvnecukfhppeeltddrkeelrdeikedrjeeinecuvehluhhsthgvrhfuihiivgepfeeine 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 69D953280066; Wed, 27 May 2020 11:50:43 -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 v3 054/105] drm/vc4: hvs: Make the stop_channel function public Date: Wed, 27 May 2020 17:48:24 +0200 Message-Id: <4e35aebe56e1bb32d3b64012cf0d455f1b32ef28.1590594512.git-series.maxime@cerno.tech> 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 During the transition from the firmware to the KMS driver, we need to pay particular attention to how we deal with the pixelvalves that have already been enabled, otherwise either timeouts or stuck pixels can occur. We'll thus need to call the function to stop an HVS channel at boot. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_drv.h | 1 + drivers/gpu/drm/vc4/vc4_hvs.c | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.h b/drivers/gpu/drm/vc4/vc4_drv.h index ba24bad86905..d51b695732e0 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.h +++ b/drivers/gpu/drm/vc4/vc4_drv.h @@ -879,6 +879,7 @@ void vc4_irq_reset(struct drm_device *dev); /* vc4_hvs.c */ extern struct platform_driver vc4_hvs_driver; +void vc4_hvs_stop_channel(struct drm_device *dev, unsigned int output); int vc4_hvs_atomic_check(struct drm_crtc *crtc, struct drm_crtc_state *state); void vc4_hvs_atomic_enable(struct drm_crtc *crtc, struct drm_crtc_state *old_state); void vc4_hvs_atomic_disable(struct drm_crtc *crtc, struct drm_crtc_state *old_state); diff --git a/drivers/gpu/drm/vc4/vc4_hvs.c b/drivers/gpu/drm/vc4/vc4_hvs.c index ec58870acb7b..1785c49534cf 100644 --- a/drivers/gpu/drm/vc4/vc4_hvs.c +++ b/drivers/gpu/drm/vc4/vc4_hvs.c @@ -248,7 +248,7 @@ static int vc4_hvs_init_channel(struct vc4_dev *vc4, struct drm_crtc *crtc, return 0; } -static void vc4_hvs_stop_channel(struct drm_device *dev, unsigned int chan) +void vc4_hvs_stop_channel(struct drm_device *dev, unsigned int chan) { struct vc4_dev *vc4 = to_vc4_dev(dev); -- git-series 0.9.1