Skip to content

Commit

Permalink
drm/i915/perf: Replace global wakeref tracking with engine-pm
Browse files Browse the repository at this point in the history
As we now have a specific engine to use OA on, exchange the top-level
runtime-pm wakeref with the engine-pm. This still results in the same
top-level runtime-pm, but with more nuances to keep the engine and its
gt awake.

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Reviewed-by: Lionel Landwerlin <lionel.g.landwerlin@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20191011190325.10979-1-chris@chris-wilson.co.uk
  • Loading branch information
Chris Wilson committed Oct 12, 2019
1 parent cd9ba7b commit a5efcde
Show file tree
Hide file tree
Showing 2 changed files with 4 additions and 10 deletions.
8 changes: 4 additions & 4 deletions drivers/gpu/drm/i915/i915_perf.c
Original file line number Diff line number Diff line change
Expand Up @@ -196,7 +196,7 @@
#include <linux/uuid.h>

#include "gem/i915_gem_context.h"
#include "gem/i915_gem_pm.h"
#include "gt/intel_engine_pm.h"
#include "gt/intel_engine_user.h"
#include "gt/intel_lrc_reg.h"

Expand Down Expand Up @@ -1353,7 +1353,7 @@ static void i915_oa_stream_destroy(struct i915_perf_stream *stream)
free_oa_buffer(stream);

intel_uncore_forcewake_put(stream->uncore, FORCEWAKE_ALL);
intel_runtime_pm_put(stream->uncore->rpm, stream->wakeref);
intel_engine_pm_put(stream->engine);

if (stream->ctx)
oa_put_render_ctx_id(stream);
Expand Down Expand Up @@ -2218,7 +2218,7 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
* In our case we are expecting that taking pm + FORCEWAKE
* references will effectively disable RC6.
*/
stream->wakeref = intel_runtime_pm_get(stream->uncore->rpm);
intel_engine_pm_get(stream->engine);
intel_uncore_forcewake_get(stream->uncore, FORCEWAKE_ALL);

ret = alloc_oa_buffer(stream);
Expand Down Expand Up @@ -2252,7 +2252,7 @@ static int i915_oa_stream_init(struct i915_perf_stream *stream,
put_oa_config(stream->oa_config);

intel_uncore_forcewake_put(stream->uncore, FORCEWAKE_ALL);
intel_runtime_pm_put(stream->uncore->rpm, stream->wakeref);
intel_engine_pm_put(stream->engine);

err_config:
if (stream->ctx)
Expand Down
6 changes: 0 additions & 6 deletions drivers/gpu/drm/i915/i915_perf_types.h
Original file line number Diff line number Diff line change
Expand Up @@ -134,12 +134,6 @@ struct i915_perf_stream {
*/
struct intel_uncore *uncore;

/**
* @wakeref: As we keep the device awake while the perf stream is
* active, we track our runtime pm reference for later release.
*/
intel_wakeref_t wakeref;

/**
* @engine: Engine associated with this performance stream.
*/
Expand Down

0 comments on commit a5efcde

Please sign in to comment.