drm/i915/perf: Replace global wakeref tracking with engine-pm
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
This commit is contained in:
parent
cd9ba7b6e4
commit
a5efcde69b
|
@ -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"
|
||||
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
|
@ -2252,7 +2252,7 @@ err_oa_buf_alloc:
|
|||
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)
|
||||
|
|
|
@ -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.
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue