[Intel-gfx] [PATCH 8/8] drm/i915: Improve GuC request coalescing
Chris Wilson
chris at chris-wilson.co.uk
Thu Sep 21 12:34:34 UTC 2017
Quoting Mika Kuoppala (2017-09-20 15:37:05)
> -static void i915_guc_submit(struct intel_engine_cs *engine)
> +static void i915_guc_submit(struct intel_engine_cs *engine,
> + const unsigned int first)
> {
> struct drm_i915_private *dev_priv = engine->i915;
> struct intel_guc *guc = &dev_priv->guc;
> @@ -498,7 +500,7 @@ static void i915_guc_submit(struct intel_engine_cs *engine)
> const unsigned int engine_id = engine->id;
> unsigned int n;
>
> - for (n = 0; n < execlist_active_ports(el); n++) {
> + for (n = first; n < execlist_active_ports(el); n++) {
> struct execlist_port *port;
> struct drm_i915_gem_request *rq;
> unsigned int count;
> @@ -506,21 +508,22 @@ static void i915_guc_submit(struct intel_engine_cs *engine)
> port = execlist_port_index(el, n);
>
> rq = port_unpack(port, &count);
> - if (rq && count == 0) {
> - port_set(port, port_pack(rq, ++count));
> + GEM_BUG_ON(!rq);
> + GEM_BUG_ON(count);
>
> - if (i915_vma_is_map_and_fenceable(rq->ring->vma))
> - POSTING_READ_FW(GUC_STATUS);
> + port_set(port, port_pack(rq, ++count));
Ok, with this method we don't need count anymore. Seems sensible.
-Chris
More information about the Intel-gfx
mailing list