From: Tomas Elf <tomas.elf@intel.com>
To: "John.C.Harrison@Intel.com" <John.C.Harrison@Intel.com>,
"Intel-GFX@Lists.FreeDesktop.Org"
<Intel-GFX@Lists.FreeDesktop.Org>
Subject: Re: [PATCH 49/59] drm/i915: Update intel_ring_begin() to take a request structure
Date: Tue, 31 Mar 2015 18:04:27 +0100 [thread overview]
Message-ID: <551AD39B.8020501@intel.com> (raw)
In-Reply-To: <1426768264-16996-50-git-send-email-John.C.Harrison@Intel.com>
On 19/03/2015 12:30, John.C.Harrison@Intel.com wrote:
> From: John Harrison <John.C.Harrison@Intel.com>
>
> Now that everything above has been converted to use requests, intel_ring_begin()
> can be updated to take a request instead of a ring. This also means that it no
> longer needs to lazily allocate a request if no-one happens to have done it
> earlier.
>
> For: VIZ-5115
> Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
> ---
> drivers/gpu/drm/i915/i915_gem.c | 2 +-
> drivers/gpu/drm/i915/i915_gem_context.c | 2 +-
> drivers/gpu/drm/i915/i915_gem_execbuffer.c | 8 +--
> drivers/gpu/drm/i915/i915_gem_gtt.c | 6 +--
> drivers/gpu/drm/i915/intel_display.c | 10 ++--
> drivers/gpu/drm/i915/intel_overlay.c | 8 +--
> drivers/gpu/drm/i915/intel_ringbuffer.c | 74 ++++++++++++++--------------
> drivers/gpu/drm/i915/intel_ringbuffer.h | 2 +-
> 8 files changed, 55 insertions(+), 57 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
> index 7304290..b047693 100644
> --- a/drivers/gpu/drm/i915/i915_gem.c
> +++ b/drivers/gpu/drm/i915/i915_gem.c
> @@ -4711,7 +4711,7 @@ int i915_gem_l3_remap(struct drm_i915_gem_request *req, int slice)
> if (!HAS_L3_DPF(dev) || !remap_info)
> return 0;
>
> - ret = intel_ring_begin(ring, GEN7_L3LOG_SIZE / 4 * 3);
> + ret = intel_ring_begin(req, GEN7_L3LOG_SIZE / 4 * 3);
> if (ret)
> return ret;
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_context.c b/drivers/gpu/drm/i915/i915_gem_context.c
> index 2c94c88..369e58d 100644
> --- a/drivers/gpu/drm/i915/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/i915_gem_context.c
> @@ -507,7 +507,7 @@ mi_set_context(struct drm_i915_gem_request *req, u32 hw_flags)
> if (INTEL_INFO(ring->dev)->gen >= 7)
> len += 2 + (num_rings ? 4*num_rings + 2 : 0);
>
> - ret = intel_ring_begin(ring, len);
> + ret = intel_ring_begin(req, len);
> if (ret)
> return ret;
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_execbuffer.c b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> index cb24ca7..9345db8 100644
> --- a/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> +++ b/drivers/gpu/drm/i915/i915_gem_execbuffer.c
> @@ -1076,7 +1076,7 @@ i915_reset_gen7_sol_offsets(struct drm_device *dev,
> return -EINVAL;
> }
>
> - ret = intel_ring_begin(ring, 4 * 3);
> + ret = intel_ring_begin(req, 4 * 3);
> if (ret)
> return ret;
>
> @@ -1107,7 +1107,7 @@ i915_emit_box(struct drm_i915_gem_request *req,
> }
>
> if (INTEL_INFO(ring->dev)->gen >= 4) {
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -1116,7 +1116,7 @@ i915_emit_box(struct drm_i915_gem_request *req,
> intel_ring_emit(ring, ((box->x2 - 1) & 0xffff) | (box->y2 - 1) << 16);
> intel_ring_emit(ring, DR4);
> } else {
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -1287,7 +1287,7 @@ i915_gem_ringbuffer_submission(struct i915_execbuffer_params *params,
>
> if (ring == &dev_priv->ring[RCS] &&
> instp_mode != dev_priv->relative_constants_mode) {
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(params->request, 4);
> if (ret)
> goto error;
>
> diff --git a/drivers/gpu/drm/i915/i915_gem_gtt.c b/drivers/gpu/drm/i915/i915_gem_gtt.c
> index 5822429..7b656c8 100644
> --- a/drivers/gpu/drm/i915/i915_gem_gtt.c
> +++ b/drivers/gpu/drm/i915/i915_gem_gtt.c
> @@ -382,7 +382,7 @@ static int gen8_write_pdp(struct drm_i915_gem_request *req, unsigned entry,
>
> BUG_ON(entry >= 4);
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -889,7 +889,7 @@ static int hsw_mm_switch(struct i915_hw_ppgtt *ppgtt,
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -926,7 +926,7 @@ static int gen7_mm_switch(struct i915_hw_ppgtt *ppgtt,
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 277c73a..665e8cc 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -9426,7 +9426,7 @@ static int intel_gen2_queue_flip(struct drm_device *dev,
> u32 flip_mask;
> int ret;
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -9461,7 +9461,7 @@ static int intel_gen3_queue_flip(struct drm_device *dev,
> u32 flip_mask;
> int ret;
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -9494,7 +9494,7 @@ static int intel_gen4_queue_flip(struct drm_device *dev,
> uint32_t pf, pipesrc;
> int ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -9533,7 +9533,7 @@ static int intel_gen6_queue_flip(struct drm_device *dev,
> uint32_t pf, pipesrc;
> int ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -9609,7 +9609,7 @@ static int intel_gen7_queue_flip(struct drm_device *dev,
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, len);
> + ret = intel_ring_begin(req, len);
> if (ret)
> return ret;
>
> diff --git a/drivers/gpu/drm/i915/intel_overlay.c b/drivers/gpu/drm/i915/intel_overlay.c
> index 9eea308..2ed4422 100644
> --- a/drivers/gpu/drm/i915/intel_overlay.c
> +++ b/drivers/gpu/drm/i915/intel_overlay.c
> @@ -247,7 +247,7 @@ static int intel_overlay_on(struct intel_overlay *overlay)
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret) {
> i915_gem_request_cancel(req);
> return ret;
> @@ -288,7 +288,7 @@ static int intel_overlay_continue(struct intel_overlay *overlay,
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret) {
> i915_gem_request_cancel(req);
> return ret;
> @@ -353,7 +353,7 @@ static int intel_overlay_off(struct intel_overlay *overlay)
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret) {
> i915_gem_request_cancel(req);
> return ret;
> @@ -428,7 +428,7 @@ static int intel_overlay_release_old_vid(struct intel_overlay *overlay)
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret) {
> i915_gem_request_cancel(req);
> return ret;
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
> index 9cbc4ef..6f198df 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.c
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
> @@ -106,7 +106,7 @@ gen2_render_ring_flush(struct drm_i915_gem_request *req,
> if (invalidate_domains & I915_GEM_DOMAIN_SAMPLER)
> cmd |= MI_READ_FLUSH;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret)
> return ret;
>
> @@ -165,7 +165,7 @@ gen4_render_ring_flush(struct drm_i915_gem_request *req,
> (IS_G4X(dev) || IS_GEN5(dev)))
> cmd |= MI_INVALIDATE_ISP;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret)
> return ret;
>
> @@ -220,8 +220,7 @@ intel_emit_post_sync_nonzero_flush(struct drm_i915_gem_request *req)
> u32 scratch_addr = ring->scratch.gtt_offset + 2 * CACHELINE_BYTES;
> int ret;
>
> -
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -234,7 +233,7 @@ intel_emit_post_sync_nonzero_flush(struct drm_i915_gem_request *req)
> intel_ring_emit(ring, MI_NOOP);
> intel_ring_advance(ring);
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -289,7 +288,7 @@ gen6_render_ring_flush(struct drm_i915_gem_request *req,
> flags |= PIPE_CONTROL_QW_WRITE | PIPE_CONTROL_CS_STALL;
> }
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -308,7 +307,7 @@ gen7_render_ring_cs_stall_wa(struct drm_i915_gem_request *req)
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -371,7 +370,7 @@ gen7_render_ring_flush(struct drm_i915_gem_request *req,
> gen7_render_ring_cs_stall_wa(req);
> }
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -391,7 +390,7 @@ gen8_emit_pipe_control(struct drm_i915_gem_request *req,
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -726,7 +725,7 @@ static int intel_ring_workarounds_emit(struct drm_i915_gem_request *req)
> if (ret)
> return ret;
>
> - ret = intel_ring_begin(ring, (w->count * 2 + 2));
> + ret = intel_ring_begin(req, (w->count * 2 + 2));
> if (ret)
> return ret;
>
> @@ -1136,7 +1135,7 @@ static int gen8_rcs_signal(struct drm_i915_gem_request *signaller_req,
> num_dwords += (num_rings-1) * MBOX_UPDATE_DWORDS;
> #undef MBOX_UPDATE_DWORDS
>
> - ret = intel_ring_begin(signaller, num_dwords);
> + ret = intel_ring_begin(signaller_req, num_dwords);
> if (ret)
> return ret;
>
> @@ -1177,7 +1176,7 @@ static int gen8_xcs_signal(struct drm_i915_gem_request *signaller_req,
> num_dwords += (num_rings-1) * MBOX_UPDATE_DWORDS;
> #undef MBOX_UPDATE_DWORDS
>
> - ret = intel_ring_begin(signaller, num_dwords);
> + ret = intel_ring_begin(signaller_req, num_dwords);
> if (ret)
> return ret;
>
> @@ -1216,7 +1215,7 @@ static int gen6_signal(struct drm_i915_gem_request *signaller_req,
> num_dwords += round_up((num_rings-1) * MBOX_UPDATE_DWORDS, 2);
> #undef MBOX_UPDATE_DWORDS
>
> - ret = intel_ring_begin(signaller, num_dwords);
> + ret = intel_ring_begin(signaller_req, num_dwords);
> if (ret)
> return ret;
>
> @@ -1254,7 +1253,7 @@ gen6_add_request(struct drm_i915_gem_request *req)
> if (ring->semaphore.signal)
> ret = ring->semaphore.signal(req, 4);
> else
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
>
> if (ret)
> return ret;
> @@ -1292,7 +1291,7 @@ gen8_ring_sync(struct drm_i915_gem_request *waiter_req,
> struct drm_i915_private *dev_priv = waiter->dev->dev_private;
> int ret;
>
> - ret = intel_ring_begin(waiter, 4);
> + ret = intel_ring_begin(waiter_req, 4);
> if (ret)
> return ret;
>
> @@ -1329,7 +1328,7 @@ gen6_ring_sync(struct drm_i915_gem_request *waiter_req,
>
> WARN_ON(wait_mbox == MI_SEMAPHORE_SYNC_INVALID);
>
> - ret = intel_ring_begin(waiter, 4);
> + ret = intel_ring_begin(waiter_req, 4);
> if (ret)
> return ret;
>
> @@ -1374,7 +1373,7 @@ pc_render_add_request(struct drm_i915_gem_request *req)
> * incoherence by flushing the 6 PIPE_NOTIFY buffers out to
> * memory before requesting an interrupt.
> */
> - ret = intel_ring_begin(ring, 32);
> + ret = intel_ring_begin(req, 32);
> if (ret)
> return ret;
>
> @@ -1559,7 +1558,7 @@ bsd_ring_flush(struct drm_i915_gem_request *req,
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret)
> return ret;
>
> @@ -1575,7 +1574,7 @@ i9xx_add_request(struct drm_i915_gem_request *req)
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -1720,7 +1719,7 @@ i965_dispatch_execbuffer(struct drm_i915_gem_request *req,
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret)
> return ret;
>
> @@ -1748,7 +1747,7 @@ i830_dispatch_execbuffer(struct drm_i915_gem_request *req,
> u32 cs_offset = ring->scratch.gtt_offset;
> int ret;
>
> - ret = intel_ring_begin(ring, 6);
> + ret = intel_ring_begin(req, 6);
> if (ret)
> return ret;
>
> @@ -1765,7 +1764,7 @@ i830_dispatch_execbuffer(struct drm_i915_gem_request *req,
> if (len > I830_BATCH_LIMIT)
> return -ENOSPC;
>
> - ret = intel_ring_begin(ring, 6 + 2);
> + ret = intel_ring_begin(req, 6 + 2);
> if (ret)
> return ret;
>
> @@ -1788,7 +1787,7 @@ i830_dispatch_execbuffer(struct drm_i915_gem_request *req,
> offset = cs_offset;
> }
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -1810,7 +1809,7 @@ i915_dispatch_execbuffer(struct drm_i915_gem_request *req,
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret)
> return ret;
>
> @@ -2264,13 +2263,17 @@ static int __intel_ring_prepare(struct intel_engine_cs *ring, int bytes)
> return 0;
> }
>
> -int intel_ring_begin(struct intel_engine_cs *ring,
> +int intel_ring_begin(struct drm_i915_gem_request *req,
> int num_dwords)
> {
> - struct drm_i915_gem_request *req;
> - struct drm_i915_private *dev_priv = ring->dev->dev_private;
> + struct intel_engine_cs *ring;
> + struct drm_i915_private *dev_priv;
> int ret;
>
> + WARN_ON(req == NULL);
> + ring = req->ring;
> + dev_priv = ring->dev->dev_private;
> +
> ret = i915_gem_check_wedge(&dev_priv->gpu_error,
> dev_priv->mm.interruptible);
> if (ret)
> @@ -2280,11 +2283,6 @@ int intel_ring_begin(struct intel_engine_cs *ring,
> if (ret)
> return ret;
>
> - /* Preallocate the olr before touching the ring */
> - ret = i915_gem_request_alloc(ring, ring->default_context, &req);
> - if (ret)
> - return ret;
> -
> ring->buffer->space -= num_dwords * sizeof(uint32_t);
> return 0;
> }
> @@ -2300,7 +2298,7 @@ int intel_ring_cacheline_align(struct drm_i915_gem_request *req)
> return 0;
>
> num_dwords = CACHELINE_BYTES / sizeof(uint32_t) - num_dwords;
> - ret = intel_ring_begin(ring, num_dwords);
> + ret = intel_ring_begin(req, num_dwords);
> if (ret)
> return ret;
>
> @@ -2370,7 +2368,7 @@ static int gen6_bsd_ring_flush(struct drm_i915_gem_request *req,
> uint32_t cmd;
> int ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -2417,7 +2415,7 @@ gen8_ring_dispatch_execbuffer(struct drm_i915_gem_request *req,
> !(dispatch_flags & I915_DISPATCH_SECURE);
> int ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> @@ -2439,7 +2437,7 @@ hsw_ring_dispatch_execbuffer(struct drm_i915_gem_request *req,
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret)
> return ret;
>
> @@ -2462,7 +2460,7 @@ gen6_ring_dispatch_execbuffer(struct drm_i915_gem_request *req,
> struct intel_engine_cs *ring = req->ring;
> int ret;
>
> - ret = intel_ring_begin(ring, 2);
> + ret = intel_ring_begin(req, 2);
> if (ret)
> return ret;
>
> @@ -2487,7 +2485,7 @@ static int gen6_ring_flush(struct drm_i915_gem_request *req,
> uint32_t cmd;
> int ret;
>
> - ret = intel_ring_begin(ring, 4);
> + ret = intel_ring_begin(req, 4);
> if (ret)
> return ret;
>
> diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
> index e353531..f6ab6bb 100644
> --- a/drivers/gpu/drm/i915/intel_ringbuffer.h
> +++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
> @@ -391,7 +391,7 @@ void intel_cleanup_ring_buffer(struct intel_engine_cs *ring);
>
> int intel_ring_alloc_request_extras(struct drm_i915_gem_request *request);
>
> -int __must_check intel_ring_begin(struct intel_engine_cs *ring, int n);
> +int __must_check intel_ring_begin(struct drm_i915_gem_request *req, int n);
> int __must_check intel_ring_cacheline_align(struct drm_i915_gem_request *req);
> static inline void intel_ring_emit(struct intel_engine_cs *ring,
> u32 data)
>
Reviewed-by: Tomas Elf <tomas.elf@intel.com>
Thanks,
Tomas
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-03-31 17:05 UTC|newest]
Thread overview: 122+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-19 12:30 [PATCH 00/59] Remove the outstanding_lazy_request John.C.Harrison
2015-03-19 12:30 ` [PATCH 01/59] drm/i915: Rename 'do_execbuf' to 'execbuf_submit' John.C.Harrison
2015-03-31 15:45 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 02/59] drm/i915: Make intel_logical_ring_begin() static John.C.Harrison
2015-03-31 15:47 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 03/59] drm/i915: Move common request allocation code into a common function John.C.Harrison
2015-03-31 15:48 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 04/59] drm/i915: Fix for ringbuf space wait in LRC mode John.C.Harrison
2015-03-19 14:56 ` Daniel, Thomas
2015-03-31 15:50 ` Tomas Elf
2015-04-01 5:56 ` Daniel Vetter
2015-04-01 12:00 ` John Harrison
2015-04-01 8:53 ` Chris Wilson
2015-03-19 12:30 ` [PATCH 05/59] drm/i915: Reserve ring buffer space for i915_add_request() commands John.C.Harrison
2015-03-20 15:13 ` Daniel Vetter
2015-03-20 15:55 ` John Harrison
2015-03-23 8:54 ` Daniel Vetter
2015-03-31 16:03 ` Chris Wilson
2015-03-20 16:19 ` John Harrison
2015-03-20 18:13 ` John Harrison
2015-03-31 15:58 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 06/59] drm/i915: i915_add_request must not fail John.C.Harrison
2015-03-19 12:30 ` [PATCH 07/59] drm/i915: Early alloc request in execbuff John.C.Harrison
2015-03-31 16:09 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 08/59] drm/i915: Set context in request from creation even in legacy mode John.C.Harrison
2015-03-31 16:10 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 09/59] drm/i915: Merged the many do_execbuf() parameters into a structure John.C.Harrison
2015-03-31 16:16 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 10/59] drm/i915: Simplify i915_gem_execbuffer_retire_commands() parameters John.C.Harrison
2015-03-19 12:30 ` [PATCH 11/59] drm/i915: Update alloc_request to return the allocated request John.C.Harrison
2015-03-31 16:20 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 12/59] drm/i915: Add request to execbuf params and add explicit cleanup John.C.Harrison
2015-03-19 12:30 ` [PATCH 13/59] drm/i915: Update the dispatch tracepoint to use params->request John.C.Harrison
2015-03-19 12:30 ` [PATCH 14/59] drm/i915: Update move_to_gpu() to take a request structure John.C.Harrison
2015-03-19 12:30 ` [PATCH 15/59] drm/i915: Update execbuffer_move_to_active() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 16/59] drm/i915: Add flag to i915_add_request() to skip the cache flush John.C.Harrison
2015-03-31 16:32 ` Tomas Elf
2015-04-01 5:59 ` Daniel Vetter
2015-04-01 8:52 ` Chris Wilson
2015-03-19 12:30 ` [PATCH 17/59] drm/i915: Update i915_gpu_idle() to manage its own request John.C.Harrison
2015-03-19 12:30 ` [PATCH 18/59] drm/i915: Split i915_ppgtt_init_hw() in half - generic and per ring John.C.Harrison
2015-03-31 16:34 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 19/59] drm/i915: Moved the for_each_ring loop outside of i915_gem_context_enable() John.C.Harrison
2015-03-19 12:30 ` [PATCH 20/59] drm/i915: Don't tag kernel batches as user batches John.C.Harrison
2015-03-31 16:35 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 21/59] drm/i915: Add explicit request management to i915_gem_init_hw() John.C.Harrison
2015-03-31 16:38 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 22/59] drm/i915: Update ppgtt_init_ring() & context_enable() to take requests John.C.Harrison
2015-03-31 16:38 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 23/59] drm/i915: Update i915_switch_context() to take a request structure John.C.Harrison
2015-03-19 12:30 ` [PATCH 24/59] drm/i915: Update do_switch() " John.C.Harrison
2015-03-31 16:40 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 25/59] drm/i915: Update deferred context creation to do explicit request management John.C.Harrison
2015-03-31 16:43 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 26/59] drm/i915: Update init_context() to take a request structure John.C.Harrison
2015-03-19 12:30 ` [PATCH 27/59] drm/i915: Update render_state_init() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 28/59] drm/i915: Update i915_gem_object_sync() " John.C.Harrison
2015-03-31 16:53 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 29/59] drm/i915: Update overlay code to do explicit request management John.C.Harrison
2015-03-31 16:53 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 30/59] drm/i915: Update queue_flip() to take a request structure John.C.Harrison
2015-03-31 16:54 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 31/59] drm/i915: Update add_request() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 32/59] drm/i915: Update [vma|object]_move_to_active() to take request structures John.C.Harrison
2015-03-19 12:30 ` [PATCH 33/59] drm/i915: Update l3_remap to take a request structure John.C.Harrison
2015-03-19 12:30 ` [PATCH 34/59] drm/i915: Update mi_set_context() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 35/59] drm/i915: Update a bunch of execbuffer helpers to take request structures John.C.Harrison
2015-03-19 12:30 ` [PATCH 36/59] drm/i915: Update workarounds_emit() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 37/59] drm/i915: Update flush_all_caches() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 38/59] drm/i915: Update switch_mm() to take a request structure John.C.Harrison
2015-03-31 16:57 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 39/59] drm/i915: Update ring->flush() to take a requests structure John.C.Harrison
2015-03-31 16:59 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 40/59] drm/i915: Update some flush helpers to take request structures John.C.Harrison
2015-03-19 12:30 ` [PATCH 41/59] drm/i915: Update ring->emit_flush() to take a request structure John.C.Harrison
2015-03-19 12:30 ` [PATCH 42/59] drm/i915: Update ring->add_request() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 43/59] drm/i915: Update ring->emit_request() " John.C.Harrison
2015-03-31 17:01 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 44/59] drm/i915: Update ring->dispatch_execbuffer() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 45/59] drm/i915: Update ring->emit_bb_start() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 46/59] drm/i915: Update ring->sync_to() " John.C.Harrison
2015-03-31 17:03 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 47/59] drm/i915: Update ring->signal() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 48/59] drm/i915: Update cacheline_align() " John.C.Harrison
2015-03-19 12:30 ` [PATCH 49/59] drm/i915: Update intel_ring_begin() " John.C.Harrison
2015-03-31 17:04 ` Tomas Elf [this message]
2015-03-19 12:30 ` [PATCH 50/59] drm/i915: Update intel_logical_ring_begin() " John.C.Harrison
2015-03-31 17:05 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 51/59] drm/i915: Add *_ring_begin() to request allocation John.C.Harrison
2015-03-20 15:23 ` Daniel Vetter
2015-03-20 15:30 ` Chris Wilson
2015-03-20 16:09 ` John Harrison
2015-03-23 9:10 ` Daniel Vetter
2015-03-31 17:17 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 52/59] drm/i915: Remove the now obsolete intel_ring_get_request() John.C.Harrison
2015-03-19 12:30 ` [PATCH 53/59] drm/i915: Remove the now obsolete 'outstanding_lazy_request' John.C.Harrison
2015-03-31 18:01 ` Tomas Elf
2015-03-19 12:30 ` [PATCH 54/59] drm/i915: Move the request/file and request/pid association to creation time John.C.Harrison
2015-03-31 18:07 ` Tomas Elf
2015-03-19 12:31 ` [PATCH 55/59] drm/i915: Remove fallback poll for ring buffer space John.C.Harrison
2015-03-19 15:00 ` Daniel, Thomas
2015-03-19 15:16 ` Jani Nikula
2015-03-19 16:33 ` John Harrison
2015-03-19 17:29 ` Daniel Vetter
2015-03-31 18:13 ` Tomas Elf
2015-04-01 6:02 ` Daniel Vetter
2015-04-01 8:51 ` Chris Wilson
2015-03-19 12:31 ` [PATCH 56/59] drm/i915: Remove 'faked' request from LRC submission John.C.Harrison
2015-03-19 15:02 ` Daniel, Thomas
2015-03-31 18:14 ` Tomas Elf
2015-03-19 12:31 ` [PATCH 57/59] drm/i915: Update a bunch of LRC functions to take requests John.C.Harrison
2015-03-31 18:18 ` Tomas Elf
2015-03-19 12:31 ` [PATCH 58/59] drm/i915: Remove the now obsolete 'i915_gem_check_olr()' John.C.Harrison
2015-03-31 18:18 ` Tomas Elf
2015-03-19 12:31 ` [PATCH 59/59] drm/i915: Remove the almost obsolete i915_gem_object_flush_active() John.C.Harrison
2015-03-31 18:32 ` Tomas Elf
2015-04-01 6:06 ` Daniel Vetter
2015-05-28 20:02 ` [PATCH 00/59] Remove the outstanding_lazy_request Jesse Barnes
2015-05-28 21:20 ` Chris Wilson
2015-05-29 14:37 ` Jesse Barnes
2015-05-29 18:07 ` Chris Wilson
2015-05-29 11:00 ` John Harrison
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=551AD39B.8020501@intel.com \
--to=tomas.elf@intel.com \
--cc=Intel-GFX@Lists.FreeDesktop.Org \
--cc=John.C.Harrison@Intel.com \
/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.