Star64_linux/drivers/gpu/drm/amd/amdgpu
Huang Rui 1bb5afd768 drm/amdgpu: fix null pointer panic with direct fw loading on gpu reset
When system uses fw direct loading, then psp context structure won't be
initiliazed. And it is also unable to execute mode reset.

[  434.601474] amdgpu 0000:0c:00.0: GPU reset begin!
[  434.694326] amdgpu 0000:0c:00.0: GPU reset
[  434.743152] BUG: unable to handle kernel NULL pointer dereference at
0000000000000058
[  434.838474] IP: psp_gpu_reset+0xc/0x30 [amdgpu]
[  434.893532] PGD 406ed9067
[  434.893533] P4D 406ed9067
[  434.926376] PUD 400b46067
[  434.959217] PMD 0
[  435.033379] Oops: 0000 [#1] SMP
[  435.072573] Modules linked in: amdgpu(OE) chash(OE) gpu_sched(OE) ttm(OE)
drm_kms_helper(OE) drm(OE) fb_sys_fops syscopyarea sysfillrect sysimgblt
rpcsec_gss_krb5 auth_rpcgss nfsv4 nfs lockd grace fscache snd_hda_codec_realtek
snd_hda_codec_generic snd_hda_codec_hdmi snd_hda_intel snd_hda_codec
snd_hda_core snd_hwdep snd_pcm edac_mce_amd snd_seq_midi snd_seq_midi_event
kvm_amd snd_rawmidi kvm irqbypass crct10dif_pclmul crc32_pclmul snd_seq
ghash_clmulni_intel snd_seq_device pcbc snd_timer eeepc_wmi aesni_intel snd
asus_wmi aes_x86_64 sparse_keymap crypto_simd glue_helper joydev soundcore
wmi_bmof cryptd video i2c_piix4 shpchp 8250_dw i2c_designware_platform mac_hid
i2c_designware_core sunrpc parport_pc ppdev lp parport autofs4 hid_generic igb
usbhid dca ptp mxm_wmi pps_core ahci hid i2c_algo_bit
[  435.931754]  libahci wmi

Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Evan Quan <evan.quan@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
2018-05-15 13:43:03 -05:00
..
amdgpu.h drm/amdgpu: add asic need_full_reset callback 2018-04-11 13:07:57 -05:00
amdgpu_acp.c drm/amdgpu: Get pci resource directly through adev 2018-04-11 13:07:50 -05:00
amdgpu_acp.h
amdgpu_acpi.c drm/amdgpu: Notify sbios device ready before send request 2018-03-07 16:27:00 -05:00
amdgpu_afmt.c
amdgpu_amdkfd.c drm/amdgpu: explicit give BO type to amdgpu_bo_create 2018-03-14 15:08:24 -05:00
amdgpu_amdkfd.h drm/amdgpu: Add kfd2kgd interface to acquire an existing VM 2018-03-15 17:27:43 -04:00
amdgpu_amdkfd_fence.c
amdgpu_amdkfd_gfx_v7.c drm/amdgpu: Add kfd2kgd interface to acquire an existing VM 2018-03-15 17:27:43 -04:00
amdgpu_amdkfd_gfx_v8.c drm/amdgpu: Add kfd2kgd interface to acquire an existing VM 2018-03-15 17:27:43 -04:00
amdgpu_amdkfd_gpuvm.c drm/amdgpu: Add kfd2kgd interface to acquire an existing VM 2018-03-15 17:27:43 -04:00
amdgpu_atombios.c
amdgpu_atombios.h
amdgpu_atomfirmware.c drm/amdgpu: query vram type from atombios 2018-03-14 14:38:26 -05:00
amdgpu_atomfirmware.h drm/amdgpu: query vram type from atombios 2018-03-14 14:38:26 -05:00
amdgpu_atpx_handler.c drm/amdgpu: Add an ATPX quirk for hybrid laptop 2018-03-22 20:38:05 -05:00
amdgpu_benchmark.c drm/amdgpu: explicit give BO type to amdgpu_bo_create 2018-03-14 15:08:24 -05:00
amdgpu_bios.c
amdgpu_bo_list.c
amdgpu_cgs.c drm/amdgpu: remove duplicate cg/pg wrapper functions 2018-04-11 13:07:53 -05:00
amdgpu_connectors.c Linux 4.16-rc7 2018-03-28 14:30:41 +10:00
amdgpu_connectors.h
amdgpu_cs.c drm/amdgpu: add new bo flag that indicates BOs don't need fallback (v2) 2018-04-11 13:08:01 -05:00
amdgpu_ctx.c
amdgpu_debugfs.c drm/amdgpu: Use dpm_enabled as dpm state flag 2018-04-11 13:07:49 -05:00
amdgpu_debugfs.h
amdgpu_device.c drm/amdgpu: use new asic need_full_reset callback 2018-04-11 13:07:59 -05:00
amdgpu_display.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
amdgpu_display.h
amdgpu_dpm.c drm/amdgpu: Set pm_display_cfg in non-dc mode 2018-04-11 13:07:51 -05:00
amdgpu_dpm.h drm/amdgpu: Set pm_display_cfg in non-dc mode 2018-04-11 13:07:51 -05:00
amdgpu_drv.c drm/amdgpu: Fix memory leaks at amdgpu_init() error path 2018-04-03 13:08:46 -05:00
amdgpu_drv.h
amdgpu_encoders.c
amdgpu_fb.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
amdgpu_fence.c drm/amdgpu: drop compute ring timeout setting for non-sriov only (v2) 2018-04-03 12:52:56 -05:00
amdgpu_gart.c drm/amdgpu: explicit give BO type to amdgpu_bo_create 2018-03-14 15:08:24 -05:00
amdgpu_gart.h
amdgpu_gds.h
amdgpu_gem.c drm/amdgpu: Don't change preferred domian when fallback GTT v6 2018-04-11 13:08:00 -05:00
amdgpu_gfx.c
amdgpu_gfx.h
amdgpu_gmc.h
amdgpu_gtt_mgr.c
amdgpu_i2c.c
amdgpu_i2c.h
amdgpu_ib.c
amdgpu_ids.c
amdgpu_ids.h
amdgpu_ih.c
amdgpu_ih.h drm/amdgpu: Move IH clientid defs to separate file 2018-03-14 15:16:35 -05:00
amdgpu_ioc32.c
amdgpu_irq.c drm/amdgpu: Fix kernel NULL pointer dereference when amdgpu fini 2018-03-20 23:44:21 -05:00
amdgpu_irq.h
amdgpu_job.c
amdgpu_kms.c drm/amdgpu: Use dpm_enabled as dpm state flag 2018-04-11 13:07:49 -05:00
amdgpu_mn.c
amdgpu_mn.h
amdgpu_mode.h drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
amdgpu_object.c drm/amdgpu: add new bo flag that indicates BOs don't need fallback (v2) 2018-04-11 13:08:01 -05:00
amdgpu_object.h drm/amdgpu: explicit give BO type to amdgpu_bo_create 2018-03-14 15:08:24 -05:00
amdgpu_pll.c
amdgpu_pll.h
amdgpu_pm.c drm/amdgpu: add documentation on hwmon interfaces exposed (v3) 2018-04-11 13:07:57 -05:00
amdgpu_pm.h
amdgpu_prime.c drm/amdgpu: fix "mitigate workaround for i915" 2018-03-21 15:04:03 -05:00
amdgpu_psp.c drm/amdgpu: fix null pointer panic with direct fw loading on gpu reset 2018-05-15 13:43:03 -05:00
amdgpu_psp.h
amdgpu_queue_mgr.c
amdgpu_ring.c drm/amd/amdgpu: Mask rptr as well in ring debugfs 2018-03-05 15:44:37 -05:00
amdgpu_ring.h
amdgpu_sa.c
amdgpu_sched.c
amdgpu_sched.h
amdgpu_sync.c
amdgpu_sync.h
amdgpu_test.c drm/amdgpu: explicit give BO type to amdgpu_bo_create 2018-03-14 15:08:24 -05:00
amdgpu_trace.h
amdgpu_trace_points.c
amdgpu_ttm.c drm/amd/amdgpu: fix offset into page with amdgpu_iomem debugfs file 2018-03-20 23:43:34 -05:00
amdgpu_ttm.h
amdgpu_ucode.c drm/amdgpu: add vega12 ucode loading method 2018-03-21 14:24:18 -05:00
amdgpu_ucode.h
amdgpu_uvd.c drm/amdgpu: specify vega12 uvd firmware 2018-03-21 14:24:24 -05:00
amdgpu_uvd.h
amdgpu_vce.c drm/amdgpu: Added support for MV packet 2018-04-11 13:08:02 -05:00
amdgpu_vce.h
amdgpu_vcn.c
amdgpu_vcn.h
amdgpu_vf_error.c
amdgpu_vf_error.h
amdgpu_virt.c
amdgpu_virt.h
amdgpu_vm.c drm/amdgpu: Fix acquiring VM on large-BAR systems 2018-03-23 15:30:35 -04:00
amdgpu_vm.h drm/amdgpu: Add helper to turn an existing VM into a compute VM 2018-03-15 17:27:42 -04:00
amdgpu_vram_mgr.c
atom.c
atom.h
atombios_crtc.c
atombios_crtc.h
atombios_dp.c
atombios_dp.h
atombios_encoders.c drm/amdgpu: save/restore backlight level in legacy dce code 2018-03-14 15:39:51 -05:00
atombios_encoders.h drm/amdgpu: save/restore backlight level in legacy dce code 2018-03-14 15:39:51 -05:00
atombios_i2c.c
atombios_i2c.h
ci_dpm.c drm/amdgpu: Use dpm_enabled as dpm state flag 2018-04-11 13:07:49 -05:00
ci_dpm.h
ci_smc.c
cik.c drm/amdgpu/cik: implement asic need_full_reset callback 2018-04-11 13:07:58 -05:00
cik.h
cik_dpm.h drm/amdgpu: Remove wrapper layer of smu ip functions 2018-03-15 09:57:50 -05:00
cik_ih.c
cik_ih.h
cik_sdma.c drm/amdgpu/sdma: fix mask in emit_pipeline_sync 2018-04-03 12:52:58 -05:00
cik_sdma.h
cikd.h
clearstate_ci.h
clearstate_defs.h
clearstate_gfx9.h
clearstate_si.h
clearstate_vi.h
cz_ih.c
cz_ih.h
dce_v6_0.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_v6_0.h
dce_v8_0.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_v8_0.h
dce_v10_0.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_v10_0.h
dce_v11_0.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_v11_0.h
dce_virtual.c drm/amdgpu: Move GEM BO to drm_framebuffer 2018-04-11 13:07:56 -05:00
dce_virtual.h
df_v1_7.c drm/amdgpu/df: implement df v1_7 callback functions 2018-04-11 13:07:54 -05:00
df_v1_7.h drm/amdgpu/df: implement df v1_7 callback functions 2018-04-11 13:07:54 -05:00
emu_soc.c
gfx_v6_0.c drm/amdgpu: Add support for SRBM selection v3 2018-04-03 13:08:44 -05:00
gfx_v6_0.h
gfx_v7_0.c drm/amdgpu: Add support for SRBM selection v3 2018-04-03 13:08:44 -05:00
gfx_v7_0.h
gfx_v8_0.c drm/amdgpu: Add support for SRBM selection v3 2018-04-03 13:08:44 -05:00
gfx_v8_0.h
gfx_v9_0.c drm/amdgpu: Add support for SRBM selection v3 2018-04-03 13:08:44 -05:00
gfx_v9_0.h
gfxhub_v1_0.c
gfxhub_v1_0.h
gmc_v6_0.c
gmc_v6_0.h
gmc_v7_0.c
gmc_v7_0.h
gmc_v8_0.c
gmc_v8_0.h
gmc_v9_0.c drm/amdgpu: switch to use df callback functions 2018-04-11 13:07:55 -05:00
gmc_v9_0.h
iceland_ih.c
iceland_ih.h
iceland_sdma_pkt_open.h
Kconfig
kv_dpm.c drm/amdgpu: Use dpm_enabled as dpm state flag 2018-04-11 13:07:49 -05:00
kv_dpm.h
kv_smc.c
Makefile drm/amdgpu/df: implement df v1_7 callback functions 2018-04-11 13:07:54 -05:00
mmhub_v1_0.c drm/amdgpu/mmhub: add clockgating support for vega12 2018-03-21 14:36:47 -05:00
mmhub_v1_0.h
mmsch_v1_0.h
mxgpu_ai.c drm/amdgpu: fix spelling mistake: "asssert" -> "assert" 2018-03-22 14:43:43 -05:00
mxgpu_ai.h drm/amdgpu: refactoring mailbox to fix TDR handshake bugs(v2) 2018-03-14 14:38:27 -05:00
mxgpu_vi.c
mxgpu_vi.h
nbio_v6_1.c drm/amdgpu/nbio6: Correct PCIE_INDEX/DATA pair used for smn register accessing 2018-03-20 23:43:25 -05:00
nbio_v6_1.h
nbio_v7_0.c
nbio_v7_0.h
ObjectID.h
ppsmc.h
psp_gfx_if.h
psp_v3_1.c drm/amdgpu: initilize vega12 psp firmwares 2018-03-21 14:24:12 -05:00
psp_v3_1.h
psp_v10_0.c
psp_v10_0.h
r600_dpm.h
sdma_v2_4.c drm/amdgpu/sdma: fix mask in emit_pipeline_sync 2018-04-03 12:52:58 -05:00
sdma_v2_4.h
sdma_v3_0.c drm/amdgpu/sdma: fix mask in emit_pipeline_sync 2018-04-03 12:52:58 -05:00
sdma_v3_0.h
sdma_v4_0.c drm/amdgpu/sdma4: use a helper for SDMA_OP_POLL_REGMEM 2018-04-11 13:07:53 -05:00
sdma_v4_0.h
si.c drm/amdgpu/si: implement asic need_full_reset callback 2018-04-11 13:07:57 -05:00
si.h
si_dma.c
si_dma.h
si_dpm.c drm/amdgpu: Use dpm_enabled as dpm state flag 2018-04-11 13:07:49 -05:00
si_dpm.h drm/amdgpu: Remove wrapper layer of smu ip functions 2018-03-15 09:57:50 -05:00
si_enums.h
si_ih.c
si_ih.h
si_smc.c
sid.h
sislands_smc.h
soc15.c drm/amdgpu/soc15: implement asic need_full_reset callback 2018-04-11 13:07:59 -05:00
soc15.h
soc15_common.h
soc15d.h
tonga_ih.c
tonga_ih.h
tonga_sdma_pkt_open.h
uvd_v4_2.c drm/amdgpu: Use dpm_enabled as dpm state flag 2018-04-11 13:07:49 -05:00
uvd_v4_2.h
uvd_v5_0.c
uvd_v5_0.h
uvd_v6_0.c drm/amdgpu:Fixed wrong emit frame size for enc 2018-02-28 15:16:48 -05:00
uvd_v6_0.h
uvd_v7_0.c drm/amdgpu: Move IH clientid defs to separate file 2018-03-14 15:16:35 -05:00
uvd_v7_0.h
vce_v2_0.c
vce_v2_0.h
vce_v3_0.c
vce_v3_0.h
vce_v4_0.c drm/amdgpu: Move IH clientid defs to separate file 2018-03-14 15:16:35 -05:00
vce_v4_0.h
vcn_v1_0.c drm/amdgpu: Move IH clientid defs to separate file 2018-03-14 15:16:35 -05:00
vcn_v1_0.h
vega10_ih.c drm/amdgpu: Move IH clientid defs to separate file 2018-03-14 15:16:35 -05:00
vega10_ih.h
vega10_reg_init.c
vega10_sdma_pkt_open.h
vi.c drm/amdgpu/vi: implement asic need_full_reset callback 2018-04-11 13:07:58 -05:00
vi.h
vi_dpm.h
vid.h