Hi Dave, Today's linux-next merge of the drm tree got a conflict in drivers/gpu/drm/i915/intel_ringbuffer.c between commit 5d031e5b633d ("drm/i915: Remove use of the autoreported ringbuffer HEAD position") from Linus' tree and commit a71d8d94525e ("drm/i915: Record the tail at each request and use it to estimate the head") from the drm tree. I fixed it up (see below) and can carry the fix as necessary. -- Cheers, Stephen Rothwell sfr@xxxxxxxxxxxxxxxx diff --cc drivers/gpu/drm/i915/intel_ringbuffer.c index 5361915,ca3972f..0000000 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c @@@ -1132,6 -1190,23 +1190,11 @@@ int intel_wait_ring_buffer(struct intel struct drm_device *dev = ring->dev; struct drm_i915_private *dev_priv = dev->dev_private; unsigned long end; + int ret; - u32 head; - - /* If the reported head position has wrapped or hasn't advanced, - * fallback to the slow and accurate path. - */ - head = intel_read_status_page(ring, 4); - if (head > ring->head) { - ring->head = head; - ring->space = ring_space(ring); - if (ring->space >= n) - return 0; - } + + ret = intel_ring_wait_request(ring, n); + if (ret != -ENOSPC) + return ret; trace_i915_ring_wait_begin(ring); if (drm_core_check_feature(dev, DRIVER_GEM))
Attachment:
pgpm9jMNgCbXd.pgp
Description: PGP signature