Messages in this thread | | | Date | Mon, 5 Mar 2012 14:47:15 +1100 | From | Stephen Rothwell <> | Subject | linux-next: manual merge of the drm tree with Linus' tree |
| |
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@canb.auug.org.au
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)) [unhandled content-type:application/pgp-signature] | |