mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-28 11:18:45 +07:00
f8db4d051b
With deferring the breadcrumb signalling to the virtual engine (thanks
preempt-to-busy) we need to make sure the lists and irq-worker are ready
to send a signal.
[41958.710544] BUG: kernel NULL pointer dereference, address: 0000000000000000
[41958.710553] #PF: supervisor write access in kernel mode
[41958.710556] #PF: error_code(0x0002) - not-present page
[41958.710558] PGD 0 P4D 0
[41958.710562] Oops: 0002 [#1] SMP
[41958.710565] CPU: 0 PID: 0 Comm: swapper/0 Tainted: G U 5.3.0+ #207
[41958.710568] Hardware name: Intel Corporation NUC7i5BNK/NUC7i5BNB, BIOS BNKBL357.86A.0052.2017.0918.1346 09/18/2017
[41958.710602] RIP: 0010:i915_request_enable_breadcrumb+0xe1/0x130 [i915]
[41958.710605] Code: 8b 44 24 30 48 89 41 08 48 89 08 48 8b 85 98 01 00 00 48 8d 8d 90 01 00 00 48 89 95 98 01 00 00 49 89 4c 24 28 49 89 44 24 30 <48> 89 10 f0 80 4b 30 10 c6 85 88 01 00 00 00 e9 1a ff ff ff 48 83
[41958.710609] RSP: 0018:ffffc90000003de0 EFLAGS: 00010046
[41958.710612] RAX: 0000000000000000 RBX: ffff888735424480 RCX: ffff8887cddb2190
[41958.710614] RDX: ffff8887cddb3570 RSI: ffff888850362190 RDI: ffff8887cddb2188
[41958.710617] RBP: ffff8887cddb2000 R08: ffff8888503624a8 R09: 0000000000000100
[41958.710619] R10: 0000000000000001 R11: 0000000000000000 R12: ffff8887cddb3548
[41958.710622] R13: 0000000000000000 R14: 0000000000000046 R15: ffff888850362070
[41958.710625] FS: 0000000000000000(0000) GS:ffff88885ea00000(0000) knlGS:0000000000000000
[41958.710628] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[41958.710630] CR2: 0000000000000000 CR3: 0000000002c09002 CR4: 00000000001606f0
[41958.710633] Call Trace:
[41958.710636] <IRQ>
[41958.710668] __i915_request_submit+0x12b/0x160 [i915]
[41958.710693] virtual_submit_request+0x67/0x120 [i915]
[41958.710720] __unwind_incomplete_requests+0x131/0x170 [i915]
[41958.710744] execlists_dequeue+0xb40/0xe00 [i915]
[41958.710771] execlists_submission_tasklet+0x10f/0x150 [i915]
[41958.710776] tasklet_action_common.isra.17+0x41/0xa0
[41958.710781] __do_softirq+0xc8/0x221
[41958.710785] irq_exit+0xa6/0xb0
[41958.710788] smp_apic_timer_interrupt+0x4d/0x80
[41958.710791] apic_timer_interrupt+0xf/0x20
[41958.710794] </IRQ>
Fixes:
|
||
---|---|---|
.. | ||
selftests | ||
uc | ||
gen6_renderstate.c | ||
gen7_renderstate.c | ||
gen8_renderstate.c | ||
gen9_renderstate.c | ||
intel_breadcrumbs.c | ||
intel_context_types.h | ||
intel_context.c | ||
intel_context.h | ||
intel_engine_cs.c | ||
intel_engine_pm.c | ||
intel_engine_pm.h | ||
intel_engine_pool_types.h | ||
intel_engine_pool.c | ||
intel_engine_pool.h | ||
intel_engine_types.h | ||
intel_engine_user.c | ||
intel_engine_user.h | ||
intel_engine.h | ||
intel_gpu_commands.h | ||
intel_gt_irq.c | ||
intel_gt_irq.h | ||
intel_gt_pm_irq.c | ||
intel_gt_pm_irq.h | ||
intel_gt_pm.c | ||
intel_gt_pm.h | ||
intel_gt_types.h | ||
intel_gt.c | ||
intel_gt.h | ||
intel_hangcheck.c | ||
intel_lrc_reg.h | ||
intel_lrc.c | ||
intel_lrc.h | ||
intel_mocs.c | ||
intel_mocs.h | ||
intel_rc6_types.h | ||
intel_rc6.c | ||
intel_rc6.h | ||
intel_renderstate.c | ||
intel_renderstate.h | ||
intel_reset_types.h | ||
intel_reset.c | ||
intel_reset.h | ||
intel_ringbuffer.c | ||
intel_sseu.c | ||
intel_sseu.h | ||
intel_timeline_types.h | ||
intel_timeline.c | ||
intel_timeline.h | ||
intel_workarounds_types.h | ||
intel_workarounds.c | ||
intel_workarounds.h | ||
Makefile | ||
mock_engine.c | ||
mock_engine.h | ||
selftest_context.c | ||
selftest_engine_cs.c | ||
selftest_engine_pm.c | ||
selftest_engine.c | ||
selftest_engine.h | ||
selftest_gt_pm.c | ||
selftest_hangcheck.c | ||
selftest_lrc.c | ||
selftest_reset.c | ||
selftest_timeline.c | ||
selftest_workarounds.c |