This reverts commit 88be76cdafc7e60e2e4ed883bfe7e8dd7f35fa3a.  This API
has never been used by any real userspace.

Signed-off-by: Jason Ekstrand <ja...@jlekstrand.net>
---
 drivers/gpu/drm/i915/Makefile                 |  1 -
 drivers/gpu/drm/i915/gem/i915_gem_context.c   | 94 ++-----------------
 drivers/gpu/drm/i915/gt/intel_context_param.c | 63 -------------
 drivers/gpu/drm/i915/gt/intel_context_param.h | 14 ---
 drivers/gpu/drm/i915/gt/intel_lrc.c           |  1 -
 include/uapi/drm/i915_drm.h                   | 20 +---
 6 files changed, 12 insertions(+), 181 deletions(-)
 delete mode 100644 drivers/gpu/drm/i915/gt/intel_context_param.c
 delete mode 100644 drivers/gpu/drm/i915/gt/intel_context_param.h

diff --git a/drivers/gpu/drm/i915/Makefile b/drivers/gpu/drm/i915/Makefile
index bc6138880c67c..c207735fb6579 100644
--- a/drivers/gpu/drm/i915/Makefile
+++ b/drivers/gpu/drm/i915/Makefile
@@ -88,7 +88,6 @@ gt-y += \
        gt/gen8_ppgtt.o \
        gt/intel_breadcrumbs.o \
        gt/intel_context.o \
-       gt/intel_context_param.o \
        gt/intel_context_sseu.o \
        gt/intel_engine_cs.o \
        gt/intel_engine_heartbeat.o \
diff --git a/drivers/gpu/drm/i915/gem/i915_gem_context.c 
b/drivers/gpu/drm/i915/gem/i915_gem_context.c
index 92256f4e50764..80fa7e249f746 100644
--- a/drivers/gpu/drm/i915/gem/i915_gem_context.c
+++ b/drivers/gpu/drm/i915/gem/i915_gem_context.c
@@ -69,7 +69,6 @@
 
 #include "gt/gen6_ppgtt.h"
 #include "gt/intel_context.h"
-#include "gt/intel_context_param.h"
 #include "gt/intel_engine_heartbeat.h"
 #include "gt/intel_engine_user.h"
 #include "gt/intel_execlists_submission.h" /* virtual_engine */
@@ -774,32 +773,25 @@ __context_engines_await(const struct i915_gem_context 
*ctx,
        return engines;
 }
 
-static int
+static void
 context_apply_all(struct i915_gem_context *ctx,
-                 int (*fn)(struct intel_context *ce, void *data),
+                 void (*fn)(struct intel_context *ce, void *data),
                  void *data)
 {
        struct i915_gem_engines_iter it;
        struct i915_gem_engines *e;
        struct intel_context *ce;
-       int err = 0;
 
        e = __context_engines_await(ctx, NULL);
-       for_each_gem_engine(ce, e, it) {
-               err = fn(ce, data);
-               if (err)
-                       break;
-       }
+       for_each_gem_engine(ce, e, it)
+               fn(ce, data);
        i915_sw_fence_complete(&e->fence);
-
-       return err;
 }
 
-static int __apply_ppgtt(struct intel_context *ce, void *vm)
+static void __apply_ppgtt(struct intel_context *ce, void *vm)
 {
        i915_vm_put(ce->vm);
        ce->vm = i915_vm_get(vm);
-       return 0;
 }
 
 static struct i915_address_space *
@@ -839,10 +831,9 @@ static void __set_timeline(struct intel_timeline **dst,
                intel_timeline_put(old);
 }
 
