CC: [email protected] TO: Maarten Lankhorst <[email protected]> CC: "Thomas Hellström" <[email protected]>
tree: git://people.freedesktop.org/~thomash/linux thellstrom/locking-rework head: ab40727c3ac11d71edeb62fd40c1a92ec77d7467 commit: 7a3b755cf2c7d3c1a00c484c0fb4d4d4d7b796b8 [22/63] drm/i915: Pass ww ctx to intel_pin_to_display_plane :::::: branch date: 21 hours ago :::::: commit date: 21 hours ago config: x86_64-randconfig-m001-20201026 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <[email protected]> Reported-by: Dan Carpenter <[email protected]> New smatch warnings: drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c:57 mock_phys_object() error: double unlocked '*obj->base.resv' (orig line 36) drivers/gpu/drm/i915/display/intel_display.c:2355 intel_pin_and_fence_fb_obj() error: uninitialized symbol 'vma'. Old smatch warnings: drivers/gpu/drm/i915/gem/i915_gem_object.h:139 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 131) drivers/gpu/drm/i915/gem/i915_gem_object.h:139 __i915_gem_object_lock() error: we previously assumed 'ww' could be null (see line 131) drivers/gpu/drm/i915/display/intel_display.c:6273 skl_update_scaler_plane() error: we previously assumed 'fb' could be null (see line 6257) vim +57 drivers/gpu/drm/i915/gem/selftests/i915_gem_phys.c f033428db28bdff Chris Wilson 2019-05-28 10 f033428db28bdff Chris Wilson 2019-05-28 11 static int mock_phys_object(void *arg) f033428db28bdff Chris Wilson 2019-05-28 12 { f033428db28bdff Chris Wilson 2019-05-28 13 struct drm_i915_private *i915 = arg; f033428db28bdff Chris Wilson 2019-05-28 14 struct drm_i915_gem_object *obj; f033428db28bdff Chris Wilson 2019-05-28 15 int err; f033428db28bdff Chris Wilson 2019-05-28 16 f033428db28bdff Chris Wilson 2019-05-28 17 /* Create an object and bind it to a contiguous set of physical pages, f033428db28bdff Chris Wilson 2019-05-28 18 * i.e. exercise the i915_gem_object_phys API. f033428db28bdff Chris Wilson 2019-05-28 19 */ f033428db28bdff Chris Wilson 2019-05-28 20 f033428db28bdff Chris Wilson 2019-05-28 21 obj = i915_gem_object_create_shmem(i915, PAGE_SIZE); f033428db28bdff Chris Wilson 2019-05-28 22 if (IS_ERR(obj)) { f033428db28bdff Chris Wilson 2019-05-28 23 err = PTR_ERR(obj); f033428db28bdff Chris Wilson 2019-05-28 24 pr_err("i915_gem_object_create failed, err=%d\n", err); f033428db28bdff Chris Wilson 2019-05-28 25 goto out; f033428db28bdff Chris Wilson 2019-05-28 26 } f033428db28bdff Chris Wilson 2019-05-28 27 4e683075529d60d Maarten Lankhorst 2020-09-11 28 if (!i915_gem_object_has_struct_page(obj)) { 4e683075529d60d Maarten Lankhorst 2020-09-11 29 err = -EINVAL; 4e683075529d60d Maarten Lankhorst 2020-09-11 30 pr_err("shmem has no struct page\n"); 4e683075529d60d Maarten Lankhorst 2020-09-11 31 goto out_obj; 4e683075529d60d Maarten Lankhorst 2020-09-11 32 } 4e683075529d60d Maarten Lankhorst 2020-09-11 33 7a3b755cf2c7d3c Maarten Lankhorst 2020-09-02 34 i915_gem_object_lock(obj, NULL); f033428db28bdff Chris Wilson 2019-05-28 35 err = i915_gem_object_attach_phys(obj, PAGE_SIZE); 7a3b755cf2c7d3c Maarten Lankhorst 2020-09-02 @36 i915_gem_object_unlock(obj); f033428db28bdff Chris Wilson 2019-05-28 37 if (err) { f033428db28bdff Chris Wilson 2019-05-28 38 pr_err("i915_gem_object_attach_phys failed, err=%d\n", err); f033428db28bdff Chris Wilson 2019-05-28 39 goto out_obj; f033428db28bdff Chris Wilson 2019-05-28 40 } f033428db28bdff Chris Wilson 2019-05-28 41 4e683075529d60d Maarten Lankhorst 2020-09-11 42 if (i915_gem_object_has_struct_page(obj)) { f033428db28bdff Chris Wilson 2019-05-28 43 pr_err("i915_gem_object_attach_phys did not create a phys object\n"); f033428db28bdff Chris Wilson 2019-05-28 44 err = -EINVAL; f033428db28bdff Chris Wilson 2019-05-28 45 goto out_obj; f033428db28bdff Chris Wilson 2019-05-28 46 } f033428db28bdff Chris Wilson 2019-05-28 47 f033428db28bdff Chris Wilson 2019-05-28 48 if (!atomic_read(&obj->mm.pages_pin_count)) { f033428db28bdff Chris Wilson 2019-05-28 49 pr_err("i915_gem_object_attach_phys did not pin its phys pages\n"); f033428db28bdff Chris Wilson 2019-05-28 50 err = -EINVAL; f033428db28bdff Chris Wilson 2019-05-28 51 goto out_obj; f033428db28bdff Chris Wilson 2019-05-28 52 } f033428db28bdff Chris Wilson 2019-05-28 53 f033428db28bdff Chris Wilson 2019-05-28 54 /* Make the object dirty so that put_pages must do copy back the data */ 80f0b679d6f0683 Maarten Lankhorst 2020-08-19 55 i915_gem_object_lock(obj, NULL); f033428db28bdff Chris Wilson 2019-05-28 56 err = i915_gem_object_set_to_gtt_domain(obj, true); 6951e5893b4821f Chris Wilson 2019-05-28 @57 i915_gem_object_unlock(obj); f033428db28bdff Chris Wilson 2019-05-28 58 if (err) { f033428db28bdff Chris Wilson 2019-05-28 59 pr_err("i915_gem_object_set_to_gtt_domain failed with err=%d\n", f033428db28bdff Chris Wilson 2019-05-28 60 err); f033428db28bdff Chris Wilson 2019-05-28 61 goto out_obj; f033428db28bdff Chris Wilson 2019-05-28 62 } f033428db28bdff Chris Wilson 2019-05-28 63 f033428db28bdff Chris Wilson 2019-05-28 64 out_obj: f033428db28bdff Chris Wilson 2019-05-28 65 i915_gem_object_put(obj); f033428db28bdff Chris Wilson 2019-05-28 66 out: f033428db28bdff Chris Wilson 2019-05-28 67 return err; f033428db28bdff Chris Wilson 2019-05-28 68 } f033428db28bdff Chris Wilson 2019-05-28 69 :::::: The code at line 57 was first introduced by commit :::::: 6951e5893b4821f68a48022842f67c3033ca7b30 drm/i915: Move GEM object domain management from struct_mutex to local :::::: TO: Chris Wilson <[email protected]> :::::: CC: Chris Wilson <[email protected]> --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/[email protected]
.config.gz
Description: application/gzip
_______________________________________________ kbuild mailing list -- [email protected] To unsubscribe send an email to [email protected]
