From patchwork Thu Oct 22 12:31:02 2026 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Maxime Ripard X-Patchwork-Id: 3690 Return-Path: X-Original-To: noreply@patchwork.local Delivered-To: noreply@patchwork.local Received: from tor.lore.kernel.org (tor.lore.kernel.org [172.105.105.114]) by mxe881.netcup.net (Postfix) with ESMTPS id 2FA021C1F46 for ; Thu, 22 Oct 2026 14:34:05 +0200 (CEST) Authentication-Results: mxe881; dkim=pass header.d=kernel.org; spf=pass (sender IP is 172.105.105.114) smtp.mailfrom=linux-sunxi+bounces-26794-noreply=patchwork.local@lists.linux.dev smtp.helo=tor.lore.kernel.org Received-SPF: pass (mxe881: domain of lists.linux.dev designates 172.105.105.114 as permitted sender) client-ip=172.105.105.114; envelope-from=linux-sunxi+bounces-26794-noreply=patchwork.local@lists.linux.dev; helo=tor.lore.kernel.org; Received: from smtp.subspace.kernel.org (conduit.subspace.kernel.org [100.77.114.92]) by tor.lore.kernel.org (Postfix) with ESMTP id 76584336A1 for ; Thu, 22 Oct 2026 12:34:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=pass header.oldest-pass=0 smtp.remote-ip=127.0.0.1 ARC-Seal: i=2; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=pass; t=1792672438; b=5q0e76GizfZkyDmBHeAkZzWlGX7wDcoLhXOwPoArz6ZtBwbJ5GraDTTFCWrlfajcqHbz +djcfcxOCx9jzasvu2ipxpqSpTPcYmPGaBJmLH/PtoKnjcF/+wVdNejJTjut1TUbNjNLP Pf8srY5KKbnhU4X0cpQPZ98LmZnXG/0OfHaTMuOph/fHJ8hB7VgGuUP59oFrDrDnkStVs Gh/M8OeTlV6GK+GCoDRMq8aqYtoSe+bAfvJTzZiTV5JpZg7pTkZL+bJEqH1+hBgSePbvg yD2Ohl/VpiHnXE9pF+hfu9KwP1n2Bq6mEXIOUV3OuiLpW+V4cdNHTIvm5qsx51rBXLw== ARC-Message-Signature: i=2; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1792672438; h=X-Original-To:Received:Received:DKIM-Signature:From:Date:Subject: X-Mailing-List:List-Id:List-Post:List-Help:List-Subscribe: List-Unsubscribe:List-Owner:Precedence:MIME-Version:Content-Type: Content-Transfer-Encoding:Message-Id:References:In-Reply-To:To:Cc: X-Mailer:X-Developer-Signature:X-Developer-Key; bh=R5NqjsBtdfSlBxgApwXp7wa9JoQIf7G6bjvd02RO+To=; b=BL4SI0KHhcvafwlcoICpAiN0o6GWLdidj/0P3FnGxc6ORmWR1LFsihc3narsNCuvgSod yLb08VQZo+vt7UKDyUakgPsvNit70Zv52q+nlaPlxo4MEzPkKY0eju4NkNveudV1BGiAD Fzx/YOILVCzNx4PGESABWgfQDIE0BVSQqinhDiuUSHaIHRGddFo91x6rmwFOgNSi8qrbm TSe11Dp3mr4ZV+J9Z1yvDyiprrm+yD6nMueWVz9pqxvE8blpipci6EjLpno1nYkU8HWfq 3diecyw3zmx6mOcN8Hlt9CRAXcriVYSQ6SDn4AjmCP2FUbwoBUI6+O1cLyeJNecPWSw== ARC-Authentication-Results: i=2; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=XG0gN8fW; arc=pass header.oldest-pass=0 smtp.remote-ip=127.0.0.1 Received: from localhost.localdomain (localhost [127.0.0.1]) by smtp.subspace.kernel.org (Postfix) with ESMTP id BFF9B606A31E; Thu, 22 Oct 2026 12:33:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=XG0gN8fW X-Original-To: linux-sunxi@lists.linux.dev Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=100.103.45.18 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1792672438; b=ndMx0OoMwlcepgOc3nFTp9QzlSonXgfGaEpX8RV52LGK+F6/mbtQ85GqC9DGTFFqOmbS zBAcUCTAIoY86kgQW7CLs5ogfdNV+cqk5pLrIjgJ32sS79TmOF4N66yxXC7wLgSIvJcIA Ck8WcKDqPJXXyPm7E/1NUdSGDwKuI1t9R/j65YX6I5S6zJ+zIx4ONelCMsL0hbOe6kCB7 DFPgsAjqjtC8qRTpU+MU6p2pgDILYdBzHLeizoewjyYwq0iIvMXVwzl0Fjo6PdehRD4od GYDsJHouQnirz1xWHAsgVdZECGKQcLo11i5+XQAH6D5oIZJDnR4U5Ait29k79DtaJ+w== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1792672438; h=Received:DKIM-Signature:From:Date:Subject:MIME-Version:Content-Type: Content-Transfer-Encoding:Message-Id:References:In-Reply-To:To:Cc: X-Mailer:X-Developer-Signature:X-Developer-Key; bh=R5NqjsBtdfSlBxgApwXp7wa9JoQIf7G6bjvd02RO+To=; b=UXsVdOIMyIyW4QUMOmd4GbUAhK7qnfzwNGr7hzki2zJiP8BjUnR7hQp6OalzsVIIGhCo PbyhgmSbRGsuTsXYYx1W4xWCGC5jt2EfGY8IaN0JQXqfObqgDqPT2qjkkOjLmQtngv7HK TM2pT3ug+Txezh0w7nqc/1YMkG5AYjYSWSWSm+h2ZqdGZWsig3MambGdPnSihlt76xEbQ Eh4AopEeRRccn/dwb2EGS9VvoSQQyY8pucvZ0x55opMPyMqni1G+h6vqZvrplHCLsRgvT Jkb33tdT1gVdX7PtqPwBOwhGHnQjrL8wL3+7U1ivUN7cAlQJTEO1WeK8yvE7u7kgglg== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass header.d=kernel.org header.i=@kernel.org header.a=rsa-sha256 header.s=k20260515 header.b=XG0gN8fW; arc=none smtp.remote-ip=100.103.45.18 Received: from smtp.kernel.org (quasi.space.kernel.org [100.103.45.18]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (prime256v1)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6148C606A319 for ; Thu, 22 Oct 2026 12:33:58 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 86F5B1F000C3; Thu, 22 Oct 2026 12:33:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=kernel.org; s=k20260515; t=1792672438; bh=R5NqjsBtdfSlBxgApwXp7wa9JoQIf7G6bjvd02RO+To=; h=From:Date:Subject:References:In-Reply-To:To:Cc; b=XG0gN8fWDlyEoORJM9sSAOwW8Qf0rV7hZIISN56tWT1/z3daT+Kq7Bt/JmfAtOSEY BCTAgMZF2fwBJvVzsSZI3vTnU78SmEm2kg6vNEBgHiEkiQgtHJJSJhW2ZJcxZ8I13W mKQgEfZ9okkd330sFutQ27OW1q4zM9osF8eudipU2pDVwykX9uTMrOlWM25QAarBXz jGNNi7fp6fdl1v/bTgxnNYeKwgnSnaOkthxQJeN/QYdaIdxpPAiagk3terbNoGmZku uFOlP6JKAjZDZwiuknxeMWJXxg9nBnj25FldGjLUF++OB+3oZSko+L8LCbC/bg+g83 TNsLXWGyyGuvw== From: Maxime Ripard Date: Thu, 22 Oct 2026 14:31:02 +0200 Subject: [PATCH v2 03/59] drm/atomic-state-helper: Rename connector_tv_reset to state_init X-Mailing-List: linux-sunxi@lists.linux.dev List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Message-Id: <20261022-drm-no-more-connector-reset-v2-3-0b7e4e85b1e8@kernel.org> References: <20261022-drm-no-more-connector-reset-v2-0-0b7e4e85b1e8@kernel.org> In-Reply-To: <20261022-drm-no-more-connector-reset-v2-0-0b7e4e85b1e8@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, Maxime Ripard , =?utf-8?q?Ma=C3=ADra_Canal?= , Chen-Yu Tsai , Dave Stevenson , Raspberry Pi Kernel Maintenance , Samuel Holland , linux-sunxi@lists.linux.dev X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=openpgp-sha256; l=4565; i=mripard@kernel.org; h=from:subject:message-id; bh=4UEBRjahnLkdgx7ZqR/1VzPz62Lw2lvUFE2DNgvNxQo=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDFm3mPq2/Gd78sBJLX/KhosfrPxCFidzTC6tXOdj++Qri 1euwfTvHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BWAi3JMYG7avuqMZcEj0W1q4 u4NveHnVDhaZzQXTtD/teXo+/dWlZo7+mnsXnriWr2TcuPzO+vncExnrDN7I1a1kmHDx8evP3Qe dXh5Lep8f8kai+f7qQudyo3rhz52TzKu50qtv+MoFTb6k1fQGAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-Rspamd-Server: rspamd-worker-8404 X-Spamd-Result: default: False [1.81 / 15.00]; RBL_SENDERSCORE(2.00)[172.105.105.114:from]; MAILLIST(-0.18)[generic]; MIME_GOOD(-0.10)[text/plain]; BAD_REP_POLICIES(0.10)[]; HAS_LIST_UNSUB(-0.01)[]; FROM_NEQ_ENVFROM(0.00)[mripard@kernel.org,linux-sunxi@lists.linux.dev]; RCVD_COUNT_FIVE(0.00)[5]; R_DKIM_ALLOW(0.00)[kernel.org:s=k20260515]; FROM_HAS_DN(0.00)[]; RCVD_VIA_SMTP_AUTH(0.00)[]; RCPT_COUNT_TWELVE(0.00)[12]; ASN(0.00)[asn:63949, ipnet:172.105.96.0/20, country:SG]; DBL_BLOCKED_OPENRESOLVER(0.00)[tor.lore.kernel.org:helo,tor.lore.kernel.org:rdns,linux.dev:email,igalia.com:email]; FORGED_SENDER_MAILLIST(0.00)[]; TAGGED_FROM(0.00)[bounces-26794-noreply=patchwork.local]; ARC_ALLOW(0.00)[subspace.kernel.org:s=arc20261015:i=2]; R_SPF_ALLOW(0.00)[+ip4:172.105.105.114]; DKIM_TRACE(0.00)[kernel.org:+]; TO_DN_SOME(0.00)[]; RECEIVED_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[100.103.45.18:received,100.77.114.92:received]; MID_RHS_MATCH_FROM(0.00)[]; DMARC_POLICY_ALLOW(0.00)[kernel.org,quarantine]; FORGED_RECIPIENTS_MAILLIST(0.00)[]; FREEMAIL_TO(0.00)[linux.intel.com,suse.de,gmail.com,ffwll.ch]; RCVD_TLS_LAST(0.00)[]; MIME_TRACE(0.00)[0:+]; RBL_SPAMHAUS_BLOCKED_OPENRESOLVER(0.00)[172.105.105.114:from] X-Rspamd-Queue-Id: 2FA021C1F46 X-MORS-Enabled: yes X-MORS-DOMAIN: patchwork.local X-MORS-HOSTING: hosting172546 X-MORS-USER: hosting172546 X-getmail-retrieved-from-mailbox: =?utf-8?q?INBOX?= Recent commits renamed other reset helpers to use the state_init suffix when they only initialize properties rather than allocate or update the object state itself. drm_atomic_helper_connector_tv_reset() falls in the same category: it initializes the analog TV properties from the kernel command line defaults without allocating any state. It also reads the connector state through connector->state, coupling it to the reset path. Rename it to drm_atomic_helper_connector_tv_state_init() and pass the connector state explicitly as a parameter. This decouples it from the reset hook and prepares for the conversion to atomic_create_state where connector->state is not yet assigned. Signed-off-by: Maxime Ripard Reviewed-by: Maíra Canal --- Cc: "Maíra Canal" Cc: Chen-Yu Tsai Cc: Dave Stevenson Cc: Raspberry Pi Kernel Maintenance Cc: Samuel Holland Cc: linux-sunxi@lists.linux.dev --- drivers/gpu/drm/drm_atomic_state_helper.c | 13 +++++++------ drivers/gpu/drm/sun4i/sun4i_tv.c | 2 +- drivers/gpu/drm/vc4/vc4_vec.c | 2 +- include/drm/drm_atomic_state_helper.h | 3 ++- 4 files changed, 11 insertions(+), 9 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic_state_helper.c b/drivers/gpu/drm/drm_atomic_state_helper.c index 565947c544fe..3534925636d5 100644 --- a/drivers/gpu/drm/drm_atomic_state_helper.c +++ b/drivers/gpu/drm/drm_atomic_state_helper.c @@ -502,14 +502,15 @@ EXPORT_SYMBOL(drm_atomic_helper_connector_tv_margins_state_init); /** - * drm_atomic_helper_connector_tv_reset - Resets Analog TV connector properties + * drm_atomic_helper_connector_tv_state_init - Initializes Analog TV connector properties + * @state: the DRM state object * @connector: DRM connector * - * Resets the analog TV properties attached to a connector + * Initializes the analog TV properties attached to a connector */ -void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector) +void drm_atomic_helper_connector_tv_state_init(struct drm_connector_state *state, + struct drm_connector *connector) { struct drm_device *dev = connector->dev; struct drm_cmdline_mode *cmdline = &connector->cmdline_mode; - struct drm_connector_state *state = connector->state; struct drm_property *prop; uint64_t val; @@ -572,7 +573,7 @@ void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector) state->tv.hue = val; - drm_atomic_helper_connector_tv_margins_state_init(connector->state, connector); + drm_atomic_helper_connector_tv_margins_state_init(state, connector); } -EXPORT_SYMBOL(drm_atomic_helper_connector_tv_reset); +EXPORT_SYMBOL(drm_atomic_helper_connector_tv_state_init); /** diff --git a/drivers/gpu/drm/sun4i/sun4i_tv.c b/drivers/gpu/drm/sun4i/sun4i_tv.c index ce22f1662c0c..ea86f8a6a35e 100644 --- a/drivers/gpu/drm/sun4i/sun4i_tv.c +++ b/drivers/gpu/drm/sun4i/sun4i_tv.c @@ -409,5 +409,5 @@ static void sun4i_tv_connector_reset(struct drm_connector *connector) { drm_atomic_helper_connector_reset(connector); - drm_atomic_helper_connector_tv_reset(connector); + drm_atomic_helper_connector_tv_state_init(connector->state, connector); } diff --git a/drivers/gpu/drm/vc4/vc4_vec.c b/drivers/gpu/drm/vc4/vc4_vec.c index 215b5d3dc5c5..7ab77f97df31 100644 --- a/drivers/gpu/drm/vc4/vc4_vec.c +++ b/drivers/gpu/drm/vc4/vc4_vec.c @@ -381,5 +381,5 @@ static void vc4_vec_connector_reset(struct drm_connector *connector) { drm_atomic_helper_connector_reset(connector); - drm_atomic_helper_connector_tv_reset(connector); + drm_atomic_helper_connector_tv_state_init(connector->state, connector); } diff --git a/include/drm/drm_atomic_state_helper.h b/include/drm/drm_atomic_state_helper.h index 4dac741af22c..5e8619aeef21 100644 --- a/include/drm/drm_atomic_state_helper.h +++ b/include/drm/drm_atomic_state_helper.h @@ -72,5 +72,6 @@ void drm_atomic_helper_connector_reset(struct drm_connector *connector); struct drm_connector_state * drm_atomic_helper_connector_create_state(struct drm_connector *connector); -void drm_atomic_helper_connector_tv_reset(struct drm_connector *connector); +void drm_atomic_helper_connector_tv_state_init(struct drm_connector_state *state, + struct drm_connector *connector); int drm_atomic_helper_connector_tv_check(struct drm_connector *connector, struct drm_atomic_commit *state);