From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4D2EB279789; Mon, 25 Aug 2025 13:43:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129418; cv=none; b=A/COcedbmcqeuIs8ClMCPV7XqyxQkvVUvx8VLco24WzGKe0sVGJknH+GVJ/T5LCQK1ubaAkmBDpLpD/6idAIaR5VdxDGds2hElOhU9n0kGSavqE3cQlmZzUF9jt7EZhvMViO6CnQGOguwLjkkUFKWmIOf3YigedNa0jJ4CQ0Gz0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129418; c=relaxed/simple; bh=fRlvE8ePbEUQlPi4SftjLgiOk4WsYYC2DKU3UHlDcig=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lMN3muep1ZhyFEVX2Bw/v4XZ+WA2+E/PnQqjs70Zw7binklpNiBMkpYvV4A0tDRWYH+rWWrilQwK0qZ8X9DtXypvnLhCDWjnEeqajVT0VZ8xPQbLXE6EkkkxvPk8rX+c8Y3aHX+5de6fI1YYwiWsgR4zRmSiI+JyA437akS6D/A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bFhidSqW; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bFhidSqW" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 58E55C4CEF4; Mon, 25 Aug 2025 13:43:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129417; bh=fRlvE8ePbEUQlPi4SftjLgiOk4WsYYC2DKU3UHlDcig=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bFhidSqWZE3ksEZ1z+MAWokhw6hEwtnZJYHsDuCvvwHCmCjgjrwUAjKCJsYR5fbPS xCdlo4D+XzkxJFdL7sslS3OHoR75iVeXGAuJiQI1Stxvq1jIo1cBD6i4czSPKbW+J3 h5Z290ucnaVwFVpFfUgaMjMH4onGvJR3T9lS0fDv/8LmWcD+P+R48f5H9mXkc0pxDu FF3c+SJWKGyS4aKsnwOWighFM04ce5URWGweE5X8ToKICKK1APpqA0kZwkdkSeCO1q WSO46lxARwlORpN8CWmKYJCh6QKzTagC7BTnWyErp2lvwRuiENe0AUd5ndJk9wRHFb McIcImPq0vuAA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:06 +0200 Subject: [PATCH 01/39] drm/atomic: Make drm_atomic_get_connector_state() early return consistent Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-1-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1821; i=mripard@kernel.org; h=from:subject:message-id; bh=fRlvE8ePbEUQlPi4SftjLgiOk4WsYYC2DKU3UHlDcig=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMooahIxPfue/4M0epeJXJWzrea18yz5v2d68hEtco ZMP/Z7YMZWFQZiTQVZMkeWJTNjp5e2LqxzsV/6AmcPKBDKEgYtTACZyeR1jw08zid3vNn6/fNhl 2ewjD1x7dqREfIg+KnPnm3Bh28/H7trn5R92pl07tFyM1ZzHOyeyhLGhX4O/5nvb/qWXzkuV5jO wL+LYzvvD/JyIOZuDSNikXac95H9LMRs3BQpyWwQVW/QK7AEA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_connector_state() tries to lookup if a connector state was already allocated in the global state to return early if it was the case. drm_atomic_get_plane_state() and drm_atomic_get_crtc_state() behave similarly. However, and unlike the other two, drm_atomic_get_connector_state() will do that lookup after having called drm_modeset_lock(), when the others will do it before. Let's move the early return before the lock to make it consistent. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index cd15cf52f0c9144711da5879da57884674aea9e4..fe21f154e0fa030f85fb3d6d35e= 2684adcf36e26 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1128,10 +1128,13 @@ drm_atomic_get_connector_state(struct drm_atomic_st= ate *state, struct drm_mode_config *config =3D &connector->dev->mode_config; struct drm_connector_state *connector_state; =20 WARN_ON(!state->acquire_ctx); =20 + if (state->connectors[index].state) + return state->connectors[index].state; + ret =3D drm_modeset_lock(&config->connection_mutex, state->acquire_ctx); if (ret) return ERR_PTR(ret); =20 index =3D drm_connector_index(connector); @@ -1150,13 +1153,10 @@ drm_atomic_get_connector_state(struct drm_atomic_st= ate *state, sizeof(*state->connectors) * (alloc - state->num_connector)); =20 state->num_connector =3D alloc; } =20 - if (state->connectors[index].state) - return state->connectors[index].state; - connector_state =3D connector->funcs->atomic_duplicate_state(connector); if (!connector_state) return ERR_PTR(-ENOMEM); =20 drm_connector_get(connector); --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1DE1A277C9D; Mon, 25 Aug 2025 13:43:41 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129421; cv=none; b=XXLqUyXuQ5leJWnwlVNhmUS/7BhVXZ3H9Zvvq9eiruVRPyikQ338U3qgeKfV4Fe1C6Ytt65rPgsIcnJf7fryalBaVIh7a6y8bObE2M/V1W0S31eGtAIWsLVcdUwLhgjO4+xMkfvf3t2kfESc0Ny1uol54OZxkbhC746Mr6okXYA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129421; c=relaxed/simple; bh=PvFz2tbovLUK8GLCCWdRDnXPX4fkTXJc0fftU/dIBLY=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=WEqG8kJ4BvUMz9TEkQCnu2PGaPoSQZ7mEPomoioOOcljylhvVUS77TTTIdrD5VpyKrw2xZQzCyV6gEmMM2wZZtR+aPJAy764x4bSzBs7JP6LFGtTDppK5plEiEY2Uuddn0q7xoxZrZwbfH5HBzKMg0AFrplYdN5fGHHN80eIWJo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tr3F9Alt; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Tr3F9Alt" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7CD67C116C6; Mon, 25 Aug 2025 13:43:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129421; bh=PvFz2tbovLUK8GLCCWdRDnXPX4fkTXJc0fftU/dIBLY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Tr3F9Altbjhrs1x7p1Zk97B/11uNdPU11CbH4+eY0nYoE55PZD2t7HCbjBUjw+u4e gcaFB0Ugd+47dJLl8SdPpCAE66TW281L29vAxjNF9ItcwKxgvJ/XlC8VEeu75NT+hC y+VrKP5sn4D1nHn/tPvsOpojXAqnjUcjUsWdhsLovTqqyGDuFFMfEbweQi1D2OlrRt oSz2k0OtQxBgcHI8BQ2PT49cdFG4cb20aioGCdUUhx3FsqaQiSuV8G/D5bRiQX+oxV QD7EwIdjOxtcngg6EmAv84R6oVO1+Tri7zeuU2HsbC2SmCQb59BzIxDQ4eRVcRkfSH 50w0wrutKkjLQ== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:07 +0200 Subject: [PATCH 02/39] drm/atomic: Convert drm_atomic_get_connector_state() to state accessor Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-2-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1302; i=mripard@kernel.org; h=from:subject:message-id; bh=PvFz2tbovLUK8GLCCWdRDnXPX4fkTXJc0fftU/dIBLY=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMorri+d9DrAsKeHa9y+OcWHuko2W85tnLGXqnem3Q 0SzQUOxYyoLgzAng6yYIssTmbDTy9sXVznYr/wBM4eVCWQIAxenAEzk/2HGhou2witn34m6Zno7 /9crnSsPlLlOip/6aPpbf43//oWmn9au6tBvviY2YfneCywB1soXZjI2vH11eYewphHbWrGz6gq PuQUa/+1a46x/8fqppNdPr9xpEQ+y6suc/cymSzrrs+3PPjEZAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_existing_connector_state() looks up if a connector state was already allocated in the global state before trying to allocate a new one. It does so using a hand-crafted version of drm_atomic_get_existing_connector_state(), so let's convert to that helper, even though it's currently deprecated. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index fe21f154e0fa030f85fb3d6d35e2684adcf36e26..660b081ff5d8c39061cebfb5ea1= 22ac1e51677ad 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1128,12 +1128,13 @@ drm_atomic_get_connector_state(struct drm_atomic_st= ate *state, struct drm_mode_config *config =3D &connector->dev->mode_config; struct drm_connector_state *connector_state; =20 WARN_ON(!state->acquire_ctx); =20 - if (state->connectors[index].state) - return state->connectors[index].state; + connector_state =3D drm_atomic_get_existing_connector_state(state, connec= tor); + if (connector_state) + return connector_state; =20 ret =3D drm_modeset_lock(&config->connection_mutex, state->acquire_ctx); if (ret) return ERR_PTR(ret); =20 --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0AB5C279357; Mon, 25 Aug 2025 13:43:44 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129424; cv=none; b=LLh8NWtEiXhJip4FxWVR/lL0bAm1PivB7iYn6ea5+h/1/JafQwo++NW45YK370BHALF6YWxYzoWEmFsYUl/coFlJVM+XJGCJmks2aq+DcvoXOMsKNwRUGG4/LG0DLUyHOleu4zgECGwoWGO1AVPKujAdiofmhycZmMWU93YPSTk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129424; c=relaxed/simple; bh=SkC2OYWRCfo1mXdc8s1OlAFhd2ZbE2QZTG+wQcJNj0E=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n//wXSydsPwKbv7MTMvjYl1kyNw12UhR9SKhl58aV0QI43g+5CKQ9pN62ahFR8Pdn9cukMEuwyUB0ZvYhPeejXFQTmMwHRdQLTqrP3fd517O89T/zCq2bFD/DcRDfrzCuB+mfMRjsvKTX5BODKBVVrnXr5vA6AeMoAYX6JyY9AI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IsunBBc0; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IsunBBc0" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 619D3C4CEED; Mon, 25 Aug 2025 13:43:43 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129423; bh=SkC2OYWRCfo1mXdc8s1OlAFhd2ZbE2QZTG+wQcJNj0E=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=IsunBBc0zfRo4QhcTj1sI593baVUz/CmfiWpv5tMmzRRWObXuu4WfoPby56Qxy2Mz ng9S8qtZQWLcZOkd8l3kIv6BEW7yLczrw6h9f9kOlMHDTL3zG+w1SChW/gTDq4O82Z KMKsQVsWdCcUV7grOjnpRO4spHxfrQEPl7f+ShCpj8wEgM3B16htTf61RQREvheIzr M53s3OsSWv47q5XanoZjijN/j2r/A1tnDGgba51bX6ph4NLT951pvoJlNgDRyjuztX 3uvunmUK+keyYQLlNIc441l1ugZP0A6PNSKJqvK9/tqYZhIO7Huf8WEQpluLUG902V k0sKmNxNDc2tg== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:08 +0200 Subject: [PATCH 03/39] drm/atomic: Convert drm_atomic_get_connector_state() to use new connector state Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-3-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1416; i=mripard@kernel.org; h=from:subject:message-id; bh=SkC2OYWRCfo1mXdc8s1OlAFhd2ZbE2QZTG+wQcJNj0E=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMopt70yavNOwXCkkvl34m/ujb+KTp7Dd9d6eYHNdJ PhJvGtYx1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAZjI0XLGepdio+IF9xh+Mz2+ sOvNFHUxgdzZoYvmZ8Y+fLHq38YFqg/SLEw1dQoZ36dsWrTLXqqxhLHhr7xV7bZdTf1er3u77k+ U6X3/jsOC/+6FqM585T97y2KNmGKFzjTHFNTOc/tr8KOg+BQA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_connector_state() function calls the deprecated drm_atomic_get_existing_connector_state() helper to get find if a connector state had already been allocated and was part of the given drm_atomic_state. At the point in time where drm_atomic_get_connector_state() can be called (ie, during atomic_check), the existing state is the new state and drm_atomic_get_existing_connector_state() can thus be replaced by drm_atomic_get_new_connector_state(). Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 660b081ff5d8c39061cebfb5ea122ac1e51677ad..30b7ec05a1af07075e40cd2822e= cfd67df004ba2 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1128,11 +1128,11 @@ drm_atomic_get_connector_state(struct drm_atomic_st= ate *state, struct drm_mode_config *config =3D &connector->dev->mode_config; struct drm_connector_state *connector_state; =20 WARN_ON(!state->acquire_ctx); =20 - connector_state =3D drm_atomic_get_existing_connector_state(state, connec= tor); + connector_state =3D drm_atomic_get_new_connector_state(state, connector); if (connector_state) return connector_state; =20 ret =3D drm_modeset_lock(&config->connection_mutex, state->acquire_ctx); if (ret) --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 43EA62EBBA2; Mon, 25 Aug 2025 13:43:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129427; cv=none; b=TIqAv3G29uht4RFRdaeidbzuY1w6W1O8iI6shgioYDREeCN8HEBRTvi81FPinesbfTsVQ2eLYODkaCUz24IFHkcWlCBVi+m+R8s8P7OfIzSC49NL7Yqs7wttp3eSd2O9bdwKn+tvaH8uItpPhkbQfxDHDS1f2gmK65cLze2Mb4I= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129427; c=relaxed/simple; bh=wFYe8IhxpCJtPvgevdyVNVoa1kh0rXMyxXaOMW2sjnE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TakTNm9omWOS0r09aRMQUu7k4ro90nDk02CUh3BrUrkOmVOB5JLFRU3IAuk0GevFlGokaZ0zj5Nn4KjnecMqe1EGu9AWHAOSH3piSG/mKBe8YRJztxgwPDt167+ZIdyAAryA66Nmq1YTgKRGVWL/6fEk/YMPUiePfoBbvALj7Mc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=JxtopDQj; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="JxtopDQj" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 407D2C116D0; Mon, 25 Aug 2025 13:43:46 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129426; bh=wFYe8IhxpCJtPvgevdyVNVoa1kh0rXMyxXaOMW2sjnE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=JxtopDQj6ULDe0mqR9DVwTgnUmVDas9rVHH6T+25o1ZWzYgj2ldH8ysOL2+Jz/sOX GkED+1LHZrZlhCniMPY2Bd7R1uxFiviqZ+R4efulj1fnh8noIAI+Y0GtPW43rNAhPz NL6tbkZIASVWOFlfJUzGCYwl7xnZfzFTD1rYx3pzpK0hsZKL9VEUs0iWY2ukqqegV1 R/TsbH5UPxLzAA/ynadvyfVVgClyMIYImnS0wu7Z7AsyJPV73+/ycT+n08cqbFY+qo iOZTxiUiRfI1q28EeadUhBEdVlIgUs5ChVSCmTi5yGNQQ3sgyzIQ0pyJQWphC+GJy6 hu8FvRcQYUTAw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:09 +0200 Subject: [PATCH 04/39] drm/atomic: Remove unused drm_atomic_get_existing_connector_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-4-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1652; i=mripard@kernel.org; h=from:subject:message-id; bh=wFYe8IhxpCJtPvgevdyVNVoa1kh0rXMyxXaOMW2sjnE=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMooDdRfpr76ywjU/fVb0zH8FnB/PBATmPZ7rpyqse 1dwpl5sx1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAZjIJQfG+hQhb85JMc///dmV 4jUh+RNrzPEfYoJ+PDE2pcw199I/LGX6f3djmZ3h1vUbD5XYJb5zZmx4OnHh7j3Hu2VvBny8u75 rhdJftY1qDiyZSptOZ089E9QUnLBCQvKriES7pveHOUsZeTUA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_existing_connector_state() function is deprecated and isn't used anymore, so let's remove it. Signed-off-by: Maxime Ripard Reviewed-by: Dmitry Baryshkov --- include/drm/drm_atomic.h | 23 ----------------------- 1 file changed, 23 deletions(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 38636a593c9d98cadda85ccd67326cb152f0dd27..321c866d5b0a46df7a9adbbf5e4= cabd1ff987aad 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -729,33 +729,10 @@ drm_atomic_get_new_plane_state(const struct drm_atomi= c_state *state, struct drm_plane *plane) { return state->planes[drm_plane_index(plane)].new_state; } =20 -/** - * drm_atomic_get_existing_connector_state - get connector state, if it ex= ists - * @state: global atomic state object - * @connector: connector to grab - * - * This function returns the connector state for the given connector, - * or NULL if the connector is not part of the global atomic state. - * - * This function is deprecated, @drm_atomic_get_old_connector_state or - * @drm_atomic_get_new_connector_state should be used instead. - */ -static inline struct drm_connector_state * -drm_atomic_get_existing_connector_state(const struct drm_atomic_state *sta= te, - struct drm_connector *connector) -{ - int index =3D drm_connector_index(connector); - - if (index >=3D state->num_connector) - return NULL; - - return state->connectors[index].state; -} - /** * drm_atomic_get_old_connector_state - get connector state, if it exists * @state: global atomic state object * @connector: connector to grab * --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CE4E2ECD32; Mon, 25 Aug 2025 13:43:49 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129429; cv=none; b=ukjZDMv0K62KgcJdGJNU+G1k6N5pCu432+AuVHEOWiGCC1XjLSWvmMxaNzFJ5eCp296q93tDuS3rurY5Qok475slEzgzuO8veCFzic52Y893ydUYcsQtfUt1+yxjGkSGsHCoEuGO6NjQDr4XSB8Hg8ykFZwNVMN7x/XKX+vX0jY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129429; c=relaxed/simple; bh=wk0b8XpwPxcYQ3noQMP9GONlP4C4Be6y8QzZeFkyZik=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ZxZsK10xA9eIXqnaj6sStbzQgvrqVqjn6Lyvu3by+HK8IzG3CarH1yIPm00XcvnaYWYwIu2UGLGptAh9oH+Lh1TA8vYRXYnsAonUVIoticRlnmdzzYXkI5qxkI8qQEbjUrCiFS648ScGfHMBvpMnOGL9xun1SF6thbOq8tvf+ug= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TNLr/eqZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TNLr/eqZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E63F9C19421; Mon, 25 Aug 2025 13:43:48 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129429; bh=wk0b8XpwPxcYQ3noQMP9GONlP4C4Be6y8QzZeFkyZik=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=TNLr/eqZS5Z5YnxUeOhVHiHkvHvTkPfq6dRrv+J0eaL13OfGotbCDFdtrYU17Psj2 CGX+ig2ydR3YjaxgJD6RCVskBi/KqVQcJAfF85oMmqynJ2mAqd6k8MMJB4zAcmHlKx 0kPw3FGXEZvbQfDbSxGs/EeuNVEzesMvWw014OhX3oRFZ9V6teLe7xB73Rxl7eZZdP dZJK9hZmIWf935nEi7cvWg6+QflYB8Qcjn4JW4Jt6+vcQl9SHSCsh4BE/xRYw0iBYd 4wc3gBrx20XdyoTxrsvYCzob9TOo4bZvl/cWmWK/kycZ4M1boz9akiSv7VR6thFTt2 /lxt7tx/Lcvog== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:10 +0200 Subject: [PATCH 05/39] drm/atomic: Document __drm_connectors_state state pointer Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-5-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1590; i=mripard@kernel.org; h=from:subject:message-id; bh=wk0b8XpwPxcYQ3noQMP9GONlP4C4Be6y8QzZeFkyZik=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMkpsFz4STLt/pPDOz5CsKmlWm7e+UmcNrFidjyrn6 mnPELrdMZWFQZiTQVZMkeWJTNjp5e2LqxzsV/6AmcPKBDKEgYtTACaiMImxYW3Gu1vP5V+wcj6q NGtUkPrZOeO+p2bbzcjqLm62d6/yJp3Z/nK7Ay/HxNch2SbWTbuWMTbMKnLYcC64JKft16ZaL+M tPFyTFi8qVgi/0G+3T9riBJf3p0PHVvotOjOHd7n8N656jTwA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D While the old and new state pointers are somewhat self-explanatory, the state pointer and its relation to the other two really isn't. Now that we've cleaned up everything and it isn't used in any modesetting path, we can document what it's still useful for: to free the right state when we free the global state. Signed-off-by: Maxime Ripard --- include/drm/drm_atomic.h | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 321c866d5b0a46df7a9adbbf5e4cabd1ff987aad..798d33b50ef7497ce938ce3dbab= ee32487dda2d6 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -180,11 +180,26 @@ struct __drm_crtcs_state { u64 last_vblank_count; }; =20 struct __drm_connnectors_state { struct drm_connector *ptr; - struct drm_connector_state *state, *old_state, *new_state; + + /** + * @state: + * + * Used to track the @drm_connector_state we will need to free + * when tearing down the associated &drm_atomic_state. + * + * Before a commit, and the call to + * drm_atomic_helper_swap_state() in particular, it points to + * the same state than @new_state. After a commit, it points to + * the same state than @old_state. + */ + struct drm_connector_state *state; + + struct drm_connector_state *old_state, *new_state; + /** * @out_fence_ptr: * * User-provided pointer which the kernel uses to return a sync_file * file descriptor. Used by writeback connectors to signal completion of --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E8696279795; Mon, 25 Aug 2025 13:43:52 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129434; cv=none; b=QQB9Hqbxoyh3idVR9Yi0e9+Zst5uLu4Iik/jJuoGtQfWhfAmStWit7eL4/xXgZ04nOu6yCHrnLk6ss+gZyZt39hBYRIOGk3lAXYgsCdtFEOe9G6IeyQD4oIPfPESJBgA4wcAp8SBgET9D/Ma43YRrXmyM/7x2vfdhwYX5ELPEgw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129434; c=relaxed/simple; bh=hPkYpjjK8bCQC44rJu7lNiZBmDfOgndbqW2Fo7+BgNM=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nKpXtO8x1ehtQF/YwBybpbFlN/Zz/QXj5fvjYbu4fgugAga7BRUqREWXxqMr/DjVT793/40PeF0j6VzdSuOwAHBfDluteQnkpiUNmNQvB88/kcZXQAzTxeP/JbKsQe2w0HdObF2IGlfHXd+4/g6Mqm0NYuR88OamHq7S7JpynEM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AhAn3qoC; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AhAn3qoC" Received: by smtp.kernel.org (Postfix) with ESMTPSA id E4ADCC19422; Mon, 25 Aug 2025 13:43:51 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129432; bh=hPkYpjjK8bCQC44rJu7lNiZBmDfOgndbqW2Fo7+BgNM=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=AhAn3qoCdMtapd99k6ZoD/oXwVQ/kVyCCjCNABKOLJDzEYivbssTrbEL20Yg9+z5I 9WXC5nFWahFh6YvQgVh+sKuV0oM3Qr/hzYC4Nc4mfVl3u8oL3HZ9hDoN8474D1DQcV YiSWLE3qkiweBRkyqIDkxPK3SiyixEy1kajlXYSqWrEcyzTACuoD8MuyggEzXQLdzc S/ZDdU2UbEIhCOmo9m3rQLI7aQvZVyU9QFW+/HMWvPMCObx+COmxWoadKGulPdpTwl QKdwYBvoIpXGPt3WnGpEwCouwanvYlcQb9HJH576f6Hf/+XkR9L+APfPjzKOvZ5KRL ikiiQ4gsIPLNg== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:11 +0200 Subject: [PATCH 06/39] drm/atomic: Convert __drm_atomic_get_current_plane_state() to modern accessor Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-6-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=3722; i=mripard@kernel.org; h=from:subject:message-id; bh=hPkYpjjK8bCQC44rJu7lNiZBmDfOgndbqW2Fo7+BgNM=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMkpSrAr3/f7E/kv2DcfpZdVWT/lTlsbe81id8jg0u e/Qs/7NHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BWAiM5QZ611f1X7gcxPX3uYQ XHPUV2zfrq/vWozDthaenHBrXyjrYhe3r9udF00o1JItb7gccFJUjbFOuc/qlQCviningbv855g tBZOXG4ha7NLtuudw4VdZ/kZ7oYvqod89mEKfvnp/d/Ln5H8A X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The __drm_atomic_get_current_plane_state() function tries to get and return the existing plane state, and if it doesn't exist returns the one stored in the drm_plane->state field. Using the current nomenclature, it tries to get the existing plane state with an ad-hoc implementation of drm_atomic_get_existing_plane_state(), and falls back to either the old or new plane state, depending on whether it is called before or after drm_atomic_helper_swap_state(). The existing plane state itself is deprecated, because it also changes when swapping states from the new state to the old state. Fortunately for us, we can simplify things. Indeed, __drm_atomic_get_current_plane_state() is only used in two macros: intel_atomic_crtc_state_for_each_plane_state and drm_atomic_crtc_state_for_each_plane_state(). The intel variant is only used through the intel_wm_compute() function that is only ever called in intel_crtc_atomic_check(). The generic variant is more widely used, and can be found in the malidp, msm, tegra and vc4 drivers. All of these call sites though are during atomic_check(), so we end up in the same situation than Intel's. Thus, we only ever use the existing state as the new state, and plane->state is always going to be the old state. Any plane isn't guaranteed to be part of the state though, so we can't rely on drm_atomic_get_old_plane_state() and we still need to use plane->state. Signed-off-by: Maxime Ripard --- include/drm/drm_atomic.h | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 798d33b50ef7497ce938ce3dbabee32487dda2d6..82e74d9444c4fa7f02ee0e472c8= c68f7bc44cc6a 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -789,15 +789,15 @@ drm_atomic_get_new_connector_state(const struct drm_a= tomic_state *state, /** * __drm_atomic_get_current_plane_state - get current plane state * @state: global atomic state object * @plane: plane to grab * - * This function returns the plane state for the given plane, either from - * @state, or if the plane isn't part of the atomic state update, from @pl= ane. - * This is useful in atomic check callbacks, when drivers need to peek at,= but - * not change, state of other planes, since it avoids threading an error c= ode - * back up the call chain. + * This function returns the plane state for the given plane, either the + * new plane state from @state, or if the plane isn't part of the atomic + * state update, from @plane. This is useful in atomic check callbacks, + * when drivers need to peek at, but not change, state of other planes, + * since it avoids threading an error code back up the call chain. * * WARNING: * * Note that this function is in general unsafe since it doesn't check for= the * required locking for access state structures. Drivers must ensure that = it is @@ -814,13 +814,19 @@ drm_atomic_get_new_connector_state(const struct drm_a= tomic_state *state, */ static inline const struct drm_plane_state * __drm_atomic_get_current_plane_state(const struct drm_atomic_state *state, struct drm_plane *plane) { - if (state->planes[drm_plane_index(plane)].state) - return state->planes[drm_plane_index(plane)].state; + struct drm_plane_state *plane_state; =20 + plane_state =3D drm_atomic_get_new_plane_state(state, plane); + if (plane_state) + return plane_state; + + /* + * If the plane isn't part of the state, fallback to the currently active= one. + */ return plane->state; } =20 int __must_check drm_atomic_add_encoder_bridges(struct drm_atomic_state *state, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BD2A82EDD78; Mon, 25 Aug 2025 13:43:55 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129435; cv=none; b=Y7xhJBO7UfCTguMzEdmdqKENk5Nd9B6Rf+640w6cEgpb50deavkqs9wsbX2HBkpcxmMXvi7f7xeqLSl3LgdqexlyZ86en3zMJx61SDwoTSEr9vCxB1ct5+oQytPm0eGGqg050XTZNFqojQdITU6BiODHJ95U7oDfox7V7ycLNLQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129435; c=relaxed/simple; bh=G7LZIEMwrZ2zs/QrPyVfL7lc9nJFGoxjHACLt6UBy9o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=oXSAjgbwnS54r5uodjr6SOODKV29DolVixf6wrsWzOtALEIdxmkb9pMBKFB2sRz5gv1A3Bq8roUwbQjiazym0gNDTv/jiTaO7x2QcFvTE4I7iE9o2gT6JcWj8zZQY2ExelCnpWn1m7yR466tOMkSJM8WB2XBCL1n/S1KMO414pA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=M/BsQxIZ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="M/BsQxIZ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id CBCB2C4CEF4; Mon, 25 Aug 2025 13:43:54 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129435; bh=G7LZIEMwrZ2zs/QrPyVfL7lc9nJFGoxjHACLt6UBy9o=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=M/BsQxIZAn8XM7JzzrFjrZdUc3D7InIlugU3ivp0a8mMND6PxsoAoexYQW5s1BJP2 wve75h+QT609gIKmHIj7eLk86c2scDorUwU0sZd5Q9KnKlhEHAXkbQCDfYfiVFX0IB Uy5Bksa2k8bBVCuYcZk6rw953OgjfmP+kFaqtXvMZu7+GD6WpNiA7VqKk73Ga/5I+A 6sAcrYhhRPMcXVfHRDHmoc7CEbY1bzTJcsu05NCrweIUeQREfFNaU/Azf5j1948QSt kmSQdVZUUGLfBUQbWBRaiUAEETrP6m0g9TfsC8cGKG6GUE59orm69u5Z5PTORkzbkk k5qQGn2VDLGRw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:12 +0200 Subject: [PATCH 07/39] drm/atomic: Convert drm_atomic_get_plane_state() to use new plane state Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-7-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1316; i=mripard@kernel.org; h=from:subject:message-id; bh=G7LZIEMwrZ2zs/QrPyVfL7lc9nJFGoxjHACLt6UBy9o=; b=kA0DAAkTJ1/OGaI9vnYByyZiAGisaHWi6ZggXb88wKCQXxIWkOcMML7Jvt56wKJuQOV0chzIg 4iVBAATCQAdFiEE5BxWy6eHo3pAP6n4J1/OGaI9vnYFAmisaHUACgkQJ1/OGaI9vnbwhwF8Dodd Y17XQ7BXnBlQbBZweZe/gruGXs9NZZHUrjXtF5ou5REq7DNpnpqIYKxd5QbSAYDrOKSG4/Mu545 epolGS0QNE0nxjmucr4U/9WReHLXGgcWZ1SGDiizipXF9ST6M9Sg= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_plane_state() function calls the deprecated drm_atomic_get_existing_plane_state() helper to get find if a plane state had already been allocated and was part of the given drm_atomic_state. At the point in time where drm_atomic_get_plane_state() can be called (ie, during atomic_check), the existing state is the new state and drm_atomic_get_existing_plane_state() can thus be replaced by drm_atomic_get_new_plane_state(). Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 30b7ec05a1af07075e40cd2822ecfd67df004ba2..a9d1265e34602c454866869b81b= 8837b2c0a97a4 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -532,11 +532,11 @@ drm_atomic_get_plane_state(struct drm_atomic_state *s= tate, /* the legacy pointers should never be set */ WARN_ON(plane->fb); WARN_ON(plane->old_fb); WARN_ON(plane->crtc); =20 - plane_state =3D drm_atomic_get_existing_plane_state(state, plane); + plane_state =3D drm_atomic_get_new_plane_state(state, plane); if (plane_state) return plane_state; =20 ret =3D drm_modeset_lock(&plane->mutex, state->acquire_ctx); if (ret) --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 39F872EF654; Mon, 25 Aug 2025 13:43:58 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129438; cv=none; b=fQHcx1r3SGZwOqc9t8i5ORQt02TkSlelFq1G659r0uCrC+Ng+Vry13rALpeWpMC+oXHs5svQsl4MZ3xdr6oDNnvtWyy5g3w5bUWK9hkSmeTv7+1bVOLKXZaJWIBuzknJuDFm4wJhn4Zl8IVCY7Z7KJROnfC/p4DJSkTZRI+y0Zk= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129438; c=relaxed/simple; bh=NL/gUAJ4sIjNPwnSozhuU7h8qZ5NynPwYFn0NVg/z20=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=JwHaPmUuHEdCJVk7QH6FEMAB8W46/WPSZYGPYSb9+fRxeDwEDLy3vKuX8+22mS+cN/vbXl0xTbWt20GvfitRTsmd7e4Kngi6IN/p4BVO21FGqGFoHM4Gdnr9PNV+BqVjOFvTmn4qVf2VZlyWB5rpTT8y7iYkq3Gl0a77y1YhE6E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fgBDgoVa; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fgBDgoVa" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 94136C4CEED; Mon, 25 Aug 2025 13:43:57 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129438; bh=NL/gUAJ4sIjNPwnSozhuU7h8qZ5NynPwYFn0NVg/z20=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=fgBDgoVaIourxnbrRS4y/CZZLhlIVtTl22TtkyJZS9peLcfe0F/A7gCevRIm6Zg2k Adzy0laZ6fLc64b24jqtcP2Qfv/l+BbQZCoQJyc9ib1ttq09onAE/vwEfx0DHLpJOz cdvfG9xGYTkT+CmI85G1PTC3BsClqpm70q/Ncl3mPjbX6sorTRsCFXXXXCLPEPv3vp CYglnd3Vh3m3qxm921UwItW3CD9zSalFHDmIUk8P+2gH3yvmL5LEeZibt9OCpHuSzd 1NI0nqoWyFWUmxMzJP73OeR1DEr8Eq27jupj6OHzdeJpoQuE2rU1cTmSyaAli46hZy LYHaROrLYRqcw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:13 +0200 Subject: [PATCH 08/39] drm/vkms: Convert vkms_crtc_atomic_check() to use new plane state Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-8-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1691; i=mripard@kernel.org; h=from:subject:message-id; bh=NL/gUAJ4sIjNPwnSozhuU7h8qZ5NynPwYFn0NVg/z20=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMkqThP5ZJadaNoUdO8n6QVDol8o0/Rfqa10bWOe7v PdctdelYyoLgzAng6yYIssTmbDTy9sXVznYr/wBM4eVCWQIAxenAExkTiljwzPhJ+ffhTz3r7bd v2NtRK/7KtPLd7jXRV9ZPcfQMm1jl4HL1/OnX2287qdm4BfTaBb/m7Gh580OtuKPrUeOetfdWxc Z+jekLPv4x/mrZv1X0r+Qv7XsfVfGnwLz692/5yTsyzHQl5gLAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The vkms_crtc_atomic_check() function calls the deprecated drm_atomic_get_existing_plane_state() helper for its internal mode checking logic. During atomic_check, the existing state is the new state and drm_atomic_get_existing_plane_state() can thus be replaced by drm_atomic_get_new_plane_state(). Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vkms/vkms_crtc.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/vkms/vkms_crtc.c b/drivers/gpu/drm/vkms/vkms_c= rtc.c index e60573e0f3e9510252e1f198b00e28bcc7987620..48237f32ac3b8f78b1495e8fbcc= 630be863ec7e4 100644 --- a/drivers/gpu/drm/vkms/vkms_crtc.c +++ b/drivers/gpu/drm/vkms/vkms_crtc.c @@ -183,11 +183,11 @@ static int vkms_crtc_atomic_check(struct drm_crtc *cr= tc, ret =3D drm_atomic_add_affected_planes(crtc_state->state, crtc); if (ret < 0) return ret; =20 drm_for_each_plane_mask(plane, crtc->dev, crtc_state->plane_mask) { - plane_state =3D drm_atomic_get_existing_plane_state(crtc_state->state, p= lane); + plane_state =3D drm_atomic_get_new_plane_state(crtc_state->state, plane); WARN_ON(!plane_state); =20 if (!plane_state->visible) continue; =20 @@ -199,11 +199,11 @@ static int vkms_crtc_atomic_check(struct drm_crtc *cr= tc, return -ENOMEM; vkms_state->num_active_planes =3D i; =20 i =3D 0; drm_for_each_plane_mask(plane, crtc->dev, crtc_state->plane_mask) { - plane_state =3D drm_atomic_get_existing_plane_state(crtc_state->state, p= lane); + plane_state =3D drm_atomic_get_new_plane_state(crtc_state->state, plane); =20 if (!plane_state->visible) continue; =20 vkms_state->active_planes[i++] =3D --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 453C42F0671; Mon, 25 Aug 2025 13:44:01 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129441; cv=none; b=tcPfyQYevtVaFl4D/52W1wZsdwmpTB5xQwuqhMZfhE03hGSYrvtA8yipmOa7Hzk8hAkKRTFuRlJ0/p9XzHSV6mJuwK/UUUCwg2dHfxavAJRv+5XcE59+gDkW2XAYTACvtVQDQiRDaJ53TYfRO+E/Cpqnmk/RmUYHezHnueD06rE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129441; c=relaxed/simple; bh=n/MDiUm7aoemlaqHwOyPGuWXQ+rc5qKP4nRNGdzA+n4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=dsnU+rR8jwBIpvXePT+6HGfQtEUD+ywwpbOIFxrDkGQ8Vizshp9JBo64MUzaZEHMSLJ3WZqRAlqTKgEF/ryvDXfMQCzdlOdp0lCgwx3N64UYtjRsr1kJIDB8j5biGDqJkEiQWc1n1PBPMMlcpWs+HxYOfRGk6Pa8wCvITefNML0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TAHR3eVs; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TAHR3eVs" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 98FB6C4CEF4; Mon, 25 Aug 2025 13:44:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129441; bh=n/MDiUm7aoemlaqHwOyPGuWXQ+rc5qKP4nRNGdzA+n4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=TAHR3eVszsFAduYgtnHxtAUQX1XqosCdOUWomkwHZoQ63Ci/9OLzAz6m+q49mRWr/ GWJe+eq5hRNPgnN8+JniBNnnAItDLqHAciiU84hMWCDuWvHBIzWh0Qj3WkvDfPVR5F Bsis053cV6ppM/WSaBHdtakM9NZauAg7ZMif1keN+G0rgwrRdAIUmbL+McvnRFe7tU 2OV8bSqA8qG+p7C3daHqXzfcVorfwqUsLYIl6TObsaD7EUCF7/29OQURrA3S1eX5pd Qn/IPrNf0rAIoVXaj4weJ1sN6ywxMAof2henV7IpDqFXvEM4QpW+OPKB/1N8PcCtMu ZW2dLCVDyGunQ== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:14 +0200 Subject: [PATCH 09/39] drm/tilcdc: crtc: Use drm_atomic_helper_check_crtc_primary_plane() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-9-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1357; i=mripard@kernel.org; h=from:subject:message-id; bh=n/MDiUm7aoemlaqHwOyPGuWXQ+rc5qKP4nRNGdzA+n4=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMsqmbl5+TeeCyDtpBXapy7OS27u3r5F4FBGv6jW19 Mdi6buVHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BWAizo2MDYdNdgUb3PvEorFa Ovqgb96vRWduL0ktMX3KMuvi2RfBAcpbb5+x1710IrZo44xJmUufP2esd1rP3iq6/LjlVdbjZUc tgvRXLyhfunKhuf4Ena6gZTbenMIqz1780xR9ukNgtuTT7asjAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D In the tilcdc_crtc_atomic_check(), the tilcdc driver hand-crafts its own implementation of drm_atomic_helper_check_crtc_primary_plane(). And it does so by accessing the state pointer in drm_atomic_state->planes which is deprecated. Let's use the right helper here. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/tilcdc/tilcdc_crtc.c | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c b/drivers/gpu/drm/tilcdc/= tilcdc_crtc.c index b5f60b2b2d0e72ae8ec0f3f4e5e85bc5004e6e5b..5718d9d83a49f38081aabbc9860= 847bdc83cf773 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_crtc.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_crtc.c @@ -674,18 +674,11 @@ static int tilcdc_crtc_atomic_check(struct drm_crtc *= crtc, crtc); /* If we are not active we don't care */ if (!crtc_state->active) return 0; =20 - if (state->planes[0].ptr !=3D crtc->primary || - state->planes[0].state =3D=3D NULL || - state->planes[0].state->crtc !=3D crtc) { - dev_dbg(crtc->dev->dev, "CRTC primary plane must be present"); - return -EINVAL; - } - - return 0; + return drm_atomic_helper_check_crtc_primary_plane(crtc_state); } =20 static int tilcdc_crtc_enable_vblank(struct drm_crtc *crtc) { struct tilcdc_crtc *tilcdc_crtc =3D to_tilcdc_crtc(crtc); --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 27AF92F0C4D; Mon, 25 Aug 2025 13:44:03 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129444; cv=none; b=NHT1t1l5YzqigP129nPX+f2W2mxXmR/gr0fVeO+F1FStisDaHE0lzW67FNBdA9Y2v1zgbnOW0oG+6GGIOxa1B/09lod3jkeMvGKCV8Prup6wNH1UENKT4G55w+0z1bEeIB2dB1uP8cmxYf5RhtU3+CigSluYZEjHj37Y5enWuvs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129444; c=relaxed/simple; bh=C6SBK9f+7bulLE7wK72wcC2UO49lebBjUaSS4/etSHk=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=hPV+uzrx5xZI7iCrroVdO9rlb4fw/a7CFP3A29KQtjS5ohh1EswjqZkBmxFzcTGqWa/7EFM1j5tO01ILgtPsi7qcjZN67u8OiBrejvuSYGyh3dpvQyBHYlOzsP1w2xbkBMk4UDwsYehzlBPS353D+HAnkhH37cG/uXDU//PrEVA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kuFMlZcO; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kuFMlZcO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3B8ACC116D0; Mon, 25 Aug 2025 13:44:03 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129443; bh=C6SBK9f+7bulLE7wK72wcC2UO49lebBjUaSS4/etSHk=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=kuFMlZcOaggy7H/TnW/2fIeuvmGmNhqe545JxOWu+FKPHXCEv3cAOLv7tFlmWINkf Qv87MjPZa7xy+awrIvACXNLmh3Ddwulo4Ex+qJvBLrOfsaxZRy0LTfHmH7egdKHuw1 l8sFTK/Pdfx7iVcmtJNj2AxSGyraWiX89sn//6GtbSGKZjOH9u+jUI281clOQemzKy XO2aF7QrcXf9T8/6hOLCrzEUPZJ0zVb0755Y60NtFFeA2c0N6OAqkk4E6UyIDi6Oc1 AQUmBn2qvW9NaLqqThvbLnL6eWIYLNBzg4lvtrtufrENmucMM/D5JAiQnxR8zvGCk7 ifM6CCKgvkArw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:15 +0200 Subject: [PATCH 10/39] drm/atomic: Remove unused drm_atomic_get_existing_plane_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-10-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1476; i=mripard@kernel.org; h=from:subject:message-id; bh=C6SBK9f+7bulLE7wK72wcC2UO49lebBjUaSS4/etSHk=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMso6pBSFbaIeRLYXyL7czNnC9c3D9m7r6b35fc568 uX7eP52TGVhEOZkkBVTZHkiE3Z6efviKgf7lT9g5rAygQxh4OIUgIkYZjHWh66a8CAp7eDRuS8+ rw0uiLZuyqhdb2fRXXz0xUaOPybN1glbM/LOJmn4bu/h8DzXX7SLsaFpjobJ8Xk6SaYX3P8eUDQ VD9xw4WCslc7hKQZVNuoJm5U9l4ZFnH6zrqDq88Ef7z5EBwAA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_existing_plane_state() function is deprecated and isn't used anymore, so let's remove it. Signed-off-by: Maxime Ripard --- include/drm/drm_atomic.h | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 82e74d9444c4fa7f02ee0e472c8c68f7bc44cc6a..2f2c92fc4c20ee4e6abd6911bd5= 74969d9cabbbb 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -696,28 +696,10 @@ drm_atomic_get_new_crtc_state(const struct drm_atomic= _state *state, struct drm_crtc *crtc) { return state->crtcs[drm_crtc_index(crtc)].new_state; } =20 -/** - * drm_atomic_get_existing_plane_state - get plane state, if it exists - * @state: global atomic state object - * @plane: plane to grab - * - * This function returns the plane state for the given plane, or NULL - * if the plane is not part of the global atomic state. - * - * This function is deprecated, @drm_atomic_get_old_plane_state or - * @drm_atomic_get_new_plane_state should be used instead. - */ -static inline struct drm_plane_state * -drm_atomic_get_existing_plane_state(const struct drm_atomic_state *state, - struct drm_plane *plane) -{ - return state->planes[drm_plane_index(plane)].state; -} - /** * drm_atomic_get_old_plane_state - get plane state, if it exists * @state: global atomic state object * @plane: plane to grab * --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id DAEE02F0C66; Mon, 25 Aug 2025 13:44:06 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129447; cv=none; b=eVAzB61nzK6QPpe9IVJtKaIhOGsfdifSvm17CFS+c6SfOWZ2zE6iuiqGX5W+8jDqDKspd0PLwD2CXvPUqZmh6P71LSIn4uNu7996WZmFb68ru0n1r75Avk6aX7vMuDTfkkjDJ1S2+S7WpSgtoHHQ89NLVSuf2uePf+PRIVLJ8PA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129447; c=relaxed/simple; bh=zMbFg0p1Hsu9u9xOAhfW6MA410xngWSLfsvX95wACGc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=GsCGfU0T8wesN2GXYLlbV972yK/yvMrcGvPKk/SU0MdpUttQqWIuPkhOAk0z+7KDX8EIvxNkMgVm59yrS1Fchs8iHYs/NIN/IaMKDeNvHagIy+JslXbUUKcEUtymNiTFCm0a86DOZeZ/Yc0Dmvi6RDTikikiE0r/f0EheKHv6eM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=D539xSRT; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="D539xSRT" Received: by smtp.kernel.org (Postfix) with ESMTPSA id D9057C4CEF4; Mon, 25 Aug 2025 13:44:05 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129446; bh=zMbFg0p1Hsu9u9xOAhfW6MA410xngWSLfsvX95wACGc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=D539xSRTSk7gVbYS0In1u7UHKAioWUMXAPgMZVTsJ4UYdi6oBoHBO/OGBSl7lEyqZ eDZ7NrxaZ/9G7fVk5Vyr58upJxP5r5aTNEMcBhYgPDnrtTK0TsaXeKIP6hC8n11s+I fViSDR0gUsjzvv2H6vX/dPZHpXlOPqZvF+FgqOMcSutWMuXgwm4HzJpjsjhLWSBPOu e8WT4GeZmbATJ11iP7T6n30oWo+caHGz7swuw0FESAzLChgiQ+DPrcwToNnYeJ8OBj cPate3Gc96pRxGluzjUF8tVIHzlQFTR8heaN9AKtvWyriBF20GN4jug5KguFTVXoBg tVRyDX4zozmpg== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:16 +0200 Subject: [PATCH 11/39] drm/atomic: Document __drm_planes_state state pointer Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-11-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1495; i=mripard@kernel.org; h=from:subject:message-id; bh=zMbFg0p1Hsu9u9xOAhfW6MA410xngWSLfsvX95wACGc=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMsr9Q/UYNH3vcu8WKZP+cuvO4z87sypsJ0/KsBAv+ 7T+us/UjqksDMKcDLJiiixPZMJOL29fXOVgv/IHzBxWJpAhDFycAjARK2/Ghg6LC1efC/zc//XX +99TXoUsn3Zw/aYoxeh1Vr3LJry4abn1feW+sos1y/RN1y1Oyrl3W4Cx4VnoB6acxdObXtl/b3c 36Ql4+n5L/7bKSZw/nGZuKpUu1Yi8Y3VgQZ25v8KppAul+Q9fAgA= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D While the old and new state pointers are somewhat self-explanatory, the state pointer and its relation to the other two really isn't. Now that we've cleaned up everything and it isn't used in any modesetting path, we can document what it's still useful for: to free the right state when we free the global state. Signed-off-by: Maxime Ripard --- include/drm/drm_atomic.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 2f2c92fc4c20ee4e6abd6911bd574969d9cabbbb..89c9a059b36763205fc2fc76428= 3423cbea62679 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -157,11 +157,25 @@ struct drm_crtc_commit { bool abort_completion; }; =20 struct __drm_planes_state { struct drm_plane *ptr; - struct drm_plane_state *state, *old_state, *new_state; + + /** + * @state: + * + * Used to track the @drm_plane_state we will need to free + * when tearing down the associated &drm_atomic_state. + * + * Before a commit, and the call to + * drm_atomic_helper_swap_state() in particular, it points to + * the same state than @new_state. After a commit, it points to + * the same state than @old_state. + */ + struct drm_plane_state *state; + + struct drm_plane_state *old_state, *new_state; }; =20 struct __drm_crtcs_state { struct drm_crtc *ptr; struct drm_crtc_state *state, *old_state, *new_state; --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 15F2F2F067D; Mon, 25 Aug 2025 13:44:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129449; cv=none; b=p+CiU1zfnqz/S7eElN2cjSS07Gzidi+I/NUJWmQRcALEz1uvxU13AolqyYvBgEd2pQU1eZzPOWTATCVgDtj6EJ/iMmxatpQ9Djn6tgcGDhdrZRkr/FfRQjauc85wPDy7gbR/R/szMucqrgR8eJjSgShZTAcVZcjDud0XQJjF2qM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129449; c=relaxed/simple; bh=GtAQSdS1ZwpO1wrhzVk13OKCtrYrUZErGzdK85qhnG4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MmU3IQtlNS6Rap9uO2jYnrDl4B+dQUJtl6BS92NQqF+rb/GreOvv0j4bqeXkfYLhTE3CNA7ALX7ZriuD6Fwb6bnvPQ2EGNeFt2CI1ob6WDHKZ0eN4Q17ZC90gRbXVEfNojw60E/qi9vE9KinvFgbYVTfwm1yTfNdY2EZ9cII6BQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=QadmStP2; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="QadmStP2" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 733CCC116C6; Mon, 25 Aug 2025 13:44:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129448; bh=GtAQSdS1ZwpO1wrhzVk13OKCtrYrUZErGzdK85qhnG4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=QadmStP2v9UsuOYT311avWLlpP/l6egme0AcjpIDhH9ksImI4ORKZ3DWspjrDHPgX 2x6HjZLLaiPUn3WL6Qm2ObWzvKYprTC4VDHS0rhLOjWSWTJ2GnJUIxSwRcjWv2yckw l8ahX7DN03D2kQsSy79t4TDEgCMcLzLDTp3A2zv52af5r0fgSGjecjNIuzwGZ1nVJW eFzfPExQ6XUlQqeN8TDT9xjBOJdwXi9T77+svalT5fTLRbHn9VOCulUbwJQhLs1o7z WEJBMUjjdObXQ0DaH3GjBKTGNiKlHziXtKPcsZ43x49mFnStg8DrIMPX9pn21+T3Rc ZO0ChC/8E/mag== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:17 +0200 Subject: [PATCH 12/39] drm/atomic: Convert drm_atomic_get_crtc_state() to use new connector state Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-12-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1291; i=mripard@kernel.org; h=from:subject:message-id; bh=GtAQSdS1ZwpO1wrhzVk13OKCtrYrUZErGzdK85qhnG4=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMsqb7n1MlciLNLj+baGYzBGv5o++wa+/Hb3W3b2iI VjL1flLx1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAZjI7wDGWqFc1+IbP6z/9FlJ VrSbn4pqiO179fVn0iet9HbF3YXW8xc1vrstM5utTsbd332F9H0Hxobnc5h9fB1jt/3prU0r9nK rK4x+45n+Y3mkrPiHnoN6rV4LrF5leh1xnibf7mSqr/auCQA= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_crtc_state() function calls the deprecated drm_atomic_get_existing_crtc_state() helper to get find if a crtc state had already been allocated and was part of the given drm_atomic_state. At the point in time where drm_atomic_get_crtc_state() can be called (ie, during atomic_check), the existing state is the new state and drm_atomic_get_existing_crtc_state() can thus be replaced by drm_atomic_get_new_crtc_state(). Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index a9d1265e34602c454866869b81b8837b2c0a97a4..1147fa890a03ef2c3283972c816= 796d8de6307c9 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -347,11 +347,11 @@ drm_atomic_get_crtc_state(struct drm_atomic_state *st= ate, int ret, index =3D drm_crtc_index(crtc); struct drm_crtc_state *crtc_state; =20 WARN_ON(!state->acquire_ctx); =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); if (crtc_state) return crtc_state; =20 ret =3D drm_modeset_lock(&crtc->mutex, state->acquire_ctx); if (ret) --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0F0BD2F291D; Mon, 25 Aug 2025 13:44:11 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129452; cv=none; b=qny6qY9TG6Eln0gSPFz1IoXiYXCMnPivM8DOLwmPwpGygK7ZQeabFkZaPhAxhPWg2M/7R2DCAr4omVGhrcSb2hl9l9Cw+2GtpL1Ip9vXbsarfLj0NrDOuepShrjlCIoxkJ1BVT3btAsv+rcRH4mgPmzR2E+Qoon+leb69M20zSw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129452; c=relaxed/simple; bh=OVEekJ412TDrWcPosT5PbcAORq/ZSX10mh7GmfSf1w4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=HXSc3X4Th4rMbIpsBc+p+VIFz03XesoGPhCmYicNN2I1IBkJp4NhVlpOW8yyOZSGG7qaqxyY1yBM9fLGasGnB3OVU7AVxmho+fYY0dv3f4hvWSlof6sGJkaI7Wp5QShbCj1L3xI0mAsUiS7XiH/A4nMr7PVSsjIkrNl1Rcw6NQc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=VzhR3Q5r; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="VzhR3Q5r" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1A538C113D0; Mon, 25 Aug 2025 13:44:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129451; bh=OVEekJ412TDrWcPosT5PbcAORq/ZSX10mh7GmfSf1w4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=VzhR3Q5rh3V4HDtcuCLmgfBZ+t53W1q97NCBIe9yGooqYjO3WbtF7roOG8gNpzAoI +knkrfgaKj7VP6SAuVqMESK+mTtWVoFsbGv1HapCN/2R5t4CHYInBU1PrLwUjn+ggg G2G3m8AnOQbSmPh1SQsD6Ab1xz7Dfz2SPs1KweBHxwCwT2Pj//Xi6TRkFm0JTbfNu7 I3b3bQwK9lZk4if44f8RtxaEKQJxfCsNNTCNm03A60uHpmqCHn070ana4/rZU4lgXY oo+0F5+JKJmR4NE2k9CvfdNzi+GTsqNXnBIoGzJvGsN5vP0dB68F8bTDsmKfXJbhPy 16R4HxPcv0Hmw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:18 +0200 Subject: [PATCH 13/39] drm/ingenic: ipu: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-13-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1234; i=mripard@kernel.org; h=from:subject:message-id; bh=OVEekJ412TDrWcPosT5PbcAORq/ZSX10mh7GmfSf1w4=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMsqPKNnscJ/EkLEysv9qzRqmZdKRilP2FadeZJx6t jFsGrNux1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAZhImAdjfeXk9bnq/B+VPr9l n/bwkGn9yhVuk1ZzPJlve+kPl5xI1IxV09qZbttnb3268qTnDI1XeYz1buI+OTfzitff1WlwnGO uVGJ2k1F22f+1KzQiLfPFItjel36bZPpeJO+p8E/D00nHT3kAAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The ingenic IPU atomic_set_property implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called during the state building process, before atomic_check, and thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/ingenic/ingenic-ipu.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/ingenic/ingenic-ipu.c b/drivers/gpu/drm/ingeni= c/ingenic-ipu.c index 26ebf424d63ec21ccee80221745c3e8bcc6b3d7f..2574a4b4d40a2c27cb212114117= 829d9f6ab3ddb 100644 --- a/drivers/gpu/drm/ingenic/ingenic-ipu.c +++ b/drivers/gpu/drm/ingenic/ingenic-ipu.c @@ -703,11 +703,11 @@ ingenic_ipu_plane_atomic_set_property(struct drm_plan= e *plane, =20 mode_changed =3D val !=3D ipu->sharpness; ipu->sharpness =3D val; =20 if (state->crtc) { - crtc_state =3D drm_atomic_get_existing_crtc_state(state->state, state->c= rtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state->state, state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 crtc_state->mode_changed |=3D mode_changed; } --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AEF362D6E6B; Mon, 25 Aug 2025 13:44:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129454; cv=none; b=IJ3XAcBqDVepb5JQTt0uJD51PfF5uZM2P91r1Lbq4zzK2L7kIRyCULcJuaCCozllq0ZhUzwoutJ+Gx8g9r2f3KX9pigLIuB0ZlKCvDPdDAzG3SnkqATPDiDhrOM9cSaRP5R6kNtiyK/gEJ3yzYdKOjq1oMchTS6eKQOydDrYNtU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129454; c=relaxed/simple; bh=Dqurh617UrokV/DsN3wUHEPX/CtTx5rZKSYqJBIX2Lc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=ANO3VmWY/YHouK+DCmARkh9PZ4CvZ9i5MXUKOiNoUk5GWdTgNaoQolSR89yHvWWsU3Uk5gaxF9jFXCVFLPh+Lwt+lY1qrJKJFq6rCWFX/OQcU8Umi6KftW//QNZ8AHY3LmRP8IKKnWOlhcxu8a1p1tMeVmGsNhYSaRKyjvRKEX0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Phfo7hkS; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Phfo7hkS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id B84BCC4CEED; Mon, 25 Aug 2025 13:44:13 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129454; bh=Dqurh617UrokV/DsN3wUHEPX/CtTx5rZKSYqJBIX2Lc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Phfo7hkSImUre0GDuGBAnNI68G6mb9DSo2cnBds3wAcpM2V5AAjw8JXJMlzWdyRnj 3/PhWhwoJw/t8UG7hXt0tin+l4LJZNwl5qAxD2DmchLvqwj/IQhX/HHMaItDsP8CYb B67gKsLFjBLcQnwDEoYA3feOtbppFXrjSAk8+LdVSz22T24DBvfzLoyFaETHJTCWsx hCWJ0TjPCBbqJDM3usjgC0wLszip/5B0MUj1YKzVQtdMRo+Xy1/22EX3P50k8WYQxg fqvu+cgwApm3CXnbsfzdCfOayRONAgKjyK87V7QlUTnQNLtyPc13p8CjLLDmvcZDdM xXt9WGVoLnFDA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:19 +0200 Subject: [PATCH 14/39] drm/arm/malidp: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-14-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1198; i=mripard@kernel.org; h=from:subject:message-id; bh=Dqurh617UrokV/DsN3wUHEPX/CtTx5rZKSYqJBIX2Lc=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMirkHv5ZIqsV78QcLb00l3Hxpwd5pUeX1QmteacUH cbwwcK8YyoLgzAng6yYIssTmbDTy9sXVznYr/wBM4eVCWQIAxenAExk5mLGOvP0/dr/DnQ4Pblk yB6w8WZ6dO/itFXurQd0Ps7avGGCiOa541tvicfkmIu875m5QU9Ol7E+sedZ/j++rSyv3Yq93oR PnPixwUHg8KczrjLzNm179+P5n4m2dh1hurG1fTNbjYRE9OcCAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The malidp atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/arm/malidp_planes.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/arm/malidp_planes.c b/drivers/gpu/drm/arm/mali= dp_planes.c index 87f2e5ee87907403fac5386042bd6f313397ba03..f1a5014bcfa1058072e13f1ad8e= 84c85f52fb156 100644 --- a/drivers/gpu/drm/arm/malidp_planes.c +++ b/drivers/gpu/drm/arm/malidp_planes.c @@ -261,11 +261,11 @@ static const struct drm_plane_funcs malidp_de_plane_f= uncs =3D { =20 static int malidp_se_check_scaling(struct malidp_plane *mp, struct drm_plane_state *state) { struct drm_crtc_state *crtc_state =3D - drm_atomic_get_existing_crtc_state(state->state, state->crtc); + drm_atomic_get_new_crtc_state(state->state, state->crtc); struct malidp_crtc_state *mc; u32 src_w, src_h; int ret; =20 if (!crtc_state) --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 134CE2D94B2; Mon, 25 Aug 2025 13:44:17 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129457; cv=none; b=VLvqm9JYBcU/Y1+i6oJv/z/2FG0J2h4jqQxhUhZ9YvPu/Tfj1HCnR9S0GIZQN36oRM0Tvq+O/uwcVlWQlUwPo9X9t2SXGDzFzvJ68wsKvH+qLmCT/HxyXQeVSv7U6cWbDR7yBsab56hHZraYh6+JscPFFLGSY6JZh+lhIJ4+xoo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129457; c=relaxed/simple; bh=jwpa6CJEP2ubfKRCAjsrSSxCi0tUyYxFZe/THLd4Tak=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=feS0QKF12vnSCkXF765WF1SksyK65B09un5xfoYSmcnAzd3lXLDkMaGoPiuLIZZ13Y3B1ME+8t8BT1VGefRfyOi8/s11kUvBnXGw3t8/65TOHHWcTqJOWXENwjc8ilh3Uy3qYHw4rhBHOOj3DtgsNq0c7d3GzThORjpeekuYB7I= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Yo7uFRbY; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Yo7uFRbY" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 680F5C116D0; Mon, 25 Aug 2025 13:44:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129456; bh=jwpa6CJEP2ubfKRCAjsrSSxCi0tUyYxFZe/THLd4Tak=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Yo7uFRbYFma10rAkRJpRBze4IKA64QXDoB0MxcmOsrLbWcD2b2Hb95zr5wIcLK3fG 9BVLxJl84DBZb6Qispw7CkAldKM7cs9RaSiCDJqlIIfLanWNMqLm3mqHES7aYzj7s0 RiXPMsSE/lXKPGHcWxL6+4Vq+lDx3ldG/2pyUS9xIC+lHbqOhPJ2LAedLj5IlWd2AR SNbPPJ/21ATJvXSxlfJieEItgrjCEL0Ts+aEHVskc0+blUwmKUG+ttJZ4Hy7otZKiN cMpiA6WvBeE6s7kYeuL1VaVC1q3Wve4M7Ul0d2Rne3o2888drckmSWUmMRMY5Kg8e3 wajjZRdr8rlyw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:20 +0200 Subject: [PATCH 15/39] drm/armada: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-15-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1178; i=mripard@kernel.org; h=from:subject:message-id; bh=jwpa6CJEP2ubfKRCAjsrSSxCi0tUyYxFZe/THLd4Tak=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMipm1jo8C4w8YL9pvd4vpZDJZ6qnTo+fuF/zjc0Zz auPut4rdUxlYRDmZJAVU2R5IhN2enn74ioH+5U/YOawMoEMYeDiFICJlP5grBUO0Uidz7hA7Hqk yqwPp50ScjPSX7AWJnelRfxZIzP9fKzqf+uVFaFXM5ZmT3s65cW8t4y1kjbeacxLZmq7+Rx8Uuq 4yrcjyudehn+yz3E/wfeK85bt+Vhw7FGB7Q/5G2n53SbrlB4CAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The armada atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/armada/armada_plane.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/armada/armada_plane.c b/drivers/gpu/drm/armada= /armada_plane.c index cc47c032dbc151a463cbd0b0d048c74c2828f253..786bcce0dc20eadab14c5bee975= 93ae3e05732b1 100644 --- a/drivers/gpu/drm/armada/armada_plane.c +++ b/drivers/gpu/drm/armada/armada_plane.c @@ -93,12 +93,11 @@ int armada_drm_plane_atomic_check(struct drm_plane *pla= ne, new_plane_state->visible =3D false; return 0; } =20 if (state) - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); else crtc_state =3D crtc->state; =20 ret =3D drm_atomic_helper_check_plane_state(new_plane_state, crtc_state, 0, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0DA5B2DBF4B; Mon, 25 Aug 2025 13:44:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129461; cv=none; b=nY0vnzdij4vvljaoZLz/KoQeNIGYde73SZQZnujnnDAWc0ZN0L/FhK3HAZkvDlILNGoa1LwgMjL6BcJSMYozKdw0Qo9d1txWmh4StBVJ+/DxrMHLTErYX0INGL3+/dedtTQh0FVhryDQ2H52qTWRl0JtvvQ9Ok0ijyXo/No7Y4E= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129461; c=relaxed/simple; bh=jHB9qBd94mpoVZjz7oFs7XUljTcZFTODrPUrewnnLNo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=OpODxOTdevqEaoIt5J26Tf7RQ+ZW31X9/TXJt4tOq6I0Ir67nGFmbwNb1vtrrvjX25e/78+A7WtAVVwxFTg2bqHWG8yUdHAmSfLO7eT0LFHHcZGxohBBThtVSv5XwMIHn/1OTP/RG8maI0IyO9ocjCSBoIRfUOvJjwR+ngbwPKU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=illFcxV/; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="illFcxV/" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2194FC116C6; Mon, 25 Aug 2025 13:44:19 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129459; bh=jHB9qBd94mpoVZjz7oFs7XUljTcZFTODrPUrewnnLNo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=illFcxV/bFN84mzq62TuLzJem+HLXc+mbLR0AhK+jAIRmfaH97LMfRGo41SgvuL4t Ih9kDFdN4FSLgAgPj9wV4ueHwr8P8BkeG+l1uM+5MVjOmkhg+sRWH8Q7mr9Oryrj+W wP3qa6WQIzjlZ+NB4mL91AaMd4mARcYn+9BELfm+kiRyze9onyhvhadmOtFMZXyO02 654yLjtlYnFNuprTHkSIhuQH9SXQrTOcDv8hNB253JD8jJ9Fc5PNsiNqu4RLXqH7Ns vhW050T1cmh8ZNhnca07e65VY5lgbaAQfDsfEtL6eRxCld64n8K/ESJ22XRH5Gd65f 1jeZS2YTLBZcA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:21 +0200 Subject: [PATCH 16/39] drm/atmel-hlcdc: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-16-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1263; i=mripard@kernel.org; h=from:subject:message-id; bh=jHB9qBd94mpoVZjz7oFs7XUljTcZFTODrPUrewnnLNo=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMioDbs6ouL3p0tme1nO7/Mo5VZK/CbLO3tVed6SUe 16iivOVjqksDMKcDLJiiixPZMJOL29fXOVgv/IHzBxWJpAhDFycAjARzyzGOnPBtksbNz3+5WvN 0ZKwLLh9ktmR3Nl3p/k9O7z7ecWbDeI+S978D1uvc7R2aWbXTonbtxgbNj+rrZqwsiLdKs40+6p JpUWMs9yb82kLuAQ3XNNxWXX382HZp3ctp23U6Wj4ec2jcMo0AA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The atmel-hlcdc atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c b/drivers/gpu/= drm/atmel-hlcdc/atmel_hlcdc_plane.c index 4a7ba0918eca19eca3fd8febd1db1b2d3a8a6e14..59be5f64c058e2be398f207ad43= 6f922135a5ad0 100644 --- a/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c +++ b/drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_plane.c @@ -712,11 +712,11 @@ static int atmel_hlcdc_plane_atomic_check(struct drm_= plane *p, int i; =20 if (!hstate->base.crtc || WARN_ON(!fb)) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, s->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, s->crtc); mode =3D &crtc_state->adjusted_mode; =20 ret =3D drm_atomic_helper_check_plane_state(s, crtc_state, (1 << 16) / 2048, INT_MAX, true, true); --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AF2B02DCF64; Mon, 25 Aug 2025 13:44:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129462; cv=none; b=hLp+V0yCNnZJsOXBSWs118OL5Y1RlQypeWWIx7XPvDbyCf972Zpe34dQMotKe6UfNSDN7mwLX8nJGuIjChFZ537MAFoOk5BS/jufXKROWrjLXJSxnyd5CLOFFVxgLm38v55IYx9+VELvBxn4MQrvtFj11l2QTnoCrzEQ5xjsShE= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129462; c=relaxed/simple; bh=ipEzi5m8pbpqql3fjjBZnFZQT/7rw8bUQKPrztMpMM4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=qWNv8b2Mn59FpXlMRTWk1ks1j8lpYO6Kcc035N8CSHqgwJzhiVjuCZIQiX4S5J2HJs5D4aVdSWXmg4AsLTjfRJ1oYxiM1rW5vuPfUyzhqNsVc/l0dycXkP8XH7xUkKP0Ot+06mAWsZj00QNPNQTDQHoMZKQYJb2i6BytHxidY5E= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=R6BxImK3; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="R6BxImK3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id BF652C19422; Mon, 25 Aug 2025 13:44:21 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129462; bh=ipEzi5m8pbpqql3fjjBZnFZQT/7rw8bUQKPrztMpMM4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=R6BxImK3j0dba1VW7NlutrRy1g/KUZ1qqZE1WaUss3x7ZlEyQEHthgCTiHcU/avrC VWSzol0iJ8+TiS3OkdXJpIFI3QpzPBCKg+rJNHU9mzq4WhiTnHQXGZhvXwfTBN6ROm IN0Dv2L44se3r+E7TGJ6oKnVz0qXuMlC459msSUOXKo0PPznMTipOdfLpzoFFzTRSq N8cAXnW4rbJZs4UFHfhbZrSqiuLdGBfWNeP7tngkzjaDyLALQ/uas8EsDq99wTXszH 0XhED3BE8hSAcoZD6oMXvtwi8vdccGik+7UILWudWPpGVbieHP1LA+1k0dwLTEAIjg oczy/mKj3U3eQ== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:22 +0200 Subject: [PATCH 17/39] drm/exynos: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-17-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1388; i=mripard@kernel.org; h=from:subject:message-id; bh=ipEzi5m8pbpqql3fjjBZnFZQT/7rw8bUQKPrztMpMM4=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMipTb1Sk3RZolbgk0zR5R/cJzx6Jf/atcw2W/Xzwn N8qn4u/YyoLgzAng6yYIssTmbDTy9sXVznYr/wBM4eVCWQIAxenAEzEbSdjw2GZbeJdb+1ff7r8 SbWP46nlxKZJbAcWHedZeiBER/KQSYHnzcrCtV3ZaUv8cic/axBjZazTkk0XuPuTYbH0j2U+QVL V91LOHhW4FdKbyKbrcdrlEGPRQXOTqPmSURM0TgXXRfU8mQwA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The exynos atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/exynos/exynos_drm_plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/exynos/exynos_drm_plane.c b/drivers/gpu/drm/ex= ynos/exynos_drm_plane.c index 7c3aa77186d3431d7020db4dec70332c0cfccb5d..6400070a4c9bcc00ecd0f21cbce= 1b5aafe1bff48 100644 --- a/drivers/gpu/drm/exynos/exynos_drm_plane.c +++ b/drivers/gpu/drm/exynos/exynos_drm_plane.c @@ -56,11 +56,11 @@ static int exynos_plane_get_size(int start, unsigned le= ngth, unsigned last) static void exynos_plane_mode_set(struct exynos_drm_plane_state *exynos_st= ate) { struct drm_plane_state *state =3D &exynos_state->base; struct drm_crtc *crtc =3D state->crtc; struct drm_crtc_state *crtc_state =3D - drm_atomic_get_existing_crtc_state(state->state, crtc); + drm_atomic_get_new_crtc_state(state->state, crtc); struct drm_display_mode *mode =3D &crtc_state->adjusted_mode; int crtc_x, crtc_y; unsigned int crtc_w, crtc_h; unsigned int src_x, src_y; unsigned int src_w, src_h; --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 5090D2F530E; Mon, 25 Aug 2025 13:44:25 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129465; cv=none; b=P08TFPsEPdSHdKLWHM1ZDg7Ab54sxIboOFGBwkuQ3LxHYDCPVPWdj1Hjwqmw/aFXwj5xS7l+7O+5nItlcqOkSso7++75Nsce0YdD0IetPD/84gnshuCk5juR7OXlii7B/Y9iUHfmjHLLYcCIIJMxSzqpA1YIuIuhX8lHMN7hzFI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129465; c=relaxed/simple; bh=cdet6BhvJvnTpMjFeGRdC/AfKE3FmaLJmm3rg0mThGQ=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=bogymbznZmreH8P15TwaGOmHgZICbpfCDXssaYeMNSKGGRaWTFeSqsw8qVZ4YSsxK7VmLcnbXDC+zsW7rqGcsxWaKArFRrfyxzgv/6PHzS3OrhNEc6qhgZsaMlHRPfbVUEoZC2aeE4B3pxzcEFVAug2UrHE3iN6zAFgaLQYlBoA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UHl+befQ; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UHl+befQ" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 66AF0C4CEF4; Mon, 25 Aug 2025 13:44:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129464; bh=cdet6BhvJvnTpMjFeGRdC/AfKE3FmaLJmm3rg0mThGQ=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=UHl+befQdj4yNgM5w+UMoiYeGJYr8fB0+7x0+FFkYIiIcRcFcVQlcaB0RlH5FSn39 Wm8xVPTy9fKMt9QGV1fRJR8KF7vZkgGX+x4qZYLAZ/Q6XIkfZB8xCQpEPAGD48fUFK 1taq+bv9QA5DiyPmWNyBNwr9FZvM5yjGpggdJ3OFJmelaXtHHUJ+9fMyUUsuZyUAVX WDurGAAhOl/Q24TW9JkarqV3d/nRwB/oight39j+7+jElYDr1mIMUMt1VWAAababIQ inhWEXmy6JHa/NOLzdJAh0fNvV/b+rh8GluayrMDt+CZLYjv9FBrkbQvllR3NErF6c 2fU1Fao0sqdGw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:23 +0200 Subject: [PATCH 18/39] drm/imx-dc: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-18-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1217; i=mripard@kernel.org; h=from:subject:message-id; bh=cdet6BhvJvnTpMjFeGRdC/AfKE3FmaLJmm3rg0mThGQ=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMqp6mFqWKh19t9L6lRP/ydB3F584CC7p+Phbpe/tz R0HmYt9O6ayMAhzMsiKKbI8kQk7vbx9cZWD/cofMHNYmUCGMHBxCsBELmkwNnw4GDClvendzGR/ H6bTKydJvsnw71vCPEu1cNbtuJoJ2+0Vi8VZf1a4Z72Yf+ngtEWCGxjrs6bqxxS5L/2gMdPhA0f o9g8rZqgfWh7Hnn6+bvahpqPRM5ZW5YcoHTI6l1EaH6FnsPcoAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The imx-dc atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/imx/dc/dc-plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/imx/dc/dc-plane.c b/drivers/gpu/drm/imx/dc/dc-= plane.c index d8b946fb90de638da2bf4667307f11b06f4e77f5..e40d5d66c5c1f0d579a7a1019c0= f2e00489ce15e 100644 --- a/drivers/gpu/drm/imx/dc/dc-plane.c +++ b/drivers/gpu/drm/imx/dc/dc-plane.c @@ -104,11 +104,11 @@ dc_plane_atomic_check(struct drm_plane *plane, struct= drm_atomic_state *state) dc_plane_dbg(plane, "no CRTC in plane state\n"); return -EINVAL; } =20 crtc_state =3D - drm_atomic_get_existing_crtc_state(state, plane_state->crtc); + drm_atomic_get_new_crtc_state(state, plane_state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 ret =3D drm_atomic_helper_check_plane_state(plane_state, crtc_state, DRM_PLANE_NO_SCALING, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A1FAA2F548C; Mon, 25 Aug 2025 13:44:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129467; cv=none; b=KwZRoVPNHb7wx1pNvfdbeyCtKeOtZ+/l+fZj7RkkwlJCi1kV60cR0uEqm2Vda6Sir4xqEOgFPH92ufCbZI8O9wwjvQOY3yESnxuvvrpzD2KBY9b+0G2YK8r+CB777OKfZdakl6seZ4U7Q+m6DQbM3l5ZaVFdAdCHhhsjazqIgcc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129467; c=relaxed/simple; bh=lVX5Kq2qUUXyIRlOQlLzDT0cxgR4eNRWNpSohVBvNmc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=nF4ObNpsCDsWywu/L/wABWKAo4HnFG5AHEVqakwpt4Z5iMdwC4N1VI+oQNYw+5PPAbanvK173otIz2aMXYdQET9wAuFmVAdfWp07uwxBllX/HCVjLRcr9dP8YoXyWCpgX3ZVzRmhHivTFDcv9e2p0u+ErRvkItig2O+HwI0vfiE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fX/lZQ95; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fX/lZQ95" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A537C4CEF4; Mon, 25 Aug 2025 13:44:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129467; bh=lVX5Kq2qUUXyIRlOQlLzDT0cxgR4eNRWNpSohVBvNmc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=fX/lZQ95XS5Z7Nlf0lbhWvGcSyGNgSAnODmtZPiKdsRqwwbvRcEp33XrUxmZevVQd 6O8Srz6zyi9KqFozmcN3ljNggcmzPJ9QY7Zg3lBKijNJUkfiBwtfTE99bfvPSDLXIL DlTR6Zns9bvl8M4v2JnsoAoKHar4OyIdSh4V5tjR6K1UD4VfflybONd62/fYzkXmSq ZAtEPi0eyla//4QLIIRqk/EHxkGempkN+Jsc6Cw/KaRvavp7j1IDHygMpiEPq3lAjn mHAXTOZ9pq40T87cKCLxagOyPOUXSDRwltYrNtX9/mwSfMVhfI9k/AOCkYjF07cS6X uxNDS02ri4NSA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:24 +0200 Subject: [PATCH 19/39] drm/imx-dcss: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-19-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1289; i=mripard@kernel.org; h=from:subject:message-id; bh=lVX5Kq2qUUXyIRlOQlLzDT0cxgR4eNRWNpSohVBvNmc=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMqpCrTdEbph6cpJrnsztjhtbmc/nyG/48LdOw2KNL 2NYqWtIx1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAbhID2N9eN2lBufHZmp9RpVt J99djX3q9PffCc87rYWHVC5x5x+RVbvCM/G4y6tvG5c9e/pN/VkPY51y2h/2iU/jhC1T/8Ye2pZ eysIeYr9i/8EFJ63my0uJMeSatW/JcVtZFVfBeiwy+9lsTgA= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The imx-dcss atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/imx/dcss/dcss-plane.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/imx/dcss/dcss-plane.c b/drivers/gpu/drm/imx/dc= ss/dcss-plane.c index ab6d32bad756d080e1c56d7574403febceff94f4..3a063a53c8dfa6bc5bbbf9afc7f= f6519199c2f19 100644 --- a/drivers/gpu/drm/imx/dcss/dcss-plane.c +++ b/drivers/gpu/drm/imx/dcss/dcss-plane.c @@ -157,12 +157,12 @@ static int dcss_plane_atomic_check(struct drm_plane *= plane, return 0; =20 dma_obj =3D drm_fb_dma_get_gem_obj(fb, 0); WARN_ON(!dma_obj); =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - new_plane_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, + new_plane_state->crtc); =20 hdisplay =3D crtc_state->adjusted_mode.hdisplay; vdisplay =3D crtc_state->adjusted_mode.vdisplay; =20 if (!dcss_plane_is_source_size_allowed(new_plane_state->src_w >> 16, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 498D92F547F; Mon, 25 Aug 2025 13:44:30 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129470; cv=none; b=MZVth6SpSee5izv9jOfiCulaASxuIw/NsjZC+36zb0lh4ptJrcDqaFRLTaveDyd1TH9sm6I5KAdkdX2hgTpFaIHuJLwi59susxM68gPIwoQ9mfYlD/7yqKVJjjXDv9XDnK8kraoxFoFbRCxfVmqbR4lH/3eXGxaxmQYfB7UsDYw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129470; c=relaxed/simple; bh=lKGbpvGS0ld/o0OGi7IsGsxETrTT54aqG6vrC35z6z8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=s/gQ0Xw+dOd8QwbORnmZinfOwStpQcj7HYNEcMZ/gAnqv5Y4Hv6jWIkJaB6eObQffMfNCzZCIurYkwoW8w3tlGewZljFCOZ1yItSL48VC5vkHrW4ysCRMqvgDuI3kq47154y2IzjbFmWQ5NO3tvYokSGBM/BfjG9g2rrlqWdlfo= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=sN+6N1uA; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="sN+6N1uA" Received: by smtp.kernel.org (Postfix) with ESMTPSA id A4655C16AAE; Mon, 25 Aug 2025 13:44:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129470; bh=lKGbpvGS0ld/o0OGi7IsGsxETrTT54aqG6vrC35z6z8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=sN+6N1uAu6y0l4xThvCdGpEYtYNGv7gvIGio4I4OmmisH69oXfjxg7tB9aSpECOot huX/T7LsXY5CqcoGQonc7ohnWg21X+QqWpm10Kc90Dnnbs8k/JqfTbPu+A4eKL17aT 0u+TtwmoQnueWG1sxqSG0bfNOexRk4Y4vWInPiPGEl70ITiYC+8gRvIu9Ouw5lsHdq PeKBXv8Xj3Rj/BVoliJfwIce6MHR9PbCsVAFQpwYG3udmI1CxFXdhHW3MvrYVAC6Ya 5MSOG0UQonm2Gro4e4Td8V0+3+HO48x7I3+ZyQZeK755PLzzatRTDTzWSTE0zGGl32 2ogCSYlBmKwBQ== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:25 +0200 Subject: [PATCH 20/39] drm/imx-ipuv3: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-20-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1216; i=mripard@kernel.org; h=from:subject:message-id; bh=lKGbpvGS0ld/o0OGi7IsGsxETrTT54aqG6vrC35z6z8=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMqp5Lf78tDKL6c/s38Z6peml446d735dZdx8s1e34 k7ArGNCHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BWAi9y8x1ucdjbu+VEFF+L/z gyW/OH+Ft+ok+BVPlmhsk9y9vV8l9vKl/Mw/Ma51IWcOBO7yilu2i7Fh+gzXS7JnFr1lVvubqvU nleXPwzQW3Vnrbza/dlpa1Kx6TjPnUkMvy+ftZvMnZtZneHAAAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The imx-ipuv3 atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c b/drivers/gpu/drm/imx/= ipuv3/ipuv3-plane.c index 704c549750f950c3f0ce5d6c6f637d9d7b53fb69..df19560e41b4f5b0dce97ae0394= 7abeaf99e0883 100644 --- a/drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c +++ b/drivers/gpu/drm/imx/ipuv3/ipuv3-plane.c @@ -384,12 +384,11 @@ static int ipu_plane_atomic_check(struct drm_plane *p= lane, =20 if (WARN_ON(!new_state->crtc)) return -EINVAL; =20 crtc_state =3D - drm_atomic_get_existing_crtc_state(state, - new_state->crtc); + drm_atomic_get_new_crtc_state(state, new_state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 ret =3D drm_atomic_helper_check_plane_state(new_state, crtc_state, DRM_PLANE_NO_SCALING, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 1D17A2F656C; Mon, 25 Aug 2025 13:44:32 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129473; cv=none; b=A3EsSqFMz60U6xFFpomF4NC7yvWOM+h9xZvFezn3sA1u35ZfKvI8Q7ENz2RydtdJ3WCj+WWbQHNYIskTbX+SY+Dt97Pbw0XyFqzlmyFfpT7hjFrbIsil9g+sGsDltv6FmIajxwqi9mp8HdX84oSq5oAzxOrg6LspU0XNu1Omh8o= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129473; c=relaxed/simple; bh=VFfLkQMZKoU2kUur0urjFV69BHuLaRCuZdGABtr9Vfs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AS5CMKUnv01+jwzMUw+lwk8NCmpTyoi7uKNrAQOYQaXuGr0Nw1Z5O5xIoBq63k18+wdyhqgIEgZmhnfezLdgI1ToOhp9n4XEbm3tXHl86xNDAimoAzIVOK/tCG4+nEAaiyVloLQaOx1m/3VSVDJyJMX6OxImU7xHHPHCIMkwBho= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bkFkLoHe; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bkFkLoHe" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 3D7C2C4CEED; Mon, 25 Aug 2025 13:44:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129472; bh=VFfLkQMZKoU2kUur0urjFV69BHuLaRCuZdGABtr9Vfs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bkFkLoHejl4s7T6vbDFRoh3KE1oTdlbDAHRhKdutLjr9SL7IYpQxgiXAL2KoN/6cA hCiuGwrPI+AuXT+modRmf4o8OZn/bbD66J9OQEzuGNng2YIhvMoq/Qq7Fz89z1TtRz matcimxsfBK/NM5C7XbEicEBOmckNAESurSWnp7ls3t+RzZ3uIOhTnVt+83eBHAmhz VrLpfNOGjYr2+rxvDlU9cbvhK5RN0eh1pGf2CaLM7Pvi4PXS1tlH7jQTzbsDg8T1dD rVK2IlOJU7v7LBv9PhTJZoL2uB/d9xvKob0QnO+isb/lVnY0bba5bJmJLMGfCAhYpe J6ELK0KuGlUZw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:26 +0200 Subject: [PATCH 21/39] drm/ingenic: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-21-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2009; i=mripard@kernel.org; h=from:subject:message-id; bh=VFfLkQMZKoU2kUur0urjFV69BHuLaRCuZdGABtr9Vfs=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMqovPnZhPhNpK3tBwffbJ8byB03T51+qPiTWPEU2b QKL0qmTHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BWAiXdaM9f4zNIW7Tzm3hBza eazRWFhtjf5DPmff/ic9nQqWhWeO1k6Z+DBye5zuvkcLfL8mGBVsY2x4m7XwnYuc7ewv/UIBl/d 8sShpfXhZKvGRsbfL3/0bGvUXZvDNt7315/6FhVP5r8j2WPcCAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The ingenic atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/ingenic/ingenic-drm-drv.c | 3 +-- drivers/gpu/drm/ingenic/ingenic-ipu.c | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c b/drivers/gpu/drm/in= genic/ingenic-drm-drv.c index 9db1ceaed5188a4ef0897280dc72108eb3815b5f..05faed933e5619c796f2a4fa190= 6e0eaa029ac68 100644 --- a/drivers/gpu/drm/ingenic/ingenic-drm-drv.c +++ b/drivers/gpu/drm/ingenic/ingenic-drm-drv.c @@ -469,12 +469,11 @@ static int ingenic_drm_plane_atomic_check(struct drm_= plane *plane, return 0; =20 if (priv->soc_info->plane_f0_not_working && plane =3D=3D &priv->f0) return -EINVAL; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 priv_state =3D ingenic_drm_get_priv_state(priv, state); if (IS_ERR(priv_state)) diff --git a/drivers/gpu/drm/ingenic/ingenic-ipu.c b/drivers/gpu/drm/ingeni= c/ingenic-ipu.c index 2574a4b4d40a2c27cb212114117829d9f6ab3ddb..32638a713241abbd4eaed09f0aa= ec2b790650cc9 100644 --- a/drivers/gpu/drm/ingenic/ingenic-ipu.c +++ b/drivers/gpu/drm/ingenic/ingenic-ipu.c @@ -578,11 +578,11 @@ static int ingenic_ipu_plane_atomic_check(struct drm_= plane *plane, struct ingenic_ipu_private_state *ipu_state; =20 if (!crtc) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 ipu_state =3D ingenic_ipu_get_priv_state(ipu, state); if (IS_ERR(ipu_state)) --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id BFD212F6591; Mon, 25 Aug 2025 13:44:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129475; cv=none; b=JA41SWdQ3bUrBqiUOfgJ15N7XJ0Cp2G/qyefSMDCtTawLicxOaWuyppsTWi7eI9OJNKkS+LrWxnkRHxTtmdyfpoM4rqUwUwxQYUR14u2CLXpVDkhJ4Pc9njFasMFELCuFTqq/4GBTgq6PC8ME7nhdIESm9E9zUAXtVMns5ZY/XI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129475; c=relaxed/simple; bh=r//PbdFPjHr7vUob6ri6yFjKMzvvCTRP454ffiE2Ecc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=SMhj0+GKhVMhd0Mws71mrMjafCz0hg3M/a+F2Gm6hB8rmV6oc0QhPrvA/K2CqTFfjNC0/tb3SINoWJG0cVoeBfowGirOXsmTTBytMx1n6CvUT+3LgfnEsLW46gB1QnK9wDOrZM3UguSuZSQ6hpsKGh7d3D/2h54zCSapucLbLtA= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=TCkJc+Xm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="TCkJc+Xm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id DBDE8C4CEF4; Mon, 25 Aug 2025 13:44:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129475; bh=r//PbdFPjHr7vUob6ri6yFjKMzvvCTRP454ffiE2Ecc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=TCkJc+XmHGkjaks4GDLVAXSvsoo/DUF15Wv+s3w5PSpoinfeP0lRoscvqt/dAEyRN /mdgP2nKlD9c8cPA5gfSWq65zZI2f8COJisGk2Qvq/VZgoUlCvb9ETNKe3RwgdENFy ygQt0eStc8muabQqn9iLALMxVB8Csg4rn0Lw1nIQ2ByQyf8KypJJND79lE0JJ35h0d M04mrOvmzBMFaXX/bMbbL8qJSJO/3TskneugpfRnfEJict1X65h+JOAc/ESbi7O7M8 se9OzCE2t36W6+/AsE1vPXuCxh/NJtQm6BgTQJH7xO31PsWLLl27VA90Di08zzo3Vi K/9A7syg8gNXg== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:27 +0200 Subject: [PATCH 22/39] drm/kmb: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-22-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1329; i=mripard@kernel.org; h=from:subject:message-id; bh=r//PbdFPjHr7vUob6ri6yFjKMzvvCTRP454ffiE2Ecc=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMqpT21gUhGLdKnj09j9gf56yS9Tn/f1nz6IiP9RWn 9UV2fOzYyoLgzAng6yYIssTmbDTy9sXVznYr/wBM4eVCWQIAxenAEyE4zRjDdfMJM6i79fsmvKd nm9j1zysZKg/6aZrVVD2MgPrb4+ins+P4+TqtxHLCElL/mI74bkGYzVL/qqAD/qCPkoVh7d4KW6 45LLx3GnB59GM28zUi1bvkjFQDvlRUeC/ISnsqp7WyW/JXwA= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The kmb atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/kmb/kmb_plane.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/kmb/kmb_plane.c b/drivers/gpu/drm/kmb/kmb_plan= e.c index 9e0562aa2bcb5ab4e2cbd71940ef4c147a7aa5ad..9562fe6711ffe2c5ad377e9973f= cfdb76bf04daa 100644 --- a/drivers/gpu/drm/kmb/kmb_plane.c +++ b/drivers/gpu/drm/kmb/kmb_plane.c @@ -127,12 +127,11 @@ static int kmb_plane_atomic_check(struct drm_plane *p= lane, drm_dbg(&kmb->drm, "Cannot change plane height or width after initial co= nfiguration"); return -EINVAL; } can_position =3D (plane->type =3D=3D DRM_PLANE_TYPE_OVERLAY); crtc_state =3D - drm_atomic_get_existing_crtc_state(state, - new_plane_state->crtc); + drm_atomic_get_new_crtc_state(state, new_plane_state->crtc); return drm_atomic_helper_check_plane_state(new_plane_state, crtc_state, DRM_PLANE_NO_SCALING, DRM_PLANE_NO_SCALING, can_position, true); --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 626C52F7464; Mon, 25 Aug 2025 13:44:38 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129478; cv=none; b=WgBiXa8GlOKt5qcdToaFrmO5nf6LiItEz6gArf2ORWKaFkhjr+wP0T7+3gZ5QcWTijiYY6r5sTLciwdbuWPiqqHo7kB5H5S/AirqEwJasBfRPzSdBc2cDEs6g8y2tauB24qu4UXmXqnuaLy3qIHO6nEa4ZJgpEynljpmT/DI3ts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129478; c=relaxed/simple; bh=5ghhYDBMFJyKIkZbVGAo2O5nXbSJDY0ydQcOIHmbhJU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=IejEynRvRTZBavCb8xye4QPexj88uSycDSBCus0Y/Jl7Xp1hWVmWgl8cq+Bo/Ab9w+fS3xCK/Q7JF9nnYBwq+oWIEZPEfaj+B1Dqm4AmbmJRuO02DBIwBlD3BJ1ROms0fqxIWD1r/cGdfQK66qMLN8zvGqRBhmdSVg9U2nxhNS8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=D4I3x/yB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="D4I3x/yB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 7DC87C19421; Mon, 25 Aug 2025 13:44:37 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129478; bh=5ghhYDBMFJyKIkZbVGAo2O5nXbSJDY0ydQcOIHmbhJU=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=D4I3x/yBjanVz2cYz/LhIcwvv6sPWavU9NDr7nkjzQ66ZA8eNRmFoS6iZlpkxl8oM RyJYXlwJbLDPC3njIBNJKU1JElOQ7tgCO8WIdKf+AFGR9JfIVYd2G3jalytW2K2hKF QbTINWgea+BKxb929KBbzjf1cWGpQDFZ8xVgBPQvTUxhMBTmpnc29vZvAFkTHTrCzQ UqWGRRlvaUORwAo4lwIrDyWHKz+FO11GGRmg/mO5nHGuie08/i96EEMEuOsXV60vlP rZTKjsTOXl7WivMXMXLoP+gsko6sVWE0a9hzvH3rcCfIOLy+BDWQsZpACyfH/OH+Kz CHZxYTyhJvY2A== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:28 +0200 Subject: [PATCH 23/39] drm/logicvc: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-23-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1236; i=mripard@kernel.org; h=from:subject:message-id; bh=5ghhYDBMFJyKIkZbVGAo2O5nXbSJDY0ydQcOIHmbhJU=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMmpiJOO1V55NWWtX0vOaee7OgJJls9q75Xbqdu1J6 lxYrbilYyoLgzAng6yYIssTmbDTy9sXVznYr/wBM4eVCWQIAxenANzkJ4wNkwIXXO1pdri+u2J7 8sIa/9bLUYLFZ4K/eD4T+mPufO2aTMFD6Um/yj9/PpP3ZWnkrT/ljPUFWt0x3BNcVEN6lwrm6qx e0fYvcJn2xolu255IMR/ouvY4bLNiTluYhLKa2qkM7+DlnQA= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The logicvc atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/logicvc/logicvc_layer.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/logicvc/logicvc_layer.c b/drivers/gpu/drm/logi= cvc/logicvc_layer.c index 464000aea765378894002fdb02dab16d197c27b1..eab4d773f92b66a9edb9770aa7a= 95349d665ec18 100644 --- a/drivers/gpu/drm/logicvc/logicvc_layer.c +++ b/drivers/gpu/drm/logicvc/logicvc_layer.c @@ -94,12 +94,12 @@ static int logicvc_plane_atomic_check(struct drm_plane = *drm_plane, int ret; =20 if (!new_state->crtc) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(new_state->state, - new_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(new_state->state, + new_state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 if (new_state->crtc_x < 0 || new_state->crtc_y < 0) { drm_err(drm_dev, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A7BFC2F83B4; Mon, 25 Aug 2025 13:44:40 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129480; cv=none; b=oxG8GoY1A2uJr+gzUfvafGNcgIas7RPlF3KpaaKQb+PzGAC0QQvJn2B5SNbXxuTCyQmHtftrzsZdMu3aPkiqaDl9V4ktg+L8i6GSHfeviZhR8WbFXMSJmJkBGy9XblXrv1q5vdeAWIN2OHBHXAd1V/y3u1qB5GyRqabwJME7pKY= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129480; c=relaxed/simple; bh=XHw3Zq2Alj3WodqFafXC9/6UX1IcznRZBIsvNDuBM/o=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=FqrrExYXFIoNNl6S300WpKDgE1dk+KbmAw1Nm/KkTITYg4p9MXAaOH8fWF52Su2lQoowf+qX8nTydxGDJCEhwwXYThzjaTO6LMYvk5MNxMlfw6mtvAFM6H0igXbS3CC3MoQRm50XznPgfGorkDTYLtvng0vSdvc0EskFsVS27vY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=nKskBDZX; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="nKskBDZX" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 162B9C4CEED; Mon, 25 Aug 2025 13:44:40 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129480; bh=XHw3Zq2Alj3WodqFafXC9/6UX1IcznRZBIsvNDuBM/o=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=nKskBDZXBX2cQOZMH89Kb+JmgbknhWKQZlD4bSHSy1/gbjIK6H4RTJoqQNMLA3XCN S8r3oQdtXAIXyeIo45funOxfaXa6PKksMM3Y2d7BshdMe3EK+jVRp0wheTiy7UIOkV /JPJDvoAs9GskynxvD3h31Uqk9l9v2cfg/iCIiGjGTQoCYtaeZYplbPW76vs4mH0Y4 KPRburarHSPSq0rkjR+dIY6DYDwe+1VlInov//xUhIv9CLOSMExlUliDM5HIYFz03n NfpQtNO5JJh5I2MYeOc8X5HI/rSJ6+4j9M7ZiNVuC4DP1VlpSj/FCXcz9LG18fcoDt tBktpD7RRcqdQ== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:29 +0200 Subject: [PATCH 24/39] drm/loongson: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-24-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1283; i=mripard@kernel.org; h=from:subject:message-id; bh=XHw3Zq2Alj3WodqFafXC9/6UX1IcznRZBIsvNDuBM/o=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMmpWSc3s1zcPt3Xqy0vdcbyCv2Rd5v3TS1RPZb6Z4 nGC/V9Fx1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAZjIszeMtZL9IsaZcc9FFRqS MyZfUQhn9U5n2KtnPj/V8dd/lqYF51dNPhxX8Hsjux3XtRJ12W+3GOv0eeqEy2bfeXPMq7aK8cQ 1/Xd32iXOXNbYpLV7YueGVe7Stm5Vy8+FLLz+PTO7TuqV1DkA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The loongson atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/loongson/lsdc_plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/loongson/lsdc_plane.c b/drivers/gpu/drm/loongs= on/lsdc_plane.c index aa9a97f9c4dc28eea3098507ce52e6aa6caa46eb..2967a5cca06936d5d2480fac258= b01e11f8d28e1 100644 --- a/drivers/gpu/drm/loongson/lsdc_plane.c +++ b/drivers/gpu/drm/loongson/lsdc_plane.c @@ -194,11 +194,11 @@ static int lsdc_cursor_plane_atomic_async_check(struc= t drm_plane *plane, drm_dbg(plane->dev, "unsupported cursor size: %ux%u\n", new_state->crtc_w, new_state->crtc_h); return -EINVAL; } =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, new_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, new_state->crtc); if (!crtc_state->active) return -EINVAL; =20 if (plane->state->crtc !=3D new_state->crtc || plane->state->src_w !=3D new_state->src_w || --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id AC7832EACFF; Mon, 25 Aug 2025 13:44:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129484; cv=none; b=iexQkGcjqiYL4axvyOchFI8JiXS3qf1UNYWt6l2uobKyTt/oTvM9uP0wXSdTd4BNz2w30GnGTGMSud42yyK+q1QfpxQVoF3OrVEbleVnVRu/pQ8WxlERafLv4+oaDegk/TrNnYj8DZ/sN7NlWRx3XMOrKaNHgZM2A4GQg1Q6dj4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129484; c=relaxed/simple; bh=LYSKctOzhzHiF5NG2F68QqE+19m2/K85cLJBENholSI=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=LU1r0c5hfja7s4redHj29VVrOhtTxwsmf4GPdCj7Y3WqdOQxpMujqmif4oYxyK3kPXg4/7rheuPPRUdnLvSEEX4mxWCrSkV/cJPh7Aq+JX1+jtxWWbGSArQlTzLp0Z8bkpkHIwmOPRe6alWappixs38WeaJmb9p2Z/TZ2mhYLWY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=X3SMlzI3; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="X3SMlzI3" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AEEA1C4CEF4; Mon, 25 Aug 2025 13:44:42 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129483; bh=LYSKctOzhzHiF5NG2F68QqE+19m2/K85cLJBENholSI=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=X3SMlzI3/JEg2p7Xdka2CjhpGpvYk+hIQ5P/hRSwjC2JzjKMDeKnWLK4w99eoERfW McVduTUsxJOzZfKGnaY/61mRrSsgbpfYpUXec+2qaPey80fPawheWnuFc+PSmebXG2 cd/wE1IYgtuekaRpjvPEjJIPXHCtejZluwO4kJbKuwORUpM6I6viu7HgdP0YR684bI LTJwdP1GlrZXWanNyC/lVONWk/KTV7+VvBelmKpn3g7Yar7pTxbhvoxawA0TqSF6Wu qVGMTFov7Y7hvZdmQyijKwF+PuZrst7Yu4592d1IEogPRWDzdRg8w0utI1DCp45m1u JRrnjumAiq0iw== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:30 +0200 Subject: [PATCH 25/39] drm/mediatek: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-25-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1317; i=mripard@kernel.org; h=from:subject:message-id; bh=LYSKctOzhzHiF5NG2F68QqE+19m2/K85cLJBENholSI=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMmqlljyeplH2bnqVQtmsTqfvYYeaM71LY1t6bHOV9 c8cS//bMZWFQZiTQVZMkeWJTNjp5e2LqxzsV/6AmcPKBDKEgYtTACYilchYK7RX/kmKWc6kr58P vz186coKPZUvV3+s+7xB5tnJLQ82xkjcrBd4/P1954I3ZwLSjilriDHWu1YzztjR9H+5s2vSFSV PWSmt7KcGG3Wkd4Up+W5mrX6ru/EH87Jvq+OiGU6Uf93fnT0DAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The mediatek atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/mediatek/mtk_plane.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/mediatek/mtk_plane.c b/drivers/gpu/drm/mediate= k/mtk_plane.c index cbc4f37da8ba81ff9c8b3b58f66363837ffc21ec..d4486a63a6e01f02b6777522440= dee8e39d51bf1 100644 --- a/drivers/gpu/drm/mediatek/mtk_plane.c +++ b/drivers/gpu/drm/mediatek/mtk_plane.c @@ -120,11 +120,12 @@ static int mtk_plane_atomic_async_check(struct drm_pl= ane *plane, ret =3D mtk_crtc_plane_check(new_plane_state->crtc, plane, to_mtk_plane_state(new_plane_state)); if (ret) return ret; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, new_plane_state-= >crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, + new_plane_state->crtc); =20 return drm_atomic_helper_check_plane_state(plane->state, crtc_state, DRM_PLANE_NO_SCALING, DRM_PLANE_NO_SCALING, true, true); --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 66FA32F8BCA; Mon, 25 Aug 2025 13:44:46 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129486; cv=none; b=U2TIMn8NzCvWWcb8Pg+iJX35p8b7aBi8oW1Mp4MuKmTPjz6og+WplBKFer9abbZoRhAP+oe8u9kyYkttXWgXiehXMrEMlmKagZ6i24rs6JeLPrXy+3tCUZRsXIB0L8Lgp/3mzNY3LJ+j9GwE0+qKhy9EjYZeoKx4dsABdDz8HDU= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129486; c=relaxed/simple; bh=HcSbzm6xiAcXfwnDx0Cv/dA7CqHgBV6SnVkm3VTl8b8=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=DcRxrF+2naYx7A5Db4gxsQ6yVcvZFFtk3Fp9rxZrWdfY/FbjttTT0ejr+fHHN5WrNVbcZEvaNrStA9FPr2unPAjdk9hJYHXQFNWIUw6j5j2tns5Ds4D6wnJECfWX/B3XCtC+u2inljBU1cbIsgBDz98Q9qhzZqyDJNNu9U7HHuw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AyofisIO; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AyofisIO" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 605F5C4CEF4; Mon, 25 Aug 2025 13:44:45 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129485; bh=HcSbzm6xiAcXfwnDx0Cv/dA7CqHgBV6SnVkm3VTl8b8=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=AyofisIOZGuv/zRqYOaeXnjJZg1MeSrRJi2kw0vA+ULf2PuI4GYVAWgFhqhNxLdvZ tvMLfEiL/5nB0r8R0SBdzojjnkCRbUcWvQN+EzfdUi26iGbYKIxFAKrf2B49kynvle MHgQ5sCxepLsLs0bkvUZO+TG3vd5nx9HuZhYbfEWu1Pjgfq79LuEB0h4U86JhIZmbJ TYJ2bLTdBsn0nao5cQs0ebKgRoCXRHIfpFLwFFviKMbRypi3JxYNlUmLzTNzxFnVc1 JwDlUzCIUEx2PygCcNcHOPkM1dOTOu3AZS8w/LaPBLbkhYLsMCZmfa+qmcwGIgS9oa +BGknHV8Hpy5w== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:31 +0200 Subject: [PATCH 26/39] drm/msm/mdp5: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-26-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1778; i=mripard@kernel.org; h=from:subject:message-id; bh=HcSbzm6xiAcXfwnDx0Cv/dA7CqHgBV6SnVkm3VTl8b8=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMmp3bz6RONOjzXdyXarlBweLvcmn58/k6N7sKxf4/ znje32vjqksDMKcDLJiiixPZMJOL29fXOVgv/IHzBxWJpAhDFycAjCRmVKMDftn/mbblDC9wyT4 tFDQxL4bCbeOuSbu1d3zo1xh2ceEm6oOgrW7hGQ1bonfXd6429HoD2PD0Wcue/Qt96gb2x2Us9M 3OVl9rkRoYvdJwSkbf868bHT+uYXUplYJxqVfhLZunHyZza0AAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The msm atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard Acked-by: Dmitry Baryshkov Reviewed-by: Dmitry Baryshkov --- drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c b/drivers/gpu/drm/m= sm/disp/mdp5/mdp5_plane.c index 7c790406d533fbabb330c438419efb18204cc4b7..4ca183fb61a95af60ef5a2c011a= e6b2a0df963f0 100644 --- a/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c +++ b/drivers/gpu/drm/msm/disp/mdp5/mdp5_plane.c @@ -334,12 +334,11 @@ static int mdp5_plane_atomic_check(struct drm_plane *= plane, =20 crtc =3D new_plane_state->crtc ? new_plane_state->crtc : old_plane_state-= >crtc; if (!crtc) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 return mdp5_plane_atomic_check_with_state(crtc_state, new_plane_state); } @@ -371,12 +370,12 @@ static int mdp5_plane_atomic_async_check(struct drm_p= lane *plane, struct mdp5_plane_state *mdp5_state =3D to_mdp5_plane_state(new_plane_sta= te); struct drm_crtc_state *crtc_state; int min_scale, max_scale; int ret; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - new_plane_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, + new_plane_state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 if (!crtc_state->active) return -EINVAL; --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 00D8C2F99A5; Mon, 25 Aug 2025 13:44:48 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129489; cv=none; b=gY1T07/QowAvnTFDErHAkHLPvjsNE/972c+JZwpGqWVcOBl+kMhuV1XOISPnizihdn9uF86IVEQ705uagTYVt49F6w6DspzpxHFvmrUnsWKKa98w1iyMj7a3UGS7AgWLq0Jj/aCYMwzNxE8ZfxkVVaLLP+2/VULRqheVB6p7ukM= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129489; c=relaxed/simple; bh=SN8xsGM0guLejBO7WDM1EeAeOFP+rHf/JALVgqpXlwE=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H69r8irOxm383m7he+wvi5BBw7BrK+3qFP1NWu+WJT3bFUlkyZs9xTqViDKyPM/2pePLwrufAUaY16zP7d0lOlYEjYcjzuvzZtQvDp934rXKppyatc2LD5r6XQ3Dbt7r+MtTtpT/jLTZFZyAD+UsW/JP6yQvr7IIjVVdLIxbba8= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Tjrx7CYm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Tjrx7CYm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id F14A6C116D0; Mon, 25 Aug 2025 13:44:47 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129488; bh=SN8xsGM0guLejBO7WDM1EeAeOFP+rHf/JALVgqpXlwE=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Tjrx7CYmt0WUm3wAg1kZfqJLdLOqZbNKpif59kR4Xs8d1aE4b/QUGwAHgwEEcO/ne +n8lOx70olZGFMqZ2t3DvHU5UEy/2Zayb9nDJ7vRUVb0bO87OSPnetFhgZncfwnr14 gdU8nN1DYqvlw1CpMTFXo2otvbjJRWVLbajUYc017VmbnIFdbVfXWAdiN4HP0fhOPS NKbcbQaJT0YLA74RGstZCtqrVgvUrGeinRo5gQygoI5Gq6e3g+jvQtS3tpo64FjbhL KLmKpnocOfWnqv9dNRl3S/sGz6q8YEmMX0PEqXYnrQPoqpEIBC6j+hZA7YXQ0DYQv2 xhL3EXuYTq9gg== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:32 +0200 Subject: [PATCH 27/39] drm/omap: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-27-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1194; i=mripard@kernel.org; h=from:subject:message-id; bh=SN8xsGM0guLejBO7WDM1EeAeOFP+rHf/JALVgqpXlwE=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMuqyyuobNYpedgTfXhfx7p2x8pETX+z77j8tv70pz ktTo/trx1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAZjIjjzGhhmXEzbuvfRyg4Js fgRb6uJosewVX06X9VuHzEiNcf/BaVIYF8saunWS75eezRxL7dq8GeuLHqgmPihouvKxRXbxqWc P/Zbd5DNV+jbLS+ihtPY5b/mK36q3RJO9ti2JNWB9yPPwbCYA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The omap atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/omapdrm/omap_plane.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/omapdrm/omap_plane.c b/drivers/gpu/drm/omapdrm= /omap_plane.c index 24a2ded08b454c4f2225e84f7b0ed09ed733d6b7..d74ef6694c10995c7393217a4d8= 1275b36e00e2b 100644 --- a/drivers/gpu/drm/omapdrm/omap_plane.c +++ b/drivers/gpu/drm/omapdrm/omap_plane.c @@ -227,11 +227,11 @@ static int omap_plane_atomic_check(struct drm_plane *= plane, =20 crtc =3D new_plane_state->crtc ? new_plane_state->crtc : plane->state->cr= tc; if (!crtc) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); /* we should have a crtc state if the plane is attached to a crtc */ if (WARN_ON(!crtc_state)) return 0; =20 /* --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id A3B452F9C39; Mon, 25 Aug 2025 13:44:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129491; cv=none; b=ZKc4vffhvWyw8Rj5/k8m+HH8wMZQjZ3JxJyKwfChPK6+mQiRfk9pLI9hrBl7sYM29zkaTDdj7PsbJNDpM+LN9r1umGoQgjIBn1LnRfotG7uWGYauP8qISfF0H66D5k34Vgu1zoLr9A+v45dCyjbL+tMUe0YNTINAsePimMA1JXo= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129491; c=relaxed/simple; bh=6I4cjWmc+WVPkO4VqeMBMZH+a0S+K78ArYVVbJCy75Y=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=sT31n2xECNM99TI6IvyO8Cn/ygPSPFmAzhQyDf618P5s+zrY3975KIBLVUBK37q8r2nRQNzlctUeLcCI7eMi/nd89e9NcC7ar2Wq/5XmAgupKPihApj2uwSnt8i9IV7nJPCJEy/W6qCHONZ1WV/nKCqjg2zXYNEkYD26F3MMjVw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=UBdZ4fvb; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="UBdZ4fvb" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 99272C4CEF4; Mon, 25 Aug 2025 13:44:50 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129491; bh=6I4cjWmc+WVPkO4VqeMBMZH+a0S+K78ArYVVbJCy75Y=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=UBdZ4fvbcB1gK1sPvlc52XJT6vIylouOXMxiTewWW3hWnHN10+5S61d2kYXfRcpTR nSzJAcyff47d8IrGfcWUmu55Xi4jjvfgah/sih7/rKeB5ZjSJn1RqEYRgwmmGw7gBS aOUVGTtQTDppuaBctyt/nBuJzLOO/C/54XJM+TftDyJVNgGm6Qms30K+o6+6LQ3dKa ExFWKB4zyxlSqaGzX+p7IJxm7g6BySjZFfCoB+sGcZ+P+gXp85TfV9ECJhwRB7anbU kiZKCUupNZr+2DafU3269x/YhhRyOsq4d1DIL8z11nuX6RejgDn/wPQPwJ0khJ2yJC hxxLMLIddLyxg== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:33 +0200 Subject: [PATCH 28/39] drm/rockchip: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-28-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2507; i=mripard@kernel.org; h=from:subject:message-id; bh=6I4cjWmc+WVPkO4VqeMBMZH+a0S+K78ArYVVbJCy75Y=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMur+pf76lrLm4LXnv5ZzPP6Tq56oGpR9I1d/8aMdr Ld5v/1o6ZjKwiDMySArpsjyRCbs9PL2xVUO9it/wMxhZQIZwsDFKQATqd7B2PDrqNQt9cmMHx8H PjjOMLnkiuE0rcrudMmf2znz4hKdm9iLCqzOx+/92vM/cU9ajNLeCMaGfc4GLTkLr+1pkv24xYm JvW5N4ldHv6K3GbpXUz7W+Fj3/5p6+/RRd9NT3AodSV/5Vq8AAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The rockchip atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 6 +++--- drivers/gpu/drm/rockchip/rockchip_drm_vop2.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/= rockchip/rockchip_drm_vop.c index ba6b0528d1e5a493cdef85dd1ea258e70c31ccd5..5369b77ea434c794ed7d509802f= a29c39d2bfa7a 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -824,12 +824,11 @@ static int vop_plane_atomic_check(struct drm_plane *p= lane, DRM_PLANE_NO_SCALING; =20 if (!crtc || WARN_ON(!fb)) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 ret =3D drm_atomic_helper_check_plane_state(new_plane_state, crtc_state, min_scale, max_scale, @@ -1090,11 +1089,12 @@ static int vop_plane_atomic_async_check(struct drm_= plane *plane, return -EINVAL; =20 if (!plane->state->fb) return -EINVAL; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, new_plane_state-= >crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, + new_plane_state->crtc); =20 /* Special case for asynchronous cursor updates. */ if (!crtc_state) crtc_state =3D plane->crtc->state; =20 diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm= /rockchip/rockchip_drm_vop2.c index b50927a824b4020a7ffd57974070ed202cd8b838..4556cf7a33641529c673b8d7842= 115dc739dede2 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c @@ -1011,11 +1011,11 @@ static int vop2_plane_atomic_check(struct drm_plane= *plane, =20 vp =3D to_vop2_video_port(crtc); vop2 =3D vp->vop2; vop2_data =3D vop2->data; =20 - cstate =3D drm_atomic_get_existing_crtc_state(pstate->state, crtc); + cstate =3D drm_atomic_get_new_crtc_state(pstate->state, crtc); if (WARN_ON(!cstate)) return -EINVAL; =20 ret =3D drm_atomic_helper_check_plane_state(pstate, cstate, min_scale, max_scale, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 537EB2FA0E9; Mon, 25 Aug 2025 13:44:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129494; cv=none; b=SEdpcYmaX1oacbht8d5603BOaR2AwOzi1rkBk/Kx6b1qH9Z4RurTMpUB9096TF4pQbetCv5oh3O/Mw0tn1U8xA1tQQJn7VzthP+jJPzhqRYoI9wvaEjP54BVstoAMJwLv4U3g8vgDNLNFw6oqiuasneSifj6WCB+KZjLWELQRZ0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129494; c=relaxed/simple; bh=XL7am6yFhJPBGBAkQnl5lifTl2dnfwC5ZN37c2K6oUc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=a1v/cZ2qS2AryWjVKhIyZHHXcc00cVFV/OPKsGg3xCCIElEFnycUlojEIiRp7RVOgjmGL7vBrYtWJ4WAd+Ps1JURnEln0M7Fn6WlhjJGwvq4SNmh4uvjWz7jdCcGApBmob4aJU69ag5E6/sCoURIgOzq8GH1EauwNDNPYN1Llc0= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Do/99lzg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Do/99lzg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4B409C116C6; Mon, 25 Aug 2025 13:44:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129493; bh=XL7am6yFhJPBGBAkQnl5lifTl2dnfwC5ZN37c2K6oUc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Do/99lzgBAASy6alUHrxQBDqc4aKKvHx3b85MPRfUZP0vwljhhVCWaEhZAswso2pp o1d0yau0MJKDiV7LmYGIAOJRn7pLBr1H0r51uNDwUgw/LN7m/LSXu+qriAWs34wx6Q /gTdcP5VSZgGQC6FhegSniTW5Cb8vRAYWU02btsucgZjzts0YkpeaBMSahAv54bk7j SQdQlyVrtBPIT9bKlt8hVtQtOAYql/Di+cvXKG/bg1rRV12sAWLdvX7MTGhQT0+KZM moUseO01ivD3tityw2WnnxekEuvVbsnLAMfXxlzY93WFTsqYh8V000eCzYK2ROTsoh PUBiICfqyhaTA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:34 +0200 Subject: [PATCH 29/39] drm/sun4i: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-29-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1917; i=mripard@kernel.org; h=from:subject:message-id; bh=XL7am6yFhJPBGBAkQnl5lifTl2dnfwC5ZN37c2K6oUc=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMupTHJZ9uPpBz1rpgreXyo6pO1eH9K+60s8V3/Fou 4euwRmGjqksDMKcDLJiiixPZMJOL29fXOVgv/IHzBxWJpAhDFycAjARawfGhmuVjv1vv0461xes I32i2iD2972f+bY+uSF9pXaBT+Zpzb5v8PT/8ffmsz9sip61aHn5PsY67ZjZc1Zn71oZXMoutLz FOft0snIaRyDX8a1CsZYCV67/KZTluNqjoV5arHAr97WAtREA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The sun4i atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 3 +-- drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 3 +-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c b/drivers/gpu/drm/sun4i= /sun8i_ui_layer.c index f97be0040aab29cb4e138fcceb20e90c72db0252..94ac6ad6f30688a048e594811d2= ae72aaa44376d 100644 --- a/drivers/gpu/drm/sun4i/sun8i_ui_layer.c +++ b/drivers/gpu/drm/sun4i/sun8i_ui_layer.c @@ -204,12 +204,11 @@ static int sun8i_ui_layer_atomic_check(struct drm_pla= ne *plane, int min_scale, max_scale; =20 if (!crtc) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 min_scale =3D DRM_PLANE_NO_SCALING; max_scale =3D DRM_PLANE_NO_SCALING; diff --git a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c b/drivers/gpu/drm/sun4i= /sun8i_vi_layer.c index a09ee4097537fca8b653f34a833b36b69e343ea5..1f77e1d2984548e746805f8323f= 537f3b4d93198 100644 --- a/drivers/gpu/drm/sun4i/sun8i_vi_layer.c +++ b/drivers/gpu/drm/sun4i/sun8i_vi_layer.c @@ -325,12 +325,11 @@ static int sun8i_vi_layer_atomic_check(struct drm_pla= ne *plane, int min_scale, max_scale; =20 if (!crtc) return 0; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 min_scale =3D DRM_PLANE_NO_SCALING; max_scale =3D DRM_PLANE_NO_SCALING; --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E778D2EAB65; Mon, 25 Aug 2025 13:44:56 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129497; cv=none; b=jbYSEe92nyyR8Ka2/Nvi4CEnqScbrBPA2kf8lkZPh500AbsUqrtAVxsdmIbUI/APR939/vLrFH586s5wx2FtwEpYYJAkZvWNmuUFcSt34rCd4o4rUBlmLZxBPQM2UaxaiS1OBEWPOx9UsIfMdNNdT2H+rJ38npxHv+Cg35fc668= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129497; c=relaxed/simple; bh=HjE6i3FYDLKF4s/EvJ3+dsSXU3nVsyNTKBn/YfvPhY4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=rAgq3qLiDEcs0NuJ+1iW5RdCADje9ovhsmlcZbh7Ba2bwGLEXejc3O5ODMrPV+tG9OWF4qcDcyxZrsS9aBVYTwJObktFMALe3R2PmRXD01OqBTF25gmfTrVfSQsxLplLirJt7KHPPUuEjAHv4F3ixPMZ/aHpTvNa/qw1Ovph7IQ= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=AceWBhpB; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="AceWBhpB" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 0A66BC4AF09; Mon, 25 Aug 2025 13:44:56 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129496; bh=HjE6i3FYDLKF4s/EvJ3+dsSXU3nVsyNTKBn/YfvPhY4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=AceWBhpBv9NB9t99qTgZwc9PitVLzFRt8pZsdrbKECQC7Zzp7i/ih8gEAKQnniZ9G bmuT7WyU0U1AqpBJUsDfUA8S7dkidUXy1BipTUYVx3tqsWN6QN5zoCO6KXprXKGfvE S9p6kewkpQmBYbs/A7tZpiGLEjw0fKt/S1qHPSqmDeKHVmGBVfLaY87Hu3tx0JszWJ dx7TMEf76L2CAaZNSzG8ER8iTAhW7JlgJbuJxAv/NRL+462xaAprniRlGE1d55U1gC 7uoUhzDWyZqc6+zXKoBIyXdmfSeKNhqqx3O6IV99xPYTO0VPdOPLZLF994/BNRJhoa rEjSnVV1js02A== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:35 +0200 Subject: [PATCH 30/39] drm/tegra: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-30-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1221; i=mripard@kernel.org; h=from:subject:message-id; bh=HjE6i3FYDLKF4s/EvJ3+dsSXU3nVsyNTKBn/YfvPhY4=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMur1zsxWXZiT3Svz5YyJ3HlXno/Hj6762lvGztEY/ f2UWNKNjqksDMKcDLJiiixPZMJOL29fXOVgv/IHzBxWJpAhDFycAjCRn2sY60P2TXlRX9c4+fly 3Rbbi6e/2K/1OrzvhcfSGTtV/Z4ec74X61tqaL6wsK90Vv2XszPq1zE2tCyaeGLfisxTOR8/aR2 XnyGhFCX4ZI+4rFbll+BFZ4r+KzmG/Z5f8Tpw5s8TCi+KbtwLBgA= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The tegra atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/tegra/dc.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/tegra/dc.c b/drivers/gpu/drm/tegra/dc.c index 59d5c1ba145a82f62c1835da574867084da98106..0f80da3544c9b3a239c43740c05= f007711bc728b 100644 --- a/drivers/gpu/drm/tegra/dc.c +++ b/drivers/gpu/drm/tegra/dc.c @@ -1031,11 +1031,11 @@ static int tegra_cursor_atomic_async_check(struct d= rm_plane *plane, struct drm_a struct drm_plane_state *new_state =3D drm_atomic_get_new_plane_state(stat= e, plane); struct drm_crtc_state *crtc_state; int min_scale, max_scale; int err; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, new_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, new_state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; =20 if (!crtc_state->active) return -EINVAL; --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 563742FB99E; Mon, 25 Aug 2025 13:44:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129499; cv=none; b=DA6XNW2SQ7ifV0mt6moH4BDaNrWvnL5qeYA2ozxIcaxppJLYzIs/r7wWB5RRlpp31fEPC5yunYsb7ETB/QLWIl9vK0CfV8libvSCD24XEZZsqnjV8zw1MQ3DQWOL3Igd+boRwjXNYB814dMcywGC0GRz4nTsCRKp7z6+z3dT7T8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129499; c=relaxed/simple; bh=CjCSo+oPB1WlkfucnEtjtkaHt6K9iYh8hFc7Ed1HjPs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YW5ZeqyGbW6tOqJNK1DUpqXDMdbMNQ3DilX++6ec9uyk+todApJttXwonrDdg8C54gu5DxIXO6g8m39Hz6FbYdTsToePJ00ssXEG7k1cnhYgd0f6WSfm23ue973ZeIQNOS9RXFvpJJ65JosRLbduzzFgOJPRhLgqkNukvjU6kfE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=fO6CEb6z; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="fO6CEb6z" Received: by smtp.kernel.org (Postfix) with ESMTPSA id AC03EC16AAE; Mon, 25 Aug 2025 13:44:58 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129499; bh=CjCSo+oPB1WlkfucnEtjtkaHt6K9iYh8hFc7Ed1HjPs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=fO6CEb6zlLXXcS9V8uEQdq4DKdfVd+BGxXbBa+C5ZAZREoFTYo/V2CvA9vvmti72y XScAXdCuuDGVIBUe1H6aU3jrkS0AQtisxHiH7e+GXWGMPDK/dHHyhizCIpDBo8/GTy P1+085c/oNew3SSU+STUoY2Z7NAWk/Yzdkc9pspNxU6TgEu4/qJLjcWMBmNmnUpCME /p5mdrLqpqPwBg9VL5oWSsbFdKwwj8NeP5GOdEjHnM5WERHiu7Yq9sv4tcOvWnBW73 QSznIM45BIwOFiOTXXLZDO+m5qCkAafgBTTlZKxpw9rylyiVVroDur4MA+OuShBtvW KOeGvO/YlIgSA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:36 +0200 Subject: [PATCH 31/39] drm/tilcdc: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-31-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1281; i=mripard@kernel.org; h=from:subject:message-id; bh=CjCSo+oPB1WlkfucnEtjtkaHt6K9iYh8hFc7Ed1HjPs=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMuqn9p+eJrogQYJnn9ea9FKhmS2hNxWLTtecLd9hJ rl5+aetHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BeAmxzHWZ3nWPuWbvHqx4KzV rXflLl1fsnv6a+WPNVonYkIbuSYd38hUaNX1/3FP4ekHETzb43rEGesz57fr//xwSVAi4IJ5RNj dOyeMqm4aiE3fJ3J0IqeCanOXftir3sfa1t4eC8yzc5vPWAIA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The tilcdc atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/tilcdc/tilcdc_plane.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/drivers/gpu/drm/tilcdc/tilcdc_plane.c b/drivers/gpu/drm/tilcdc= /tilcdc_plane.c index cf77a8ce7398040814ec20eeffc6da960e36dfc0..aa72ca679598b6617366e89ffb3= 838ed8b323f2f 100644 --- a/drivers/gpu/drm/tilcdc/tilcdc_plane.c +++ b/drivers/gpu/drm/tilcdc/tilcdc_plane.c @@ -40,12 +40,11 @@ static int tilcdc_plane_atomic_check(struct drm_plane *= plane, dev_err(plane->dev->dev, "%s: crtc position must be zero.", __func__); return -EINVAL; } =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - new_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, new_state->crtc); /* we should have a crtc state if the plane is attached to a crtc */ if (WARN_ON(!crtc_state)) return 0; =20 if (crtc_state->mode.hdisplay !=3D new_state->crtc_w || --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 6D6732FC008; Mon, 25 Aug 2025 13:45:02 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129502; cv=none; b=oqaWt+cOjG0PiEyytGSxo3fJ/0MsHA6TY6Lhhbn3LgJE8TJgz+KDFG23Q5e/8rO3mFh0mL83k5dwvUGEhJgMfHlaCJO99oIr9FbEJDW2b15VRl9U119lSsW/5YTsjy5u5ae5vP3x5u72TqaxN5ZArx/QlcGBPn1D3mTSBMLgbfc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129502; c=relaxed/simple; bh=c0CdOMShkVXZZKjK+bbptCPCZqzOvjNz6ZMbDLQ9b1k=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=MjXU83HD1Ss0cWk0W7Dl8IXY454qjZQ2xxVyibfQgyOXJfxLcwBHm1s6ULp2h2gdw+9DyXuuW0XxMQDZtDIEaaKY18PcGrOQgr2Dpji4uDL4l98Mt4ghejN45b4XzmLAfiS+Y13STdvRHoK+aTp4p4E6xZjW9zPQvZAUKfq1Gxs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=W9bbviJf; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="W9bbviJf" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 9A820C116D0; Mon, 25 Aug 2025 13:45:01 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129502; bh=c0CdOMShkVXZZKjK+bbptCPCZqzOvjNz6ZMbDLQ9b1k=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=W9bbviJfe5pXPMc1R8qqNSWgesz/4yT0wMMjsz9lstmOloS4JAQk6AUW8OO92xrWz 4jjPNZXIXpXcdSEO1ZJY1l1oO8sPBAyx3yqbynUIQymxySzjJJPs+6+mW4+GuL5uOx yRTLg0eEgixuC39N4D78lLTS8wFBKqqNyXSPzjoO1YMtrgzlp0W8irh2s8qtL57LQ6 Gy03bIyxUMFwYN4MbjP8wfhqtE1NwJWy7cya6EAR+OFvYqsdsDl6TEjgTWR3NaAVMc YyrqR/8/SZN4wU0D3djNoychkVonj9sPgGs6jB38XLXJL4MHCN51g0kAxneWTQC5D0 InMCOc+L8TrsQ== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:37 +0200 Subject: [PATCH 32/39] drm/vboxvideo: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-32-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1817; i=mripard@kernel.org; h=from:subject:message-id; bh=c0CdOMShkVXZZKjK+bbptCPCZqzOvjNz6ZMbDLQ9b1k=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMhqmrD795O8U65qwmdo7X+wNall+T6phn/XR5A6OE KmVqnuOdUxlYRDmZJAVU2R5IhN2enn74ioH+5U/YOawMoEMYeDiFICJtP5nbLi0XqDgkqjqvpIN XWq9HMG/eKeZBCwx2NtgEJVp9zfk7RHdw7lOEaqTbhdW6f+42GrzmrE+TGXt3ZeGdo2XVV131wV 7nAw/ozf95jVebtVJQV9NltQLLDwhF5pZx7N0vkxXo9Z8lkMA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The vboxvideo atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vboxvideo/vbox_mode.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/vboxvideo/vbox_mode.c b/drivers/gpu/drm/vboxvi= deo/vbox_mode.c index 9ff3bade979577df0bc2e6e9653b3fb8fd486062..aa0dded595b6e00a9aa2027b36c= a11711ccc0439 100644 --- a/drivers/gpu/drm/vboxvideo/vbox_mode.c +++ b/drivers/gpu/drm/vboxvideo/vbox_mode.c @@ -260,12 +260,12 @@ static int vbox_primary_atomic_check(struct drm_plane= *plane, struct drm_plane_state *new_state =3D drm_atomic_get_new_plane_state(stat= e, plane); struct drm_crtc_state *crtc_state =3D NULL; =20 if (new_state->crtc) { - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - new_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, + new_state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; } =20 return drm_atomic_helper_check_plane_state(new_state, crtc_state, @@ -342,12 +342,12 @@ static int vbox_cursor_atomic_check(struct drm_plane = *plane, u32 width =3D new_state->crtc_w; u32 height =3D new_state->crtc_h; int ret; =20 if (new_state->crtc) { - crtc_state =3D drm_atomic_get_existing_crtc_state(state, - new_state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, + new_state->crtc); if (WARN_ON(!crtc_state)) return -EINVAL; } =20 ret =3D drm_atomic_helper_check_plane_state(new_state, crtc_state, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4AC0D27703E; Mon, 25 Aug 2025 13:45:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129505; cv=none; b=L5t4XDK3IWYKligQz88dzusG36Zn8njuDlZnLrAIRvulvA0Do8DSqtXviJrMZNlzSxyUJ/2Irsu0+dKMcSYXGit7V9VR7Xu2Sb1Zb/w329Kj4WlN9SOFxK5EEtqmbGxv1/7bmnXXgpsXLqZSTBZwMUKnB6IRPK0qPnfGT42hvhA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129505; c=relaxed/simple; bh=GVCQVXgqlXIQqoFKKvRG4d8j+VMj99ulhE3PjHHUahc=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RiGGCzBDyovXjupGenEzsExS7WLi6x9TC07H4vwR1C6FRNTxtFJ++e8pM5BaIaQ4pLX4beonMxEutvtpxBIX6L5P+NUtetlrZN9Y308/PCBNkJ65kqPH6d8/hnYwPLxOWKPp++2mOB4L+wIXCq3Lr8kFUxVJErpHzs5h9pNjjMU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=qqRxq6Fu; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="qqRxq6Fu" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 78C4CC116C6; Mon, 25 Aug 2025 13:45:04 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129505; bh=GVCQVXgqlXIQqoFKKvRG4d8j+VMj99ulhE3PjHHUahc=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=qqRxq6FuF6J6qzpaV4wO2Uzah4+ol8zsgdDB7soEAXzYTWjCBHd/VpODhx1JvOnSL 8iCB5b0/ngm026gAElFp7jAcZu0miEKYYtq9u5bNBQUF4o7UnPIwUuDhtd2C4TY+/c I5ysyLNCkAeYwWkWLWCM5Wz5IXDvwqMlFqAHtPDmpXl8AeO/IHtZstLXpoN1jRNiS3 o4DHysweEnhC+aYGiN1XXKsAHbXYM+Z/S4tZaAnv4A6ZLHyyJM0dWfy1j1ZbCw8VFR Z9FIQD85aYZ4ddVPobiMw2tMUQ8iNxMqAxGopVx7i4bGian99GNhb7+l9PMoRU3JnF Ma/LH3J6ES8Og== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:38 +0200 Subject: [PATCH 33/39] drm/vc4: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-33-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1861; i=mripard@kernel.org; h=from:subject:message-id; bh=GVCQVXgqlXIQqoFKKvRG4d8j+VMj99ulhE3PjHHUahc=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMhqYZAWqr5/UO2el8W236oc9BT/zt17UTj5mV/6Dx e+WCW9/x1QWBmFOBlkxRZYnMmGnl7cvrnKwX/kDZg4rE8gQBi5OAZiI/UvGOo21masFXIs3Fm39 sPCaOmOY/OL/7i+Y1H/tbRS5c7rw7tfAYjdP6dWHlaP6JCfzdZj7MzZsannlv/YAc63K+dlxv5+ fXq8W79YjES0YXNnaUXLC99vZW69ick/MOWvS9uLQkbePz8wHAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The vc4 atomic_check implementation uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/vc4/vc4_plane.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_plane.c b/drivers/gpu/drm/vc4/vc4_plan= e.c index 056d344c5411db0eae975b0fa52c0de7418306f1..b4a53f68865bc18f6cb1fa92b10= 57890d3fe0382 100644 --- a/drivers/gpu/drm/vc4/vc4_plane.c +++ b/drivers/gpu/drm/vc4/vc4_plane.c @@ -495,12 +495,11 @@ static int vc4_plane_setup_clipping_and_scaling(struc= t drm_plane_state *state) struct drm_crtc_state *crtc_state; u32 h_subsample =3D fb->format->hsub; u32 v_subsample =3D fb->format->vsub; int ret; =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state->state, - state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state->state, state->crtc); if (!crtc_state) { DRM_DEBUG_KMS("Invalid crtc state\n"); return -EINVAL; } =20 @@ -873,12 +872,11 @@ static void vc4_plane_calc_load(struct drm_plane_stat= e *state) struct vc4_plane_state *vc4_state; struct drm_crtc_state *crtc_state; unsigned int vscale_factor; =20 vc4_state =3D to_vc4_plane_state(state); - crtc_state =3D drm_atomic_get_existing_crtc_state(state->state, - state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state->state, state->crtc); vrefresh =3D drm_mode_vrefresh(&crtc_state->adjusted_mode); =20 /* The HVS is able to process 2 pixels/cycle when scaling the source, * 4 pixels/cycle otherwise. * Alpha blending step seems to be pipelined and it's always operating --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 38C9B2FD7C7; Mon, 25 Aug 2025 13:45:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129508; cv=none; b=GmhwwWM3LOYzM71g9dptLt8xL9Fln+VfsGS0qs/vFcLdm2nRQJPb+yweazYXe1iawH6xMwtuYNHAwZo2YopGxYurhVCKl9g4MbuDFKjzhu+cRu8RcjNA4QAzm2l181wFgQUU5hUpcaNX3vJtoDbrsw4QUa7wcCjax3EssQOB6Ts= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129508; c=relaxed/simple; bh=/RrEqrRKd+T1PhrtfogiHBNfo2H9EgVQA7gJqnN/Zg4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=H27ppCUO7OeyZ2nrb6fAjbWDByfGNyZH314EDupiz3mWpSfw5Za0JQ4KbFrS5Do+B9tly/pXkp+nfFPa8me63c+Lj2TvsLlTzKUM72L/xpZAQjntUie3VKA4pm4IuhVDZAapmCZAaXvY/UoSZjYTPYZyiNEpK+5DJYOpZjEIqms= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=GHF+7tRg; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="GHF+7tRg" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 4F38FC116D0; Mon, 25 Aug 2025 13:45:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129507; bh=/RrEqrRKd+T1PhrtfogiHBNfo2H9EgVQA7gJqnN/Zg4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=GHF+7tRgVoYuv49ODZps3m2Zz5pqY9po5IN6kisz1CWIb/dQU7VHasSAmKKWMayJb FjxKaigK/HXVfuQt01ACRd+At+Wtl477HW42wS+1KVMLNtog5Ujbj7pTKdaKmHheVt hZwSXxosMwz8+3nWdaD1KXe0gC7LDz1wc8y9PYvJU0lxOdLyHIm4BEEgcX5LJBHgMk plHNT1pRImP3nW63OW/z1O20VMeuYLq/R+yczEFtajhYs8gCmiZ887NkfOXyVJptW7 PvjohPDiuHteQD2tYa1ND9L9l07DIgR+0t2WSbplAnZmwcEF4j936klfD1jdEmAVGc 0NROFs91f6KMA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:39 +0200 Subject: [PATCH 34/39] drm/atomic: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-34-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1299; i=mripard@kernel.org; h=from:subject:message-id; bh=/RrEqrRKd+T1PhrtfogiHBNfo2H9EgVQA7gJqnN/Zg4=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMhordkzcXHr8tNdLY2Wjm17td/2mHBVZe+VQtep95 ae394gXdExlYRDmZJAVU2R5IhN2enn74ioH+5U/YOawMoEMYeDiFICJMDUyNtyXOxErqPDqp/Xl zlPSkzLebE/s7/vyTuyI3Vue72K9L68cWXP2/IvpnJWn+J9ZrGr6H8nY8K4oLe3r++muq14c0kt Qq32SFvV++Z7AA90/2oTfmf36U7PjSZDfnUrXrxNi016+nd7gBwA= X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_connector_check() function uses the deprecated drm_atomic_get_existing_crtc_state() helper. This hook is called as part of the global atomic_check, thus before the states are swapped. The existing state thus points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 1147fa890a03ef2c3283972c816796d8de6307c9..6d92f13d489f299aea5cd14f900= ae766588462da 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -478,12 +478,12 @@ static int drm_atomic_connector_check(struct drm_conn= ector *connector, connector->base.id, connector->name); return -EINVAL; } =20 if (state->crtc) - crtc_state =3D drm_atomic_get_existing_crtc_state(state->state, - state->crtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state->state, + state->crtc); =20 if (writeback_job->fb && !crtc_state->active) { drm_dbg_atomic(connector->dev, "[CONNECTOR:%d:%s] has framebuffer, but [CRTC:%d] is off\n", connector->base.id, connector->name, --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id ED7CF2FDC3D; Mon, 25 Aug 2025 13:45:10 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129511; cv=none; b=fb6+TyMoeDfAek90Oqzuv0mQTHOO+3hM3/e47QiL4JuzbCwjHwesNG71CsMXUUkdAA4ADO/AxsR6uRK0PEqRsNDnmoJ6nInaLK1HnUEUXHQyfTm2SiJoryy9SmV6+zTeXYLQuDihh8W+VrbCUVwMYIdVFvV7MKgYR0SvVXjpql0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129511; c=relaxed/simple; bh=SnF20RcmL4DUkYaTODo6JKC3eNZBw/IKOudcmtndkoo=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=aX6sk4NROkPZJF18LNgBkpOW8uGUG5xm53/CFBT+1XDDeHepTXXuVJp3RcgyJrkakKdEMr1kVGLWAbYnvhUPUh8k86dI1m1cDrvC+7gBva1T8XoaNhho/Jxq36eLkg5YVpll8pdPdonwy0xk+bgg1T7PHQAZ/R/QIVfGraAz7Ms= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=mUnD2fEm; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="mUnD2fEm" Received: by smtp.kernel.org (Postfix) with ESMTPSA id EC11CC4CEF4; Mon, 25 Aug 2025 13:45:09 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129510; bh=SnF20RcmL4DUkYaTODo6JKC3eNZBw/IKOudcmtndkoo=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=mUnD2fEmPiBiHm8/BS+WtVOVZnft60dQK0zwdccuN+2ln2N960SlCRFD8XoW19rsT IEQ2a3PLeqgN4Ik+c+i6GHeOyX7+JCqmvi3+g1vnvvj4q4mOakQrZtocffhlsAdgL1 krfo3tNweDaaTMFjUWztSD9hPxH8mv524wDCl0czZ66RxxGS/HzHAK7YZ3wI324fIU kIMVixK07LdkeVHdcf6H4TIFD1RMoa/EvI7lbvSubIQe7mXXM6WlUx75wIMKrx8Br4 E348b1u+Mp42Qy3VE2hThZighFtMuZZiGlxHOeY9SRC8S4nukTtdDeo0o2TWRvM6m3 IDYYoHV7JoGXA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:40 +0200 Subject: [PATCH 35/39] drm/framebuffer: Switch to drm_atomic_get_new_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-35-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1376; i=mripard@kernel.org; h=from:subject:message-id; bh=SnF20RcmL4DUkYaTODo6JKC3eNZBw/IKOudcmtndkoo=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMhpNDN8rzNXS3mS9T6dJ+7PhvVCOq/u233srvj1gi 4VAitHFjqksDMKcDLJiiixPZMJOL29fXOVgv/IHzBxWJpAhDFycAjCRLRKMDTvfCQSe/DTDQoyR P97j9q35U7YtPfZgqt2UtQvTz/V69JUrBJUmBEzbLDz1weo8h8e/Qhlr+Ez6ikTM3ldaLwu6fap 82QGXCScE8kKmh7WElZ1/rfcveYlfeIhp5dsVvdys7V9XxacBAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The atomic_remove_fb() function uses the deprecated drm_atomic_get_existing_crtc_state() helper. Despite its name, this function builds and commit a new drm_atomic_state, and the call to drm_atomic_get_existing_crtc_state() is part of the state building, thus happening before the states are swapped. As such, the existing state points to the new state, and we can use drm_atomic_get_new_crtc_state() instead. Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_framebuffer.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_framebuffer.c b/drivers/gpu/drm/drm_frameb= uffer.c index adbb73f00d68b8fb7c1d99a4209d5b4e91ec5f8d..18e753ade0011b87d0728bdb27d= 26ea37d75c213 100644 --- a/drivers/gpu/drm/drm_framebuffer.c +++ b/drivers/gpu/drm/drm_framebuffer.c @@ -1046,11 +1046,11 @@ static int atomic_remove_fb(struct drm_framebuffer = *fb) drm_dbg_kms(dev, "Disabling [CRTC:%d:%s] because [FB:%d] is removed\n", plane_state->crtc->base.id, plane_state->crtc->name, fb->base.id); =20 - crtc_state =3D drm_atomic_get_existing_crtc_state(state, plane_state->c= rtc); + crtc_state =3D drm_atomic_get_new_crtc_state(state, plane_state->crtc); =20 ret =3D drm_atomic_add_affected_connectors(state, plane_state->crtc); if (ret) goto unlock; =20 --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3900C2ECD3A; Mon, 25 Aug 2025 13:45:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129513; cv=none; b=THKZ7lS+qH+oNft8gd6cYDGH3glzHtGzzcYSux6uYC/76I/3TKUZ3CqpZl/2XKbd71URZ64qLQpmsAfX7OddYgjTDkMJlTtjjYraRSacIxioK4Upql3lwSllSv3Ezs5bwuqW6HhCAZMB/eUggxKZ/B0Sgqk3o4BrG4Zga2Vg2uA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129513; c=relaxed/simple; bh=YPy4z4OaJoWUL9r4KrGzI/WKjSjH8TP5L3pV+kz8Tdg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=Kx+g+wuVipsWZypT+GO3gUAlEKzomoPGNNuLpcibMVCgEPMisN+kRyqoBTnhzWfhsDeak1FvfjUVeZu2tM5HdKlsGAFsr30Q86tIaa79tZDawdmJNdHzPxrfxR+S9OON+z2OWPvNUCCY3zXfSw3MPKqLmtPmoFCz6hGxjpXHNOg= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=kHPoqmIK; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="kHPoqmIK" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 92DFDC19423; Mon, 25 Aug 2025 13:45:12 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129513; bh=YPy4z4OaJoWUL9r4KrGzI/WKjSjH8TP5L3pV+kz8Tdg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=kHPoqmIKFxMx29yCm9My/Ia0c6HynNhlcgUCc3kcBWfFAxgwb9hmbKmed6kdKTInR VyC/9fJVC2g6e9wB0rQnWTZZnz//e5fzg7BAaC+8lPqXDaO+6qC3Hw63tPVV3dmzj5 2XEf2UxmqSjDQ9sNZChmihl3Hh6LukbtI6GghaMlOyPPyzOjnwuJF+mLqNW38hsSQ1 VRIApolTvHJIHUVklziyPQ7B46qjruca2szEJykJFON3oAu+1e3hcHnjuRzz6l3m2a JcKnwRS08Ft8Nf0CdyZnQQUlDqypDg8KHGKttrOOX6SBYoHGUASoyzjwDyEmpSVBov 6imh0w7Zcreow== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:41 +0200 Subject: [PATCH 36/39] drm/atomic: Remove unused drm_atomic_get_existing_crtc_state() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-36-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1526; i=mripard@kernel.org; h=from:subject:message-id; bh=YPy4z4OaJoWUL9r4KrGzI/WKjSjH8TP5L3pV+kz8Tdg=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMpq4z94/mjM5g9Gl0v3fvtfWyp5dT7wuFtZMsp/gl eIZan+sYyoLgzAng6yYIssTmbDTy9sXVznYr/wBM4eVCWQIAxenAEzkynTG+hyu5J/GXy8duvOo 4fv8iRN2VqVmNm5UWeSgEa+vcukzd0qmT7536edZnF1hJzQaVFfJMjYs3KU6QfJc4bONmvHWIZG S8hP3GjXyxnVtUFv68/QjN0bPlW9OL7vpsU28f+2NGj/7yfsB X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_existing_crtc_state() function is deprecated and isn't used anymore, so let's remove it. Signed-off-by: Maxime Ripard --- include/drm/drm_atomic.h | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 89c9a059b36763205fc2fc764283423cbea62679..cba63857e920515b48b75fc3c2d= 5239fc1ae59c1 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -663,28 +663,10 @@ drm_atomic_get_old_crtc_for_encoder(struct drm_atomic= _state *state, struct drm_encoder *encoder); struct drm_crtc * drm_atomic_get_new_crtc_for_encoder(struct drm_atomic_state *state, struct drm_encoder *encoder); =20 -/** - * drm_atomic_get_existing_crtc_state - get CRTC state, if it exists - * @state: global atomic state object - * @crtc: CRTC to grab - * - * This function returns the CRTC state for the given CRTC, or NULL - * if the CRTC is not part of the global atomic state. - * - * This function is deprecated, @drm_atomic_get_old_crtc_state or - * @drm_atomic_get_new_crtc_state should be used instead. - */ -static inline struct drm_crtc_state * -drm_atomic_get_existing_crtc_state(const struct drm_atomic_state *state, - struct drm_crtc *crtc) -{ - return state->crtcs[drm_crtc_index(crtc)].state; -} - /** * drm_atomic_get_old_crtc_state - get old CRTC state, if it exists * @state: global atomic state object * @crtc: CRTC to grab * --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 4B0A42FE571; Mon, 25 Aug 2025 13:45:15 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129516; cv=none; b=LFb3g/P1vKrXQ8Fwr7jusGL5A1uNyeXmRO5ywiigfoiMD2RT9rpkz8vQ7vEivd288fqHGhpFMeGUinn0v6sPqAxFBwiV/5t45HPvl96n1fAee5K+gMenjUkuh20WqNla8JTC7lgKe3v6+WyHX15tsiMgUyDdDdMG3v3KmAJUa9A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129516; c=relaxed/simple; bh=KG29DkMhijG/h32XFoVLd/RlQz6ZHNqZLW44iGDdi5g=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=YKEPTYciJpc09+aySV9wjNav3nE0Ghq7xKVRK/zq+KHSBZuazhn/wlaoxV07WtupDFmWJmd7HHwDe8pS5yKk5drCPSzy3XrIKgEFR0PoB1IIqPb4cuDwROu5YcaRPTpNeRavCf08qOYjgOpVFOu9cqK8koL6SC3fdnvBBBb0uAc= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=bt7M0hIP; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="bt7M0hIP" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 38B52C4CEED; Mon, 25 Aug 2025 13:45:15 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129515; bh=KG29DkMhijG/h32XFoVLd/RlQz6ZHNqZLW44iGDdi5g=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=bt7M0hIP/rE6ggdYaV+yPSqKtAkPuA3Umd8yiTSiQb5K9vbg6jTrlMES9eM2vBHNJ pkFAx0BF/gorTzQt0xYC7wE0/GEwXbY6N1PmN4KGugLWa75cVcdRQZUSjkVS27mhl0 btPt5Ti5RUIH/ohyuuLQhgCgF4XYQaet//IBG2gQiHAnel9HtadAknDl3+M/pGcIz4 nMN7vg1SShT1bonpxpP+Jx2er8uSzTdS2Ktz65d/fWqZAYl0PqvZaRPceqyc3DiUiK VMrWx7EADb/Gzfzia5+lpnreYvFTIgVbbc0v8YR4aNmDqSdp0cfa4oQ7d/eRxsXyzO 9ru91D/OfSuyQ== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:42 +0200 Subject: [PATCH 37/39] drm/atomic: Document __drm_crtcs_state state pointer Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-37-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1496; i=mripard@kernel.org; h=from:subject:message-id; bh=KG29DkMhijG/h32XFoVLd/RlQz6ZHNqZLW44iGDdi5g=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMppmL90+y/LQXpPsa2vv1DckCdWL8Rp/V9Hld0mad +berLs/O6ayMAhzMsiKKbI8kQk7vbx9cZWD/cofMHNYmUCGMHBxCsBEyqYw1rsFtulapgcuWvks IWOC2q/KWtHg2Jy2x431c79PLd+g0SKXxFyZuelFzpHHaqHznk67zVhf/pTp0i1Pzd6iwnz96V5 H2ZzT5/+U+Jq+R0xq4rVbnmr/py9ZcKT1RcSi6dbmx+InndMAAA== X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D While the old and new state pointers are somewhat self-explanatory, the state pointer and its relation to the other two really isn't. Now that we've cleaned up everything and it isn't used in any modesetting path, we can document what it's still useful for: to free the right state when we free the global state. Signed-off-by: Maxime Ripard --- include/drm/drm_atomic.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index cba63857e920515b48b75fc3c2d5239fc1ae59c1..e8edf33ab260c03c81e16917a6a= 5a7d9648d46c9 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -176,11 +176,25 @@ struct __drm_planes_state { struct drm_plane_state *old_state, *new_state; }; =20 struct __drm_crtcs_state { struct drm_crtc *ptr; - struct drm_crtc_state *state, *old_state, *new_state; + + /** + * @state: + * + * Used to track the @drm_crtc_state we will need to free + * when tearing down the associated &drm_atomic_state. + * + * Before a commit, and the call to + * drm_atomic_helper_swap_state() in particular, it points to + * the same state than @new_state. After a commit, it points to + * the same state than @old_state. + */ + struct drm_crtc_state *state; + + struct drm_crtc_state *old_state, *new_state; =20 /** * @commit: * * A reference to the CRTC commit object that is kept for use by --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 9DEBD2FE074; Mon, 25 Aug 2025 13:45:19 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129520; cv=none; b=SOZmOYZjAKQqwv/S+ba8/iFZITUderamP+7rBSqkdfcSj83nnJIjhmrhtZX2oBc7WSkizK/LoH3fg84Q2d7wnh/24/JAyc3ZDvSx7WGk02UCJI30XBkv4eR8rnGxTJAwzuJ6dwwP8fmJ+qOOg6OJJxL2SwSgeqsD9W1Tg4QgqSs= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129520; c=relaxed/simple; bh=P+MwotXQU+Br0nktRY81tUlU3m2eu+riDoASsuu8dS4=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=n2cxngGCVOkuLqwWUg90Fk7JVAKbGPfTuGhbr3ZG0K1xt89wy8wBpDKX9SGMCzzoLCb+0h60aTrSilqnAFB3m7ikVDkjLmiJ4wY9/y+TLViDLP1OzAdjyanbu7Onhr+7yMCvpKW0MzMJfy6Zrri3gOnx4fGFVpwWyPdirTCJ/AY= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=ZPKeTWtS; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="ZPKeTWtS" Received: by smtp.kernel.org (Postfix) with ESMTPSA id C96B8C4CEED; Mon, 25 Aug 2025 13:45:17 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129518; bh=P+MwotXQU+Br0nktRY81tUlU3m2eu+riDoASsuu8dS4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=ZPKeTWtSJ75T40PkL1eTTeKIuQeKANNnmbgXcC73UafAROYFn0rY7i07YHZcbJRk5 hkbIf0BV8aiyHUgtdVUDrIU5wfIKklozpFtW11IRj8qTvo2UWSbne1Ik+quRMzJa2Z IwW/7BSLcRzVwz2/On6lt7k0QCpZvZJs+cezG2BzyRSjPxq/FMXxbv5QlOETXeoQA4 l3P7scEsth6m5JB9VcaO4GUyQ9ghc20hAh+vUw88/sL0zzsMlU92wqDe7lqPE3JQ8i 3a6Hc7NdZP0qgamw+tAGWNjOKpcjXabJEKnIFinEc85sh466Rjt5De8pQkomUF2O5y KJEuxck4MDY/A== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:43 +0200 Subject: [PATCH 38/39] drm/atomic: Convert drm_atomic_get_private_obj_state() to use new plane state Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-38-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1578; i=mripard@kernel.org; h=from:subject:message-id; bh=P+MwotXQU+Br0nktRY81tUlU3m2eu+riDoASsuu8dS4=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMpr15orvaMzIv/mS60q77/a3uRP5zLs5Jh+a1fn5z tEVNx7d7ZjKwiDMySArpsjyRCbs9PL2xVUO9it/wMxhZQIZwsDFKQATmXuBsWH5ajkug/kfs+VP 3G7xtCneufqGidbEr2uupN0zn2Ud1GKq9U0/vH6tUcXWO9rpp6ctaWNsaNcX6/8X8uq4g4jEa7U OLQG5/g6ViXn35Xn4jaVvVXBNNtUSFr6qH3lX7mxGuaPENh0A X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D The drm_atomic_get_private_obj_state() function tries to find if a private_obj had already been allocated and was part of the given drm_atomic_state. If one is found, it returns the existing state pointer. At the point in time where drm_atomic_get_private_obj_state() can be called (ie, during atomic_check), the existing state is the new state and we can thus replace the hand-crafted logic by a call to drm_atomic_get_new_private_obj_state(). Signed-off-by: Maxime Ripard --- drivers/gpu/drm/drm_atomic.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 6d92f13d489f299aea5cd14f900ae766588462da..b7bef44e2d42eb56446a5a05f85= 1c7503daeaa1f 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -829,18 +829,18 @@ EXPORT_SYMBOL(drm_atomic_private_obj_fini); */ struct drm_private_state * drm_atomic_get_private_obj_state(struct drm_atomic_state *state, struct drm_private_obj *obj) { - int index, num_objs, i, ret; + int index, num_objs, ret; size_t size; struct __drm_private_objs_state *arr; struct drm_private_state *obj_state; =20 - for (i =3D 0; i < state->num_private_objs; i++) - if (obj =3D=3D state->private_objs[i].ptr) - return state->private_objs[i].state; + obj_state =3D drm_atomic_get_new_private_obj_state(state, obj); + if (obj_state) + return obj_state; =20 ret =3D drm_modeset_lock(&obj->lock, state->acquire_ctx); if (ret) return ERR_PTR(ret); =20 --=20 2.50.1 From nobody Fri Oct 3 20:22:39 2025 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 725C226CE32; Mon, 25 Aug 2025 13:45:21 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129521; cv=none; b=nThNCor5dIkLdngGpGlzRhVz5vFHiTcSG5rCv0Vm5n2TKH8bRHOfAhBML/CiurpU4WUEFXAO66tGlhuXk0DXxPY6vFKzxp3+sP5epOZFgUOmz0bsC1Sy5FGMTF0R6K9zJ8NP98DsMZk3kdOMD4X0BMSLuCJ0YxFCSssOQiuTgaw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1756129521; c=relaxed/simple; bh=JLMIgCAsxjzxuydkVuFbaW+CIAKd8FHbajZuUIMyqfg=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=AH5Edl3/D3C4uvmhtZ9m1lvKYuohDL8LcFLrqjwvUQvxv9f1+aw1UpTIBsyGA362QcGQzKBD44dX6Ruef/XAlqndPeK4rMOlHzvIsKdG5SFqausyiXVslHk41SsZvee/l/0nerxQu0FfwkdlHwaG1qkD52/qK/HhjhS5E2SnUTw= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Gbd9TFFp; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Gbd9TFFp" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 76D3BC113D0; Mon, 25 Aug 2025 13:45:20 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756129521; bh=JLMIgCAsxjzxuydkVuFbaW+CIAKd8FHbajZuUIMyqfg=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=Gbd9TFFphA8CsNadp5kIg68cFiPRgIGBzQXqFxl4f5sE34+h3jyfL90zokSNigLi4 OKtMVh2T/9d0WN0xpmsjujI22Ml6/Auy+PTXywkhRmgEk43Dgxe9EZdlkDpj6T5tcx h+tITF3cx9j5cpYIqGvQvAqjHeyUG54Y65RhTeVtZfJJkzFLjVnKhkhoVmJnzk2CaR f+g7xw7kIzBqMPtofuGEdXTG43+AFzWZ/AotyCnLFh/O2MooVX/MK/7z0LcP2xP6a4 EMgZB+mnrz6RqLmNK7UnLbVao22QdoznSLQXNRpCt+TCV86tPXyEKdkjWV9ZgaJObI FIuUqaBo7t6EA== From: Maxime Ripard Date: Mon, 25 Aug 2025 15:43:44 +0200 Subject: [PATCH 39/39] drm/atomic: Document __drm_private_objs_state state pointer Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20250825-drm-no-more-existing-state-v1-39-f08ccd9f85c9@kernel.org> References: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter , Louis Chauvet , Haneen Mohammed , Melissa Wen , Jyri Sarha , Tomi Valkeinen , Paul Cercueil , Liviu Dudau , Russell King , Manikandan Muralidharan , Dharma Balasubiramani , Nicolas Ferre , Alexandre Belloni , Claudiu Beznea , Inki Dae , Seung-Woo Kim , Kyungmin Park , Krzysztof Kozlowski , Alim Akhtar , Liu Ying , Shawn Guo , Sascha Hauer , Pengutronix Kernel Team , Fabio Estevam , Laurentiu Palcu , Lucas Stach , Philipp Zabel , Anitha Chrisanthus , Edmund Dea , Paul Kocialkowski , Sui Jingfeng , Chun-Kuang Hu , Matthias Brugger , AngeloGioacchino Del Regno , Rob Clark , Dmitry Baryshkov , Abhinav Kumar , Jessica Zhang , Sean Paul , Marijn Suijten , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , Chen-Yu Tsai , Jernej Skrabec , Samuel Holland , Thierry Reding , Mikko Perttunen , Jonathan Hunter , Hans de Goede , Dave Stevenson , =?utf-8?q?Ma=C3=ADra_Canal?= , Raspberry Pi Kernel Maintenance Cc: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, linux-mips@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-samsung-soc@vger.kernel.org, imx@lists.linux.dev, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-tegra@vger.kernel.org, Maxime Ripard X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=1478; i=mripard@kernel.org; h=from:subject:message-id; bh=JLMIgCAsxjzxuydkVuFbaW+CIAKd8FHbajZuUIMyqfg=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBlrMprNd0U4trEo204sdVznvn9uxM7dL9fWXJ05WcBui uRnJ4EzHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BWAiv/kYG+a6Wz5Y42Vho3Jr h7P23y+KAYuDZlvLqmjGCVe9uebfqV0iVpKQ2bw+U5H7c1DIkk//GOtj5ZLqjY5uONkxz9Oo121 ekb2Sif22bcLft74z5K44bLVR5Y/TpHUxxx2kI6S3lrU1CwMA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D While the old and new state pointers are somewhat self-explanatory, the state pointer and its relation to the other two really isn't. Now that we've cleaned up everything and it isn't used in any modesetting path, we can document what it's still useful for: to free the right state when we free the global state. Signed-off-by: Maxime Ripard --- include/drm/drm_atomic.h | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index e8edf33ab260c03c81e16917a6a5a7d9648d46c9..a7e75bb0bdc6a38eb83c07b844d= d97af48006f0f 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h @@ -383,11 +383,25 @@ struct drm_private_state { struct drm_private_obj *obj; }; =20 struct __drm_private_objs_state { struct drm_private_obj *ptr; - struct drm_private_state *state, *old_state, *new_state; + + /** + * @state: + * + * Used to track the @drm_private_state we will need to free + * when tearing down the associated &drm_atomic_state. + * + * Before a commit, and the call to + * drm_atomic_helper_swap_state() in particular, it points to + * the same state than @new_state. After a commit, it points to + * the same state than @old_state. + */ + struct drm_private_state *state; + + struct drm_private_state *old_state, *new_state; }; =20 /** * struct drm_atomic_state - Atomic commit structure * --=20 2.50.1