diff options
author | Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com> | 2015-04-10 07:58:39 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2015-04-11 12:50:22 -0400 |
commit | df63b9994eaf942afcdb946d27a28661d7dfbf2a (patch) | |
tree | 9dc7a381498dbf60a8c639dff634e6a43897af53 /include/drm/drm_atomic.h | |
parent | 0578be680c6623ad6515b60a0b41ec70ebc1f204 (diff) |
drm/atomic: Add for_each_{connector,crtc,plane}_in_state helper macros
This saves some typing whenever a iteration over all the connector,
crtc or plane states in the atomic state is written, which happens
quite often.
Cc: dri-devel@lists.freedesktop.org
Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'include/drm/drm_atomic.h')
-rw-r--r-- | include/drm/drm_atomic.h | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/include/drm/drm_atomic.h b/include/drm/drm_atomic.h index 51168a8b723a..c157103492b0 100644 --- a/include/drm/drm_atomic.h +++ b/include/drm/drm_atomic.h | |||
@@ -75,4 +75,28 @@ int __must_check drm_atomic_check_only(struct drm_atomic_state *state); | |||
75 | int __must_check drm_atomic_commit(struct drm_atomic_state *state); | 75 | int __must_check drm_atomic_commit(struct drm_atomic_state *state); |
76 | int __must_check drm_atomic_async_commit(struct drm_atomic_state *state); | 76 | int __must_check drm_atomic_async_commit(struct drm_atomic_state *state); |
77 | 77 | ||
78 | #define for_each_connector_in_state(state, connector, connector_state, __i) \ | ||
79 | for ((__i) = 0; \ | ||
80 | (connector) = (state)->connectors[__i], \ | ||
81 | (connector_state) = (state)->connector_states[__i], \ | ||
82 | (__i) < (state)->num_connector; \ | ||
83 | (__i)++) \ | ||
84 | if (connector) | ||
85 | |||
86 | #define for_each_crtc_in_state(state, crtc, crtc_state, __i) \ | ||
87 | for ((__i) = 0; \ | ||
88 | (crtc) = (state)->crtcs[__i], \ | ||
89 | (crtc_state) = (state)->crtc_states[__i], \ | ||
90 | (__i) < (state)->dev->mode_config.num_crtc; \ | ||
91 | (__i)++) \ | ||
92 | if (crtc_state) | ||
93 | |||
94 | #define for_each_plane_in_state(state, plane, plane_state, __i) \ | ||
95 | for ((__i) = 0; \ | ||
96 | (plane) = (state)->planes[__i], \ | ||
97 | (plane_state) = (state)->plane_states[__i], \ | ||
98 | (__i) < (state)->dev->mode_config.num_total_plane; \ | ||
99 | (__i)++) \ | ||
100 | if (plane_state) | ||
101 | |||
78 | #endif /* DRM_ATOMIC_H_ */ | 102 | #endif /* DRM_ATOMIC_H_ */ |