[Intel-gfx] [PATCH] drm/i915: Make own struct for execlist items

Joonas Lahtinen joonas.lahtinen at linux.intel.com
Tue Aug 22 12:17:57 UTC 2017


On Tue, 2017-08-22 at 12:37 +0300, Mika Kuoppala wrote:
> Engine's execlist related items have been increasing to
> a point where a separate struct is warranted. Carve execlist
> specific items to a dedicated struct to add clarity.
> 
> Suggested-by: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Mika Kuoppala <mika.kuoppala at intel.com>

<SNIP>

> +/* Execlists */
> +struct intel_engine_execlist {
> +	struct tasklet_struct irq_tasklet;
> +	struct i915_priolist default_priolist;
> +	bool no_priolist;
> +
> +	struct execlist_port {
> +		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)
> +#define port_set(p, packed) ((p)->request_count = (packed))
> +#define port_isset(p) ((p)->request_count)
> +#define port_index(p, e) ((p) - (e)->execlist.port)
> +		GEM_DEBUG_DECL(u32 context_id);
> +	} port[2];
> +
> +	struct rb_root queue;
> +	struct rb_node *first;
> +
> +	unsigned int fw_domains;
> +};
> +

Please do add a small kerneldoc for each parameter while touching the
code, anyway this is:

Acked-by: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>

Regards, Joonas
-- 
Joonas Lahtinen
Open Source Technology Center
Intel Corporation


More information about the Intel-gfx mailing list