alistair23-linux/drivers/gpu/drm/i915/selftests
Chris Wilson 9511ce1ce7 drm/i915/selftests: Initialise mock_i915->mm.obj_lock
lockdep spotted that the mock tests were using the i915->mm.obj_lock
without first initialiasing it:

>[ 1303.217043] [IGT] drv_selftest: starting subtest mock_objects
<4>[ 1303.240898] Setting dangerous option mock_selftests - tainting kernel
<6>[ 1303.253665] i915: Performing mock selftests with st_random_seed=0xd87ea6c6 st_timeout=1000
<4>[ 1303.254812] INFO: trying to register non-static key.
<4>[ 1303.254816] the code is fine but needs lockdep annotation.
<4>[ 1303.254818] turning off the locking correctness validator.
<4>[ 1303.254820] CPU: 4 PID: 13112 Comm: drv_selftest Tainted: G     U  W       4.14.0-rc8-CI-Patchwork_7058+ #1
<4>[ 1303.254823] Hardware name: MSI MS-7924/Z97M-G43(MS-7924), BIOS V1.12 02/15/2016
<4>[ 1303.254825] Call Trace:
<4>[ 1303.254829]  dump_stack+0x68/0x9f
<4>[ 1303.254832]  register_lock_class+0x3fd/0x580
<4>[ 1303.254835]  ? ___slab_alloc.constprop.29+0x157/0x3d0
<4>[ 1303.254837]  ? ___slab_alloc.constprop.29+0x157/0x3d0
<4>[ 1303.254840]  ? sg_kmalloc+0x1e/0x50
<4>[ 1303.254842]  ? debug_smp_processor_id+0x17/0x20
<4>[ 1303.254845]  __lock_acquire+0xa4/0x1b00
<4>[ 1303.254884]  ? __i915_gem_object_set_pages+0x116/0x1f0 [i915]
<4>[ 1303.254887]  ? __this_cpu_preempt_check+0x13/0x20
<4>[ 1303.254889]  ? sg_kmalloc+0x1e/0x50
<4>[ 1303.254891]  lock_acquire+0xb0/0x200
<4>[ 1303.254893]  ? lock_acquire+0xb0/0x200
<4>[ 1303.254917]  ? __i915_gem_object_set_pages+0x116/0x1f0 [i915]
<4>[ 1303.254920]  _raw_spin_lock+0x32/0x50
<4>[ 1303.254944]  ? __i915_gem_object_set_pages+0x116/0x1f0 [i915]
<4>[ 1303.254967]  __i915_gem_object_set_pages+0x116/0x1f0 [i915]
<4>[ 1303.254991]  i915_gem_object_get_pages_phys+0x286/0x2b0 [i915]
<4>[ 1303.255015]  ____i915_gem_object_get_pages+0x20/0x60 [i915]
<4>[ 1303.255039]  i915_gem_object_attach_phys+0x137/0x1a0 [i915]
<4>[ 1303.255063]  igt_phys_object+0x45/0x120 [i915]
<4>[ 1303.255094]  __i915_subtests+0x40/0xd0 [i915]
<4>[ 1303.255099]  ? work_on_cpu_safe+0x60/0x60
<4>[ 1303.255131]  i915_gem_object_mock_selftests+0x34/0x50 [i915]

Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
Cc: Matthew Auld <matthew.william.auld@gmail.com>
Cc: Mika Kuoppala <mika.kuoppala@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171110151919.18451-1-chris@chris-wilson.co.uk
Reviewed-by: Matthew Auld <matthew.william.auld@gmail.com>
Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
2017-11-10 16:21:17 +00:00
..
huge_gem_object.c drm/i915: introduce page_size members 2017-10-07 10:11:48 +01:00
huge_gem_object.h
huge_pages.c drm/i915/selftests: Skip mixed page exhaustion if only small pages available 2017-11-07 17:50:33 +00:00
i915_gem_coherency.c drm/i915: Don't use MI_STORE_DWORD_IMM on Sandybridge/vcs 2017-08-18 11:55:02 +01:00
i915_gem_context.c drm/i915: Move dev_priv->mm.[un]bound_list to its own lock 2017-10-16 20:44:19 +01:00
i915_gem_dmabuf.c drm/i915: Fix an error checking test 2017-06-27 14:30:56 +01:00
i915_gem_evict.c drm/i915: Move dev_priv->mm.[un]bound_list to its own lock 2017-10-16 20:44:19 +01:00
i915_gem_gtt.c drm/i915/selftests: Take rpm wakeref around GGTT lowlevel tests 2017-11-07 17:50:33 +00:00
i915_gem_object.c drm/i915/selftests: Take rpm wakeref around partial tiling tests 2017-11-07 17:50:34 +00:00
i915_gem_request.c drm/i915: Use rcu instead of stop_machine in set_wedged 2017-10-11 17:51:21 +02:00
i915_gem_timeline.c drm/i915/selftests: Use mul_u32_u32() for 32b x 32b -> 64b result 2017-09-13 13:27:20 +01:00
i915_live_selftests.h drm/i915/selftests: Exercise adding requests to a full GGTT 2017-10-12 21:06:26 +01:00
i915_mock_selftests.h drm/i915/selftests: huge page tests 2017-10-07 10:12:00 +01:00
i915_random.c Merge drm-upstream/drm-next into drm-intel-next-queued 2017-09-28 15:56:49 +03:00
i915_random.h drm/i915/selftests: Use mul_u32_u32() for 32b x 32b -> 64b result 2017-09-13 13:27:20 +01:00
i915_selftest.c
i915_sw_fence.c drm/i915/selftests: Wrap a timer into a i915_sw_fence 2017-10-12 21:06:26 +01:00
i915_syncmap.c
i915_vma.c drm/i915: Allow contexts to be unreferenced locklessly 2017-06-20 17:13:47 +01:00
intel_breadcrumbs.c mm: treewide: remove GFP_TEMPORARY allocation flag 2017-09-13 18:53:16 -07:00
intel_hangcheck.c drm/i915/selftests: Hold the rpm wakeref for the reset tests 2017-10-09 17:07:28 +01:00
intel_uncore.c drm/i915: Acquire PUNIT->PMIC bus for intel_uncore_forcewake_reset() 2017-11-10 13:14:03 +01:00
lib_sw_fence.c Revert "drm/i915/selftests: Convert timers to use timer_setup()" 2017-10-25 14:16:16 +01:00
lib_sw_fence.h drm/i915/selftests: Wrap a timer into a i915_sw_fence 2017-10-12 21:06:26 +01:00
mock_context.c drm/i915/selftests: Exercise adding requests to a full GGTT 2017-10-12 21:06:26 +01:00
mock_context.h drm/i915/selftests: Exercise independence of per-engine resets 2017-07-27 09:38:48 +02:00
mock_dmabuf.c
mock_dmabuf.h
mock_drm.c
mock_drm.h
mock_engine.c drm/i915/selftests: Don't try to queue a request with zero delay 2017-10-25 12:13:03 +01:00
mock_engine.h drm/i915: Supply the engine-id for our mock_engine() 2017-08-10 12:18:35 +01:00
mock_gem_device.c drm/i915/selftests: Initialise mock_i915->mm.obj_lock 2017-11-10 16:21:17 +00:00
mock_gem_device.h
mock_gem_object.h
mock_gtt.c drm/i915: introduce vm set_pages/clear_pages 2017-10-07 10:11:50 +01:00
mock_gtt.h
mock_request.c
mock_request.h
mock_timeline.c
mock_timeline.h
mock_uncore.c
mock_uncore.h
scatterlist.c drm/i915/selftests: mix huge pages 2017-10-07 10:12:03 +01:00