From: Yu Dai <yu.dai@intel.com>
To: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 1/7] drm/i915: Convert execlist_submit_contexts() for requests
Date: Tue, 07 Jul 2015 14:44:20 -0700 [thread overview]
Message-ID: <559C4834.2090108@intel.com> (raw)
In-Reply-To: <559C032A.2000804@intel.com>
On 07/07/2015 09:49 AM, Yu Dai wrote:
> On 07/03/2015 07:09 AM, Mika Kuoppala wrote:
> > Pass around requests to carry context deeper in callchain.
> >
> > Signed-off-by: Mika Kuoppala <mika.kuoppala@intel.com>
> > ---
> > drivers/gpu/drm/i915/intel_lrc.c | 30 ++++++++++++++----------------
> > 1 file changed, 14 insertions(+), 16 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/intel_lrc.c b/drivers/gpu/drm/i915/intel_lrc.c
> > index 9b928ab..583210d 100644
> > --- a/drivers/gpu/drm/i915/intel_lrc.c
> > +++ b/drivers/gpu/drm/i915/intel_lrc.c
> > @@ -358,29 +358,29 @@ static int execlists_update_context(struct drm_i915_gem_object *ctx_obj,
> > return 0;
> > }
> >
> > -static void execlists_submit_contexts(struct intel_engine_cs *ring,
> > - struct intel_context *to0, u32 tail0,
> > - struct intel_context *to1, u32 tail1)
> > +static void execlists_submit_requests(struct drm_i915_gem_request *rq0,
> > + struct drm_i915_gem_request *rq1)
> > {
> > - struct drm_i915_gem_object *ctx_obj0 = to0->engine[ring->id].state;
> > - struct intel_ringbuffer *ringbuf0 = to0->engine[ring->id].ringbuf;
> > + struct intel_engine_cs *ring = rq0->ring;
> > + struct drm_i915_gem_object *ctx_obj0 = rq0->ctx->engine[ring->id].state;
> > struct drm_i915_gem_object *ctx_obj1 = NULL;
> > - struct intel_ringbuffer *ringbuf1 = NULL;
> >
> > BUG_ON(!ctx_obj0);
> > WARN_ON(!i915_gem_obj_is_pinned(ctx_obj0));
> > - WARN_ON(!i915_gem_obj_is_pinned(ringbuf0->obj));
> > + WARN_ON(!i915_gem_obj_is_pinned(rq0->ringbuf->obj));
> >
> > - execlists_update_context(ctx_obj0, ringbuf0->obj, to0->ppgtt, tail0);
> > + execlists_update_context(ctx_obj1, rq0->ringbuf->obj,
> Typo? Here it should be ctx_obj0.
Never mind. Issue got fixed by patch 2/7.
Alex
> > + rq0->ctx->ppgtt, rq0->tail);
> > +
> > + if (rq1) {
> > + ctx_obj1 = rq1->ctx->engine[ring->id].state;
> >
> > - if (to1) {
> > - ringbuf1 = to1->engine[ring->id].ringbuf;
> > - ctx_obj1 = to1->engine[ring->id].state;
> > BUG_ON(!ctx_obj1);
> > WARN_ON(!i915_gem_obj_is_pinned(ctx_obj1));
> > - WARN_ON(!i915_gem_obj_is_pinned(ringbuf1->obj));
> > + WARN_ON(!i915_gem_obj_is_pinned(rq1->ringbuf->obj));
> >
> > - execlists_update_context(ctx_obj1, ringbuf1->obj, to1->ppgtt, tail1);
> > + execlists_update_context(ctx_obj1, rq1->ringbuf->obj,
> > + rq1->ctx->ppgtt, rq1->tail);
> > }
> >
> > execlists_elsp_write(ring, ctx_obj0, ctx_obj1);
> > @@ -443,9 +443,7 @@ static void execlists_context_unqueue(struct intel_engine_cs *ring)
> >
> > WARN_ON(req1 && req1->elsp_submitted);
> >
> > - execlists_submit_contexts(ring, req0->ctx, req0->tail,
> > - req1 ? req1->ctx : NULL,
> > - req1 ? req1->tail : 0);
> > + execlists_submit_requests(req0, req1);
> >
> > req0->elsp_submitted++;
> > if (req1)
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-07-07 21:45 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-03 14:09 [RFC 0/7] Convert parts of intel_lrc.c to requests Mika Kuoppala
2015-07-03 14:09 ` [PATCH 1/7] drm/i915: Convert execlist_submit_contexts() for requests Mika Kuoppala
2015-07-07 16:49 ` Yu Dai
2015-07-07 21:44 ` Yu Dai [this message]
2015-07-08 7:23 ` Mika Kuoppala
2015-07-03 14:09 ` [PATCH 2/7] drm/i915: Convert execlists_update_context() " Mika Kuoppala
2015-07-03 14:09 ` [PATCH 3/7] drm/i915: Assign request ringbuf before pin Mika Kuoppala
2015-07-03 14:11 ` Chris Wilson
2015-07-06 8:08 ` Mika Kuoppala
2015-07-03 14:09 ` [PATCH 4/7] drm/i915: Convert intel_lr_context_pin() for requests Mika Kuoppala
2015-07-03 14:09 ` [PATCH 5/7] drm/i915: Convert execlists_elsp_writ() " Mika Kuoppala
2015-07-03 14:09 ` [PATCH 6/7] drm/i915: Convert execlists_ctx_descriptor() " Mika Kuoppala
2015-07-08 16:40 ` Yu Dai
2015-07-08 17:04 ` Dave Gordon
2015-07-08 17:26 ` Mika Kuoppala
2015-07-03 14:09 ` [PATCH 7/7] drm/i915: Mark elsps submitted when they are pushed to hw Mika Kuoppala
2015-07-03 15:36 ` Chris Wilson
2015-07-06 8:09 ` Mika Kuoppala
2015-07-06 9:25 ` Chris Wilson
2015-07-06 9:32 ` Chris Wilson
2015-07-06 14:52 ` Daniel Vetter
2015-07-06 15:35 ` [PATCH 1/2] drm/i915: Convert execlist_submit_contexts() for requests Mika Kuoppala
2015-07-05 3:34 ` [PATCH 7/7] drm/i915: Mark elsps submitted when they are pushed to hw shuang.he
2015-07-03 15:38 ` [RFC 0/7] Convert parts of intel_lrc.c to requests Chris Wilson
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=559C4834.2090108@intel.com \
--to=yu.dai@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.