[Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Remove obj->mm.lock! (rev12)

Patchwork patchwork at emeril.freedesktop.org
Tue Jan 5 17:24:32 UTC 2021


== Series Details ==

Series: drm/i915: Remove obj->mm.lock! (rev12)
URL   : https://patchwork.freedesktop.org/series/82337/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
ee36d7082777 drm/i915: Do not share hwsp across contexts any more, v6
-:558: WARNING:CONSTANT_COMPARISON: Comparisons should place the constant on the right side of the test
#558: FILE: drivers/gpu/drm/i915/gt/intel_timeline.c:287:
+	if (TIMELINE_SEQNO_BYTES <= BIT(5) && (next_ofs & BIT(5)))

total: 0 errors, 1 warnings, 0 checks, 939 lines checked
77e847edcdef drm/i915: Pin timeline map after first timeline pin, v3.
-:13: WARNING:TYPO_SPELLING: 'arithmatic' may be misspelled - perhaps 'arithmetic'?
#13: 
- Fix NULL + XX arithmatic, use casts. (kbuild)
                ^^^^^^^^^^

total: 0 errors, 1 warnings, 0 checks, 296 lines checked
ae7984bc7a2b drm/i915: Move cmd parser pinning to execbuffer
d32ce8b3991b drm/i915: Add missing -EDEADLK handling to execbuf pinning, v2.
-:59: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#59: FILE: drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c:452:
+		err = i915_vma_pin_ww(vma, &eb->ww,
 					     entry->pad_to_size,

total: 0 errors, 0 warnings, 1 checks, 75 lines checked
c4327984c5b8 drm/i915: Ensure we hold the object mutex in pin correctly.
7593f631b80e drm/i915: Add gem object locking to madvise.
c053c9e3806b drm/i915: Move HAS_STRUCT_PAGE to obj->flags
-:110: WARNING:UNSPECIFIED_INT: Prefer 'unsigned int' to bare use of 'unsigned'
#110: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.c:63:
+			  struct lock_class_key *key, unsigned flags)

-:133: WARNING:UNSPECIFIED_INT: Prefer 'unsigned int' to bare use of 'unsigned'
#133: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:27:
+			  unsigned alloc_flags);

total: 0 errors, 2 warnings, 0 checks, 348 lines checked
82ff4c5fefab drm/i915: Rework struct phys attachment handling
126e45a43613 drm/i915: Convert i915_gem_object_attach_phys() to ww locking, v2.
4de06eb09218 drm/i915: make lockdep slightly happier about execbuf.
904777e468af drm/i915: Disable userptr pread/pwrite support.
68bf4d09afd6 drm/i915: No longer allow exporting userptr through dma-buf
bffde4d35594 drm/i915: Reject more ioctls for userptr
0b63b8ded518 drm/i915: Reject UNSYNCHRONIZED for userptr, v2.
bd2117b82199 drm/i915: Make compilation of userptr code depend on MMU_NOTIFIER.
5a4c2a10b2b9 drm/i915: Fix userptr so we do not have to worry about obj->mm.lock, v5.
-:291: WARNING:LONG_LINE: line length of 121 exceeds 100 columns
#291: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:561:
+static inline int i915_gem_object_userptr_submit_init(struct drm_i915_gem_object *obj) { GEM_BUG_ON(1); return -ENODEV; }

-:292: WARNING:LONG_LINE: line length of 121 exceeds 100 columns
#292: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:562:
+static inline int i915_gem_object_userptr_submit_done(struct drm_i915_gem_object *obj) { GEM_BUG_ON(1); return -ENODEV; }

-:293: WARNING:LONG_LINE: line length of 106 exceeds 100 columns
#293: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:563:
+static inline void i915_gem_object_userptr_submit_fini(struct drm_i915_gem_object *obj) { GEM_BUG_ON(1); }

-:351: WARNING:SPDX_LICENSE_TAG: Misplaced SPDX-License-Identifier tag - use line 1 instead
#351: FILE: drivers/gpu/drm/i915/gem/i915_gem_userptr.c:2:
  * SPDX-License-Identifier: MIT

