evergreen.c (3c3d7cb1db4af176dab843f22ea092a4ef1eb989) evergreen.c (ff212f25feb44a915ce9c0144faef7fae27a6e61)
1/*
2 * Copyright 2010 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the

--- 2976 unchanged lines hidden (view full) ---

2985 }
2986
2987 mdelay(1);
2988 WREG32(CP_RB_CNTL, tmp);
2989
2990 WREG32(CP_RB_BASE, ring->gpu_addr >> 8);
2991 WREG32(CP_DEBUG, (1 << 27) | (1 << 28));
2992
1/*
2 * Copyright 2010 Advanced Micro Devices, Inc.
3 *
4 * Permission is hereby granted, free of charge, to any person obtaining a
5 * copy of this software and associated documentation files (the "Software"),
6 * to deal in the Software without restriction, including without limitation
7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
8 * and/or sell copies of the Software, and to permit persons to whom the

--- 2976 unchanged lines hidden (view full) ---

2985 }
2986
2987 mdelay(1);
2988 WREG32(CP_RB_CNTL, tmp);
2989
2990 WREG32(CP_RB_BASE, ring->gpu_addr >> 8);
2991 WREG32(CP_DEBUG, (1 << 27) | (1 << 28));
2992
2993 ring->rptr = RREG32(CP_RB_RPTR);
2994
2995 evergreen_cp_start(rdev);
2996 ring->ready = true;
2997 r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, ring);
2998 if (r) {
2999 ring->ready = false;
3000 return r;
3001 }
3002 return 0;

--- 944 unchanged lines hidden (view full) ---

3947 */
3948bool evergreen_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring)
3949{
3950 u32 reset_mask = evergreen_gpu_check_soft_reset(rdev);
3951
3952 if (!(reset_mask & (RADEON_RESET_GFX |
3953 RADEON_RESET_COMPUTE |
3954 RADEON_RESET_CP))) {
2993 evergreen_cp_start(rdev);
2994 ring->ready = true;
2995 r = radeon_ring_test(rdev, RADEON_RING_TYPE_GFX_INDEX, ring);
2996 if (r) {
2997 ring->ready = false;
2998 return r;
2999 }
3000 return 0;

--- 944 unchanged lines hidden (view full) ---

3945 */
3946bool evergreen_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring)
3947{
3948 u32 reset_mask = evergreen_gpu_check_soft_reset(rdev);
3949
3950 if (!(reset_mask & (RADEON_RESET_GFX |
3951 RADEON_RESET_COMPUTE |
3952 RADEON_RESET_CP))) {
3955 radeon_ring_lockup_update(ring);
3953 radeon_ring_lockup_update(rdev, ring);
3956 return false;
3957 }
3958 /* force CP activities */
3959 radeon_ring_force_activity(rdev, ring);
3960 return radeon_ring_test_lockup(rdev, ring);
3961}
3962
3963/*

--- 1739 unchanged lines hidden ---
3954 return false;
3955 }
3956 /* force CP activities */
3957 radeon_ring_force_activity(rdev, ring);
3958 return radeon_ring_test_lockup(rdev, ring);
3959}
3960
3961/*

--- 1739 unchanged lines hidden ---