Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 164029
b: refs/heads/master
c: bc1a631
h: refs/heads/master
i:
  164027: d6ea7d1
v: v3
  • Loading branch information
Dave Airlie authored and Dave Airlie committed Sep 18, 2009
1 parent 8736de0 commit 19a957c
Show file tree
Hide file tree
Showing 3 changed files with 22 additions and 17 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 698443d9ec1a33eff65b27b9514e06998bf57eb3
refs/heads/master: bc1a631e5104317cc8b4ef7d14adc597f2844003
26 changes: 19 additions & 7 deletions trunk/drivers/gpu/drm/radeon/r600.c
Original file line number Diff line number Diff line change
Expand Up @@ -141,8 +141,7 @@ int r600_pcie_gart_enable(struct radeon_device *rdev)
r = radeon_gart_table_vram_pin(rdev);
if (r)
return r;
for (i = 0; i < rdev->gart.num_gpu_pages; i++)
r600_gart_clear_page(rdev, i);

/* Setup L2 cache */
WREG32(VM_L2_CNTL, ENABLE_L2_CACHE | ENABLE_L2_FRAGMENT_PROCESSING |
ENABLE_L2_PTE_CACHE_LRU_UPDATE_BY_WRITE |
Expand Down Expand Up @@ -1477,6 +1476,14 @@ int r600_resume(struct radeon_device *rdev)
if (r)
return r;
r600_gpu_init(rdev);

r = radeon_object_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM,
&rdev->r600_blit.shader_gpu_addr);
if (r) {
DRM_ERROR("failed to pin blit object %d\n", r);
return r;
}

r = radeon_ring_init(rdev, rdev->cp.ring_size);
if (r)
return r;
Expand All @@ -1496,7 +1503,11 @@ int r600_suspend(struct radeon_device *rdev)
{
/* FIXME: we should wait for ring to be empty */
r600_cp_stop(rdev);
rdev->cp.ready = false;

r600_pcie_gart_disable(rdev);
/* unpin shaders bo */
radeon_object_unpin(rdev->r600_blit.shader_obj);
return 0;
}

Expand Down Expand Up @@ -1579,6 +1590,12 @@ int r600_init(struct radeon_device *rdev)
return r;

rdev->accel_working = true;
r = r600_blit_init(rdev);
if (r) {
DRM_ERROR("radeon: failled blitter (%d).\n", r);
return r;
}

r = r600_resume(rdev);
if (r) {
if (rdev->flags & RADEON_IS_AGP) {
Expand All @@ -1595,11 +1612,6 @@ int r600_init(struct radeon_device *rdev)
DRM_ERROR("radeon: failled initializing IB pool (%d).\n", r);
rdev->accel_working = false;
}
r = r600_blit_init(rdev);
if (r) {
DRM_ERROR("radeon: failled blitter (%d).\n", r);
rdev->accel_working = false;
}
r = radeon_ib_test(rdev);
if (r) {
DRM_ERROR("radeon: failled testing IB (%d).\n", r);
Expand Down
11 changes: 2 additions & 9 deletions trunk/drivers/gpu/drm/radeon/r600_blit_kms.c
Original file line number Diff line number Diff line change
Expand Up @@ -481,15 +481,8 @@ int r600_blit_init(struct radeon_device *rdev)
return r;
}

r = radeon_object_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM,
&rdev->r600_blit.shader_gpu_addr);
if (r) {
DRM_ERROR("failed to pin blit object %d\n", r);
return r;
}

DRM_DEBUG("r6xx blit allocated bo @ 0x%16llx %08x vs %08x ps %08x\n",
rdev->r600_blit.shader_gpu_addr, obj_size,
DRM_DEBUG("r6xx blit allocated bo %08x vs %08x ps %08x\n",
obj_size,
rdev->r600_blit.vs_offset, rdev->r600_blit.ps_offset);

r = radeon_object_kmap(rdev->r600_blit.shader_obj, &ptr);
Expand Down

0 comments on commit 19a957c

Please sign in to comment.