Re: [PATCH 2/5] drm/simpledrm: Use drm_atomic_get_new_plane_state()

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi

Am 22.09.22 um 18:12 schrieb Ruhl, Michael J:
-----Original Message-----
From: dri-devel <dri-devel-bounces@xxxxxxxxxxxxxxxxxxxxx> On Behalf Of
Thomas Zimmermann
Sent: Thursday, September 22, 2022 9:10 AM
To: javierm@xxxxxxxxxx; airlied@xxxxxxxx; daniel@xxxxxxxx
Cc: Thomas Zimmermann <tzimmermann@xxxxxxx>; dri-
devel@xxxxxxxxxxxxxxxxxxxxx
Subject: [PATCH 2/5] drm/simpledrm: Use
drm_atomic_get_new_plane_state()

Lookup the plane's state in atomic_update with the helper
drm_atomic_get_new_plane_state(). Also rename the helpers'
state arguments. No functional changes.

Signed-off-by: Thomas Zimmermann <tzimmermann@xxxxxxx>
---
drivers/gpu/drm/tiny/simpledrm.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/tiny/simpledrm.c
b/drivers/gpu/drm/tiny/simpledrm.c
index 51d01e34d5eb..14782a50f816 100644
--- a/drivers/gpu/drm/tiny/simpledrm.c
+++ b/drivers/gpu/drm/tiny/simpledrm.c
@@ -470,10 +470,10 @@ static const uint64_t
simpledrm_primary_plane_format_modifiers[] = {
};

static void simpledrm_primary_plane_helper_atomic_update(struct
drm_plane *plane,
-							 struct
drm_atomic_state *old_state)
+							 struct
drm_atomic_state *state)
{
-	struct drm_plane_state *plane_state = plane->state;
-	struct drm_plane_state *old_plane_state = drm_atomic_get_old_plane_state(old_state, plane);
+	struct drm_plane_state *plane_state = drm_atomic_get_new_plane_state(state, plane);

Going from plane->state to drm_atomic_get_new_plane_state seems like a slight function change.

If this is the equivalent and the "right" way to do this, should the ->state part of the data
structure be pruned?

The plane->state field is still relevant. I recently learned that the state-lookup helpers are supposed to be used in all atomic_check/commit functions. Ville gave a description here:

  https://lore.kernel.org/dri-devel/Yx9pij4LmFHrq81V@xxxxxxxxx/


The comment for drm_atomic_get_new_plane_state also says that it can return NULL.

would plane->state be NULL in this case?

I don't think so. In atomic_update, we know that we're supposed to change the plane. That requires the state. Maybe it's different in the plane's atomic_disable helper, we don't access the state there.

Best regards
Thomas


Thanks,

M

+	struct drm_plane_state *old_plane_state = drm_atomic_get_old_plane_state(state, plane);
	struct drm_shadow_plane_state *shadow_plane_state = to_drm_shadow_plane_state(plane_state);
	struct drm_framebuffer *fb = plane_state->fb;
	struct drm_device *dev = plane->dev;
@@ -503,7 +503,7 @@ static void
simpledrm_primary_plane_helper_atomic_update(struct drm_plane *plane
}

static void simpledrm_primary_plane_helper_atomic_disable(struct
drm_plane *plane,
-							  struct
drm_atomic_state *old_state)
+							  struct
drm_atomic_state *state)
{
	struct drm_device *dev = plane->dev;
	struct simpledrm_device *sdev = simpledrm_device_of_dev(dev);
--
2.37.3


--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev

Attachment: OpenPGP_signature
Description: OpenPGP digital signature


[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux