[Bug 29556] [rv620] GPU reset followed by black screen

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue Aug 17 01:39:36 PDT 2010


https://bugs.freedesktop.org/show_bug.cgi?id=29556

--- Comment #10 from Marc <marvin24 at gmx.de> 2010-08-17 01:39:36 PDT ---
well that's what I did. basicly, the patch in comment #2 is an interdiff of
blit_V1 and blit_V2, so I should produce the same result as unapplying V1 and
applying V2 - correct?

output of interdiff:

diff -u b/drivers/gpu/drm/radeon/r600_blit_kms.c
b/drivers/gpu/drm/radeon/r600_blit_kms.c
--- b/drivers/gpu/drm/radeon/r600_blit_kms.c
+++ b/drivers/gpu/drm/radeon/r600_blit_kms.c
@@ -448,19 +448,8 @@
        int num_packet2s = 0;

        /* pin copy shader into vram if already initialized */
-       if (rdev->r600_blit.shader_obj) {
-               r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false);
-               if (unlikely(r != 0))
-                       return r;
-               r = radeon_bo_pin(rdev->r600_blit.shader_obj,
RADEON_GEM_DOMAIN_VRAM,
-                                 &rdev->r600_blit.shader_gpu_addr);
-               radeon_bo_unreserve(rdev->r600_blit.shader_obj);
-               if (r) {
-                       dev_err(rdev->dev, "(%d) pin blit object failed\n", r);
-                       return r;
-               }
-               return 0;
-       }
+       if (rdev->r600_blit.shader_obj)
+               goto done;

        mutex_init(&rdev->r600_blit.mutex);
        rdev->r600_blit.state_offset = 0;
@@ -519,6 +508,18 @@
        memcpy(ptr + rdev->r600_blit.ps_offset, r6xx_ps, r6xx_ps_size * 4);
        radeon_bo_kunmap(rdev->r600_blit.shader_obj);
        radeon_bo_unreserve(rdev->r600_blit.shader_obj);
+
+done:
+       r = radeon_bo_reserve(rdev->r600_blit.shader_obj, false);
+       if (unlikely(r != 0))
+               return r;
+       r = radeon_bo_pin(rdev->r600_blit.shader_obj, RADEON_GEM_DOMAIN_VRAM,
+                         &rdev->r600_blit.shader_gpu_addr);
+       radeon_bo_unreserve(rdev->r600_blit.shader_obj);
+       if (r) {
+               dev_err(rdev->dev, "(%d) pin blit object failed\n", r);
+               return r;
+       }
        return 0;
 }

-- 
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.


More information about the dri-devel mailing list