提交 fc1744ff 编写于 作者: D Daniel Vetter

Revert "drm/i915: fix infinite loop at gen6_update_ring_freq"

This reverts commit 4b28a1f3.

This patch duct-tapes over some issue in the current bdw rps patches
which must wait with enabling rc6/rps until the very first batch has
been submitted by userspace.

But those patches aren't merged yet, and for upstream we need to have
an in-kernel emission of the very first batch. I shouldn't have
merged this patch so let's revert it again.

Also Imre noticed that even when rps is set up normally there's a
small window (due to the 1s delay of the async rps init work) where we
could runtime suspend already and blow up all over the place. Imre has
a proper fix to block runtime pm until the rps init work has
successfully completed.

Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Imre Deak <imre.deak@intel.com>
Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
上级 6ed6bd84
...@@ -3522,8 +3522,7 @@ void gen6_update_ring_freq(struct drm_device *dev) ...@@ -3522,8 +3522,7 @@ void gen6_update_ring_freq(struct drm_device *dev)
* to use for memory access. We do this by specifying the IA frequency * to use for memory access. We do this by specifying the IA frequency
* the PCU should use as a reference to determine the ring frequency. * the PCU should use as a reference to determine the ring frequency.
*/ */
for (gpu_freq = dev_priv->rps.max_freq_softlimit; for (gpu_freq = dev_priv->rps.max_freq_softlimit; gpu_freq >= dev_priv->rps.min_freq_softlimit;
gpu_freq >= dev_priv->rps.min_freq_softlimit && gpu_freq != 0;
gpu_freq--) { gpu_freq--) {
int diff = dev_priv->rps.max_freq_softlimit - gpu_freq; int diff = dev_priv->rps.max_freq_softlimit - gpu_freq;
unsigned int ia_freq = 0, ring_freq = 0; unsigned int ia_freq = 0, ring_freq = 0;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册