提交 ba1a7067 编写于 作者: M Mika Kuoppala 提交者: Daniel Vetter

drm/i915: Always clear semaphore mboxes on seqno wrap

In preparation for setting the seqno to arbitrary value on init or
through debugfs. We need to always clear the semaphores and set the
hws page seqno index by calling intel_ring_init_seqno().

v2: rewrote the commit message as suggested by Chris Wilson.
Signed-off-by: NMika Kuoppala <mika.kuoppala@intel.com>
Reviewed-by: NChris Wilson <chris@chris-wilson.co.uk>
Signed-off-by: NDaniel Vetter <daniel.vetter@ffwll.ch>
上级 f7e98ad4
...@@ -1932,18 +1932,6 @@ i915_gem_handle_seqno_wrap(struct drm_device *dev) ...@@ -1932,18 +1932,6 @@ i915_gem_handle_seqno_wrap(struct drm_device *dev)
struct intel_ring_buffer *ring; struct intel_ring_buffer *ring;
int ret, i, j; int ret, i, j;
/* The hardware uses various monotonic 32-bit counters, if we
* detect that they will wraparound we need to idle the GPU
* and reset those counters.
*/
ret = 0;
for_each_ring(ring, dev_priv, i) {
for (j = 0; j < ARRAY_SIZE(ring->sync_seqno); j++)
ret |= ring->sync_seqno[j] != 0;
}
if (ret == 0)
return ret;
/* Carefully retire all requests without writing to the rings */ /* Carefully retire all requests without writing to the rings */
for_each_ring(ring, dev_priv, i) { for_each_ring(ring, dev_priv, i) {
ret = intel_ring_idle(ring); ret = intel_ring_idle(ring);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册