This macro, unlike for_each_ring, will iterate all rings supported by
the platform. It is distinct from for_each_ring in that it can be used
before rings are initialized (and after they are destroyed).

NOTE: I've written this macro a few times in a few different places. The
name differed this time.

Signed-off-by: Ben Widawsky <[email protected]>
---
 drivers/gpu/drm/i915/i915_drv.h | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index fca2eb6..c38a071 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1541,6 +1541,10 @@ static inline struct drm_i915_private *to_i915(const 
struct drm_device *dev)
        for ((i__) = 0; (i__) < I915_NUM_RINGS; (i__)++) \
                if (((ring__) = &(dev_priv__)->ring[(i__)]), 
intel_ring_initialized((ring__)))
 
+#define for_all_rings(ring__, dev_priv__, i__) \
+       for ((i__) = 0; (i__) < I915_NUM_RINGS; (i__)++) \
+               if (((ring__) = &(dev_priv__)->ring[(i__)]), 
(INTEL_INFO((dev_priv__)->dev)->ring_mask & (1 << i__)))
+
 enum hdmi_force_audio {
        HDMI_AUDIO_OFF_DVI = -2,        /* no aux data for HDMI-DVI converter */
        HDMI_AUDIO_OFF,                 /* force turn off HDMI audio */
-- 
1.8.5.1

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to