r100.c (3c3d7cb1db4af176dab843f22ea092a4ef1eb989) | r100.c (ff212f25feb44a915ce9c0144faef7fae27a6e61) |
---|---|
1/* 2 * Copyright 2008 Advanced Micro Devices, Inc. 3 * Copyright 2008 Red Hat Inc. 4 * Copyright 2009 Jerome Glisse. 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a 7 * copy of this software and associated documentation files (the "Software"), 8 * to deal in the Software without restriction, including without limitation --- 1179 unchanged lines hidden (view full) --- 1188 WREG32(R_000770_SCRATCH_UMSK, 0xff); 1189 else { 1190 tmp |= RADEON_RB_NO_UPDATE; 1191 WREG32(R_000770_SCRATCH_UMSK, 0); 1192 } 1193 1194 WREG32(RADEON_CP_RB_CNTL, tmp); 1195 udelay(10); | 1/* 2 * Copyright 2008 Advanced Micro Devices, Inc. 3 * Copyright 2008 Red Hat Inc. 4 * Copyright 2009 Jerome Glisse. 5 * 6 * Permission is hereby granted, free of charge, to any person obtaining a 7 * copy of this software and associated documentation files (the "Software"), 8 * to deal in the Software without restriction, including without limitation --- 1179 unchanged lines hidden (view full) --- 1188 WREG32(R_000770_SCRATCH_UMSK, 0xff); 1189 else { 1190 tmp |= RADEON_RB_NO_UPDATE; 1191 WREG32(R_000770_SCRATCH_UMSK, 0); 1192 } 1193 1194 WREG32(RADEON_CP_RB_CNTL, tmp); 1195 udelay(10); |
1196 ring->rptr = RREG32(RADEON_CP_RB_RPTR); | |
1197 /* Set cp mode to bus mastering & enable cp*/ 1198 WREG32(RADEON_CP_CSQ_MODE, 1199 REG_SET(RADEON_INDIRECT2_START, indirect2_start) | 1200 REG_SET(RADEON_INDIRECT1_START, indirect1_start)); 1201 WREG32(RADEON_CP_RB_WPTR_DELAY, 0); 1202 WREG32(RADEON_CP_CSQ_MODE, 0x00004D4D); 1203 WREG32(RADEON_CP_CSQ_CNTL, RADEON_CSQ_PRIBM_INDBM); 1204 --- 1313 unchanged lines hidden (view full) --- 2518} 2519 2520bool r100_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) 2521{ 2522 u32 rbbm_status; 2523 2524 rbbm_status = RREG32(R_000E40_RBBM_STATUS); 2525 if (!G_000E40_GUI_ACTIVE(rbbm_status)) { | 1196 /* Set cp mode to bus mastering & enable cp*/ 1197 WREG32(RADEON_CP_CSQ_MODE, 1198 REG_SET(RADEON_INDIRECT2_START, indirect2_start) | 1199 REG_SET(RADEON_INDIRECT1_START, indirect1_start)); 1200 WREG32(RADEON_CP_RB_WPTR_DELAY, 0); 1201 WREG32(RADEON_CP_CSQ_MODE, 0x00004D4D); 1202 WREG32(RADEON_CP_CSQ_CNTL, RADEON_CSQ_PRIBM_INDBM); 1203 --- 1313 unchanged lines hidden (view full) --- 2517} 2518 2519bool r100_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring) 2520{ 2521 u32 rbbm_status; 2522 2523 rbbm_status = RREG32(R_000E40_RBBM_STATUS); 2524 if (!G_000E40_GUI_ACTIVE(rbbm_status)) { |
2526 radeon_ring_lockup_update(ring); | 2525 radeon_ring_lockup_update(rdev, ring); |
2527 return false; 2528 } 2529 /* force CP activities */ 2530 radeon_ring_force_activity(rdev, ring); 2531 return radeon_ring_test_lockup(rdev, ring); 2532} 2533 2534/* required on r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ --- 1611 unchanged lines hidden --- | 2526 return false; 2527 } 2528 /* force CP activities */ 2529 radeon_ring_force_activity(rdev, ring); 2530 return radeon_ring_test_lockup(rdev, ring); 2531} 2532 2533/* required on r1xx, r2xx, r300, r(v)350, r420/r481, rs400/rs480 */ --- 1611 unchanged lines hidden --- |