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
..
2020-03-23 22:39:34 +01:00
2019-11-06 13:04:54 +01:00
2021-02-09 17:27:33 +01:00
2019-08-15 08:39:27 +02:00
2019-08-15 08:40:04 +02:00
2021-02-09 17:27:33 +01:00
2021-02-09 17:27:33 +01:00
2021-01-19 14:19:12 -05:00
2021-02-09 17:27:33 +01:00
2021-01-19 14:19:07 -05:00
2020-03-23 22:39:35 +01:00
2021-01-21 14:51:45 +01:00
2021-02-09 17:27:33 +01:00
2021-01-19 14:18:38 -05:00
2021-01-19 14:18:47 -05:00
2021-01-19 14:19:05 -05:00
2021-01-19 14:18:42 -05:00
2021-01-19 14:19:06 -05:00
2021-02-09 17:27:33 +01:00
2021-01-21 14:51:45 +01:00
2021-01-19 14:18:32 -05:00
2021-01-14 12:15:49 -05:00
2021-01-19 14:18:41 -05:00
2019-08-15 08:40:04 +02:00
2021-01-14 12:15:49 -05:00
2020-12-14 14:20:46 +01:00
2021-01-19 14:18:35 -05:00
2021-01-14 12:14:10 -05:00
2021-02-24 20:27:09 +01:00
2021-02-24 20:27:00 +01:00
2021-02-24 20:27:09 +01:00
2021-01-20 17:04:56 -05:00
2021-01-19 14:19:08 -05:00
2019-08-28 13:36:46 +02:00
2021-01-19 14:18:40 -05:00
2020-12-14 14:20:46 +01:00
2019-11-25 22:36:14 +01:00
2019-11-06 13:30:27 +01:00
2021-01-21 14:51:45 +01:00
2021-02-24 20:27:09 +01:00
2021-01-19 14:18:45 -05:00
2019-04-08 10:29:04 -07:00
2021-01-19 14:19:07 -05:00
2020-03-23 22:39:35 +01:00
2021-02-24 20:27:09 +01:00
2021-01-14 12:15:49 -05:00
2021-01-19 14:18:44 -05:00
2021-01-19 14:19:11 -05:00
2021-02-09 17:27:33 +01:00
2020-03-24 18:48:55 +01:00
2021-01-19 14:19:10 -05:00
2019-11-06 13:04:54 +01:00