aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2012-04-26 17:28:10 -0400
committerDaniel Vetter <daniel.vetter@ffwll.ch>2012-05-03 05:18:28 -0400
commit09422b2e7290c2899df78ebcc6b1bdcc4f2328dd (patch)
treedbadf7ccfb70a22183d3bb04b156bb6cc2a1c501
parentd05c617ea4643f19232a38a5190cfe95ee88f1dd (diff)
drm/i915: move LP_RING&friends to i915_dma.c
Wohoo! Now we only need to move all the gem/kms stuff that accidentally landed in i915_dma.c out of it, and this will be our legacy dri1 grave-yard. Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk> Acked-by: Jesse Barnes <jbarnes@virtuousgeek.org> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c26
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h22
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.h3
3 files changed, 26 insertions, 25 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index 30cb4461a250..833ac8a0cf43 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -47,6 +47,32 @@
47#include <acpi/video.h> 47#include <acpi/video.h>
48#include <asm/pat.h> 48#include <asm/pat.h>
49 49
50#define LP_RING(d) (&((struct drm_i915_private *)(d))->ring[RCS])
51
52#define BEGIN_LP_RING(n) \
53 intel_ring_begin(LP_RING(dev_priv), (n))
54
55#define OUT_RING(x) \
56 intel_ring_emit(LP_RING(dev_priv), x)
57
58#define ADVANCE_LP_RING() \
59 intel_ring_advance(LP_RING(dev_priv))
60
61/**
62 * Lock test for when it's just for synchronization of ring access.
63 *
64 * In that case, we don't need to do it when GEM is initialized as nobody else
65 * has access to the ring.
66 */
67#define RING_LOCK_TEST_WITH_RETURN(dev, file) do { \
68 if (LP_RING(dev->dev_private)->obj == NULL) \
69 LOCK_TEST_WITH_RETURN(dev, file); \
70} while (0)
71
72#define READ_HWSP(dev_priv, reg) intel_read_status_page(LP_RING(dev_priv), reg)
73#define READ_BREADCRUMB(dev_priv) READ_HWSP(dev_priv, I915_BREADCRUMB_INDEX)
74#define I915_BREADCRUMB_INDEX 0x21
75
50void i915_update_dri1_breadcrumb(struct drm_device *dev) 76void i915_update_dri1_breadcrumb(struct drm_device *dev)
51{ 77{
52 drm_i915_private_t *dev_priv = dev->dev_private; 78 drm_i915_private_t *dev_priv = dev->dev_private;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index f16f080043f6..7d48ae3d7678 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -1471,28 +1471,6 @@ extern void intel_display_print_error_state(struct seq_file *m,
1471 struct intel_display_error_state *error); 1471 struct intel_display_error_state *error);
1472#endif 1472#endif
1473 1473
1474#define LP_RING(d) (&((struct drm_i915_private *)(d))->ring[RCS])
1475
1476#define BEGIN_LP_RING(n) \
1477 intel_ring_begin(LP_RING(dev_priv), (n))
1478
1479#define OUT_RING(x) \
1480 intel_ring_emit(LP_RING(dev_priv), x)
1481
1482#define ADVANCE_LP_RING() \
1483 intel_ring_advance(LP_RING(dev_priv))
1484
1485/**
1486 * Lock test for when it's just for synchronization of ring access.
1487 *
1488 * In that case, we don't need to do it when GEM is initialized as nobody else
1489 * has access to the ring.
1490 */
1491#define RING_LOCK_TEST_WITH_RETURN(dev, file) do { \
1492 if (LP_RING(dev->dev_private)->obj == NULL) \
1493 LOCK_TEST_WITH_RETURN(dev, file); \
1494} while (0)
1495
1496/* On SNB platform, before reading ring registers forcewake bit 1474/* On SNB platform, before reading ring registers forcewake bit
1497 * must be set to prevent GT core from power down and stale values being 1475 * must be set to prevent GT core from power down and stale values being
1498 * returned. 1476 * returned.
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.h b/drivers/gpu/drm/i915/intel_ringbuffer.h
index 4d1c6c4235d6..7b879926969e 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.h
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.h
@@ -167,10 +167,7 @@ intel_read_status_page(struct intel_ring_buffer *ring,
167 * 167 *
168 * The area from dword 0x20 to 0x3ff is available for driver usage. 168 * The area from dword 0x20 to 0x3ff is available for driver usage.
169 */ 169 */
170#define READ_HWSP(dev_priv, reg) intel_read_status_page(LP_RING(dev_priv), reg)
171#define READ_BREADCRUMB(dev_priv) READ_HWSP(dev_priv, I915_BREADCRUMB_INDEX)
172#define I915_GEM_HWS_INDEX 0x20 170#define I915_GEM_HWS_INDEX 0x20
173#define I915_BREADCRUMB_INDEX 0x21
174 171
175void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring); 172void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring);
176 173