[Intel-gfx] [PATCH 16/16] drm/atomic: Remove deprecated accessor macros
Daniel Vetter
daniel at ffwll.ch
Wed Jul 12 09:50:11 UTC 2017
On Wed, Jul 12, 2017 at 10:13:44AM +0200, Maarten Lankhorst wrote:
> Now that the last users have been converted, we can finally get rid of
> for_each_obj_in_state, we have better macros to replace them with.
>
> Signed-off-by: Maarten Lankhorst <maarten.lankhorst at linux.intel.com>
> Cc: Daniel Vetter <daniel.vetter at intel.com>
> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> Cc: Sean Paul <seanpaul at chromium.org>
> Cc: David Airlie <airlied at linux.ie>
Lgtm, but please make sure you do compile test with all three drm-misc
defconfigs. Two of the patches looked like they didn't see a compiler, so
there might be more lurking.
-Daniel
> ---
> include/drm/drm_atomic.h | 75 ---------------------------------------------
> include/drm/drm_connector.h | 3 +-
> include/drm/drm_crtc.h | 8 ++---
> include/drm/drm_plane.h | 8 ++---
> 4 files changed, 9 insertions(+), 85 deletions(-)
>
> diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h
> index dcc8e0cdb7ff..9f484d0ebcb6 100644
> --- a/include/drm/drm_atomic.h
> +++ b/include/drm/drm_atomic.h
> @@ -555,31 +555,6 @@ int __must_check drm_atomic_nonblocking_commit(struct drm_atomic_state *state);
> void drm_state_dump(struct drm_device *dev, struct drm_printer *p);
>
> /**
> - * for_each_connector_in_state - iterate over all connectors in an atomic update
> - * @__state: &struct drm_atomic_state pointer
> - * @connector: &struct drm_connector iteration cursor
> - * @connector_state: &struct drm_connector_state iteration cursor
> - * @__i: int iteration cursor, for macro-internal use
> - *
> - * This iterates over all connectors in an atomic update. Note that before the
> - * software state is committed (by calling drm_atomic_helper_swap_state(), this
> - * points to the new state, while afterwards it points to the old state. Due to
> - * this tricky confusion this macro is deprecated.
> - *
> - * FIXME:
> - *
> - * Replace all usage of this with one of the explicit iterators below and then
> - * remove this macro.
> - */
> -#define for_each_connector_in_state(__state, connector, connector_state, __i) \
> - for ((__i) = 0; \
> - (__i) < (__state)->num_connector && \
> - ((connector) = (__state)->connectors[__i].ptr, \
> - (connector_state) = (__state)->connectors[__i].state, 1); \
> - (__i)++) \
> - for_each_if (connector)
> -
> -/**
> * for_each_oldnew_connector_in_state - iterate over all connectors in an atomic update
> * @__state: &struct drm_atomic_state pointer
> * @connector: &struct drm_connector iteration cursor
> @@ -643,31 +618,6 @@ void drm_state_dump(struct drm_device *dev, struct drm_printer *p);
> for_each_if (connector)
>
> /**
> - * for_each_crtc_in_state - iterate over all connectors in an atomic update
> - * @__state: &struct drm_atomic_state pointer
> - * @crtc: &struct drm_crtc iteration cursor
> - * @crtc_state: &struct drm_crtc_state iteration cursor
> - * @__i: int iteration cursor, for macro-internal use
> - *
> - * This iterates over all CRTCs in an atomic update. Note that before the
> - * software state is committed (by calling drm_atomic_helper_swap_state(), this
> - * points to the new state, while afterwards it points to the old state. Due to
> - * this tricky confusion this macro is deprecated.
> - *
> - * FIXME:
> - *
> - * Replace all usage of this with one of the explicit iterators below and then
> - * remove this macro.
> - */
> -#define for_each_crtc_in_state(__state, crtc, crtc_state, __i) \
> - for ((__i) = 0; \
> - (__i) < (__state)->dev->mode_config.num_crtc && \
> - ((crtc) = (__state)->crtcs[__i].ptr, \
> - (crtc_state) = (__state)->crtcs[__i].state, 1); \
> - (__i)++) \
> - for_each_if (crtc_state)
> -
> -/**
> * for_each_oldnew_crtc_in_state - iterate over all CRTCs in an atomic update
> * @__state: &struct drm_atomic_state pointer
> * @crtc: &struct drm_crtc iteration cursor
> @@ -727,31 +677,6 @@ void drm_state_dump(struct drm_device *dev, struct drm_printer *p);
> for_each_if (crtc)
>
> /**
> - * for_each_plane_in_state - iterate over all planes in an atomic update
> - * @__state: &struct drm_atomic_state pointer
> - * @plane: &struct drm_plane iteration cursor
> - * @plane_state: &struct drm_plane_state iteration cursor
> - * @__i: int iteration cursor, for macro-internal use
> - *
> - * This iterates over all planes in an atomic update. Note that before the
> - * software state is committed (by calling drm_atomic_helper_swap_state(), this
> - * points to the new state, while afterwards it points to the old state. Due to
> - * this tricky confusion this macro is deprecated.
> - *
> - * FIXME:
> - *
> - * Replace all usage of this with one of the explicit iterators below and then
> - * remove this macro.
> - */
> -#define for_each_plane_in_state(__state, plane, plane_state, __i) \
> - for ((__i) = 0; \
> - (__i) < (__state)->dev->mode_config.num_total_plane && \
> - ((plane) = (__state)->planes[__i].ptr, \
> - (plane_state) = (__state)->planes[__i].state, 1); \
> - (__i)++) \
> - for_each_if (plane_state)
> -
> -/**
> * for_each_oldnew_plane_in_state - iterate over all planes in an atomic update
> * @__state: &struct drm_atomic_state pointer
> * @plane: &struct drm_plane iteration cursor
> diff --git a/include/drm/drm_connector.h b/include/drm/drm_connector.h
> index ae5b7dc316c8..4878007103e2 100644
> --- a/include/drm/drm_connector.h
> +++ b/include/drm/drm_connector.h
> @@ -858,8 +858,7 @@ struct drm_connector {
> * This is protected by @drm_mode_config.connection_mutex. Note that
> * nonblocking atomic commits access the current connector state without
> * taking locks. Either by going through the &struct drm_atomic_state
> - * pointers, see for_each_connector_in_state(),
> - * for_each_oldnew_connector_in_state(),
> + * pointers, see for_each_oldnew_connector_in_state(),
> * for_each_old_connector_in_state() and
> * for_each_new_connector_in_state(). Or through careful ordering of
> * atomic commit operations as implemented in the atomic helpers, see
> diff --git a/include/drm/drm_crtc.h b/include/drm/drm_crtc.h
> index 3a911a64c257..c4c949ea20da 100644
> --- a/include/drm/drm_crtc.h
> +++ b/include/drm/drm_crtc.h
> @@ -807,10 +807,10 @@ struct drm_crtc {
> * This is protected by @mutex. Note that nonblocking atomic commits
> * access the current CRTC state without taking locks. Either by going
> * through the &struct drm_atomic_state pointers, see
> - * for_each_crtc_in_state(), for_each_oldnew_crtc_in_state(),
> - * for_each_old_crtc_in_state() and for_each_new_crtc_in_state(). Or
> - * through careful ordering of atomic commit operations as implemented
> - * in the atomic helpers, see &struct drm_crtc_commit.
> + * for_each_oldnew_crtc_in_state(), for_each_old_crtc_in_state() and
> + * for_each_new_crtc_in_state(). Or through careful ordering of atomic
> + * commit operations as implemented in the atomic helpers, see
> + * &struct drm_crtc_commit.
> */
> struct drm_crtc_state *state;
>
> diff --git a/include/drm/drm_plane.h b/include/drm/drm_plane.h
> index 9ab3e7044812..a1b3aa5d1223 100644
> --- a/include/drm/drm_plane.h
> +++ b/include/drm/drm_plane.h
> @@ -514,10 +514,10 @@ struct drm_plane {
> * This is protected by @mutex. Note that nonblocking atomic commits
> * access the current plane state without taking locks. Either by going
> * through the &struct drm_atomic_state pointers, see
> - * for_each_plane_in_state(), for_each_oldnew_plane_in_state(),
> - * for_each_old_plane_in_state() and for_each_new_plane_in_state(). Or
> - * through careful ordering of atomic commit operations as implemented
> - * in the atomic helpers, see &struct drm_crtc_commit.
> + * for_each_oldnew_plane_in_state(), for_each_old_plane_in_state() and
> + * for_each_new_plane_in_state(). Or through careful ordering of atomic
> + * commit operations as implemented in the atomic helpers, see
> + * &struct drm_crtc_commit.
> */
> struct drm_plane_state *state;
>
> --
> 2.11.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
More information about the Intel-gfx
mailing list