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 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.