diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-10 16:43:46 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-03-10 16:43:46 -0400 |
commit | e8e6e6012d68c4967e8f26fdd39ac95c247d4789 (patch) | |
tree | 6b88dfc219ad811a564e81e9c2219dd5cd1b0fa4 /drivers/gpu/drm/i915/intel_ringbuffer.c | |
parent | bc079e8b1684e1de505ec06f8c2339ae60a329e8 (diff) | |
parent | fa389e220254c69ffae0d403eac4146171062d08 (diff) |
Merge tag 'v3.14-rc6' into drm-intel-next-queued
Linux 3.14-rc6
I need the hdmi/dvi-dual link fixes in 3.14 to avoid ugly conflicts
when merging Ville's new hdmi cloning support into my -next tree
Conflicts:
drivers/gpu/drm/i915/Makefile
drivers/gpu/drm/i915/intel_dp.c
Makefile cleanup conflicts with an acpi build fix, intel_dp.c is
trivial.
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers/gpu/drm/i915/intel_ringbuffer.c')
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c index 5629cc7a7732..859092130c18 100644 --- a/drivers/gpu/drm/i915/intel_ringbuffer.c +++ b/drivers/gpu/drm/i915/intel_ringbuffer.c | |||
@@ -1644,6 +1644,27 @@ int intel_ring_begin(struct intel_ring_buffer *ring, | |||
1644 | return 0; | 1644 | return 0; |
1645 | } | 1645 | } |
1646 | 1646 | ||
1647 | /* Align the ring tail to a cacheline boundary */ | ||
1648 | int intel_ring_cacheline_align(struct intel_ring_buffer *ring) | ||
1649 | { | ||
1650 | int num_dwords = (64 - (ring->tail & 63)) / sizeof(uint32_t); | ||
1651 | int ret; | ||
1652 | |||
1653 | if (num_dwords == 0) | ||
1654 | return 0; | ||
1655 | |||
1656 | ret = intel_ring_begin(ring, num_dwords); | ||
1657 | if (ret) | ||
1658 | return ret; | ||
1659 | |||
1660 | while (num_dwords--) | ||
1661 | intel_ring_emit(ring, MI_NOOP); | ||
1662 | |||
1663 | intel_ring_advance(ring); | ||
1664 | |||
1665 | return 0; | ||
1666 | } | ||
1667 | |||
1647 | void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno) | 1668 | void intel_ring_init_seqno(struct intel_ring_buffer *ring, u32 seqno) |
1648 | { | 1669 | { |
1649 | struct drm_i915_private *dev_priv = ring->dev->dev_private; | 1670 | struct drm_i915_private *dev_priv = ring->dev->dev_private; |