aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorImre Deak <imre.deak@intel.com>2017-01-16 11:59:46 -0500
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2017-01-19 14:18:04 -0500
commit6d15a83af98200f0ebdd36ac1d1cda743e76ad90 (patch)
tree8b6c436d8b75d684acfd9e65b6b82862dff41965
parent9297e0c189f59f42e5d39aee901d54a4493a60e2 (diff)
drm/i915/gen9: Fix PCODE polling timeout in stable backport
The backport of 2c7d0602c - "Fix PCODE polling during CDCLK change notification" to the 4.9 stable tree used an incorrect timeout value. Fix this up so the backport matches the upstream commit. Reported-by: Thomas Backlund <tmb@mageia.org> Signed-off-by: Imre Deak <imre.deak@intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 985cb31f4b44..22313980789b 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -8015,14 +8015,14 @@ int skl_pcode_request(struct drm_i915_private *dev_priv, u32 mbox, u32 request,
8015 * worst case) _and_ PCODE was busy for some reason even after a 8015 * worst case) _and_ PCODE was busy for some reason even after a
8016 * (queued) request and @timeout_base_ms delay. As a workaround retry 8016 * (queued) request and @timeout_base_ms delay. As a workaround retry
8017 * the poll with preemption disabled to maximize the number of 8017 * the poll with preemption disabled to maximize the number of
8018 * requests. Increase the timeout from @timeout_base_ms to 50ms to 8018 * requests. Increase the timeout from @timeout_base_ms to 10ms to
8019 * account for interrupts that could reduce the number of these 8019 * account for interrupts that could reduce the number of these
8020 * requests. 8020 * requests.
8021 */ 8021 */
8022 DRM_DEBUG_KMS("PCODE timeout, retrying with preemption disabled\n"); 8022 DRM_DEBUG_KMS("PCODE timeout, retrying with preemption disabled\n");
8023 WARN_ON_ONCE(timeout_base_ms > 3); 8023 WARN_ON_ONCE(timeout_base_ms > 3);
8024 preempt_disable(); 8024 preempt_disable();
8025 ret = wait_for_atomic(COND, 50); 8025 ret = wait_for_atomic(COND, 10);
8026 preempt_enable(); 8026 preempt_enable();
8027 8027
8028out: 8028out: