From: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
To: Chris Wilson <chris@chris-wilson.co.uk>, intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH 23/29] drm/i915: Move i915_request_alloc into selftests/
Date: Fri, 12 Apr 2019 08:05:06 +0100 [thread overview]
Message-ID: <26cb7761-e7a6-a8d5-bce7-32197b7c073a@linux.intel.com> (raw)
In-Reply-To: <20190408091728.20207-23-chris@chris-wilson.co.uk>
On 08/04/2019 10:17, Chris Wilson wrote:
> Having transitioned GEM over to using intel_context as its primary means
> of tracking the GEM context and engine combined and using
> i915_request_create(), we can move the older i915_request_alloc()
> helper function into selftests/
>
> Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
> ---
> drivers/gpu/drm/i915/Makefile | 1 +
> drivers/gpu/drm/i915/gt/selftest_hangcheck.c | 9 ++--
> drivers/gpu/drm/i915/gt/selftest_lrc.c | 13 ++---
> .../gpu/drm/i915/gt/selftest_workarounds.c | 5 +-
> drivers/gpu/drm/i915/i915_request.c | 47 -------------------
> drivers/gpu/drm/i915/i915_request.h | 3 --
> drivers/gpu/drm/i915/selftests/huge_pages.c | 3 +-
> drivers/gpu/drm/i915/selftests/i915_gem.c | 5 +-
> .../gpu/drm/i915/selftests/i915_gem_context.c | 13 ++---
> .../gpu/drm/i915/selftests/i915_gem_evict.c | 3 +-
> drivers/gpu/drm/i915/selftests/i915_request.c | 4 +-
> .../gpu/drm/i915/selftests/igt_gem_utils.c | 43 +++++++++++++++++
> .../gpu/drm/i915/selftests/igt_gem_utils.h | 17 +++++++
> drivers/gpu/drm/i915/selftests/igt_spinner.c | 3 +-
> drivers/gpu/drm/i915/selftests/mock_request.c | 3 +-
> 15 files changed, 96 insertions(+), 76 deletions(-)
> create mode 100644 drivers/gpu/drm/i915/selftests/igt_gem_utils.c
> create mode 100644 drivers/gpu/drm/i915/selftests/igt_gem_utils.h
>
> diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
> index dd8d923aa1c6..58643373495c 100644
> --- a/drivers/gpu/drm/i915/Makefile
> +++ b/drivers/gpu/drm/i915/Makefile
> @@ -193,6 +193,7 @@ i915-$(CONFIG_DRM_I915_SELFTEST) += \
> selftests/i915_random.o \
> selftests/i915_selftest.o \
> selftests/igt_flush_test.o \
> + selftests/igt_gem_utils.o \
> selftests/igt_live_test.o \
> selftests/igt_reset.o \
> selftests/igt_spinner.o
> diff --git a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
> index 6004d6907e9c..c206748629dc 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_hangcheck.c
> @@ -29,6 +29,7 @@
> #include "i915_selftest.h"
> #include "selftests/i915_random.h"
> #include "selftests/igt_flush_test.h"
> +#include "selftests/igt_gem_utils.h"
> #include "selftests/igt_reset.h"
> #include "selftests/igt_wedge_me.h"
>
> @@ -175,7 +176,7 @@ hang_create_request(struct hang *h, struct intel_engine_cs *engine)
> if (err)
> goto unpin_vma;
>
> - rq = i915_request_alloc(engine, h->ctx);
> + rq = igt_request_alloc(h->ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto unpin_hws;
> @@ -455,7 +456,7 @@ static int igt_reset_nop(void *arg)
> for (i = 0; i < 16; i++) {
> struct i915_request *rq;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> break;
> @@ -554,7 +555,7 @@ static int igt_reset_nop_engine(void *arg)
> for (i = 0; i < 16; i++) {
> struct i915_request *rq;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> break;
> @@ -800,7 +801,7 @@ static int active_engine(void *data)
> struct i915_request *new;
>
> mutex_lock(&engine->i915->drm.struct_mutex);
> - new = i915_request_alloc(engine, ctx[idx]);
> + new = igt_request_alloc(ctx[idx], engine);
> if (IS_ERR(new)) {
> mutex_unlock(&engine->i915->drm.struct_mutex);
> err = PTR_ERR(new);
> diff --git a/drivers/gpu/drm/i915/gt/selftest_lrc.c b/drivers/gpu/drm/i915/gt/selftest_lrc.c
> index cd0551f97c2f..84538f69185b 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_lrc.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_lrc.c
> @@ -10,6 +10,7 @@
> #include "i915_selftest.h"
> #include "selftests/i915_random.h"
> #include "selftests/igt_flush_test.h"
> +#include "selftests/igt_gem_utils.h"
> #include "selftests/igt_live_test.h"
> #include "selftests/igt_spinner.h"
> #include "selftests/mock_context.h"
> @@ -148,7 +149,7 @@ static int live_busywait_preempt(void *arg)
> * fails, we hang instead.
> */
>
> - lo = i915_request_alloc(engine, ctx_lo);
> + lo = igt_request_alloc(ctx_lo, engine);
> if (IS_ERR(lo)) {
> err = PTR_ERR(lo);
> goto err_vma;
> @@ -192,7 +193,7 @@ static int live_busywait_preempt(void *arg)
> goto err_vma;
> }
>
> - hi = i915_request_alloc(engine, ctx_hi);
> + hi = igt_request_alloc(ctx_hi, engine);
> if (IS_ERR(hi)) {
> err = PTR_ERR(hi);
> goto err_vma;
> @@ -857,13 +858,13 @@ static int live_chain_preempt(void *arg)
> i915_request_add(rq);
>
> for (i = 0; i < count; i++) {
> - rq = i915_request_alloc(engine, lo.ctx);
> + rq = igt_request_alloc(lo.ctx, engine);
> if (IS_ERR(rq))
> goto err_wedged;
> i915_request_add(rq);
> }
>
> - rq = i915_request_alloc(engine, hi.ctx);
> + rq = igt_request_alloc(hi.ctx, engine);
> if (IS_ERR(rq))
> goto err_wedged;
> i915_request_add(rq);
> @@ -882,7 +883,7 @@ static int live_chain_preempt(void *arg)
> }
> igt_spinner_end(&lo.spin);
>
> - rq = i915_request_alloc(engine, lo.ctx);
> + rq = igt_request_alloc(lo.ctx, engine);
> if (IS_ERR(rq))
> goto err_wedged;
> i915_request_add(rq);
> @@ -1087,7 +1088,7 @@ static int smoke_submit(struct preempt_smoke *smoke,
>
> ctx->sched.priority = prio;
>
> - rq = i915_request_alloc(smoke->engine, ctx);
> + rq = igt_request_alloc(ctx, smoke->engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto unpin;
> diff --git a/drivers/gpu/drm/i915/gt/selftest_workarounds.c b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
> index 028942cac4b4..02511b532b41 100644
> --- a/drivers/gpu/drm/i915/gt/selftest_workarounds.c
> +++ b/drivers/gpu/drm/i915/gt/selftest_workarounds.c
> @@ -8,6 +8,7 @@
> #include "intel_reset.h"
>
> #include "selftests/igt_flush_test.h"
> +#include "selftests/igt_gem_utils.h"
> #include "selftests/igt_reset.h"
> #include "selftests/igt_spinner.h"
> #include "selftests/igt_wedge_me.h"
> @@ -102,7 +103,7 @@ read_nonprivs(struct i915_gem_context *ctx, struct intel_engine_cs *engine)
> if (err)
> goto err_obj;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto err_pin;
> @@ -554,7 +555,7 @@ static int check_dirty_whitelist(struct i915_gem_context *ctx,
> i915_gem_object_unpin_map(batch->obj);
> i915_gem_chipset_flush(ctx->i915);
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto out_batch;
> diff --git a/drivers/gpu/drm/i915/i915_request.c b/drivers/gpu/drm/i915/i915_request.c
> index 5e52c1623c17..67360107d61d 100644
> --- a/drivers/gpu/drm/i915/i915_request.c
> +++ b/drivers/gpu/drm/i915/i915_request.c
> @@ -738,53 +738,6 @@ i915_request_create(struct intel_context *ce)
> return rq;
> }
>
> -/**
> - * i915_request_alloc - allocate a request structure
> - *
> - * @engine: engine that we wish to issue the request on.
> - * @ctx: context that the request will be associated with.
> - *
> - * Returns a pointer to the allocated request if successful,
> - * or an error code if not.
> - */
> -struct i915_request *
> -i915_request_alloc(struct intel_engine_cs *engine, struct i915_gem_context *ctx)
> -{
> - struct drm_i915_private *i915 = engine->i915;
> - struct intel_context *ce;
> - struct i915_request *rq;
> - int err;
> -
> - /*
> - * Preempt contexts are reserved for exclusive use to inject a
> - * preemption context switch. They are never to be used for any trivial
> - * request!
> - */
> - GEM_BUG_ON(ctx == i915->preempt_context);
> -
> - /*
> - * Pinning the contexts may generate requests in order to acquire
> - * GGTT space, so do this first before we reserve a seqno for
> - * ourselves.
> - */
> - ce = i915_gem_context_get_engine(ctx, engine->id);
> - if (IS_ERR(ce))
> - return ERR_CAST(ce);
> -
> - err = intel_context_pin(ce);
> - if (err) {
> - rq = ERR_PTR(err);
> - goto err_put;
> - }
> -
> - rq = i915_request_create(ce);
> - intel_context_unpin(ce);
> -
> -err_put:
> - intel_context_put(ce);
> - return rq;
> -}
> -
> static int
> emit_semaphore_wait(struct i915_request *to,
> struct i915_request *from,
> diff --git a/drivers/gpu/drm/i915/i915_request.h b/drivers/gpu/drm/i915/i915_request.h
> index c0b7539daaf5..ea7a37ad63e2 100644
> --- a/drivers/gpu/drm/i915/i915_request.h
> +++ b/drivers/gpu/drm/i915/i915_request.h
> @@ -245,9 +245,6 @@ i915_request_create(struct intel_context *ce);
>
> struct i915_request *__i915_request_commit(struct i915_request *request);
>
> -struct i915_request * __must_check
> -i915_request_alloc(struct intel_engine_cs *engine,
> - struct i915_gem_context *ctx);
> void i915_request_retire_upto(struct i915_request *rq);
>
> static inline struct i915_request *
> diff --git a/drivers/gpu/drm/i915/selftests/huge_pages.c b/drivers/gpu/drm/i915/selftests/huge_pages.c
> index 90721b54e7ae..1e1f83326a96 100644
> --- a/drivers/gpu/drm/i915/selftests/huge_pages.c
> +++ b/drivers/gpu/drm/i915/selftests/huge_pages.c
> @@ -26,6 +26,7 @@
>
> #include <linux/prime_numbers.h>
>
> +#include "igt_gem_utils.h"
> #include "mock_drm.h"
> #include "i915_random.h"
>
> @@ -980,7 +981,7 @@ static int gpu_write(struct i915_vma *vma,
> if (IS_ERR(batch))
> return PTR_ERR(batch);
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto err_batch;
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem.c b/drivers/gpu/drm/i915/selftests/i915_gem.c
> index 7460b77b34e0..3f4033c0e8e2 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem.c
> @@ -8,8 +8,9 @@
>
> #include "../i915_selftest.h"
>
> -#include "mock_context.h"
> +#include "igt_gem_utils.h"
> #include "igt_flush_test.h"
> +#include "mock_context.h"
>
> static int switch_to_context(struct drm_i915_private *i915,
> struct i915_gem_context *ctx)
> @@ -20,7 +21,7 @@ static int switch_to_context(struct drm_i915_private *i915,
> for_each_engine(engine, i915, id) {
> struct i915_request *rq;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq))
> return PTR_ERR(rq);
>
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_context.c b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> index deedd1898fe5..b62f005e4d50 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_context.c
> @@ -29,6 +29,7 @@
>
> #include "i915_random.h"
> #include "igt_flush_test.h"
> +#include "igt_gem_utils.h"
> #include "igt_live_test.h"
> #include "igt_reset.h"
> #include "igt_spinner.h"
> @@ -91,7 +92,7 @@ static int live_nop_switch(void *arg)
>
> times[0] = ktime_get_raw();
> for (n = 0; n < nctx; n++) {
> - rq = i915_request_alloc(engine, ctx[n]);
> + rq = igt_request_alloc(ctx[n], engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto out_unlock;
> @@ -121,7 +122,7 @@ static int live_nop_switch(void *arg)
> times[1] = ktime_get_raw();
>
> for (n = 0; n < prime; n++) {
> - rq = i915_request_alloc(engine, ctx[n % nctx]);
> + rq = igt_request_alloc(ctx[n % nctx], engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto out_unlock;
> @@ -301,7 +302,7 @@ static int gpu_fill(struct drm_i915_gem_object *obj,
> goto err_vma;
> }
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto err_batch;
> @@ -1350,7 +1351,7 @@ static int write_to_scratch(struct i915_gem_context *ctx,
> if (err)
> goto err_unpin;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto err_unpin;
> @@ -1445,7 +1446,7 @@ static int read_from_scratch(struct i915_gem_context *ctx,
> if (err)
> goto err_unpin;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto err_unpin;
> @@ -1669,7 +1670,7 @@ static int mock_context_barrier(void *arg)
> goto out;
> }
>
> - rq = i915_request_alloc(i915->engine[RCS0], ctx);
> + rq = igt_request_alloc(ctx, i915->engine[RCS0]);
> if (IS_ERR(rq)) {
> pr_err("Request allocation failed!\n");
> goto out;
> diff --git a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
> index 89766688e420..4fc6e5445dd1 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_gem_evict.c
> @@ -24,6 +24,7 @@
>
> #include "../i915_selftest.h"
>
> +#include "igt_gem_utils.h"
> #include "lib_sw_fence.h"
> #include "mock_context.h"
> #include "mock_drm.h"
> @@ -460,7 +461,7 @@ static int igt_evict_contexts(void *arg)
>
> /* We will need some GGTT space for the rq's context */
> igt_evict_ctl.fail_if_busy = true;
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> igt_evict_ctl.fail_if_busy = false;
>
> if (IS_ERR(rq)) {
> diff --git a/drivers/gpu/drm/i915/selftests/i915_request.c b/drivers/gpu/drm/i915/selftests/i915_request.c
> index 098d7b3aa131..b60591531e4a 100644
> --- a/drivers/gpu/drm/i915/selftests/i915_request.c
> +++ b/drivers/gpu/drm/i915/selftests/i915_request.c
> @@ -267,7 +267,7 @@ static struct i915_request *
> __live_request_alloc(struct i915_gem_context *ctx,
> struct intel_engine_cs *engine)
> {
> - return i915_request_alloc(engine, ctx);
> + return igt_request_alloc(ctx, engine);
> }
>
> static int __igt_breadcrumbs_smoketest(void *arg)
> @@ -1074,7 +1074,7 @@ max_batches(struct i915_gem_context *ctx, struct intel_engine_cs *engine)
> if (HAS_EXECLISTS(ctx->i915))
> return INT_MAX;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> ret = PTR_ERR(rq);
> } else {
> diff --git a/drivers/gpu/drm/i915/selftests/igt_gem_utils.c b/drivers/gpu/drm/i915/selftests/igt_gem_utils.c
> new file mode 100644
> index 000000000000..23299aa80ac4
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/selftests/igt_gem_utils.c
> @@ -0,0 +1,43 @@
> +/*
> + * SPDX-License-Identifier: MIT
> + *
> + * Copyright © 2018 Intel Corporation
> + */
> +
> +#include "igt_gem_utils.h"
> +
> +#include "gt/intel_context.h"
> +
> +#include "../i915_gem_context.h"
> +#include "../i915_gem_pm.h"
> +#include "../i915_request.h"
> +
> +struct i915_request *
> +igt_request_alloc(struct i915_gem_context *ctx, struct intel_engine_cs *engine)
> +{
> + struct intel_context *ce;
> + struct i915_request *rq;
> + int err;
> +
> + /*
> + * Pinning the contexts may generate requests in order to acquire
> + * GGTT space, so do this first before we reserve a seqno for
> + * ourselves.
> + */
> + ce = i915_gem_context_get_engine(ctx, engine->id);
> + if (IS_ERR(ce))
> + return ERR_CAST(ce);
> +
> + err = intel_context_pin(ce);
> + if (err) {
> + rq = ERR_PTR(err);
> + goto err_put;
> + }
> +
> + rq = i915_request_create(ce);
> + intel_context_unpin(ce);
> +
> +err_put:
> + intel_context_put(ce);
> + return rq;
> +}
> diff --git a/drivers/gpu/drm/i915/selftests/igt_gem_utils.h b/drivers/gpu/drm/i915/selftests/igt_gem_utils.h
> new file mode 100644
> index 000000000000..0f17251cf75d
> --- /dev/null
> +++ b/drivers/gpu/drm/i915/selftests/igt_gem_utils.h
> @@ -0,0 +1,17 @@
> +/*
> + * SPDX-License-Identifier: MIT
> + *
> + * Copyright © 2018 Intel Corporation
> + */
> +
> +#ifndef __IGT_GEM_UTILS_H__
> +#define __IGT_GEM_UTILS_H__
> +
> +struct i915_request;
> +struct i915_gem_context;
> +struct intel_engine_cs;
> +
> +struct i915_request *
> +igt_request_alloc(struct i915_gem_context *ctx, struct intel_engine_cs *engine);
> +
> +#endif /* __IGT_GEM_UTILS_H__ */
> diff --git a/drivers/gpu/drm/i915/selftests/igt_spinner.c b/drivers/gpu/drm/i915/selftests/igt_spinner.c
> index 16890dfe74c0..ece8a8a0d3b0 100644
> --- a/drivers/gpu/drm/i915/selftests/igt_spinner.c
> +++ b/drivers/gpu/drm/i915/selftests/igt_spinner.c
> @@ -4,6 +4,7 @@
> * Copyright © 2018 Intel Corporation
> */
>
> +#include "igt_gem_utils.h"
> #include "igt_spinner.h"
>
> int igt_spinner_init(struct igt_spinner *spin, struct drm_i915_private *i915)
> @@ -114,7 +115,7 @@ igt_spinner_create_request(struct igt_spinner *spin,
> if (err)
> goto unpin_vma;
>
> - rq = i915_request_alloc(engine, ctx);
> + rq = igt_request_alloc(ctx, engine);
> if (IS_ERR(rq)) {
> err = PTR_ERR(rq);
> goto unpin_hws;
> diff --git a/drivers/gpu/drm/i915/selftests/mock_request.c b/drivers/gpu/drm/i915/selftests/mock_request.c
> index f739ba63057f..b99f7576153c 100644
> --- a/drivers/gpu/drm/i915/selftests/mock_request.c
> +++ b/drivers/gpu/drm/i915/selftests/mock_request.c
> @@ -24,6 +24,7 @@
>
> #include "gt/mock_engine.h"
>
> +#include "igt_gem_utils.h"
> #include "mock_request.h"
>
> struct i915_request *
> @@ -34,7 +35,7 @@ mock_request(struct intel_engine_cs *engine,
> struct i915_request *request;
>
> /* NB the i915->requests slab cache is enlarged to fit mock_request */
> - request = i915_request_alloc(engine, context);
> + request = igt_request_alloc(context, engine);
> if (IS_ERR(request))
> return NULL;
>
>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2019-04-12 7:05 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-04-08 9:17 [PATCH 01/29] drm/i915: Mark up ips for RCU protection Chris Wilson
2019-04-08 9:17 ` [PATCH 02/29] drm/i915/guc: Replace WARN with a DRM_ERROR Chris Wilson
2019-04-08 14:26 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 03/29] drm/i915: Use static allocation for i915_globals_park() Chris Wilson
2019-04-08 14:31 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 04/29] drm/i915: Consolidate the timeline->barrier Chris Wilson
2019-04-08 14:42 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 05/29] drm/i915: Store the default sseu setup on the engine Chris Wilson
2019-04-08 14:54 ` Tvrtko Ursulin
2019-04-08 15:57 ` Chris Wilson
2019-04-08 16:04 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 06/29] drm/i915: Move GraphicsTechnology files under gt/ Chris Wilson
2019-04-08 9:17 ` [PATCH 07/29] drm/i915: Only reset the pinned kernel contexts on resume Chris Wilson
2019-04-10 9:39 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 08/29] drm/i915: Introduce struct intel_wakeref Chris Wilson
2019-04-10 9:49 ` Tvrtko Ursulin
2019-04-10 10:01 ` Chris Wilson
2019-04-10 10:07 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 09/29] drm/i915: Pull the GEM powermangement coupling into its own file Chris Wilson
2019-04-08 14:56 ` Tvrtko Ursulin
2019-04-08 16:00 ` Chris Wilson
2019-04-10 9:57 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 10/29] drm/i915: Introduce context->enter() and context->exit() Chris Wilson
2019-04-10 10:05 ` Tvrtko Ursulin
2019-04-10 10:13 ` Chris Wilson
2019-04-10 11:06 ` Tvrtko Ursulin
2019-04-10 19:19 ` Chris Wilson
2019-04-08 9:17 ` [PATCH 11/29] drm/i915: Pass intel_context to i915_request_create() Chris Wilson
2019-04-10 10:38 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 12/29] drm/i915: Invert the GEM wakeref hierarchy Chris Wilson
2019-04-08 9:17 ` [PATCH 13/29] drm/i915/gvt: Pin the per-engine GVT shadow contexts Chris Wilson
2019-04-08 9:17 ` [PATCH 14/29] drm/i915: Explicitly pin the logical context for execbuf Chris Wilson
2019-04-08 15:17 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 15/29] drm/i915/guc: Replace preempt_client lookup with engine->preempt_context Chris Wilson
2019-04-08 14:57 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 16/29] drm/i915: Export intel_context_instance() Chris Wilson
2019-04-10 12:06 ` Tvrtko Ursulin
2019-04-10 19:32 ` Chris Wilson
2019-04-11 12:57 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 17/29] drm/i915/selftests: Use the real kernel context for sseu isolation tests Chris Wilson
2019-04-08 15:00 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 18/29] drm/i915/selftests: Pass around intel_context for sseu Chris Wilson
2019-04-10 12:25 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 19/29] drm/i915: Pass intel_context to intel_context_pin_lock() Chris Wilson
2019-04-10 12:45 ` Tvrtko Ursulin
2019-04-10 12:49 ` Chris Wilson
2019-04-10 13:04 ` Chris Wilson
2019-04-10 14:53 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 20/29] drm/i915: Split engine setup/init into two phases Chris Wilson
2019-04-10 13:30 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 21/29] drm/i915: Switch back to an array of logical per-engine HW contexts Chris Wilson
2019-04-10 15:32 ` Tvrtko Ursulin
2019-04-10 16:18 ` Chris Wilson
2019-04-11 13:05 ` Tvrtko Ursulin
2019-04-11 13:25 ` Chris Wilson
2019-04-11 13:33 ` [PATCH] " Chris Wilson
2019-04-08 9:17 ` [PATCH 22/29] drm/i915: Remove intel_context.active_link Chris Wilson
2019-04-08 9:17 ` [PATCH 23/29] drm/i915: Move i915_request_alloc into selftests/ Chris Wilson
2019-04-12 7:05 ` Tvrtko Ursulin [this message]
2019-04-08 9:17 ` [PATCH 24/29] drm/i915: Allow multiple user handles to the same VM Chris Wilson
2019-04-12 7:21 ` Tvrtko Ursulin
2019-04-08 9:17 ` [PATCH 25/29] drm/i915: Restore control over ppgtt for context creation ABI Chris Wilson
2019-04-08 9:17 ` [PATCH 26/29] drm/i915: Allow a context to define its set of engines Chris Wilson
2019-04-08 9:17 ` [PATCH 27/29] drm/i915: Allow userspace to clone contexts on creation Chris Wilson
2019-04-08 9:17 ` [PATCH 28/29] drm/i915: Re-expose SINGLE_TIMELINE flags for context creation Chris Wilson
2019-04-08 9:17 ` [PATCH 29/29] drm/i915: Load balancing across a virtual engine Chris Wilson
2019-04-08 9:59 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [01/29] drm/i915: Mark up ips for RCU protection Patchwork
2019-04-08 10:13 ` ✗ Fi.CI.SPARSE: " Patchwork
2019-04-08 10:28 ` ✗ Fi.CI.BAT: failure " Patchwork
2019-04-08 10:37 ` Chris Wilson
2019-04-11 22:20 ` ✗ Fi.CI.BAT: failure for series starting with [01/29] drm/i915: Mark up ips for RCU protection (rev2) Patchwork
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=26cb7761-e7a6-a8d5-bce7-32197b7c073a@linux.intel.com \
--to=tvrtko.ursulin@linux.intel.com \
--cc=chris@chris-wilson.co.uk \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox