On Fri, Mar 31, 2017 at 03:10:33PM +0100, Chris Wilson wrote: > diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h > index a82a0807f64d..51497653c830 100644 > --- a/drivers/gpu/drm/i915/intel_ringbuffer.h > +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h > @@ -373,8 +373,12 @@ struct intel_engine_cs { > /* Execlists */ > struct tasklet_struct irq_tasklet; > struct execlist_port { > - struct drm_i915_gem_request *request; > - unsigned int count; > + struct drm_i915_gem_request *request_count; > +#define EXECLIST_COUNT_BITS 2 > +#define port_request(p) ptr_mask_bits((p)->request_count, EXECLIST_COUNT_BITS) > +#define port_count(p) ptr_unmask_bits((p)->request_count, EXECLIST_COUNT_BITS) > +#define port_pack(rq, count) ptr_pack_bits(rq, count, EXECLIST_COUNT_BITS) > +#define port_unpack(p, count) ptr_unpack_bits((p)->request_count, count, EXECLIST_COUNT_BITS) I haven't yet found anything more agreeable (unions and packing pointers into a bitfield), so for the moment it remains an unsightly request_count (although I still think it is safer to hint about its dual purpose in the name). -Chris -- Chris Wilson, Intel Open Source Technology Centre _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx