diff options
author | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-04-26 17:28:10 -0400 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2012-05-03 05:18:28 -0400 |
commit | 09422b2e7290c2899df78ebcc6b1bdcc4f2328dd (patch) | |
tree | dbadf7ccfb70a22183d3bb04b156bb6cc2a1c501 | |
parent | d05c617ea4643f19232a38a5190cfe95ee88f1dd (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.c | 26 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/i915_drv.h | 22 | ||||
-rw-r--r-- | drivers/gpu/drm/i915/intel_ringbuffer.h | 3 |
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 | |||
50 | void i915_update_dri1_breadcrumb(struct drm_device *dev) | 76 | void 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 | ||
175 | void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring); | 172 | void intel_cleanup_ring_buffer(struct intel_ring_buffer *ring); |
176 | 173 | ||