diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/r300.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r300.c | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c index 9c8d41534a5d..8594486e1625 100644 --- a/drivers/gpu/drm/radeon/r300.c +++ b/drivers/gpu/drm/radeon/r300.c | |||
@@ -1403,6 +1403,21 @@ static int r300_packet0_check(struct radeon_cs_parser *p, | |||
1403 | tmp = (ib_chunk->kdata[idx] >> 22) & 0xF; | 1403 | tmp = (ib_chunk->kdata[idx] >> 22) & 0xF; |
1404 | track->textures[i].txdepth = tmp; | 1404 | track->textures[i].txdepth = tmp; |
1405 | break; | 1405 | break; |
1406 | case R300_ZB_ZPASS_ADDR: | ||
1407 | r = r100_cs_packet_next_reloc(p, &reloc); | ||
1408 | if (r) { | ||
1409 | DRM_ERROR("No reloc for ib[%d]=0x%04X\n", | ||
1410 | idx, reg); | ||
1411 | r100_cs_dump_packet(p, pkt); | ||
1412 | return r; | ||
1413 | } | ||
1414 | ib[idx] = ib_chunk->kdata[idx] + ((u32)reloc->lobj.gpu_offset); | ||
1415 | break; | ||
1416 | case 0x4be8: | ||
1417 | /* valid register only on RV530 */ | ||
1418 | if (p->rdev->family == CHIP_RV530) | ||
1419 | break; | ||
1420 | /* fallthrough do not move */ | ||
1406 | default: | 1421 | default: |
1407 | printk(KERN_ERR "Forbidden register 0x%04X in cs at %d\n", | 1422 | printk(KERN_ERR "Forbidden register 0x%04X in cs at %d\n", |
1408 | reg, idx); | 1423 | reg, idx); |