@@ -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 */
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 <ben@bwidawsk.net> --- drivers/gpu/drm/i915/i915_drv.h | 4 ++++ 1 file changed, 4 insertions(+)