-static int __apply_timeline(struct intel_context *ce, void *timeline)
+static void __apply_timeline(struct intel_context *ce, void *timeline)
 {
        __set_timeline(&ce->timeline, timeline);
-       return 0;
 }
 
 static void __assign_timeline(struct i915_gem_context *ctx,
@@ -1369,63 +1360,6 @@ static int set_ppgtt(struct drm_i915_file_private 
*file_priv,
        return err;
 }
 
-static int __apply_ringsize(struct intel_context *ce, void *sz)
-{
-       return intel_context_set_ring_size(ce, (unsigned long)sz);
-}
-
-static int set_ringsize(struct i915_gem_context *ctx,
-                       struct drm_i915_gem_context_param *args)
-{
-       if (!HAS_LOGICAL_RING_CONTEXTS(ctx->i915))
-               return -ENODEV;
-
-       if (args->size)
-               return -EINVAL;
-
-       if (!IS_ALIGNED(args->value, I915_GTT_PAGE_SIZE))
-               return -EINVAL;
-
-       if (args->value < I915_GTT_PAGE_SIZE)
-               return -EINVAL;
-
-       if (args->value > 128 * I915_GTT_PAGE_SIZE)
-               return -EINVAL;
-
-       return context_apply_all(ctx,
-                                __apply_ringsize,
-                                __intel_context_ring_size(args->value));
-}
-
-static int __get_ringsize(struct intel_context *ce, void *arg)
-{
-       long sz;
-
-       sz = intel_context_get_ring_size(ce);
-       GEM_BUG_ON(sz > INT_MAX);
-
-       return sz; /* stop on first engine */
-}
-
-static int get_ringsize(struct i915_gem_context *ctx,
-                       struct drm_i915_gem_context_param *args)
-{
-       int sz;
-
-       if (!HAS_LOGICAL_RING_CONTEXTS(ctx->i915))
-               return -ENODEV;
-
-       if (args->size)
-               return -EINVAL;
-
-       sz = context_apply_all(ctx, __get_ringsize, NULL);
-       if (sz < 0)
-               return sz;
-
-       args->value = sz;
-       return 0;
-}
-
 int
 i915_gem_user_to_context_sseu(struct intel_gt *gt,
                              const struct drm_i915_gem_context_param_sseu 
*user,
@@ -1966,19 +1900,17 @@ set_persistence(struct i915_gem_context *ctx,
        return __context_set_persistence(ctx, args->value);
 }
 
-static int __apply_priority(struct intel_context *ce, void *arg)
+static void __apply_priority(struct intel_context *ce, void *arg)
 {
        struct i915_gem_context *ctx = arg;
 
        if (!intel_engine_has_timeslices(ce->engine))
-               return 0;
+               return;
 
        if (ctx->sched.priority >= I915_PRIORITY_NORMAL)
                intel_context_set_use_semaphores(ce);
        else
                intel_context_clear_use_semaphores(ce);
-
-       return 0;
 }
 
 static int set_priority(struct i915_gem_context *ctx,
@@ -2071,11 +2003,8 @@ static int ctx_setparam(struct drm_i915_file_private 
*fpriv,
                ret = set_persistence(ctx, args);
                break;
 
-       case I915_CONTEXT_PARAM_RINGSIZE:
-               ret = set_ringsize(ctx, args);
-               break;
-
        case I915_CONTEXT_PARAM_BAN_PERIOD:
+       case I915_CONTEXT_PARAM_RINGSIZE:
        default:
                ret = -EINVAL;
                break;
@@ -2317,11 +2246,8 @@ int i915_gem_context_getparam_ioctl(struct drm_device 
*dev, void *data,
                args->value = i915_gem_context_is_persistent(ctx);
                break;
 
-       case I915_CONTEXT_PARAM_RINGSIZE:
-               ret = get_ringsize(ctx, args);
-               break;
-
        case I915_CONTEXT_PARAM_BAN_PERIOD:
+       case I915_CONTEXT_PARAM_RINGSIZE:
        default:
                ret = -EINVAL;
                break;
diff --git a/drivers/gpu/drm/i915/gt/intel_context_param.c 
b/drivers/gpu/drm/i915/gt/intel_context_param.c
deleted file mode 100644
index 65dcd090245d6..0000000000000
--- a/drivers/gpu/drm/i915/gt/intel_context_param.c
+++ /dev/null
@@ -1,63 +0,0 @@
-// SPDX-License-Identifier: MIT
-/*
- * Copyright © 2019 Intel Corporation
- */
-
-#include "i915_active.h"
-#include "intel_context.h"
-#include "intel_context_param.h"
-#include "intel_ring.h"
-
-int intel_context_set_ring_size(struct intel_context *ce, long sz)
-{
-       int err;
-
-       if (intel_context_lock_pinned(ce))
-               return -EINTR;
-
-       err = i915_active_wait(&ce->active);
-       if (err < 0)
-               goto unlock;
-
-       if (intel_context_is_pinned(ce)) {
-               err = -EBUSY; /* In active use, come back later! */
-               goto unlock;
-       }
-
-       if (test_bit(CONTEXT_ALLOC_BIT, &ce->flags)) {
-               struct intel_ring *ring;
-
-               /* Replace the existing ringbuffer */
-               ring = intel_engine_create_ring(ce->engine, sz);
-               if (IS_ERR(ring)) {
-                       err = PTR_ERR(ring);
-                       goto unlock;
-               }
-
-               intel_ring_put(ce->ring);
-               ce->ring = ring;
-
-               /* Context image will be updated on next pin */
-       } else {
-               ce->ring = __intel_context_ring_size(sz);
-       }
-
-unlock:
-       intel_context_unlock_pinned(ce);
-       return err;
-}
-
-long intel_context_get_ring_size(struct intel_context *ce)
-{
-       long sz = (unsigned long)READ_ONCE(ce->ring);
-
-       if (test_bit(CONTEXT_ALLOC_BIT, &ce->flags)) {
-               if (intel_context_lock_pinned(ce))
-                       return -EINTR;
-
-               sz = ce->ring->size;
-               intel_context_unlock_pinned(ce);
-       }
-
-       return sz;
-}
diff --git a/drivers/gpu/drm/i915/gt/intel_context_param.h 
b/drivers/gpu/drm/i915/gt/intel_context_param.h
deleted file mode 100644
index f053d8633fe2a..0000000000000
--- a/drivers/gpu/drm/i915/gt/intel_context_param.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* SPDX-License-Identifier: MIT */
-/*
- * Copyright © 2019 Intel Corporation
- */
-
-#ifndef INTEL_CONTEXT_PARAM_H
-#define INTEL_CONTEXT_PARAM_H
-
-struct intel_context;
-
-int intel_context_set_ring_size(struct intel_context *ce, long sz);
-long intel_context_get_ring_size(struct intel_context *ce);
-
-#endif /* INTEL_CONTEXT_PARAM_H */
diff --git a/drivers/gpu/drm/i915/gt/intel_lrc.c 
b/drivers/gpu/drm/i915/gt/intel_lrc.c
index 8508b8d701c10..52c9e4658e744 100644
--- a/drivers/gpu/drm/i915/gt/intel_lrc.c
+++ b/drivers/gpu/drm/i915/gt/intel_lrc.c
@@ -1131,7 +1131,6 @@ u32 lrc_update_regs(const struct intel_context *ce,
        regs[CTX_RING_START] = i915_ggtt_offset(ring->vma);
        regs[CTX_RING_HEAD] = head;
        regs[CTX_RING_TAIL] = ring->tail;
-       regs[CTX_RING_CTL] = RING_CTL_SIZE(ring->size) | RING_VALID;
 
        /* RPCS */
        if (engine->class == RENDER_CLASS) {
diff --git a/include/uapi/drm/i915_drm.h b/include/uapi/drm/i915_drm.h
index 0ed1b88afedd5..5a45ac158bbfa 100644
--- a/include/uapi/drm/i915_drm.h
+++ b/include/uapi/drm/i915_drm.h
@@ -1675,24 +1675,8 @@ struct drm_i915_gem_context_param {
  */
 #define I915_CONTEXT_PARAM_PERSISTENCE 0xb
 
-/*
- * I915_CONTEXT_PARAM_RINGSIZE:
- *
- * Sets the size of the CS ringbuffer to use for logical ring contexts. This
- * applies a limit of how many batches can be queued to HW before the caller
- * is blocked due to lack of space for more commands.
- *
- * Only reliably possible to be set prior to first use, i.e. during
- * construction. At any later point, the current execution must be flushed as
- * the ring can only be changed while the context is idle. Note, the ringsize
- * can be specified as a constructor property, see
- * I915_CONTEXT_CREATE_EXT_SETPARAM, but can also be set later if required.
- *
- * Only applies to the current set of engine and lost when those engines
- * are replaced by a new mapping (see I915_CONTEXT_PARAM_ENGINES).
- *
- * Must be between 4 - 512 KiB, in intervals of page size [4 KiB].
- * Default is 16 KiB.
+/* This API has been removed.  On the off chance someone somewhere has
+ * attempted to use it, never re-use this context param number.
  */
 #define I915_CONTEXT_PARAM_RINGSIZE    0xc
 /* Must be kept compact -- no holes and well documented */
-- 
2.29.2

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to