diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/evergreen_cs.c')
-rw-r--r-- | drivers/gpu/drm/radeon/evergreen_cs.c | 20 |
1 files changed, 18 insertions, 2 deletions
diff --git a/drivers/gpu/drm/radeon/evergreen_cs.c b/drivers/gpu/drm/radeon/evergreen_cs.c index 5021bd2c161..5e4f9f876d4 100644 --- a/drivers/gpu/drm/radeon/evergreen_cs.c +++ b/drivers/gpu/drm/radeon/evergreen_cs.c | |||
@@ -479,8 +479,24 @@ static inline int evergreen_cs_check_reg(struct radeon_cs_parser *p, u32 reg, u3 | |||
479 | case SQ_VSTMP_RING_ITEMSIZE: | 479 | case SQ_VSTMP_RING_ITEMSIZE: |
480 | case VGT_TF_RING_SIZE: | 480 | case VGT_TF_RING_SIZE: |
481 | /* get value to populate the IB don't remove */ | 481 | /* get value to populate the IB don't remove */ |
482 | tmp =radeon_get_ib_value(p, idx); | 482 | /*tmp =radeon_get_ib_value(p, idx); |
483 | ib[idx] = 0; | 483 | ib[idx] = 0;*/ |
484 | break; | ||
485 | case SQ_ESGS_RING_BASE: | ||
486 | case SQ_GSVS_RING_BASE: | ||
487 | case SQ_ESTMP_RING_BASE: | ||
488 | case SQ_GSTMP_RING_BASE: | ||
489 | case SQ_HSTMP_RING_BASE: | ||
490 | case SQ_LSTMP_RING_BASE: | ||
491 | case SQ_PSTMP_RING_BASE: | ||
492 | case SQ_VSTMP_RING_BASE: | ||
493 | r = evergreen_cs_packet_next_reloc(p, &reloc); | ||
494 | if (r) { | ||
495 | dev_warn(p->dev, "bad SET_CONTEXT_REG " | ||
496 | "0x%04X\n", reg); | ||
497 | return -EINVAL; | ||
498 | } | ||
499 | ib[idx] += (u32)((reloc->lobj.gpu_offset >> 8) & 0xffffffff); | ||
484 | break; | 500 | break; |
485 | case DB_DEPTH_CONTROL: | 501 | case DB_DEPTH_CONTROL: |
486 | track->db_depth_control = radeon_get_ib_value(p, idx); | 502 | track->db_depth_control = radeon_get_ib_value(p, idx); |