From patchwork Mon Feb 3 16:16:02 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Herve Codina X-Patchwork-Id: 13957753 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 3F30AC02195 for ; Mon, 3 Feb 2025 16:16:15 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 7F0D910E0F8; Mon, 3 Feb 2025 16:16:14 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=bootlin.com header.i=@bootlin.com header.b="DYRhhiSd"; dkim-atps=neutral Received: from relay6-d.mail.gandi.net (relay6-d.mail.gandi.net [217.70.183.198]) by gabe.freedesktop.org (Postfix) with ESMTPS id A950A10E0F8 for ; Mon, 3 Feb 2025 16:16:12 +0000 (UTC) Received: by mail.gandi.net (Postfix) with ESMTPA id 08FF24429E; Mon, 3 Feb 2025 16:16:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=bootlin.com; s=gm1; t=1738599371; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=nzSYXGtjhazy1f4IqKxNqCqYk7NJaq4pu6AwjqCjoIk=; b=DYRhhiSdrwFxqpw02vOdAbvWAuz17MTbhSJVWgo9KRHQ+FcdL5/MLU3gHSWGL1yBp+ZrJM bJ8pxMSxBptGflsRUOosqVyYn2hC46S17vPiX8QYZ2CBf7ojv2WozKOhyi+dLFbNuevt3L y4nR3Y6QGbAC2mhRxEVyo8MndrRZNpVNxcIFZdnLJgYdC0FI1Ls2AAQli/Hu3ZLa3KcRho OBc/uSihc1TRLnPvORZPsm7alCwyG2QbYqiRU3wyOpC1VriwsYkzu1pQ6PB6BSQ+GupfIZ cdMVqQU5RfEW7i/kBWaHC0gc/JxZHTQEJ3ifQsEuA7yDBYt1m5iRAqkSXWCDBA== From: Herve Codina To: Alexander Stein , Andrzej Hajda , Neil Armstrong , Robert Foss , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , David Airlie , Simona Vetter , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance , Marek Vasut Cc: dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, Louis Chauvet , Luca Ceresoli , Thomas Petazzoni , Herve Codina Subject: [PATCH v5 0/4] Add support for errors recovery in the TI SN65DSI83 bridge driver Date: Mon, 3 Feb 2025 17:16:02 +0100 Message-ID: <20250203161607.223731-1-herve.codina@bootlin.com> X-Mailer: git-send-email 2.47.1 MIME-Version: 1.0 X-GND-State: clean X-GND-Score: -100 X-GND-Cause: gggruggvucftvghtrhhoucdtuddrgeefvddrtddtgddukedtiecutefuodetggdotefrodftvfcurfhrohhfihhlvgemucfitefpfffkpdcuggftfghnshhusghstghrihgsvgenuceurghilhhouhhtmecufedtudenucesvcftvggtihhpihgvnhhtshculddquddttddmnecujfgurhephffvvefufffkofggtgfgsehtkeertdertdejnecuhfhrohhmpefjvghrvhgvucevohguihhnrgcuoehhvghrvhgvrdgtohguihhnrgessghoohhtlhhinhdrtghomheqnecuggftrfgrthhtvghrnhepleetudffledtvddtffegudfgjeffgeegkeehjeeigffgieevhfekffehheehieeunecuffhomhgrihhnpehkvghrnhgvlhdrohhrghenucfkphepledtrdekledrudeifedruddvjeenucevlhhushhtvghrufhiiigvpedtnecurfgrrhgrmhepihhnvghtpeeltddrkeelrdduieefrdduvdejpdhhvghloheplhhotggrlhhhohhsthdrlhhotggrlhguohhmrghinhdpmhgrihhlfhhrohhmpehhvghrvhgvrdgtohguihhnrgessghoohhtlhhinhdrtghomhdpnhgspghrtghpthhtohepvdeipdhrtghpthhtoheprghlvgigrghnuggvrhdrshhtvghinhesvgifrdhtqhdqghhrohhuphdrtghomhdprhgtphhtthhopegrnhgurhiivghjrdhhrghjuggrsehinhhtvghlrdgtohhmpdhrtghpthhtohepnhgvihhlrdgrrhhmshhtrhhonhhgsehlihhnrghrohdrohhrghdprhgtphhtthhopehrfhhoshhssehkvghrnhgvlhdro hhrghdprhgtphhtthhopefnrghurhgvnhhtrdhpihhntghhrghrthesihguvggrshhonhgsohgrrhgurdgtohhmpdhrtghpthhtohepjhhonhgrsheskhifihgsohhordhsvgdprhgtphhtthhopehjvghrnhgvjhdrshhkrhgrsggvtgesghhmrghilhdrtghomhdprhgtphhtthhopegrihhrlhhivggusehgmhgrihhlrdgtohhm X-GND-Sasl: herve.codina@bootlin.com X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Hi, Usually the TI SN65DSI83 recovers from error by itself but during ESD tests, we have some cases where the TI SN65DSI83 didn't recover. In order to handle those cases, this series adds support for a recovery mechanism. Compare to the previous iteration, this v5 series fixes the v4 series because the v4 series fails to apply on top of v6.14-rc1. The modification are still the same as for the v4 series (v4 series should be simply ignored): - rebase on top of v6.14-rc1 - disable/re-enable irq in the failure detection and reset process - Split the patch moving reset_pipe() from VC4 to a new helper - Rename the new helper to drm_atomic_helper_reset_crtc() - Remove state duplication and use bridge.encoder->crtc Best regards, Hervé Codina Changes v4 -> v5 v4: https://lore.kernel.org/lkml/20250203145824.155869-1-herve.codina@bootlin.com/ Exact same changes as the v4. The v4 series doesn't apply on top of v6.14-rc1 and should be simply ignore. This v5 series is the v4 fixed to apply on top of v6.14-rc1. Changes v3 -> v4 v3: https://lore.kernel.org/lkml/20250108101907.410456-1-herve.codina@bootlin.com/ - Patch 1: No changes - Patch 2 and 3 (patch 2 in v3): Rename the helper to drm_atomic_helper_reset_crtc() Split the patch available in v3 in two patches. - Patch 4 (patch 3 in v3): Take into account commit d2b8c6d549570 ("drm/bridge: ti-sn65dsi83: Add ti,lvds-vod-swing optional properties"), available in v6.14-rc1. Disable irq when a fault is detected and re-enable it after the pipe reset. Remove state duplication and use bridge.encoder->crtc directly Changes v2 -> v3 v2: https://lore.kernel.org/lkml/20241217143216.658461-1-herve.codina@bootlin.com/ - Patch 1: No changes - Patch 2 (new in v3) Move reset_pipe() from VC4 HDMI driver to a new atomic helper - Patch 3 Use the new drm_atomic_helper_reset_pipe() Patch removed in v3 - Patch 2 in v2 No more needed Changes v1 -> v2 v1: https://lore.kernel.org/lkml/20241024095539.1637280-1-herve.codina@bootlin.com/ - Patch 1: Add 'Reviewed-by: Laurent Pinchart ' Add 'Acked-by: Conor Dooley ' - Patch 2 (new patch in v2) Introduce drm_atomic_helper_disable_connector() - Patch 3 (patch 2 in v1) Reset the output path instead of the full pipeline. Update and add more information related to the bridge in commit log. Herve Codina (4): dt-bindings: display: bridge: sn65dsi83: Add interrupt drm/atomic-helper: Introduce drm_atomic_helper_reset_crtc() drm/vc4: hdmi: Use drm_atomic_helper_reset_crtc() drm: bridge: ti-sn65dsi83: Add error recovery mechanism .../bindings/display/bridge/ti,sn65dsi83.yaml | 3 + drivers/gpu/drm/bridge/ti-sn65dsi83.c | 131 ++++++++++++++++++ drivers/gpu/drm/drm_atomic_helper.c | 41 ++++++ drivers/gpu/drm/vc4/vc4_hdmi.c | 30 +--- include/drm/drm_atomic_helper.h | 2 + 5 files changed, 178 insertions(+), 29 deletions(-)