aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2010-05-21 16:55:54 -0400
committerEric Anholt <eric@anholt.net>2010-05-26 15:36:00 -0400
commitd3301d86b4bf2bcf649982ae464211d8bcf9575a (patch)
treee3334543a973874297421d57a63f8c452ae76455 /drivers/gpu/drm
parent62fdfeaf8b1f487060b6e160e7b5cd90287607c9 (diff)
drm/i915: Rename dev_priv->ring to dev_priv->render_ring.
With the advent of the BSD ring, be clear about which ring this is. The docs are pretty consistent with calling this the Render engine at this point.
Diffstat (limited to 'drivers/gpu/drm')
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c8
-rw-r--r--drivers/gpu/drm/i915/i915_dma.c38
-rw-r--r--drivers/gpu/drm/i915/i915_drv.c2
-rw-r--r--drivers/gpu/drm/i915/i915_drv.h20
-rw-r--r--drivers/gpu/drm/i915/i915_gem.c2
-rw-r--r--drivers/gpu/drm/i915/i915_irq.c12
-rw-r--r--drivers/gpu/drm/i915/intel_ringbuffer.c28
7 files changed, 55 insertions, 55 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 322070c0c631..488175c70c7d 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -317,14 +317,14 @@ static int i915_ringbuffer_data(struct seq_file *m, void *data)
317 u8 *virt; 317 u8 *virt;
318 uint32_t *ptr, off; 318 uint32_t *ptr, off;
319 319
320 if (!dev_priv->ring.ring_obj) { 320 if (!dev_priv->render_ring.ring_obj) {
321 seq_printf(m, "No ringbuffer setup\n"); 321 seq_printf(m, "No ringbuffer setup\n");
322 return 0; 322 return 0;
323 } 323 }
324 324
325 virt = dev_priv->ring.virtual_start; 325 virt = dev_priv->render_ring.virtual_start;
326 326
327 for (off = 0; off < dev_priv->ring.Size; off += 4) { 327 for (off = 0; off < dev_priv->render_ring.Size; off += 4) {
328 ptr = (uint32_t *)(virt + off); 328 ptr = (uint32_t *)(virt + off);
329 seq_printf(m, "%08x : %08x\n", off, *ptr); 329 seq_printf(m, "%08x : %08x\n", off, *ptr);
330 } 330 }
@@ -344,7 +344,7 @@ static int i915_ringbuffer_info(struct seq_file *m, void *data)
344 344
345 seq_printf(m, "RingHead : %08x\n", head); 345 seq_printf(m, "RingHead : %08x\n", head);
346 seq_printf(m, "RingTail : %08x\n", tail); 346 seq_printf(m, "RingTail : %08x\n", tail);
347 seq_printf(m, "RingSize : %08lx\n", dev_priv->ring.Size); 347 seq_printf(m, "RingSize : %08lx\n", dev_priv->render_ring.Size);
348 seq_printf(m, "Acthd : %08x\n", I915_READ(IS_I965G(dev) ? ACTHD_I965 : ACTHD)); 348 seq_printf(m, "Acthd : %08x\n", I915_READ(IS_I965G(dev) ? ACTHD_I965 : ACTHD));
349 349
350 return 0; 350 return 0;
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index a657e3315950..6de7eace4319 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -95,7 +95,7 @@ void i915_kernel_lost_context(struct drm_device * dev)
95{ 95{
96 drm_i915_private_t *dev_priv = dev->dev_private; 96 drm_i915_private_t *dev_priv = dev->dev_private;
97 struct drm_i915_master_private *master_priv; 97 struct drm_i915_master_private *master_priv;
98 drm_i915_ring_buffer_t *ring = &(dev_priv->ring); 98 drm_i915_ring_buffer_t *ring = &(dev_priv->render_ring);
99 99
100 /* 100 /*
101 * We should never lose context on the ring with modesetting 101 * We should never lose context on the ring with modesetting
@@ -128,11 +128,11 @@ static int i915_dma_cleanup(struct drm_device * dev)
128 if (dev->irq_enabled) 128 if (dev->irq_enabled)
129 drm_irq_uninstall(dev); 129 drm_irq_uninstall(dev);
130 130
131 if (dev_priv->ring.virtual_start) { 131 if (dev_priv->render_ring.virtual_start) {
132 drm_core_ioremapfree(&dev_priv->ring.map, dev); 132 drm_core_ioremapfree(&dev_priv->render_ring.map, dev);
133 dev_priv->ring.virtual_start = NULL; 133 dev_priv->render_ring.virtual_start = NULL;
134 dev_priv->ring.map.handle = NULL; 134 dev_priv->render_ring.map.handle = NULL;
135 dev_priv->ring.map.size = 0; 135 dev_priv->render_ring.map.size = 0;
136 } 136 }
137 137
138 /* Clear the HWS virtual address at teardown */ 138 /* Clear the HWS virtual address at teardown */
@@ -156,24 +156,24 @@ static int i915_initialize(struct drm_device * dev, drm_i915_init_t * init)
156 } 156 }
157 157
158 if (init->ring_size != 0) { 158 if (init->ring_size != 0) {
159 if (dev_priv->ring.ring_obj != NULL) { 159 if (dev_priv->render_ring.ring_obj != NULL) {
160 i915_dma_cleanup(dev); 160 i915_dma_cleanup(dev);
161 DRM_ERROR("Client tried to initialize ringbuffer in " 161 DRM_ERROR("Client tried to initialize ringbuffer in "
162 "GEM mode\n"); 162 "GEM mode\n");
163 return -EINVAL; 163 return -EINVAL;
164 } 164 }
165 165
166 dev_priv->ring.Size = init->ring_size; 166 dev_priv->render_ring.Size = init->ring_size;
167 167
168 dev_priv->ring.map.offset = init->ring_start; 168 dev_priv->render_ring.map.offset = init->ring_start;
169 dev_priv->ring.map.size = init->ring_size; 169 dev_priv->render_ring.map.size = init->ring_size;
170 dev_priv->ring.map.type = 0; 170 dev_priv->render_ring.map.type = 0;
171 dev_priv->ring.map.flags = 0; 171 dev_priv->render_ring.map.flags = 0;
172 dev_priv->ring.map.mtrr = 0; 172 dev_priv->render_ring.map.mtrr = 0;
173 173
174 drm_core_ioremap_wc(&dev_priv->ring.map, dev); 174 drm_core_ioremap_wc(&dev_priv->render_ring.map, dev);
175 175
176 if (dev_priv->ring.map.handle == NULL) { 176 if (dev_priv->render_ring.map.handle == NULL) {
177 i915_dma_cleanup(dev); 177 i915_dma_cleanup(dev);
178 DRM_ERROR("can not ioremap virtual address for" 178 DRM_ERROR("can not ioremap virtual address for"
179 " ring buffer\n"); 179 " ring buffer\n");
@@ -181,7 +181,7 @@ static int i915_initialize(struct drm_device * dev, drm_i915_init_t * init)
181 } 181 }
182 } 182 }
183 183
184 dev_priv->ring.virtual_start = dev_priv->ring.map.handle; 184 dev_priv->render_ring.virtual_start = dev_priv->render_ring.map.handle;
185 185
186 dev_priv->cpp = init->cpp; 186 dev_priv->cpp = init->cpp;
187 dev_priv->back_offset = init->back_offset; 187 dev_priv->back_offset = init->back_offset;
@@ -203,7 +203,7 @@ static int i915_dma_resume(struct drm_device * dev)
203 203
204 DRM_DEBUG_DRIVER("%s\n", __func__); 204 DRM_DEBUG_DRIVER("%s\n", __func__);
205 205
206 if (dev_priv->ring.map.handle == NULL) { 206 if (dev_priv->render_ring.map.handle == NULL) {
207 DRM_ERROR("can not ioremap virtual address for" 207 DRM_ERROR("can not ioremap virtual address for"
208 " ring buffer\n"); 208 " ring buffer\n");
209 return -ENOMEM; 209 return -ENOMEM;
@@ -332,7 +332,7 @@ static int i915_emit_cmds(struct drm_device * dev, int *buffer, int dwords)
332 int i; 332 int i;
333 RING_LOCALS; 333 RING_LOCALS;
334 334
335 if ((dwords+1) * sizeof(int) >= dev_priv->ring.Size - 8) 335 if ((dwords+1) * sizeof(int) >= dev_priv->render_ring.Size - 8)
336 return -EINVAL; 336 return -EINVAL;
337 337
338 BEGIN_LP_RING((dwords+1)&~1); 338 BEGIN_LP_RING((dwords+1)&~1);
@@ -563,7 +563,7 @@ static int i915_quiescent(struct drm_device * dev)
563 drm_i915_private_t *dev_priv = dev->dev_private; 563 drm_i915_private_t *dev_priv = dev->dev_private;
564 564
565 i915_kernel_lost_context(dev); 565 i915_kernel_lost_context(dev);
566 return i915_wait_ring(dev, dev_priv->ring.Size - 8, __func__); 566 return i915_wait_ring(dev, dev_priv->render_ring.Size - 8, __func__);
567} 567}
568 568
569static int i915_flush_ioctl(struct drm_device *dev, void *data, 569static int i915_flush_ioctl(struct drm_device *dev, void *data,
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
index 5c51e45ab68d..a1814f65fdb4 100644
--- a/drivers/gpu/drm/i915/i915_drv.c
+++ b/drivers/gpu/drm/i915/i915_drv.c
@@ -389,7 +389,7 @@ int i965_reset(struct drm_device *dev, u8 flags)
389 */ 389 */
390 if (drm_core_check_feature(dev, DRIVER_MODESET) || 390 if (drm_core_check_feature(dev, DRIVER_MODESET) ||
391 !dev_priv->mm.suspended) { 391 !dev_priv->mm.suspended) {
392 drm_i915_ring_buffer_t *ring = &dev_priv->ring; 392 drm_i915_ring_buffer_t *ring = &dev_priv->render_ring;
393 struct drm_gem_object *obj = ring->ring_obj; 393 struct drm_gem_object *obj = ring->ring_obj;
394 struct drm_i915_gem_object *obj_priv = to_intel_bo(obj); 394 struct drm_i915_gem_object *obj_priv = to_intel_bo(obj);
395 dev_priv->mm.suspended = 0; 395 dev_priv->mm.suspended = 0;
diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index 114653aa9ae2..a39440cf1dee 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -244,7 +244,7 @@ typedef struct drm_i915_private {
244 void __iomem *regs; 244 void __iomem *regs;
245 245
246 struct pci_dev *bridge_dev; 246 struct pci_dev *bridge_dev;
247 drm_i915_ring_buffer_t ring; 247 drm_i915_ring_buffer_t render_ring;
248 248
249 drm_dma_handle_t *status_page_dmah; 249 drm_dma_handle_t *status_page_dmah;
250 void *hw_status_page; 250 void *hw_status_page;
@@ -1044,7 +1044,7 @@ extern int intel_trans_dp_port_sel (struct drm_crtc *crtc);
1044 * has access to the ring. 1044 * has access to the ring.
1045 */ 1045 */
1046#define RING_LOCK_TEST_WITH_RETURN(dev, file_priv) do { \ 1046#define RING_LOCK_TEST_WITH_RETURN(dev, file_priv) do { \
1047 if (((drm_i915_private_t *)dev->dev_private)->ring.ring_obj == NULL) \ 1047 if (((drm_i915_private_t *)dev->dev_private)->render_ring.ring_obj == NULL) \
1048 LOCK_TEST_WITH_RETURN(dev, file_priv); \ 1048 LOCK_TEST_WITH_RETURN(dev, file_priv); \
1049} while (0) 1049} while (0)
1050 1050
@@ -1066,15 +1066,15 @@ extern int intel_trans_dp_port_sel (struct drm_crtc *crtc);
1066 int bytes__ = 4*(n); \ 1066 int bytes__ = 4*(n); \
1067 if (I915_VERBOSE) DRM_DEBUG("BEGIN_LP_RING(%d)\n", (n)); \ 1067 if (I915_VERBOSE) DRM_DEBUG("BEGIN_LP_RING(%d)\n", (n)); \
1068 /* a wrap must occur between instructions so pad beforehand */ \ 1068 /* a wrap must occur between instructions so pad beforehand */ \
1069 if (unlikely (dev_priv->ring.tail + bytes__ > dev_priv->ring.Size)) \ 1069 if (unlikely (dev_priv->render_ring.tail + bytes__ > dev_priv->render_ring.Size)) \
1070 i915_wrap_ring(dev); \ 1070 i915_wrap_ring(dev); \
1071 if (unlikely (dev_priv->ring.space < bytes__)) \ 1071 if (unlikely (dev_priv->render_ring.space < bytes__)) \
1072 i915_wait_ring(dev, bytes__, __func__); \ 1072 i915_wait_ring(dev, bytes__, __func__); \
1073 ring_virt__ = (unsigned int *) \ 1073 ring_virt__ = (unsigned int *) \
1074 (dev_priv->ring.virtual_start + dev_priv->ring.tail); \ 1074 (dev_priv->render_ring.virtual_start + dev_priv->render_ring.tail); \
1075 dev_priv->ring.tail += bytes__; \ 1075 dev_priv->render_ring.tail += bytes__; \
1076 dev_priv->ring.tail &= dev_priv->ring.Size - 1; \ 1076 dev_priv->render_ring.tail &= dev_priv->render_ring.Size - 1; \
1077 dev_priv->ring.space -= bytes__; \ 1077 dev_priv->render_ring.space -= bytes__; \
1078} while (0) 1078} while (0)
1079 1079
1080#define OUT_RING(n) do { \ 1080#define OUT_RING(n) do { \
@@ -1084,8 +1084,8 @@ extern int intel_trans_dp_port_sel (struct drm_crtc *crtc);
1084 1084
1085#define ADVANCE_LP_RING() do { \ 1085#define ADVANCE_LP_RING() do { \
1086 if (I915_VERBOSE) \ 1086 if (I915_VERBOSE) \
1087 DRM_DEBUG("ADVANCE_LP_RING %x\n", dev_priv->ring.tail); \ 1087 DRM_DEBUG("ADVANCE_LP_RING %x\n", dev_priv->render_ring.tail); \
1088 I915_WRITE(PRB0_TAIL, dev_priv->ring.tail); \ 1088 I915_WRITE(PRB0_TAIL, dev_priv->render_ring.tail); \
1089} while(0) 1089} while(0)
1090 1090
1091/** 1091/**
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c
index 4f2f5f8cdca2..95dbe5628a25 100644
--- a/drivers/gpu/drm/i915/i915_gem.c
+++ b/drivers/gpu/drm/i915/i915_gem.c
@@ -4378,7 +4378,7 @@ i915_gem_idle(struct drm_device *dev)
4378 4378
4379 mutex_lock(&dev->struct_mutex); 4379 mutex_lock(&dev->struct_mutex);
4380 4380
4381 if (dev_priv->mm.suspended || dev_priv->ring.ring_obj == NULL) { 4381 if (dev_priv->mm.suspended || dev_priv->render_ring.ring_obj == NULL) {
4382 mutex_unlock(&dev->struct_mutex); 4382 mutex_unlock(&dev->struct_mutex);
4383 return 0; 4383 return 0;
4384 } 4384 }
diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
index 896184bfeb12..dd91c97de968 100644
--- a/drivers/gpu/drm/i915/i915_irq.c
+++ b/drivers/gpu/drm/i915/i915_irq.c
@@ -536,17 +536,17 @@ i915_ringbuffer_last_batch(struct drm_device *dev)
536 */ 536 */
537 bbaddr = 0; 537 bbaddr = 0;
538 head = I915_READ(PRB0_HEAD) & HEAD_ADDR; 538 head = I915_READ(PRB0_HEAD) & HEAD_ADDR;
539 ring = (u32 *)(dev_priv->ring.virtual_start + head); 539 ring = (u32 *)(dev_priv->render_ring.virtual_start + head);
540 540
541 while (--ring >= (u32 *)dev_priv->ring.virtual_start) { 541 while (--ring >= (u32 *)dev_priv->render_ring.virtual_start) {
542 bbaddr = i915_get_bbaddr(dev, ring); 542 bbaddr = i915_get_bbaddr(dev, ring);
543 if (bbaddr) 543 if (bbaddr)
544 break; 544 break;
545 } 545 }
546 546
547 if (bbaddr == 0) { 547 if (bbaddr == 0) {
548 ring = (u32 *)(dev_priv->ring.virtual_start + dev_priv->ring.Size); 548 ring = (u32 *)(dev_priv->render_ring.virtual_start + dev_priv->render_ring.Size);
549 while (--ring >= (u32 *)dev_priv->ring.virtual_start) { 549 while (--ring >= (u32 *)dev_priv->render_ring.virtual_start) {
550 bbaddr = i915_get_bbaddr(dev, ring); 550 bbaddr = i915_get_bbaddr(dev, ring);
551 if (bbaddr) 551 if (bbaddr)
552 break; 552 break;
@@ -639,7 +639,7 @@ static void i915_capture_error_state(struct drm_device *dev)
639 error->batchbuffer[1] = i915_error_object_create(dev, batchbuffer[1]); 639 error->batchbuffer[1] = i915_error_object_create(dev, batchbuffer[1]);
640 640
641 /* Record the ringbuffer */ 641 /* Record the ringbuffer */
642 error->ringbuffer = i915_error_object_create(dev, dev_priv->ring.ring_obj); 642 error->ringbuffer = i915_error_object_create(dev, dev_priv->render_ring.ring_obj);
643 643
644 /* Record buffers on the active list. */ 644 /* Record buffers on the active list. */
645 error->active_bo = NULL; 645 error->active_bo = NULL;
@@ -1056,7 +1056,7 @@ int i915_irq_emit(struct drm_device *dev, void *data,
1056 drm_i915_irq_emit_t *emit = data; 1056 drm_i915_irq_emit_t *emit = data;
1057 int result; 1057 int result;
1058 1058
1059 if (!dev_priv || !dev_priv->ring.virtual_start) { 1059 if (!dev_priv || !dev_priv->render_ring.virtual_start) {
1060 DRM_ERROR("called with no initialization\n"); 1060 DRM_ERROR("called with no initialization\n");
1061 return -EINVAL; 1061 return -EINVAL;
1062 } 1062 }
diff --git a/drivers/gpu/drm/i915/intel_ringbuffer.c b/drivers/gpu/drm/i915/intel_ringbuffer.c
index 13a796fafaee..06058ddb4eed 100644
--- a/drivers/gpu/drm/i915/intel_ringbuffer.c
+++ b/drivers/gpu/drm/i915/intel_ringbuffer.c
@@ -368,7 +368,7 @@ i915_gem_init_ringbuffer(struct drm_device *dev)
368 drm_i915_private_t *dev_priv = dev->dev_private; 368 drm_i915_private_t *dev_priv = dev->dev_private;
369 struct drm_gem_object *obj; 369 struct drm_gem_object *obj;
370 struct drm_i915_gem_object *obj_priv; 370 struct drm_i915_gem_object *obj_priv;
371 drm_i915_ring_buffer_t *ring = &dev_priv->ring; 371 drm_i915_ring_buffer_t *ring = &dev_priv->render_ring;
372 int ret; 372 int ret;
373 u32 head; 373 u32 head;
374 374
@@ -403,7 +403,7 @@ i915_gem_init_ringbuffer(struct drm_device *dev)
403 drm_core_ioremap_wc(&ring->map, dev); 403 drm_core_ioremap_wc(&ring->map, dev);
404 if (ring->map.handle == NULL) { 404 if (ring->map.handle == NULL) {
405 DRM_ERROR("Failed to map ringbuffer.\n"); 405 DRM_ERROR("Failed to map ringbuffer.\n");
406 memset(&dev_priv->ring, 0, sizeof(dev_priv->ring)); 406 memset(&dev_priv->render_ring, 0, sizeof(dev_priv->render_ring));
407 i915_gem_object_unpin(obj); 407 i915_gem_object_unpin(obj);
408 drm_gem_object_unreference(obj); 408 drm_gem_object_unreference(obj);
409 i915_gem_cleanup_hws(dev); 409 i915_gem_cleanup_hws(dev);
@@ -481,15 +481,15 @@ i915_gem_cleanup_ringbuffer(struct drm_device *dev)
481{ 481{
482 drm_i915_private_t *dev_priv = dev->dev_private; 482 drm_i915_private_t *dev_priv = dev->dev_private;
483 483
484 if (dev_priv->ring.ring_obj == NULL) 484 if (dev_priv->render_ring.ring_obj == NULL)
485 return; 485 return;
486 486
487 drm_core_ioremapfree(&dev_priv->ring.map, dev); 487 drm_core_ioremapfree(&dev_priv->render_ring.map, dev);
488 488
489 i915_gem_object_unpin(dev_priv->ring.ring_obj); 489 i915_gem_object_unpin(dev_priv->render_ring.ring_obj);
490 drm_gem_object_unreference(dev_priv->ring.ring_obj); 490 drm_gem_object_unreference(dev_priv->render_ring.ring_obj);
491 dev_priv->ring.ring_obj = NULL; 491 dev_priv->render_ring.ring_obj = NULL;
492 memset(&dev_priv->ring, 0, sizeof(dev_priv->ring)); 492 memset(&dev_priv->render_ring, 0, sizeof(dev_priv->render_ring));
493 493
494 i915_gem_cleanup_hws(dev); 494 i915_gem_cleanup_hws(dev);
495} 495}
@@ -503,21 +503,21 @@ int i915_wrap_ring(struct drm_device *dev)
503 volatile unsigned int *virt; 503 volatile unsigned int *virt;
504 int rem; 504 int rem;
505 505
506 rem = dev_priv->ring.Size - dev_priv->ring.tail; 506 rem = dev_priv->render_ring.Size - dev_priv->render_ring.tail;
507 if (dev_priv->ring.space < rem) { 507 if (dev_priv->render_ring.space < rem) {
508 int ret = i915_wait_ring(dev, rem, __func__); 508 int ret = i915_wait_ring(dev, rem, __func__);
509 if (ret) 509 if (ret)
510 return ret; 510 return ret;
511 } 511 }
512 dev_priv->ring.space -= rem; 512 dev_priv->render_ring.space -= rem;
513 513
514 virt = (unsigned int *) 514 virt = (unsigned int *)
515 (dev_priv->ring.virtual_start + dev_priv->ring.tail); 515 (dev_priv->render_ring.virtual_start + dev_priv->render_ring.tail);
516 rem /= 4; 516 rem /= 4;
517 while (rem--) 517 while (rem--)
518 *virt++ = MI_NOOP; 518 *virt++ = MI_NOOP;
519 519
520 dev_priv->ring.tail = 0; 520 dev_priv->render_ring.tail = 0;
521 521
522 return 0; 522 return 0;
523} 523}
@@ -525,7 +525,7 @@ int i915_wrap_ring(struct drm_device *dev)
525int i915_wait_ring(struct drm_device * dev, int n, const char *caller) 525int i915_wait_ring(struct drm_device * dev, int n, const char *caller)
526{ 526{
527 drm_i915_private_t *dev_priv = dev->dev_private; 527 drm_i915_private_t *dev_priv = dev->dev_private;
528 drm_i915_ring_buffer_t *ring = &(dev_priv->ring); 528 drm_i915_ring_buffer_t *ring = &(dev_priv->render_ring);
529 u32 acthd_reg = IS_I965G(dev) ? ACTHD_I965 : ACTHD; 529 u32 acthd_reg = IS_I965G(dev) ? ACTHD_I965 : ACTHD;
530 u32 last_acthd = I915_READ(acthd_reg); 530 u32 last_acthd = I915_READ(acthd_reg);
531 u32 acthd; 531 u32 acthd;