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-09-22 14:10:05 +03:00
2019-12-18 02:40:03 +02:00
2021-01-05 07:19:49 +02:00
2019-12-18 02:40:03 +02:00
2021-01-07 13:02:57 +01:00
2019-12-18 02:40:04 +02:00
2021-01-05 07:20:04 +02:00
2021-01-05 07:20:04 +02:00
2021-01-05 07:20:10 +02:00
2021-01-05 07:20:10 +02:00
2019-12-18 02:40:05 +02:00
2019-12-18 02:40:04 +02:00
2021-01-05 07:20:13 +02:00
2020-09-22 14:10:05 +03:00
2019-01-14 03:51:17 +02:00
2019-01-14 03:51:17 +02:00
2019-01-14 03:51:17 +02:00
2019-01-14 03:51:17 +02:00
2019-01-14 03:51:17 +02:00
2021-02-24 20:27:09 +01:00
2019-01-14 03:51:33 +02:00
2019-12-18 02:40:05 +02:00
2021-02-24 20:27:09 +01:00
2019-03-18 17:24:46 +02:00
2021-01-05 07:20:03 +02:00
2019-03-18 17:24:51 +02:00
2020-06-23 19:56:02 +02:00
2018-09-25 00:40:56 +03:00
2020-09-22 14:10:04 +03:00
2019-06-08 02:36:04 +03:00