diff options
author | Vinay Belgaumkar <vinay.belgaumkar@intel.com> | 2021-07-30 13:21:19 -0700 |
---|---|---|
committer | John Harrison <John.C.Harrison@Intel.com> | 2021-08-03 16:05:44 -0700 |
commit | 216d56c5da5c93cb2ae91b911ad6ccfc33e03bee (patch) | |
tree | be56717fae88b3a2cb9567eeda2495ee5499b027 /drivers/gpu/drm/i915/gt/uc/intel_guc.c | |
parent | 8ee2c227822e755d0dd4375337e626c9c79c6363 (diff) | |
download | linux-stable-216d56c5da5c93cb2ae91b911ad6ccfc33e03bee.tar.gz linux-stable-216d56c5da5c93cb2ae91b911ad6ccfc33e03bee.tar.bz2 linux-stable-216d56c5da5c93cb2ae91b911ad6ccfc33e03bee.zip |
drm/i915/guc/rc: Setup and enable GuCRC feature
This feature hands over the control of HW RC6 to the GuC.
GuC decides when to put HW into RC6 based on it's internal
busyness algorithms.
GuCRC needs GuC submission to be enabled, and only
supported on Gen12+ for now.
When GuCRC is enabled, do not set HW RC6. Use a H2G message
to tell GuC to enable GuCRC. When disabling RC6, tell GuC to
revert RC6 control back to KMD. KMD is still responsible for
enabling everything related to Coarse Power Gating though.
v2: Address comments (Michal W)
v3: Don't set hysterisis values when GuCRC is used (Matt Roper)
v4: checkpatch()
Reviewed-by: Michal Wajdeczko <michal.wajdeczko@intel.com>
Signed-off-by: Vinay Belgaumkar <vinay.belgaumkar@intel.com>
Signed-off-by: John Harrison <John.C.Harrison@Intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20210730202119.23810-15-vinay.belgaumkar@intel.com
Diffstat (limited to 'drivers/gpu/drm/i915/gt/uc/intel_guc.c')
-rw-r--r-- | drivers/gpu/drm/i915/gt/uc/intel_guc.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/gt/uc/intel_guc.c b/drivers/gpu/drm/i915/gt/uc/intel_guc.c index 13d162353b1a..fbfcae727d7f 100644 --- a/drivers/gpu/drm/i915/gt/uc/intel_guc.c +++ b/drivers/gpu/drm/i915/gt/uc/intel_guc.c @@ -159,6 +159,7 @@ void intel_guc_init_early(struct intel_guc *guc) intel_guc_log_init_early(&guc->log); intel_guc_submission_init_early(guc); intel_guc_slpc_init_early(&guc->slpc); + intel_guc_rc_init_early(guc); mutex_init(&guc->send_mutex); spin_lock_init(&guc->irq_lock); |