mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-12 18:06:39 +07:00
f5475cc43c
I was unable too boot 3.18.0-rc6 because of the following kernel panic in drm_calc_vbltimestamp_from_scanoutpos(): [drm] Initialized drm 1.1.0 20060810 [drm] radeon kernel modesetting enabled. [drm] initializing kernel modesetting (RV100 0x1002:0x515E 0x15D9:0x8080). [drm] register mmio base: 0xC8400000 [drm] register mmio size: 65536 radeon 0000:0b:01.0: VRAM: 128M 0x00000000D0000000 - 0x00000000D7FFFFFF (16M used) radeon 0000:0b:01.0: GTT: 512M 0x00000000B0000000 - 0x00000000CFFFFFFF [drm] Detected VRAM RAM=128M, BAR=128M [drm] RAM width 16bits DDR [TTM] Zone kernel: Available graphics memory: 3829346 kiB [TTM] Zone dma32: Available graphics memory: 2097152 kiB [TTM] Initializing pool allocator [TTM] Initializing DMA pool allocator [drm] radeon: 16M of VRAM memory ready [drm] radeon: 512M of GTT memory ready. [drm] GART: num cpu pages 131072, num gpu pages 131072 [drm] PCI GART of 512M enabled (table at 0x0000000037880000). radeon 0000:0b:01.0: WB disabled radeon 0000:0b:01.0: fence driver on ring 0 use gpu addr 0x00000000b0000000 and cpu addr 0xffff8800bbbfa000 [drm] Supports vblank timestamp caching Rev 2 (21.10.2013). [drm] Driver supports precise vblank timestamp query. [drm] radeon: irq initialized. [drm] Loading R100 Microcode radeon 0000:0b:01.0: Direct firmware load for radeon/R100_cp.bin failed with error -2 radeon_cp: Failed to load firmware "radeon/R100_cp.bin" [drm:r100_cp_init] *ERROR* Failed to load firmware! radeon 0000:0b:01.0: failed initializing CP (-2). radeon 0000:0b:01.0: Disabling GPU acceleration [drm] radeon: cp finalized BUG: unable to handle kernel NULL pointer dereference at 000000000000025c IP: [<ffffffff8150423b>] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320 PGD 0 Oops: 0000 [#1] SMP Modules linked in: CPU: 1 PID: 1 Comm: swapper/0 Not tainted 3.18.0-rc6-4-default #2649 Hardware name: Supermicro X7DB8/X7DB8, BIOS 6.00 07/26/2006 task: ffff880234da2010 ti: ffff880234da4000 task.ti: ffff880234da4000 RIP: 0010:[<ffffffff8150423b>] [<ffffffff8150423b>] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320 RSP: 0000:ffff880234da7918 EFLAGS: 00010086 RAX: ffffffff81557890 RBX: 0000000000000000 RCX: ffff880234da7a48 RDX: ffff880234da79f4 RSI: 0000000000000000 RDI: ffff880232e15000 RBP: ffff880234da79b8 R08: 0000000000000000 R09: 0000000000000000 R10: 000000000000000a R11: 0000000000000001 R12: ffff880232dda1c0 R13: ffff880232e1518c R14: 0000000000000292 R15: ffff880232e15000 FS: 0000000000000000(0000) GS:ffff88023fc40000(0000) knlGS:0000000000000000 CS: 0010 DS: 0000 ES: 0000 CR0: 000000008005003b CR2: 000000000000025c CR3: 0000000002014000 CR4: 00000000000007e0 Stack: ffff880234da79d8 0000000000000286 ffff880232dcbc00 0000000000002480 ffff880234da7958 0000000000000296 ffff880234da7998 ffffffff8151b51d ffff880234da7a48 0000000032dcbeb0 ffff880232dcbc00 ffff880232dcbc58 Call Trace: [<ffffffff8151b51d>] ? drm_vma_offset_remove+0x1d/0x110 [<ffffffff8152dc98>] radeon_get_vblank_timestamp_kms+0x38/0x60 [<ffffffff8152076a>] ? ttm_bo_release_list+0xba/0x180 [<ffffffff81503751>] drm_get_last_vbltimestamp+0x41/0x70 [<ffffffff81503933>] vblank_disable_and_save+0x73/0x1d0 [<ffffffff81106b2f>] ? try_to_del_timer_sync+0x4f/0x70 [<ffffffff81505245>] drm_vblank_cleanup+0x65/0xa0 [<ffffffff815604fa>] radeon_irq_kms_fini+0x1a/0x70 [<ffffffff8156c07e>] r100_init+0x26e/0x410 [<ffffffff8152ae3e>] radeon_device_init+0x7ae/0xb50 [<ffffffff8152d57f>] radeon_driver_load_kms+0x8f/0x210 [<ffffffff81506965>] drm_dev_register+0xb5/0x110 [<ffffffff8150998f>] drm_get_pci_dev+0x8f/0x200 [<ffffffff815291cd>] radeon_pci_probe+0xad/0xe0 [<ffffffff8141a365>] local_pci_probe+0x45/0xa0 [<ffffffff8141b741>] pci_device_probe+0xd1/0x130 [<ffffffff81633dad>] driver_probe_device+0x12d/0x3e0 [<ffffffff8163413b>] __driver_attach+0x9b/0xa0 [<ffffffff816340a0>] ? __device_attach+0x40/0x40 [<ffffffff81631cd3>] bus_for_each_dev+0x63/0xa0 [<ffffffff8163378e>] driver_attach+0x1e/0x20 [<ffffffff81633390>] bus_add_driver+0x180/0x240 [<ffffffff81634914>] driver_register+0x64/0xf0 [<ffffffff81419cac>] __pci_register_driver+0x4c/0x50 [<ffffffff81509bf5>] drm_pci_init+0xf5/0x120 [<ffffffff821dc871>] ? ttm_init+0x6a/0x6a [<ffffffff821dc908>] radeon_init+0x97/0xb5 [<ffffffff810002fc>] do_one_initcall+0xbc/0x1f0 [<ffffffff810e3278>] ? __wake_up+0x48/0x60 [<ffffffff8218e256>] kernel_init_freeable+0x18a/0x215 [<ffffffff8218d983>] ? initcall_blacklist+0xc0/0xc0 [<ffffffff818a78f0>] ? rest_init+0x80/0x80 [<ffffffff818a78fe>] kernel_init+0xe/0xf0 [<ffffffff818c0c3c>] ret_from_fork+0x7c/0xb0 [<ffffffff818a78f0>] ? rest_init+0x80/0x80 Code: 45 ac 0f 88 a8 01 00 00 3b b7 d0 01 00 00 49 89 ff 0f 83 99 01 00 00 48 8b 47 20 48 8b 80 88 00 00 00 48 85 c0 0f 84 cd 01 00 00 <41> 8b b1 5c 02 00 00 41 8b 89 58 02 00 00 89 75 98 41 8b b1 60 RIP [<ffffffff8150423b>] drm_calc_vbltimestamp_from_scanoutpos+0x4b/0x320 RSP <ffff880234da7918> CR2: 000000000000025c ---[ end trace ad2c0aadf48e2032 ]--- Kernel panic - not syncing: Attempted to kill init! exitcode=0x00000009 It has helped me to add a NULL pointer check that was suggested at http://lists.freedesktop.org/archives/dri-devel/2014-October/070663.html I am not familiar with the code. But the change looks sane and we need something fast at this stage of 3.18 development. Suggested-by: Helge Deller <deller@gmx.de> Signed-off-by: Petr Mladek <pmladek@suse.cz> Tested-by: Petr Mladek <pmladek@suse.cz> Signed-off-by: Alex Deucher <alexander.deucher@amd.com> Cc: stable@vger.kernel.org |
||
---|---|---|
.. | ||
reg_srcs | ||
.gitignore | ||
atom-bits.h | ||
atom-names.h | ||
atom-types.h | ||
atom.c | ||
atom.h | ||
atombios_crtc.c | ||
atombios_dp.c | ||
atombios_encoders.c | ||
atombios_i2c.c | ||
atombios.h | ||
avivod.h | ||
btc_dpm.c | ||
btc_dpm.h | ||
btcd.h | ||
cayman_blit_shaders.c | ||
cayman_blit_shaders.h | ||
ci_dpm.c | ||
ci_dpm.h | ||
ci_smc.c | ||
cik_blit_shaders.c | ||
cik_blit_shaders.h | ||
cik_reg.h | ||
cik_sdma.c | ||
cik.c | ||
cikd.h | ||
clearstate_cayman.h | ||
clearstate_ci.h | ||
clearstate_defs.h | ||
clearstate_evergreen.h | ||
clearstate_si.h | ||
cypress_dpm.c | ||
cypress_dpm.h | ||
dce3_1_afmt.c | ||
dce6_afmt.c | ||
drm_buffer.c | ||
drm_buffer.h | ||
evergreen_blit_shaders.c | ||
evergreen_blit_shaders.h | ||
evergreen_cs.c | ||
evergreen_dma.c | ||
evergreen_hdmi.c | ||
evergreen_reg.h | ||
evergreen_smc.h | ||
evergreen.c | ||
evergreend.h | ||
Kconfig | ||
kv_dpm.c | ||
kv_dpm.h | ||
kv_smc.c | ||
Makefile | ||
mkregtable.c | ||
ni_dma.c | ||
ni_dpm.c | ||
ni_dpm.h | ||
ni_reg.h | ||
ni.c | ||
nid.h | ||
nislands_smc.h | ||
ObjectID.h | ||
ppsmc.h | ||
pptable.h | ||
r100_track.h | ||
r100.c | ||
r100d.h | ||
r200.c | ||
r300_cmdbuf.c | ||
r300_reg.h | ||
r300.c | ||
r300d.h | ||
r420.c | ||
r420d.h | ||
r500_reg.h | ||
r520.c | ||
r520d.h | ||
r600_blit_shaders.c | ||
r600_blit_shaders.h | ||
r600_blit.c | ||
r600_cp.c | ||
r600_cs.c | ||
r600_dma.c | ||
r600_dpm.c | ||
r600_dpm.h | ||
r600_hdmi.c | ||
r600_reg.h | ||
r600.c | ||
r600d.h | ||
radeon_acpi.c | ||
radeon_acpi.h | ||
radeon_agp.c | ||
radeon_asic.c | ||
radeon_asic.h | ||
radeon_atombios.c | ||
radeon_atpx_handler.c | ||
radeon_benchmark.c | ||
radeon_bios.c | ||
radeon_clocks.c | ||
radeon_combios.c | ||
radeon_connectors.c | ||
radeon_cp.c | ||
radeon_cs.c | ||
radeon_cursor.c | ||
radeon_device.c | ||
radeon_display.c | ||
radeon_drv.c | ||
radeon_drv.h | ||
radeon_encoders.c | ||
radeon_family.h | ||
radeon_fb.c | ||
radeon_fence.c | ||
radeon_gart.c | ||
radeon_gem.c | ||
radeon_i2c.c | ||
radeon_ib.c | ||
radeon_ioc32.c | ||
radeon_irq_kms.c | ||
radeon_irq.c | ||
radeon_kms.c | ||
radeon_legacy_crtc.c | ||
radeon_legacy_encoders.c | ||
radeon_legacy_tv.c | ||
radeon_mem.c | ||
radeon_mn.c | ||
radeon_mode.h | ||
radeon_object.c | ||
radeon_object.h | ||
radeon_pm.c | ||
radeon_prime.c | ||
radeon_reg.h | ||
radeon_ring.c | ||
radeon_sa.c | ||
radeon_semaphore.c | ||
radeon_state.c | ||
radeon_test.c | ||
radeon_trace_points.c | ||
radeon_trace.h | ||
radeon_ttm.c | ||
radeon_ucode.c | ||
radeon_ucode.h | ||
radeon_uvd.c | ||
radeon_vce.c | ||
radeon_vm.c | ||
radeon.h | ||
rs100d.h | ||
rs400.c | ||
rs400d.h | ||
rs600.c | ||
rs600d.h | ||
rs690.c | ||
rs690d.h | ||
rs780_dpm.c | ||
rs780_dpm.h | ||
rs780d.h | ||
rv6xx_dpm.c | ||
rv6xx_dpm.h | ||
rv6xxd.h | ||
rv200d.h | ||
rv250d.h | ||
rv350d.h | ||
rv515.c | ||
rv515d.h | ||
rv730_dpm.c | ||
rv730d.h | ||
rv740_dpm.c | ||
rv740d.h | ||
rv770_dma.c | ||
rv770_dpm.c | ||
rv770_dpm.h | ||
rv770_smc.c | ||
rv770_smc.h | ||
rv770.c | ||
rv770d.h | ||
si_blit_shaders.c | ||
si_blit_shaders.h | ||
si_dma.c | ||
si_dpm.c | ||
si_dpm.h | ||
si_reg.h | ||
si_smc.c | ||
si.c | ||
sid.h | ||
sislands_smc.h | ||
smu7_discrete.h | ||
smu7_fusion.h | ||
smu7.h | ||
sumo_dpm.c | ||
sumo_dpm.h | ||
sumo_smc.c | ||
sumod.h | ||
trinity_dpm.c | ||
trinity_dpm.h | ||
trinity_smc.c | ||
trinityd.h | ||
uvd_v1_0.c | ||
uvd_v2_2.c | ||
uvd_v3_1.c | ||
uvd_v4_2.c | ||
vce_v1_0.c | ||
vce_v2_0.c |