[Intel-gfx] [PATCH resend for CI 2/2] drm/i915: Use shorter route to dev_private where possible

Tvrtko Ursulin tvrtko.ursulin at linux.intel.com
Thu Mar 17 13:47:31 UTC 2016


On 17/03/16 13:17, Chris Wilson wrote:
> On Thu, Mar 17, 2016 at 01:04:10PM +0000, Tvrtko Ursulin wrote:
>> From: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
>>
>> Where we have a request we can use req->i915 directly instead
>> of going through the engine and device. Coccinelle script:
>>
>> @@
>> function f;
>> identifier r;
>> @@
>> f(..., struct drm_i915_gem_request *r, ...)
>> {
>> ...
>> - engine->dev->dev_private
>> + r->i915
>> ...
>> }
>> @@
>> struct drm_i915_gem_request *req;
>> @@
>> (
>>    req->
>> - engine->dev->dev_private
>> + i915
>> )
>
> struct intel_engine_cs *e;
> - e->dev->dev_private
> + e->i915
>
> Pretty please?

There is no e->i915 yet as far as I can see.

> INTEL_INFO(engine->dev) (IS_GEN, HAS_ etc)
> if r: INTEL_INFO(r->i915)
> if e: INTEL_INFO(e->i915)
> ?

I have a patch to do:

- dev->dev_private
+ to_i915(dev)

But that is huge and to little gain.

Maybe we should have:

to_i915(req)
to_i915(engine)
to_i915(dev)

And a smart macro which does the right thing at compile time?

That way churn would be one time only and the magic happens in the macro 
definition, as shortcuts are added or (re)moved.

Regards,

Tvrtko


More information about the Intel-gfx mailing list