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

Goel, Akash akash.goel at intel.com
Wed Jul 27 07:30:33 UTC 2016



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,
	#define for_each_engine_id(engine, dev_priv, id)  \
		for_each_engine(engine, dev_rpiv, id)

Best Regards
Akash
> -Chris
>


More information about the Intel-gfx-trybot mailing list