From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id BD05ECA0FFE for ; Tue, 2 Sep 2025 09:36:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2E5A410E638; Tue, 2 Sep 2025 09:36:37 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=kernel.org header.i=@kernel.org header.b="l0aC4Ri/"; dkim-atps=neutral Received: from tor.source.kernel.org (tor.source.kernel.org [172.105.4.254]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEB5B10E63A for ; Tue, 2 Sep 2025 09:36:35 +0000 (UTC) Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 355DD6020B; Tue, 2 Sep 2025 09:36:35 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 906F1C4CEED; Tue, 2 Sep 2025 09:36:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1756805794; bh=PvBQ83pIJH9X6bIfeKb5X2sWvdiNzva+hjf4dO1I8gA=; h=From:Date:Subject:References:In-Reply-To:To:Cc:From; b=l0aC4Ri/EotrPZFuyMfOocn7y1DI2u+ABo2VjQfFsnB+imfxyOFeLPNLg3Zsd/xl1 XDolZ87IzExVDqOprgoIvUiDdEbKgB+S1zqttXyrUIUR3zF6TTP95a9i7YnUGvjHcF GP4b89n0QP7vwlrqlQkdMqquGWBwmZ9yEN0rh/XzdcjbNLkH5Ev9S8qbiwl5tD2HdO eAmvT2nU24VGo6XCX2ug58elj4TXdnDU8AAvpwSq/lCSIiu2Ri8vWJDM6qzkTrviqG ugxBgJwZ4tu73WpWJnWOPU2MgK89Qlwe627caqs+SL4xaqT6tRPqmx4jUtuTbQEcbC MtP2yuTUkg35Q== From: Maxime Ripard Date: Tue, 02 Sep 2025 11:35:25 +0200 Subject: [PATCH v2 26/37] drm/rockchip: Switch to drm_atomic_get_new_crtc_state() MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 8bit Message-Id: <20250902-drm-no-more-existing-state-v2-26-de98fc5f6d66@kernel.org> References: <20250902-drm-no-more-existing-state-v2-0-de98fc5f6d66@kernel.org> In-Reply-To: <20250902-drm-no-more-existing-state-v2-0-de98fc5f6d66@kernel.org> To: Maarten Lankhorst , Thomas Zimmermann , David Airlie , Simona Vetter Cc: dri-devel@lists.freedesktop.org, Maxime Ripard , Sandy Huang , =?utf-8?q?Heiko_St=C3=BCbner?= , Andy Yan , linux-arm-kernel@lists.infradead.org, linux-rockchip@lists.infradead.org X-Mailer: b4 0.14.2 X-Developer-Signature: v=1; a=openpgp-sha256; l=2751; i=mripard@kernel.org; h=from:subject:message-id; bh=PvBQ83pIJH9X6bIfeKb5X2sWvdiNzva+hjf4dO1I8gA=; b=owGbwMvMwCmsHn9OcpHtvjLG02pJDBnbdoXrN3y/fsHL+4ttWbrA2ovCrX3Br8vENd9uEzu+6 ndw+tdFHVNZGIQ5GWTFFFmeyISdXt6+uMrBfuUPmDmsTCBDGLg4BWAiPl6MDS/nr/k0XW5BSe/X x4/bPA77bxfacmz6+dfafZVrc7+8z7jrsiKgXeaN/K9NXi582Wb2yxjr3QwCvSJSFhnk3F9cWWz B2+mmwy63o+Fjbmuube6vrymVr2W66pw81Zv2+VY9k7Zn4wcA X-Developer-Key: i=mripard@kernel.org; a=openpgp; fpr=BE5675C37E818C8B5764241C254BCFC56BF6CE8D X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" 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 --- To: Sandy Huang To: "Heiko Stübner" To: Andy Yan Cc: dri-devel@lists.freedesktop.org Cc: linux-arm-kernel@lists.infradead.org Cc: linux-rockchip@lists.infradead.org --- 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..5369b77ea434c794ed7d509802fa29c39d2bfa7a 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 *plane, DRM_PLANE_NO_SCALING; if (!crtc || WARN_ON(!fb)) return 0; - crtc_state = drm_atomic_get_existing_crtc_state(state, - crtc); + crtc_state = drm_atomic_get_new_crtc_state(state, crtc); if (WARN_ON(!crtc_state)) return -EINVAL; ret = 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; if (!plane->state->fb) return -EINVAL; - crtc_state = drm_atomic_get_existing_crtc_state(state, new_plane_state->crtc); + crtc_state = drm_atomic_get_new_crtc_state(state, + new_plane_state->crtc); /* Special case for asynchronous cursor updates. */ if (!crtc_state) crtc_state = plane->crtc->state; diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop2.c index b50927a824b4020a7ffd57974070ed202cd8b838..4556cf7a33641529c673b8d7842115dc739dede2 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, vp = to_vop2_video_port(crtc); vop2 = vp->vop2; vop2_data = vop2->data; - cstate = drm_atomic_get_existing_crtc_state(pstate->state, crtc); + cstate = drm_atomic_get_new_crtc_state(pstate->state, crtc); if (WARN_ON(!cstate)) return -EINVAL; ret = drm_atomic_helper_check_plane_state(pstate, cstate, min_scale, max_scale, -- 2.50.1