-:355: WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#355: FILE: drivers/gpu/drm/i915/gem/i915_gem_userptr.c:6:
+ *
+  * Based on amdgpu_mn, which bears the following notice:

-:356: WARNING:BLOCK_COMMENT_STYLE: Block comments should align the * on each line
#356: FILE: drivers/gpu/drm/i915/gem/i915_gem_userptr.c:7:
+  * Based on amdgpu_mn, which bears the following notice:
+ *

-:469: WARNING:LONG_LINE: line length of 106 exceeds 100 columns
#469: FILE: drivers/gpu/drm/i915/gem/i915_gem_userptr.c:63:
+	struct drm_i915_gem_object *obj = container_of(mni, struct drm_i915_gem_object, userptr.notifier);

-:1123: CHECK:MULTIPLE_ASSIGNMENTS: multiple assignments should be avoided
#1123: FILE: drivers/gpu/drm/i915/gem/i915_gem_userptr.c:293:
+	pinned = ret = 0;

-:1138: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1138: FILE: drivers/gpu/drm/i915/gem/i915_gem_userptr.c:308:
+	if (mmu_interval_read_retry(&obj->userptr.notifier,
+		!obj->userptr.page_ref ? notifier_seq :

-:1259: CHECK:UNCOMMENTED_DEFINITION: spinlock_t definition without comment
#1259: FILE: drivers/gpu/drm/i915/i915_drv.h:598:
+	spinlock_t notifier_lock;

total: 0 errors, 7 warnings, 3 checks, 1202 lines checked
1b10449ea891 drm/i915: Flatten obj->mm.lock
5b67b21fc107 drm/i915: Populate logical context during first pin.
ddf15e91d6e9 drm/i915: Make ring submission compatible with obj->mm.lock removal, v2.
ee7e02b69e96 drm/i915: Handle ww locking in init_status_page
1e9c89c0cdd5 drm/i915: Rework clflush to work correctly without obj->mm.lock.
30477a8c7f4a drm/i915: Pass ww ctx to intel_pin_to_display_plane
90cd582176d6 drm/i915: Add object locking to vm_fault_cpu
98f313e1b2c7 drm/i915: Move pinning to inside engine_wa_list_verify()
-:72: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#72: FILE: drivers/gpu/drm/i915/gt/intel_workarounds.c:2209:
+	err = i915_vma_pin_ww(vma, &ww, 0, 0,
+			   i915_vma_is_ggtt(vma) ? PIN_GLOBAL : PIN_USER);

total: 0 errors, 0 warnings, 1 checks, 118 lines checked
26d7e276b32b drm/i915: Take reservation lock around i915_vma_pin.
a16ddd6bbe45 drm/i915: Make lrc_init_wa_ctx compatible with ww locking.
3d40ff463446 drm/i915: Make __engine_unpark() compatible with ww locking.
-:10: WARNING:REPEATED_WORD: Possible repeated word: 'many'
#10: 
many many places where rpm is used, I chose the safest option

total: 0 errors, 1 warnings, 0 checks, 16 lines checked
51621d12a4f7 drm/i915: Take obj lock around set_domain ioctl
b604c14fe1fd drm/i915: Defer pin calls in buffer pool until first use by caller.
48158d09d069 drm/i915: Fix pread/pwrite to work with new locking rules.
-:32: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#32: 
deleted file mode 100644

total: 0 errors, 1 warnings, 0 checks, 359 lines checked
c18cdf7507ea drm/i915: Fix workarounds selftest, part 1
7de7664d46b6 drm/i915: Prepare for obj->mm.lock removal
-:132: WARNING:FROM_SIGN_OFF_MISMATCH: From:/Signed-off-by: email address mismatch: 'From: "Thomas Hellström" <thomas.hellstrom at intel.com>' != 'Signed-off-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>'

total: 0 errors, 1 warnings, 0 checks, 96 lines checked
e331444a6ecd drm/i915: Add igt_spinner_pin() to allow for ww locking around spinner.
5b2ed8ac6aa9 drm/i915: Add ww locking around vm_access()
c4c898358dc5 drm/i915: Increase ww locking for perf.
a07625d3a30b drm/i915: Lock ww in ucode objects correctly
c73e522da202 drm/i915: Add ww locking to dma-buf ops.
e6bc7cd8e75b drm/i915: Add missing ww lock in intel_dsb_prepare.
880c7384495b drm/i915: Fix ww locking in shmem_create_from_object
e7d765f48e76 drm/i915: Use a single page table lock for each gtt.
-:112: WARNING:UNNECESSARY_ELSE: else is not generally useful after a break or return
#112: FILE: drivers/gpu/drm/i915/gt/intel_gtt.c:85:
+		return i915_gem_object_lock(vm->scratch[0], ww);
+	} else {

total: 0 errors, 1 warnings, 0 checks, 154 lines checked
6c13bbb27944 drm/i915/selftests: Prepare huge_pages testcases for obj->mm.lock removal.
df26a7c3bfa7 drm/i915/selftests: Prepare client blit for obj->mm.lock removal.
f86e65b8dccd drm/i915/selftests: Prepare coherency tests for obj->mm.lock removal.
1f8c1b5d09b9 drm/i915/selftests: Prepare context tests for obj->mm.lock removal.
882d19d33b69 drm/i915/selftests: Prepare dma-buf tests for obj->mm.lock removal.
03b5e3147426 drm/i915/selftests: Prepare execbuf tests for obj->mm.lock removal.
67971ae59f49 drm/i915/selftests: Prepare mman testcases for obj->mm.lock removal.
c3b9c948b30e drm/i915/selftests: Prepare object tests for obj->mm.lock removal.
2b97dd56740e drm/i915/selftests: Prepare object blit tests for obj->mm.lock removal.
12e1af995385 drm/i915/selftests: Prepare igt_gem_utils for obj->mm.lock removal
2bb81227e971 drm/i915/selftests: Prepare context selftest for obj->mm.lock removal
4b56a1f7891c drm/i915/selftests: Prepare hangcheck for obj->mm.lock removal
d09c8b3e58c4 drm/i915/selftests: Prepare execlists and lrc selftests for obj->mm.lock removal
-:163: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#163: FILE: drivers/gpu/drm/i915/gt/selftest_lrc.c:1223:
+	lrc = i915_gem_object_pin_map_unlocked(ce->state->obj,
 				      i915_coherent_map_type(engine->i915));

total: 0 errors, 0 warnings, 1 checks, 130 lines checked
d1ecda40df09 drm/i915/selftests: Prepare mocs tests for obj->mm.lock removal
c32e2b197641 drm/i915/selftests: Prepare ring submission for obj->mm.lock removal
ca03ac9a54ce drm/i915/selftests: Prepare timeline tests for obj->mm.lock removal
6979844fdcd0 drm/i915/selftests: Prepare i915_request tests for obj->mm.lock removal
ff645615e0b6 drm/i915/selftests: Prepare memory region tests for obj->mm.lock removal
a14eedc5f483 drm/i915/selftests: Prepare cs engine tests for obj->mm.lock removal
ee87a31a5a25 drm/i915/selftests: Prepare gtt tests for obj->mm.lock removal
8489020ac7f4 drm/i915: Finally remove obj->mm.lock.
2b0562da270c drm/i915: Keep userpointer bindings if seqcount is unchanged, v2.
83bdcbefe32d drm/i915: Move gt_revoke() slightly
87115bdd2a96 drm/i915: Avoid some false positives in assert_object_held()
-:27: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'obj' - possible side-effects?
#27: FILE: drivers/gpu/drm/i915/gem/i915_gem_object.h:120:
+#define assert_object_held(obj) do {					\
+		dma_resv_assert_held((obj)->base.resv);			\
+		WARN_ON(!ww_mutex_is_locked(&(obj)->base.resv->lock)); \
+	} while (0)

total: 0 errors, 0 warnings, 1 checks, 15 lines checked




More information about the Intel-gfx mailing list