diff options
author | Dave Airlie <airlied@linux.ie> | 2009-07-14 02:02:32 +1000 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2009-07-15 17:13:21 +1000 |
commit | b995e4330de0d8b1b8b9e49ce10cc6dc78e2cbba (patch) | |
tree | db69f325b3a3b109dfd26460adc8295408f73097 /drivers/gpu/drm/radeon/r100.c | |
parent | 2a0f8918fc34713ecaeb900ffb9afa61df4cb08e (diff) |
drm/radeon/kms: block RN50 from using 3D engine.
RN50/ES1000 is a cut-down rv100 chip used in the server market.
The 3D engine on these is either not there or unverified so refuse
any attempt to configure registers on it.
Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/r100.c')
-rw-r--r-- | drivers/gpu/drm/radeon/r100.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/r100.c b/drivers/gpu/drm/radeon/r100.c index 97c9229b9299..0d05909f03f6 100644 --- a/drivers/gpu/drm/radeon/r100.c +++ b/drivers/gpu/drm/radeon/r100.c @@ -973,6 +973,11 @@ static int r100_packet0_check(struct radeon_cs_parser *p, case R300_TX_OFFSET_0+52: case R300_TX_OFFSET_0+56: case R300_TX_OFFSET_0+60: + /* rn50 has no 3D engine so fail on any 3d setup */ + if (ASIC_IS_RN50(p->rdev)) { + DRM_ERROR("attempt to use RN50 3D engine failed\n"); + return -EINVAL; + } r = r100_cs_packet_next_reloc(p, &reloc); if (r) { DRM_ERROR("No reloc for ib[%d]=0x%04X\n", |