aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChris Wilson <chris@chris-wilson.co.uk>2019-12-12 07:27:37 +0000
committerChris Wilson <chris@chris-wilson.co.uk>2019-12-12 08:35:48 +0000
commit7d929989bb7c476b3ef01dc5cd111622e42e78ea (patch)
tree016aa6c0977bb64d2004f343eee9072760b40556
parentdrm/i915: Align start for memcpy_from_wc (diff)
downloadlinux-dev-7d929989bb7c476b3ef01dc5cd111622e42e78ea.tar.xz
linux-dev-7d929989bb7c476b3ef01dc5cd111622e42e78ea.zip
drm/i915/gt: Only ignore rc6 parking for PCU on byt/bsw
An oversight in that we use rc6->ctl_enable to disable rc6 on gen9 and so it does not simply indicate indirect control via a PCU. Switch the rc6->ctl_enable check for a platform-based check. Fixes: 972745fd5770 ("drm/i915/gt: Disable manual rc6 for Braswell/Baytrail") Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Andi Shyti <andi.shyti@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191212072737.884335-2-chris@chris-wilson.co.uk
-rw-r--r--drivers/gpu/drm/i915/gt/intel_rc6.c3
-rw-r--r--drivers/gpu/drm/i915/gt/intel_rc6_types.h1
2 files changed, 3 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/gt/intel_rc6.c b/drivers/gpu/drm/i915/gt/intel_rc6.c
index 8ec2b7725141..9e303c29d6e3 100644
--- a/drivers/gpu/drm/i915/gt/intel_rc6.c
+++ b/drivers/gpu/drm/i915/gt/intel_rc6.c
@@ -576,6 +576,7 @@ void intel_rc6_enable(struct intel_rc6 *rc6)
else if (INTEL_GEN(i915) >= 6)
gen6_rc6_enable(rc6);
+ rc6->manual = rc6->ctl_enable & GEN6_RC_CTL_RC6_ENABLE;
if (NEEDS_RC6_CTX_CORRUPTION_WA(i915))
rc6->ctl_enable = 0;
@@ -612,7 +613,7 @@ void intel_rc6_park(struct intel_rc6 *rc6)
return;
}
- if (!(rc6->ctl_enable & GEN6_RC_CTL_RC6_ENABLE))
+ if (!rc6->manual)
return;
/* Turn off the HW timers and go directly to rc6 */
diff --git a/drivers/gpu/drm/i915/gt/intel_rc6_types.h b/drivers/gpu/drm/i915/gt/intel_rc6_types.h
index 60decae1abc9..bfbb623f7a4f 100644
--- a/drivers/gpu/drm/i915/gt/intel_rc6_types.h
+++ b/drivers/gpu/drm/i915/gt/intel_rc6_types.h
@@ -24,6 +24,7 @@ struct intel_rc6 {
bool supported : 1;
bool enabled : 1;
+ bool manual : 1;
bool wakeref : 1;
};