drm/radeon/kms: simplify & improve GPU reset V2
This simplify and improve GPU reset for R1XX-R6XX hw, it's not 100% reliable here are result: - R1XX/R2XX works bunch of time in a row, sometimes it seems it can work indifinitly - R3XX/R3XX the most unreliable one, sometimes you will be able to reset few times, sometimes not even once - R5XX more reliable than previous hw, seems to work most of the times but once in a while it fails for no obvious reasons (same status than previous reset just no same happy ending) - R6XX/R7XX are lot more reliable with this patch, still it seems that it can fail after a bunch (reset every 2sec for 3hour bring down the GPU & computer) This have been tested on various hw, for some odd reasons i wasn't able to lockup RS480/RS690 (while they use to love locking up). Note that on R1XX-R5XX the cursor will disapear after lockup haven't checked why, switch to console and back to X will restore cursor. Next step is to record the bogus command that leaded to the lockup. V2 Fix r6xx resume path to avoid reinitializing blit module, use the gpu_lockup boolean to avoid entering inifinite waiting loop on fence while reiniting the GPU Signed-off-by:Jerome Glisse <jglisse@redhat.com> Signed-off-by:
Dave Airlie <airlied@redhat.com>
Showing
- drivers/gpu/drm/radeon/r100.c 64 additions, 116 deletionsdrivers/gpu/drm/radeon/r100.c
- drivers/gpu/drm/radeon/r100d.h 128 additions, 0 deletionsdrivers/gpu/drm/radeon/r100d.h
- drivers/gpu/drm/radeon/r300.c 59 additions, 75 deletionsdrivers/gpu/drm/radeon/r300.c
- drivers/gpu/drm/radeon/r300d.h 46 additions, 1 deletiondrivers/gpu/drm/radeon/r300d.h
- drivers/gpu/drm/radeon/r520.c 0 additions, 1 deletiondrivers/gpu/drm/radeon/r520.c
- drivers/gpu/drm/radeon/r600.c 5 additions, 48 deletionsdrivers/gpu/drm/radeon/r600.c
- drivers/gpu/drm/radeon/r600_blit_kms.c 3 additions, 0 deletionsdrivers/gpu/drm/radeon/r600_blit_kms.c
- drivers/gpu/drm/radeon/radeon.h 1 addition, 0 deletionsdrivers/gpu/drm/radeon/radeon.h
- drivers/gpu/drm/radeon/radeon_asic.c 5 additions, 4 deletionsdrivers/gpu/drm/radeon/radeon_asic.c
- drivers/gpu/drm/radeon/radeon_asic.h 2 additions, 4 deletionsdrivers/gpu/drm/radeon/radeon_asic.h
- drivers/gpu/drm/radeon/radeon_cs.c 0 additions, 4 deletionsdrivers/gpu/drm/radeon/radeon_cs.c
- drivers/gpu/drm/radeon/radeon_device.c 22 additions, 0 deletionsdrivers/gpu/drm/radeon/radeon_device.c
- drivers/gpu/drm/radeon/radeon_fence.c 8 additions, 5 deletionsdrivers/gpu/drm/radeon/radeon_fence.c
- drivers/gpu/drm/radeon/radeon_gart.c 1 addition, 1 deletiondrivers/gpu/drm/radeon/radeon_gart.c
- drivers/gpu/drm/radeon/rs400.c 0 additions, 2 deletionsdrivers/gpu/drm/radeon/rs400.c
- drivers/gpu/drm/radeon/rs600.c 72 additions, 1 deletiondrivers/gpu/drm/radeon/rs600.c
- drivers/gpu/drm/radeon/rs600d.h 46 additions, 0 deletionsdrivers/gpu/drm/radeon/rs600d.h
- drivers/gpu/drm/radeon/rs690.c 0 additions, 2 deletionsdrivers/gpu/drm/radeon/rs690.c
- drivers/gpu/drm/radeon/rv515.c 0 additions, 90 deletionsdrivers/gpu/drm/radeon/rv515.c
- drivers/gpu/drm/radeon/rv515d.h 46 additions, 0 deletionsdrivers/gpu/drm/radeon/rv515d.h
Loading
Please register or sign in to comment