Maxime Ripard
e05162c017
drm: Store new plane state in a variable for atomic_update and disable
In order to store the new plane state in a subsequent helper, let's move
the plane->state dereferences into a variable.
This was done using the following coccinelle script, plus some hand
changes for vmwgfx:
@ plane_atomic_func @
identifier helpers;
identifier func;
@@
(
static const struct drm_plane_helper_funcs helpers = {
...,
.atomic_disable = func,
...,
};
|
static const struct drm_plane_helper_funcs helpers = {
...,
.atomic_update = func,
...,
};
)
@ has_new_state_old_state @
identifier plane_atomic_func.func;
identifier plane;
identifier new_state;
symbol old_state;
@@
func(struct drm_plane *plane, struct drm_plane_state *old_state)
{
...
struct drm_plane_state *new_state = plane->state;
...
}
@ depends on !has_new_state_old_state @
identifier plane_atomic_func.func;
identifier plane;
symbol old_state;
@@
func(struct drm_plane *plane, struct drm_plane_state *old_state)
{
+ struct drm_plane_state *new_state = plane->state;
<+...
- plane->state
+ new_state
...+>
}
@ has_new_state_state @
identifier plane_atomic_func.func;
identifier plane;
identifier new_state;
symbol state;
@@
func(struct drm_plane *plane, struct drm_plane_state *state)
{
...
struct drm_plane_state *new_state = plane->state;
...
}
@ depends on !has_new_state_state @
identifier plane_atomic_func.func;
identifier plane;
symbol state;
@@
func(struct drm_plane *plane, struct drm_plane_state *state)
{
+ struct drm_plane_state *new_plane_state = plane->state;
<+...
- plane->state
+ new_plane_state
...+>
}
@ has_new_state_old_s @
identifier plane_atomic_func.func;
identifier plane;
identifier new_state;
symbol old_s;
@@
func(struct drm_plane *plane, struct drm_plane_state *old_s)
{
...
struct drm_plane_state *new_state = plane->state;
...
}
@ depends on !has_new_state_old_s @
identifier plane_atomic_func.func;
identifier plane;
symbol old_s;
@@
func(struct drm_plane *plane, struct drm_plane_state *old_s)
{
+ struct drm_plane_state *new_s = plane->state;
<+...
- plane->state
+ new_s
...+>
}
Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Link: https://lore.kernel.org/r/20210219120032.260676-1-maxime@cerno.tech
2021-02-24 20:27:09 +01:00
..
2021-02-24 20:27:03 +01:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:03 +01:00
2021-02-23 08:54:22 +01:00
2021-02-24 20:27:03 +01:00
2021-02-24 20:27:09 +01:00
2021-01-06 15:42:55 +01:00
2021-02-10 14:10:59 +01:00
2021-02-05 10:47:11 +01:00
2021-02-24 20:27:00 +01:00
2021-02-24 20:27:00 +01:00
2021-02-09 13:07:44 +01:00
2021-02-24 20:27:03 +01:00
2021-02-17 12:52:59 +01:00
2021-02-24 20:27:05 +01:00
2021-02-24 20:27:05 +01:00
2021-02-24 20:27:09 +01:00
2021-02-07 20:55:08 +08:00
2021-02-23 08:54:22 +01:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:03 +01:00
2021-01-18 15:41:12 +01:00
2021-02-08 13:00:26 +01:00
2021-02-24 20:27:05 +01:00
2021-02-24 20:27:03 +01:00
2021-02-24 20:27:00 +01:00
2021-02-24 20:27:09 +01:00
2021-02-10 14:10:59 +01:00
2021-02-15 09:43:33 +01:00
2021-02-23 08:54:22 +01:00
2021-02-24 20:27:09 +01:00
2021-01-18 15:41:04 +01:00
2021-02-17 12:52:59 +01:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:03 +01:00
2021-02-05 10:47:11 +01:00
2021-02-24 20:27:03 +01:00
2021-02-24 20:27:00 +01:00
2021-02-24 20:27:09 +01:00
2021-01-05 07:20:36 +02:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:03 +01:00
2021-02-24 20:27:05 +01:00
2021-02-23 08:54:22 +01:00
2021-02-09 17:28:01 +01:00
2021-02-23 08:54:22 +01:00
2021-02-08 13:00:51 +01:00
2021-02-05 10:47:11 +01:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:00 +01:00
2020-11-30 15:00:45 +01:00
2020-11-27 16:14:02 +01:00
2021-02-24 20:27:03 +01:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:09 +01:00
2021-02-23 08:54:22 +01:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:09 +01:00
2021-01-19 09:06:38 +01:00
2021-02-24 20:27:00 +01:00
2021-02-17 12:52:59 +01:00
2020-12-17 16:56:40 +01:00
2021-01-19 09:06:38 +01:00
2021-01-14 09:42:31 +01:00
2021-02-02 16:01:40 +01:00
2020-12-15 15:46:03 +02:00
2021-02-17 12:52:59 +01:00
2021-01-18 15:49:57 +01:00
2021-02-24 13:10:17 -05:00
2021-02-21 19:49:17 -05:00
2020-12-10 10:49:47 +02:00
2021-01-05 07:20:25 +02:00
2021-01-19 09:06:38 +01:00
2021-01-04 12:59:33 +01:00
2020-12-22 12:17:37 +01:00
2021-01-22 16:22:29 +05:30
2021-02-17 12:52:59 +01:00
2021-02-23 08:54:22 +01:00
2020-11-30 13:38:27 +01:00
2021-02-23 08:54:22 +01:00
2021-02-23 08:54:22 +01:00
2021-02-08 13:00:06 +01:00
2021-01-05 07:20:25 +02:00
2021-01-19 09:06:38 +01:00
2021-01-13 14:22:37 +01:00
2021-01-13 14:22:29 +01:00
2021-02-17 12:52:59 +01:00
2021-01-07 13:40:20 +01:00
2021-01-14 19:37:53 +02:00
2021-01-20 22:33:01 +01:00
2021-01-19 09:06:38 +01:00
2021-02-17 12:52:59 +01:00
2021-01-18 10:37:26 +01:00
2021-01-05 07:19:50 +02:00
2021-02-24 20:27:03 +01:00
2021-01-20 15:05:45 +01:00
2021-02-10 12:38:55 +01:00
2021-01-19 09:06:38 +01:00
2021-01-13 14:22:37 +01:00
2021-02-08 13:00:14 +01:00