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 | |
| 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')
| -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_ */ |
