diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2011-06-08 15:26:45 -0400 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-06-21 12:36:39 +1000 |
commit | 033b5650010652c069494df58424c4b98412fe3b (patch) | |
tree | b3a5204f19648d6e02821f29b4cf9817c2d6ca33 /drivers/gpu/drm/radeon/r600_cs.c | |
parent | 0d74f86f37306da8619eb049d88ab7ee523eec9c (diff) | |
download | blackbird-op-linux-033b5650010652c069494df58424c4b98412fe3b.tar.gz blackbird-op-linux-033b5650010652c069494df58424c4b98412fe3b.zip |
drm/radeon/kms: add initial CS checker support for compute
- Add some new compute regs
- Add new dispatch packets for evergreen/cayman
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r600_cs.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r600_cs.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r600_cs.c b/drivers/gpu/drm/radeon/r600_cs.c index 909bda8dd550..db8ef1905d5f 100644 --- a/drivers/gpu/drm/radeon/r600_cs.c +++ b/drivers/gpu/drm/radeon/r600_cs.c @@ -1200,6 +1200,15 @@ static inline int r600_cs_check_reg(struct radeon_cs_parser *p, u32 reg, u32 idx } ib[idx] += (u32)((reloc->lobj.gpu_offset >> 8) & 0xffffffff); break; + case SX_MEMORY_EXPORT_BASE: + r = r600_cs_packet_next_reloc(p, &reloc); + if (r) { + dev_warn(p->dev, "bad SET_CONFIG_REG " + "0x%04X\n", reg); + return -EINVAL; + } + ib[idx] += (u32)((reloc->lobj.gpu_offset >> 8) & 0xffffffff); + break; default: dev_warn(p->dev, "forbidden register 0x%08x at %d\n", reg, idx); return -EINVAL; |