From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com>
Cc: Maxime Ripard <mripard@kernel.org>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v2 36/37] drm/atomic: Convert drm_atomic_get_private_obj_state() to use new plane state
Date: Tue, 2 Sep 2025 17:27:54 +0300 [thread overview]
Message-ID: <aLb-6ikKRwIUQe6o@intel.com> (raw)
In-Reply-To: <pc2ux3nerxltc5h5g6cdyh5tgfrnh75j7i2edzc572og2zx2ws@623doofedid4>
On Tue, Sep 02, 2025 at 05:17:24PM +0300, Dmitry Baryshkov wrote:
> On Tue, Sep 02, 2025 at 05:14:51PM +0300, Ville Syrjälä wrote:
> > On Tue, Sep 02, 2025 at 04:25:12PM +0300, Dmitry Baryshkov wrote:
> > > On Tue, Sep 02, 2025 at 11:35:35AM +0200, Maxime Ripard wrote:
> > > > 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().
> > >
> > >
> > > This function is being used in e.g. this call stack:
> > > ingenic_drm_crtc_atomic_enable -> ingenic_drm_get_priv_state ->
> > > drm_atomic_get_private_obj_state(). Please correct me if I'm wrong,
> > > doesn't it happen already after the state switch?
> >
> > Looks like it should just use the get_new_state() there.
> >
> > Hmm, I wonder if we should make the get_state() functions warn
> > (and maybe return NULL) if they get called after the state has
> > been swapped?
>
> Might be.
>
> Note: I just quickly git grepped the function and stumbled upon the
> first questionable use. There might be uther users which call it after
> swapping the state.
I tried to have a quick look at all the callers and didn't spot
other obviously wrong uses, but I can't guarantee that I didn't
miss some by accident.
>
> >
> > >
> > > >
> > > > Signed-off-by: Maxime Ripard <mripard@kernel.org>
> > > > ---
> > > > drivers/gpu/drm/drm_atomic.c | 8 ++++----
> > > > 1 file changed, 4 insertions(+), 4 deletions(-)
> > > >
> > >
> > > --
> > > With best wishes
> > > Dmitry
> >
> > --
> > Ville Syrjälä
> > Intel
>
> --
> With best wishes
> Dmitry
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2025-09-02 14:28 UTC|newest]
Thread overview: 65+ 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:34 ` 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-05 9:19 ` Luca Ceresoli
2025-09-02 9:35 ` [PATCH v2 02/37] drm/atomic: Remove unused drm_atomic_get_existing_connector_state() Maxime Ripard
2025-09-05 9:20 ` Luca Ceresoli
2025-09-02 9:35 ` [PATCH v2 03/37] drm/atomic: Document __drm_connectors_state state pointer Maxime Ripard
2025-09-05 9:20 ` Luca Ceresoli
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-05 15:12 ` Louis Chauvet
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 ` [PATCH v2 09/37] drm/atomic: Document __drm_planes_state state pointer Maxime Ripard
2025-09-05 9:20 ` Luca Ceresoli
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 ` 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ä [this message]
2025-09-02 9:35 ` [PATCH v2 37/37] drm/atomic: Document __drm_private_objs_state state pointer Maxime Ripard
2025-09-05 9:20 ` Luca Ceresoli
2025-09-02 14:29 ` [PATCH v2 00/37] drm/atomic: Get rid of existing states (not really) Ville Syrjälä
2025-09-02 14:29 ` Ville Syrjälä
2025-09-03 19:09 ` 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=aLb-6ikKRwIUQe6o@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=airlied@gmail.com \
--cc=dmitry.baryshkov@oss.qualcomm.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.