OSDN Git Service

drm/i915/perf: drop list of streams
authorLionel Landwerlin <lionel.g.landwerlin@intel.com>
Tue, 8 Oct 2019 14:01:11 +0000 (15:01 +0100)
committerChris Wilson <chris@chris-wilson.co.uk>
Tue, 8 Oct 2019 15:22:19 +0000 (16:22 +0100)
At some point in time there was the idea that we could have multiple
stream from the same piece of HW but that never materialized and given
the hard time we already have making everything work with the
submission side, there is no real point having this list of 1 element
around.

Signed-off-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20191008140111.5437-1-chris@chris-wilson.co.uk
drivers/gpu/drm/i915/i915_perf.c
drivers/gpu/drm/i915/i915_perf_types.h

index e597380..5a34cad 100644 (file)
@@ -1407,9 +1407,6 @@ static void gen7_init_oa_buffer(struct i915_perf_stream *stream)
         */
        memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE);
 
-       /* Maybe make ->pollin per-stream state if we support multiple
-        * concurrent streams in the future.
-        */
        stream->pollin = false;
 }
 
@@ -1466,10 +1463,6 @@ static void gen8_init_oa_buffer(struct i915_perf_stream *stream)
         */
        memset(stream->oa_buffer.vaddr, 0, OA_BUFFER_SIZE);
 
-       /*
-        * Maybe make ->pollin per-stream state if we support multiple
-        * concurrent streams in the future.
-        */
        stream->pollin = false;
 }
 
@@ -2585,8 +2578,6 @@ static void i915_perf_destroy_locked(struct i915_perf_stream *stream)
        if (stream->ops->destroy)
                stream->ops->destroy(stream);
 
-       list_del(&stream->link);
-
        if (stream->ctx)
                i915_gem_context_put(stream->ctx);
 
@@ -2736,8 +2727,6 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
                goto err_flags;
        }
 
-       list_add(&stream->link, &perf->streams);
-
        if (param->flags & I915_PERF_FLAG_FD_CLOEXEC)
                f_flags |= O_CLOEXEC;
        if (param->flags & I915_PERF_FLAG_FD_NONBLOCK)
@@ -2746,7 +2735,7 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
        stream_fd = anon_inode_getfd("[i915_perf]", &fops, stream, f_flags);
        if (stream_fd < 0) {
                ret = stream_fd;
-               goto err_open;
+               goto err_flags;
        }
 
        if (!(param->flags & I915_PERF_FLAG_DISABLED))
@@ -2759,8 +2748,6 @@ i915_perf_open_ioctl_locked(struct i915_perf *perf,
 
        return stream_fd;
 
-err_open:
-       list_del(&stream->link);
 err_flags:
        if (stream->ops->destroy)
                stream->ops->destroy(stream);
@@ -3600,7 +3587,6 @@ void i915_perf_init(struct drm_i915_private *i915)
        }
 
        if (perf->ops.enable_metric_set) {
-               INIT_LIST_HEAD(&perf->streams);
                mutex_init(&perf->lock);
 
                oa_sample_rate_hard_limit = 1000 *
index 3c62460..2d17059 100644 (file)
@@ -135,11 +135,6 @@ struct i915_perf_stream {
        struct intel_gt *gt;
 
        /**
-        * @link: Links the stream into ``&drm_i915_private->streams``
-        */
-       struct list_head link;
-
-       /**
         * @wakeref: As we keep the device awake while the perf stream is
         * active, we track our runtime pm reference for later release.
         */
@@ -352,7 +347,6 @@ struct i915_perf {
         * except exclusive_stream.
         */
        struct mutex lock;
-       struct list_head streams;
 
        /*
         * The stream currently using the OA unit. If accessed