aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2012-08-13 12:07:33 -0400
committerAlex Deucher <alexander.deucher@amd.com>2012-09-20 13:10:39 -0400
commit3e8970f96ba2539539059736039f09624da9fe11 (patch)
treeb0a6693db2536c9981c016e5627f3938bc6b8d96
parent089a786e2cf5d07d495b3cb1ac0b959c6dd10d49 (diff)
drm/radeon: make sure ib bo is properly bound and up to date in vm space
Make sure that the ib bo is bound and is page table is up to date in the virtual address space. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Reviewed-by: Christian König <christian.koenig@amd.com>
-rw-r--r--drivers/gpu/drm/radeon/radeon_cs.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_cs.c b/drivers/gpu/drm/radeon/radeon_cs.c
index 300fc25d9003..3ae7c27c9d6c 100644
--- a/drivers/gpu/drm/radeon/radeon_cs.c
+++ b/drivers/gpu/drm/radeon/radeon_cs.c
@@ -372,10 +372,15 @@ static int radeon_cs_ib_chunk(struct radeon_device *rdev,
372static int radeon_bo_vm_update_pte(struct radeon_cs_parser *parser, 372static int radeon_bo_vm_update_pte(struct radeon_cs_parser *parser,
373 struct radeon_vm *vm) 373 struct radeon_vm *vm)
374{ 374{
375 struct radeon_device *rdev = parser->rdev;
375 struct radeon_bo_list *lobj; 376 struct radeon_bo_list *lobj;
376 struct radeon_bo *bo; 377 struct radeon_bo *bo;
377 int r; 378 int r;
378 379
380 r = radeon_vm_bo_update_pte(rdev, vm, rdev->ring_tmp_bo.bo, &rdev->ring_tmp_bo.bo->tbo.mem);
381 if (r) {
382 return r;
383 }
379 list_for_each_entry(lobj, &parser->validated, tv.head) { 384 list_for_each_entry(lobj, &parser->validated, tv.head) {
380 bo = lobj->bo; 385 bo = lobj->bo;
381 r = radeon_vm_bo_update_pte(parser->rdev, vm, bo, &bo->tbo.mem); 386 r = radeon_vm_bo_update_pte(parser->rdev, vm, bo, &bo->tbo.mem);