linux/drivers/gpu/drm/amd/amdgpu
Alex Deucher 8faf0e08d5 drm/amdgpu: clean up init sequence for failures
If we fail during device init, record what state each
block is in so that we can tear down clearly.

Fixes various problems on device init failure.

Reviewed-by: Christian König <christian.koenig@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2015-07-29 15:50:36 -04:00
..
amdgpu.h drm/amdgpu: clean up init sequence for failures 2015-07-29 15:50:36 -04:00
amdgpu_acpi.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_acpi.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_afmt.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_atombios.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_atombios.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_atpx_handler.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_benchmark.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_bios.c drm/amdgpu: Do not directly dereference pointers to BIOS area. 2015-06-03 21:03:16 -04:00
amdgpu_bo_list.c drm/amdgpu: add amdgpu_bo_list_set trace point 2015-06-29 11:21:43 -04:00
amdgpu_connectors.c drm/amdgpu: fix const warnings in amdgpu_connectors.c 2015-06-03 21:03:15 -04:00
amdgpu_connectors.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_cs.c drm/amdgpu: stop context leak in the error path 2015-07-16 12:39:39 -04:00
amdgpu_ctx.c drm/amdgpu: add and implement the GPU reset status query 2015-06-03 21:03:39 -04:00
amdgpu_device.c drm/amdgpu: clean up init sequence for failures 2015-07-29 15:50:36 -04:00
amdgpu_display.c drm/amdgpu: implement the allocation range (v3) 2015-06-03 21:03:52 -04:00
amdgpu_dpm.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_dpm.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_drv.c drm/amdgpu: fix description of vm_size module parameter (v2) 2015-06-03 21:03:57 -04:00
amdgpu_drv.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_encoders.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_family.h drm/amdgpu: add amdgpu_family.h 2015-06-03 21:03:13 -04:00
amdgpu_fb.c drm/amdgpu: implement the allocation range (v3) 2015-06-03 21:03:52 -04:00
amdgpu_fence.c drm/amdgpu: recreate fence from user seq 2015-06-29 15:52:49 -04:00
amdgpu_gart.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_gds.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_gem.c drm/amdgpu: fix timeout calculation 2015-07-09 11:40:11 -04:00
amdgpu_gfx.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_gfx.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_i2c.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_i2c.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ib.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
amdgpu_ih.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ih.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ioc32.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_irq.c drm/amdgpu: take the mode_config mutex when handling hpds 2015-06-03 21:03:39 -04:00
amdgpu_irq.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_kms.c drm/amdgpu: clean up init sequence for failures 2015-07-29 15:50:36 -04:00
amdgpu_mn.c drm/amdgpu: fix userptr lockup 2015-06-03 21:03:26 -04:00
amdgpu_mode.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_object.c drm/amdgpu: fix user ptr race condition 2015-06-05 10:59:32 -04:00
amdgpu_object.h drm/amdgpu: implement the allocation range (v3) 2015-06-03 21:03:52 -04:00
amdgpu_pll.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_pll.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_pm.c drm/amdgpu: enable vce powergating 2015-06-10 11:54:16 -04:00
amdgpu_pm.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_prime.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ring.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_sa.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_semaphore.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_sync.c drm/amdgpu: do necessary NULL check 2015-06-03 21:03:35 -04:00
amdgpu_test.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_trace.h drm/amdgpu: print the bo_list in the CS trace point as well 2015-06-29 11:21:44 -04:00
amdgpu_trace_points.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ttm.c drm/amdgpu: use kzalloc for allocating one thing 2015-06-29 11:21:50 -04:00
amdgpu_ucode.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_ucode.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_uvd.c drm/amdgpu: add HEVC/H.265 UVD support 2015-06-03 21:03:59 -04:00
amdgpu_uvd.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
amdgpu_vce.c drm/amdgpu: check VCE feedback and bitstream index 2015-06-29 11:21:47 -04:00
amdgpu_vce.h drm/amdgpu: check VCE relocation buffer range 2015-06-29 11:21:46 -04:00
amdgpu_vm.c drm/amdgpu: add BO map/unmap trace point 2015-06-29 11:21:43 -04:00
atom-bits.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom-names.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom-types.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atom.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios.h
atombios_crtc.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_crtc.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_dp.c drm/amdgpu: retry dcpd fetch 2015-06-03 21:03:41 -04:00
atombios_dp.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_encoders.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_encoders.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_i2c.c drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
atombios_i2c.h drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
ci_dpm.c drm/amdgpu: add vram_type and vram_bit_width for interface query (v2) 2015-06-03 21:04:04 -04:00
ci_dpm.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
ci_smc.c drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
cik.c drm/amdgpu: allocate ip_block_enabled memory in common code 2015-06-29 11:21:52 -04:00
cik.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_dpm.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cik_sdma.c drm/amdgpu: fix the build on big endian 2015-06-10 09:13:01 -04:00
cik_sdma.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cikd.h drm/amdgpu: Initialize compute sdma and memory from kgd 2015-06-29 11:21:39 -04:00
clearstate_ci.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
clearstate_defs.h
clearstate_vi.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
cz_dpm.c drm/amdgpu/cz/dpm: properly report UVD and VCE clock levels 2015-07-23 15:10:32 -04:00
cz_dpm.h drm/amdgpu: correct define SMU_EnabledFeatureScoreboard_SclkDpmOn 2015-06-29 11:21:52 -04:00
cz_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cz_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
cz_ppsmc.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
cz_smc.c drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
cz_smumgr.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
dce_v8_0.c drm/amdgpu/dce8: Re-set VBLANK interrupt state when enabling a CRTC 2015-07-16 12:39:44 -04:00
dce_v8_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
dce_v10_0.c drm/amdgpu/dce10: Re-set VBLANK interrupt state when enabling a CRTC 2015-07-23 11:09:43 -04:00
dce_v10_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
dce_v11_0.c drm/amdgpu/dce11: Re-set VBLANK interrupt state when enabling a CRTC 2015-07-23 11:09:43 -04:00
dce_v11_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gfx_v7_0.c drm/amdgpu: Initialize compute sdma and memory from kgd 2015-06-29 11:21:39 -04:00
gfx_v7_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gfx_v8_0.c drm/amdgpu: remove bogus check in gfx8 rb setup 2015-07-16 12:39:41 -04:00
gfx_v8_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gmc_v7_0.c drm/amdgpu: add vram_type and vram_bit_width for interface query (v2) 2015-06-03 21:04:04 -04:00
gmc_v7_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
gmc_v8_0.c drm/amdgpu: whitespace cleanup in gmc8 golden regs 2015-06-10 09:13:28 -04:00
gmc_v8_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
iceland_dpm.c drm/amdgpu/iceland: don't call smu_init on resume 2015-06-10 09:32:25 -04:00
iceland_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
iceland_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
iceland_sdma_pkt_open.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
iceland_smc.c drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
iceland_smumgr.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
Kconfig drm/amdgpu: add core driver (v4) 2015-06-03 21:03:15 -04:00
kv_dpm.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
kv_dpm.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
kv_smc.c drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
Makefile drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
ObjectID.h
ppsmc.h drm/amdgpu: add ppsmc.h 2015-06-03 21:03:13 -04:00
pptable.h
sdma_v2_4.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
sdma_v2_4.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
sdma_v3_0.c drm/amdgpu: Initialize compute sdma and memory from kgd 2015-06-29 11:21:39 -04:00
sdma_v3_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
smu7.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
smu7_discrete.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
smu7_fusion.h drm/amdgpu: Add support for CIK parts 2015-06-03 21:03:17 -04:00
smu8.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
smu8_fusion.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
smu_ucode_xfer_cz.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
smu_ucode_xfer_vi.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_dpm.c drm/amdgpu/tonga: don't call smu_init on resume 2015-06-10 09:32:19 -04:00
tonga_ih.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
tonga_ih.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
tonga_ppsmc.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_sdma_pkt_open.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_smc.c drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
tonga_smumgr.h drm/amdgpu: Add initial VI support 2015-06-03 21:03:17 -04:00
uvd_v4_2.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
uvd_v4_2.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
uvd_v5_0.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
uvd_v5_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
uvd_v6_0.c drm/amdgpu: disable user fence interrupt (v2) 2015-06-05 11:02:06 -04:00
uvd_v6_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vce_v2_0.c drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vce_v2_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vce_v3_0.c drm/amdgpu: implement VCE 3.0 harvesting support (v4) 2015-07-23 11:09:44 -04:00
vce_v3_0.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vi.c drm/amdgpu: set proper index/data pair for smc regs on CZ (v2) 2015-07-16 12:39:40 -04:00
vi.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vi_dpm.h drm/amdgpu: rename amdgpu_ip_funcs to amd_ip_funcs (v2) 2015-06-03 21:03:51 -04:00
vid.h drm/amdgpu: add vram_type and vram_bit_width for interface query (v2) 2015-06-03 21:04:04 -04:00