Rev 6104 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6104 | Rev 7146 | ||
---|---|---|---|
Line 735... | Line 735... | ||
735 | if (r) { |
735 | if (r) { |
736 | radeon_ib_free(rdev, &ib); |
736 | radeon_ib_free(rdev, &ib); |
737 | DRM_ERROR("radeon: failed to schedule ib (%d).\n", r); |
737 | DRM_ERROR("radeon: failed to schedule ib (%d).\n", r); |
738 | return r; |
738 | return r; |
739 | } |
739 | } |
740 | r = radeon_fence_wait(ib.fence, false); |
740 | r = radeon_fence_wait_timeout(ib.fence, false, usecs_to_jiffies( |
- | 741 | RADEON_USEC_IB_TEST_TIMEOUT)); |
|
741 | if (r) { |
742 | if (r < 0) { |
742 | DRM_ERROR("radeon: fence wait failed (%d).\n", r); |
743 | DRM_ERROR("radeon: fence wait failed (%d).\n", r); |
743 | return r; |
744 | return r; |
- | 745 | } else if (r == 0) { |
|
- | 746 | DRM_ERROR("radeon: fence wait timed out.\n"); |
|
- | 747 | return -ETIMEDOUT; |
|
744 | } |
748 | } |
- | 749 | r = 0; |
|
745 | for (i = 0; i < rdev->usec_timeout; i++) { |
750 | for (i = 0; i < rdev->usec_timeout; i++) { |
746 | tmp = le32_to_cpu(rdev->wb.wb[index/4]); |
751 | tmp = le32_to_cpu(rdev->wb.wb[index/4]); |
747 | if (tmp == 0xDEADBEEF) |
752 | if (tmp == 0xDEADBEEF) |
748 | break; |
753 | break; |
749 | DRM_UDELAY(1); |
754 | DRM_UDELAY(1); |