From: Maxime Ripard <mripard@kernel.org>
To: "Maarten Lankhorst" <maarten.lankhorst@linux.intel.com>,
"Thomas Zimmermann" <tzimmermann@suse.de>,
"David Airlie" <airlied@gmail.com>,
"Simona Vetter" <simona@ffwll.ch>,
"Louis Chauvet" <louis.chauvet@bootlin.com>,
"Haneen Mohammed" <hamohammed.sa@gmail.com>,
"Melissa Wen" <melissa.srw@gmail.com>,
"Jyri Sarha" <jyri.sarha@iki.fi>,
"Tomi Valkeinen" <tomi.valkeinen@ideasonboard.com>,
"Paul Cercueil" <paul@crapouillou.net>,
"Liviu Dudau" <liviu.dudau@arm.com>,
"Russell King" <linux@armlinux.org.uk>,
"Manikandan Muralidharan" <manikandan.m@microchip.com>,
"Dharma Balasubiramani" <dharma.b@microchip.com>,
"Nicolas Ferre" <nicolas.ferre@microchip.com>,
"Alexandre Belloni" <alexandre.belloni@bootlin.com>,
"Claudiu Beznea" <claudiu.beznea@tuxon.dev>,
"Inki Dae" <inki.dae@samsung.com>,
"Seung-Woo Kim" <sw0312.kim@samsung.com>,
"Kyungmin Park" <kyungmin.park@samsung.com>,
"Krzysztof Kozlowski" <krzk@kernel.org>,
"Alim Akhtar" <alim.akhtar@samsung.com>,
"Liu Ying" <victor.liu@nxp.com>,
"Shawn Guo" <shawnguo@kernel.org>,
"Sascha Hauer" <s.hauer@pengutronix.de>,
"Pengutronix Kernel Team" <kernel@pengutronix.de>,
"Fabio Estevam" <festevam@gmail.com>,
"Laurentiu Palcu" <laurentiu.palcu@oss.nxp.com>,
"Lucas Stach" <l.stach@pengutronix.de>,
"Philipp Zabel" <p.zabel@pengutronix.de>,
"Anitha Chrisanthus" <anitha.chrisanthus@intel.com>,
"Edmund Dea" <edmund.j.dea@intel.com>,
"Paul Kocialkowski" <paulk@sys-base.io>,
"Sui Jingfeng" <suijingfeng@loongson.cn>,
"Chun-Kuang Hu" <chunkuang.hu@kernel.org>,
"Matthias Brugger" <matthias.bgg@gmail.com>,
"AngeloGioacchino Del Regno"
<angelogioacchino.delregno@collabora.com>,
"Rob Clark" <robin.clark@oss.qualcomm.com>,
"Dmitry Baryshkov" <lumag@kernel.org>,
"Abhinav Kumar" <abhinav.kumar@linux.dev>,
"Jessica Zhang" <jessica.zhang@oss.qualcomm.com>,
"Sean Paul" <sean@poorly.run>,
"Marijn Suijten" <marijn.suijten@somainline.org>,
"Sandy Huang" <hjc@rock-chips.com>,
"Heiko Stübner" <heiko@sntech.de>,
"Andy Yan" <andy.yan@rock-chips.com>,
"Chen-Yu Tsai" <wens@csie.org>,
"Jernej Skrabec" <jernej.skrabec@gmail.com>,
"Samuel Holland" <samuel@sholland.org>,
"Thierry Reding" <thierry.reding@gmail.com>,
"Mikko Perttunen" <mperttunen@nvidia.com>,
"Jonathan Hunter" <jonathanh@nvidia.com>,
"Hans de Goede" <hansg@kernel.org>,
"Dave Stevenson" <dave.stevenson@raspberrypi.com>,
"Maíra Canal" <mcanal@igalia.com>,
"Raspberry Pi Kernel Maintenance" <kernel-list@raspberrypi.com>
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 <mripard@kernel.org>
Subject: [PATCH 38/39] drm/atomic: Convert drm_atomic_get_private_obj_state() to use new plane state
Date: Mon, 25 Aug 2025 15:43:43 +0200 [thread overview]
Message-ID: <20250825-drm-no-more-existing-state-v1-38-f08ccd9f85c9@kernel.org> (raw)
In-Reply-To: <20250825-drm-no-more-existing-state-v1-0-f08ccd9f85c9@kernel.org>
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 <mripard@kernel.org>
---
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..b7bef44e2d42eb56446a5a05f851c7503daeaa1f 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;
- for (i = 0; i < state->num_private_objs; i++)
- if (obj == state->private_objs[i].ptr)
- return state->private_objs[i].state;
+ obj_state = drm_atomic_get_new_private_obj_state(state, obj);
+ if (obj_state)
+ return obj_state;
ret = drm_modeset_lock(&obj->lock, state->acquire_ctx);
if (ret)
return ERR_PTR(ret);
--
2.50.1
next prev parent reply other threads:[~2025-08-25 13:45 UTC|newest]
Thread overview: 44+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-25 13:43 [PATCH 00/39] drm/atomic: Get rid of existing states (not really) Maxime Ripard
2025-08-25 13:43 ` [PATCH 01/39] drm/atomic: Make drm_atomic_get_connector_state() early return consistent Maxime Ripard
2025-08-27 17:40 ` Dmitry Baryshkov
2025-08-25 13:43 ` [PATCH 02/39] drm/atomic: Convert drm_atomic_get_connector_state() to state accessor Maxime Ripard
2025-08-25 13:43 ` [PATCH 03/39] drm/atomic: Convert drm_atomic_get_connector_state() to use new connector state Maxime Ripard
2025-08-27 22:27 ` Dmitry Baryshkov
2025-08-25 13:43 ` [PATCH 04/39] drm/atomic: Remove unused drm_atomic_get_existing_connector_state() Maxime Ripard
2025-08-27 22:28 ` Dmitry Baryshkov
2025-08-25 13:43 ` [PATCH 05/39] drm/atomic: Document __drm_connectors_state state pointer Maxime Ripard
2025-08-25 13:43 ` [PATCH 06/39] drm/atomic: Convert __drm_atomic_get_current_plane_state() to modern accessor Maxime Ripard
2025-08-25 13:43 ` [PATCH 07/39] drm/atomic: Convert drm_atomic_get_plane_state() to use new plane state Maxime Ripard
2025-08-25 13:43 ` [PATCH 08/39] drm/vkms: Convert vkms_crtc_atomic_check() " Maxime Ripard
2025-08-25 13:43 ` [PATCH 09/39] drm/tilcdc: crtc: Use drm_atomic_helper_check_crtc_primary_plane() Maxime Ripard
2025-08-25 13:43 ` [PATCH 10/39] drm/atomic: Remove unused drm_atomic_get_existing_plane_state() Maxime Ripard
2025-08-25 13:43 ` [PATCH 11/39] drm/atomic: Document __drm_planes_state state pointer Maxime Ripard
2025-08-25 13:43 ` [PATCH 12/39] drm/atomic: Convert drm_atomic_get_crtc_state() to use new connector state Maxime Ripard
2025-08-25 13:43 ` [PATCH 13/39] drm/ingenic: ipu: Switch to drm_atomic_get_new_crtc_state() Maxime Ripard
2025-08-25 13:43 ` [PATCH 14/39] drm/arm/malidp: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 15/39] drm/armada: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 16/39] drm/atmel-hlcdc: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 17/39] drm/exynos: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 18/39] drm/imx-dc: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 19/39] drm/imx-dcss: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 20/39] drm/imx-ipuv3: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 21/39] drm/ingenic: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 22/39] drm/kmb: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 23/39] drm/logicvc: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 24/39] drm/loongson: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 25/39] drm/mediatek: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 26/39] drm/msm/mdp5: " Maxime Ripard
2025-08-27 1:50 ` Dmitry Baryshkov
2025-08-25 13:43 ` [PATCH 27/39] drm/omap: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 28/39] drm/rockchip: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 29/39] drm/sun4i: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 30/39] drm/tegra: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 31/39] drm/tilcdc: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 32/39] drm/vboxvideo: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 33/39] drm/vc4: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 34/39] drm/atomic: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 35/39] drm/framebuffer: " Maxime Ripard
2025-08-25 13:43 ` [PATCH 36/39] drm/atomic: Remove unused drm_atomic_get_existing_crtc_state() Maxime Ripard
2025-08-25 13:43 ` [PATCH 37/39] drm/atomic: Document __drm_crtcs_state state pointer Maxime Ripard
2025-08-25 13:43 ` Maxime Ripard [this message]
2025-08-25 13:43 ` [PATCH 39/39] drm/atomic: Document __drm_private_objs_state " Maxime Ripard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250825-drm-no-more-existing-state-v1-38-f08ccd9f85c9@kernel.org \
--to=mripard@kernel.org \
--cc=abhinav.kumar@linux.dev \
--cc=airlied@gmail.com \
--cc=alexandre.belloni@bootlin.com \
--cc=alim.akhtar@samsung.com \
--cc=andy.yan@rock-chips.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=anitha.chrisanthus@intel.com \
--cc=chunkuang.hu@kernel.org \
--cc=claudiu.beznea@tuxon.dev \
--cc=dave.stevenson@raspberrypi.com \
--cc=dharma.b@microchip.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=edmund.j.dea@intel.com \
--cc=festevam@gmail.com \
--cc=freedreno@lists.freedesktop.org \
--cc=hamohammed.sa@gmail.com \
--cc=hansg@kernel.org \
--cc=heiko@sntech.de \
--cc=hjc@rock-chips.com \
--cc=imx@lists.linux.dev \
--cc=inki.dae@samsung.com \
--cc=jernej.skrabec@gmail.com \
--cc=jessica.zhang@oss.qualcomm.com \
--cc=jonathanh@nvidia.com \
--cc=jyri.sarha@iki.fi \
--cc=kernel-list@raspberrypi.com \
--cc=kernel@pengutronix.de \
--cc=krzk@kernel.org \
--cc=kyungmin.park@samsung.com \
--cc=l.stach@pengutronix.de \
--cc=laurentiu.palcu@oss.nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-arm-msm@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=linux-mips@vger.kernel.org \
--cc=linux-rockchip@lists.infradead.org \
--cc=linux-samsung-soc@vger.kernel.org \
--cc=linux-sunxi@lists.linux.dev \
--cc=linux-tegra@vger.kernel.org \
--cc=linux@armlinux.org.uk \
--cc=liviu.dudau@arm.com \
--cc=louis.chauvet@bootlin.com \
--cc=lumag@kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=manikandan.m@microchip.com \
--cc=marijn.suijten@somainline.org \
--cc=matthias.bgg@gmail.com \
--cc=mcanal@igalia.com \
--cc=melissa.srw@gmail.com \
--cc=mperttunen@nvidia.com \
--cc=nicolas.ferre@microchip.com \
--cc=p.zabel@pengutronix.de \
--cc=paul@crapouillou.net \
--cc=paulk@sys-base.io \
--cc=robin.clark@oss.qualcomm.com \
--cc=s.hauer@pengutronix.de \
--cc=samuel@sholland.org \
--cc=sean@poorly.run \
--cc=shawnguo@kernel.org \
--cc=simona@ffwll.ch \
--cc=suijingfeng@loongson.cn \
--cc=sw0312.kim@samsung.com \
--cc=thierry.reding@gmail.com \
--cc=tomi.valkeinen@ideasonboard.com \
--cc=tzimmermann@suse.de \
--cc=victor.liu@nxp.com \
--cc=wens@csie.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).