|
@@ -142,26 +142,26 @@ int __must_check drm_atomic_async_commit(struct drm_atomic_state *state);
|
|
|
|
|
|
#define for_each_connector_in_state(state, connector, connector_state, __i) \
|
|
|
for ((__i) = 0; \
|
|
|
- (connector) = (state)->connectors[__i], \
|
|
|
- (connector_state) = (state)->connector_states[__i], \
|
|
|
- (__i) < (state)->num_connector; \
|
|
|
+ (__i) < (state)->num_connector && \
|
|
|
+ ((connector) = (state)->connectors[__i], \
|
|
|
+ (connector_state) = (state)->connector_states[__i], 1); \
|
|
|
(__i)++) \
|
|
|
if (connector)
|
|
|
|
|
|
#define for_each_crtc_in_state(state, crtc, crtc_state, __i) \
|
|
|
for ((__i) = 0; \
|
|
|
- (crtc) = (state)->crtcs[__i], \
|
|
|
- (crtc_state) = (state)->crtc_states[__i], \
|
|
|
- (__i) < (state)->dev->mode_config.num_crtc; \
|
|
|
+ (__i) < (state)->dev->mode_config.num_crtc && \
|
|
|
+ ((crtc) = (state)->crtcs[__i], \
|
|
|
+ (crtc_state) = (state)->crtc_states[__i], 1); \
|
|
|
(__i)++) \
|
|
|
if (crtc_state)
|
|
|
|
|
|
-#define for_each_plane_in_state(state, plane, plane_state, __i) \
|
|
|
- for ((__i) = 0; \
|
|
|
- (plane) = (state)->planes[__i], \
|
|
|
- (plane_state) = (state)->plane_states[__i], \
|
|
|
- (__i) < (state)->dev->mode_config.num_total_plane; \
|
|
|
- (__i)++) \
|
|
|
+#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], \
|
|
|
+ (plane_state) = (state)->plane_states[__i], 1); \
|
|
|
+ (__i)++) \
|
|
|
if (plane_state)
|
|
|
|
|
|
#endif /* DRM_ATOMIC_H_ */
|