dri-devel.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
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>
Cc: dri-devel@lists.freedesktop.org, Maxime Ripard <mripard@kernel.org>
Subject: [PATCH v2 09/37] drm/atomic: Document __drm_planes_state state pointer
Date: Tue, 02 Sep 2025 11:35:08 +0200	[thread overview]
Message-ID: <20250902-drm-no-more-existing-state-v2-9-de98fc5f6d66@kernel.org> (raw)
In-Reply-To: <20250902-drm-no-more-existing-state-v2-0-de98fc5f6d66@kernel.org>

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 <mripard@kernel.org>

---
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
To: Maxime Ripard <mripard@kernel.org>
To: Thomas Zimmermann <tzimmermann@suse.de>
To: David Airlie <airlied@gmail.com>
To: Simona Vetter <simona@ffwll.ch>
Cc: dri-devel@lists.freedesktop.org
---
 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..89c9a059b36763205fc2fc764283423cbea62679 100644
--- a/include/drm/drm_atomic.h
+++ b/include/drm/drm_atomic.h
@@ -157,11 +157,25 @@ struct drm_crtc_commit {
 	bool abort_completion;
 };
 
 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;
 };
 
 struct __drm_crtcs_state {
 	struct drm_crtc *ptr;
 	struct drm_crtc_state *state, *old_state, *new_state;

-- 
2.50.1


  parent reply	other threads:[~2025-09-02  9:35 UTC|newest]

Thread overview: 55+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-02  9:34 [PATCH v2 00/37] drm/atomic: Get rid of existing states (not really) Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 01/37] drm/atomic: Convert drm_atomic_get_connector_state() to use new connector state Maxime Ripard
2025-09-02 13:08   ` Dmitry Baryshkov
2025-09-02  9:35 ` [PATCH v2 02/37] drm/atomic: Remove unused drm_atomic_get_existing_connector_state() Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 03/37] drm/atomic: Document __drm_connectors_state state pointer Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 04/37] drm/atomic: Convert __drm_atomic_get_current_plane_state() to modern accessor Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 05/37] drm/atomic: Convert drm_atomic_get_plane_state() to use new plane state Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 06/37] drm/vkms: Convert vkms_crtc_atomic_check() " Maxime Ripard
2025-09-02 14:19   ` Ville Syrjälä
2025-09-02  9:35 ` [PATCH v2 07/37] drm/tilcdc: crtc: Use drm_atomic_helper_check_crtc_primary_plane() Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 08/37] drm/atomic: Remove unused drm_atomic_get_existing_plane_state() Maxime Ripard
2025-09-02  9:35 ` Maxime Ripard [this message]
2025-09-02  9:35 ` [PATCH v2 10/37] drm/atomic: Convert drm_atomic_get_crtc_state() to use new connector state Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 11/37] drm/ingenic: ipu: Switch to drm_atomic_get_new_crtc_state() Maxime Ripard
2025-09-03 19:03   ` Paul Cercueil
2025-09-02  9:35 ` [PATCH v2 12/37] drm/arm/malidp: " Maxime Ripard
2025-09-02 15:47   ` Liviu Dudau
2025-09-02  9:35 ` [PATCH v2 13/37] drm/armada: " Maxime Ripard
2025-09-02 14:20   ` Ville Syrjälä
2025-09-02  9:35 ` [PATCH v2 14/37] drm/atmel-hlcdc: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 15/37] drm/exynos: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 16/37] drm/imx-dc: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 17/37] drm/imx-dcss: " Maxime Ripard
2025-09-02 11:45   ` Laurentiu Palcu
2025-09-02  9:35 ` [PATCH v2 18/37] drm/imx-ipuv3: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 19/37] drm/ingenic: " Maxime Ripard
2025-09-03 19:04   ` Paul Cercueil
2025-09-02  9:35 ` [PATCH v2 20/37] drm/kmb: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 21/37] drm/logicvc: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 22/37] drm/loongson: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 23/37] drm/mediatek: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 24/37] drm/msm/mdp5: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 25/37] drm/omap: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 26/37] drm/rockchip: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 27/37] drm/sun4i: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 28/37] drm/tegra: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 29/37] drm/tilcdc: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 30/37] drm/vboxvideo: " Maxime Ripard
2025-09-02  9:39   ` Hans de Goede
2025-09-02  9:35 ` [PATCH v2 31/37] drm/vc4: " Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 32/37] drm/atomic: " Maxime Ripard
2025-09-02 13:21   ` Dmitry Baryshkov
2025-09-02  9:35 ` [PATCH v2 33/37] drm/framebuffer: " Maxime Ripard
2025-09-02 13:22   ` Dmitry Baryshkov
2025-09-02  9:35 ` [PATCH v2 34/37] drm/atomic: Remove unused drm_atomic_get_existing_crtc_state() Maxime Ripard
2025-09-02 13:22   ` Dmitry Baryshkov
2025-09-02  9:35 ` [PATCH v2 35/37] drm/atomic: Document __drm_crtcs_state state pointer Maxime Ripard
2025-09-02  9:35 ` [PATCH v2 36/37] drm/atomic: Convert drm_atomic_get_private_obj_state() to use new plane state Maxime Ripard
2025-09-02 13:25   ` Dmitry Baryshkov
2025-09-02 14:14     ` Ville Syrjälä
2025-09-02 14:17       ` Dmitry Baryshkov
2025-09-02 14:27         ` Ville Syrjälä
2025-09-02  9:35 ` [PATCH v2 37/37] drm/atomic: Document __drm_private_objs_state state pointer Maxime Ripard
2025-09-02 14:29 ` [PATCH v2 00/37] drm/atomic: Get rid of existing states (not really) Ville Syrjälä
2025-09-03 19:09 ` Ville Syrjälä

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=20250902-drm-no-more-existing-state-v2-9-de98fc5f6d66@kernel.org \
    --to=mripard@kernel.org \
    --cc=airlied@gmail.com \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=maarten.lankhorst@linux.intel.com \
    --cc=simona@ffwll.ch \
    --cc=tzimmermann@suse.de \
    /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).