[PATCH] drm/i915: Allocate intel_engine_cs structure only for the enabled engines

Chris Wilson chris at chris-wilson.co.uk
Wed Jul 27 07:35:43 UTC 2016


On Wed, Jul 27, 2016 at 01:00:33PM +0530, Goel, Akash wrote:
> 
> 
> On 7/27/2016 12:39 PM, Chris Wilson wrote:
> >On Wed, Jul 27, 2016 at 12:11:20PM +0530, akash.goel at intel.com wrote:
> >> /* Iterator with engine_id */
> >>-#define for_each_engine_id(engine__, dev_priv__, id__) \
> >>-	for ((engine__) = &(dev_priv__)->engine[0], (id__) = 0; \
> >>-	     (engine__) < &(dev_priv__)->engine[I915_NUM_ENGINES]; \
> >>-	     (engine__)++) \
> >>-		for_each_if (((id__) = (engine__)->id, \
> >>-			      intel_engine_initialized(engine__)))
> >>+#define for_each_engine_id(engine__, dev_priv__, id__, iter__) \
> >>+	for ((iter__) = 0, (id__) = 0; \
> >>+	     ((iter__) < I915_NUM_ENGINES) && \
> >>+	     ((engine__) = (dev_priv__)->engine[(iter__)], true); \
> >>+	     (iter__)++) \
> >>+		for_each_if ((engine__) && ((id__) = (engine__)->id, true))
> >
> >id == iter here.
> >
> >This macro is replaced by the plain for_each_engine().
> 
> Sorry didn't realize this earlier.
> Should I altogether remove for_each_engine_id() and use
> for_each_engine() in place of it, or retain for_each_engine_id() but
> re-define it as,

Remove it. We try to keep the code as clear as possible :)
-Chris

-- 
Chris Wilson, Intel Open Source Technology Centre


More information about the Intel-gfx-trybot mailing list