diff options
author | Alex Deucher <alexdeucher@gmail.com> | 2011-03-02 20:07:39 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2011-03-03 11:57:00 +1000 |
commit | 9b91d18d20fbd3e907cee71d1acaba7943de887a (patch) | |
tree | ccd5f617db7d5ac4d7770916102d66882465efcb | |
parent | 3d106fb44e195652ed1c9aac17e833b5302e8bfe (diff) |
drm/radeon/kms/cayman: always set certain VGT regs at CP init
These should be handled by the clear_state setup, but set them
directly as well just to be sure.
Signed-off-by: Alex Deucher <alexdeucher@gmail.com>
Signed-off-by: Dave Airlie <airlied@redhat.com>
-rw-r--r-- | drivers/gpu/drm/radeon/ni.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c index 227173bf012..8c199c49731 100644 --- a/drivers/gpu/drm/radeon/ni.c +++ b/drivers/gpu/drm/radeon/ni.c @@ -1092,7 +1092,7 @@ static int cayman_cp_start(struct radeon_device *rdev) cayman_cp_enable(rdev, true); - r = radeon_ring_lock(rdev, cayman_default_size + 15); + r = radeon_ring_lock(rdev, cayman_default_size + 19); if (r) { DRM_ERROR("radeon: cp failed to lock ring (%d).\n", r); return r; @@ -1125,6 +1125,11 @@ static int cayman_cp_start(struct radeon_device *rdev) radeon_ring_write(rdev, 0xffffffff); radeon_ring_write(rdev, 0xffffffff); + radeon_ring_write(rdev, 0xc0026900); + radeon_ring_write(rdev, 0x00000316); + radeon_ring_write(rdev, 0x0000000e); /* VGT_VERTEX_REUSE_BLOCK_CNTL */ + radeon_ring_write(rdev, 0x00000010); /* */ + radeon_ring_unlock_commit(rdev); /* XXX init other rings */ |