[Intel-xe] ✗ CI.checkpatch: warning for GPUVA with no uAPI changes
Patchwork
patchwork at emeril.freedesktop.org
Sat Jul 8 06:47:01 UTC 2023
== Series Details ==
Series: GPUVA with no uAPI changes
URL : https://patchwork.freedesktop.org/series/120385/
State : warning
== Summary ==
+ KERNEL=/kernel
+ git clone https://gitlab.freedesktop.org/drm/maintainer-tools mt
Cloning into 'mt'...
warning: redirecting to https://gitlab.freedesktop.org/drm/maintainer-tools.git/
+ git -C mt rev-list -n1 origin/master
c7d32770e3cd31d9fc134ce41f329b10aa33ee15
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit f60cab4e861ed17f68752f0828a3c71be3b28bf6
Author: Matthew Brost <matthew.brost at intel.com>
Date: Fri Jul 7 23:43:59 2023 -0700
drm/xe: Port Xe to GPUVA
Rather than open coding VM binds and VMA tracking, use the GPUVA
library. GPUVA provides a common infrastructure for VM binds to use mmap
/ munmap semantics and support for VK sparse bindings.
The concepts are:
1) xe_vm inherits from drm_gpuva_manager
2) xe_vma inherits from drm_gpuva
3) xe_vma_op inherits from drm_gpuva_op
4) VM bind operations (MAP, UNMAP, PREFETCH, UNMAP_ALL) call into the
GPUVA code to generate an VMA operations list which is parsed, committed,
and executed.
v2 (CI): Add break after default in case statement.
v3: Rebase
v4: Fix some error handling
v5: Use unlocked version VMA in error paths
v6: Rebase, address some review feedback mainly Thomas H
v7: Fix compile error in xe_vma_op_unwind, address checkpatch
Signed-off-by: Matthew Brost <matthew.brost at intel.com>
Reviewed-by: Thomas Hellström <thomas.hellstrom at linux.intel.com>
+ /mt/dim checkpatch 16b960c6321c6c67bf651a332b59166c2082d5c1 drm-intel
a950fcee8 drm/xe: Ban a VM if rebind worker hits an error
438dfbfb3 drm/xe: Add helpers to hide struct xe_vma internals
-:643: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#643: FILE: drivers/gpu/drm/xe/xe_vm.c:1170:
+ XE_BUG_ON(xe_vma_end(vma) > vm->size);
-:652: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#652: FILE: drivers/gpu/drm/xe/xe_vm.c:1179:
+ XE_BUG_ON(xe_vma_vm(vma) != vm);
-:661: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#661: FILE: drivers/gpu/drm/xe/xe_vm.c:1187:
+ XE_BUG_ON(xe_vma_vm(vma) != vm);
-:751: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#751: FILE: drivers/gpu/drm/xe/xe_vm.c:2601:
+ XE_IOCTL_ERR(xe, (xe_vma_start(vma) != addr ||
+ xe_vma_end(vma) != addr + range) && !async))
-:858: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#858: FILE: drivers/gpu/drm/xe/xe_vm.c:2803:
+ if (!xe_bo_can_migrate(xe_vma_bo(__vma), region_to_mem_type[region]))
-:867: WARNING:LONG_LINE: line length of 101 exceeds 100 columns
#867: FILE: drivers/gpu/drm/xe/xe_vm.c:2817:
+ if (!xe_bo_can_migrate(xe_vma_bo(__vma), region_to_mem_type[region]))
-:893: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#893: FILE: drivers/gpu/drm/xe/xe_vm.c:3446:
+ XE_BUG_ON(!xe_vm_in_fault_mode(xe_vma_vm(vma)));
total: 0 errors, 6 warnings, 1 checks, 947 lines checked
9c21730e6 drm: manager to keep track of GPUs VA mappings
Traceback (most recent call last):
File "scripts/spdxcheck.py", line 6, in <module>
from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
Traceback (most recent call last):
File "scripts/spdxcheck.py", line 6, in <module>
from ply import lex, yacc
ModuleNotFoundError: No module named 'ply'
-:104: WARNING:FILE_PATH_CHANGES: added, moved or deleted file(s), does MAINTAINERS need updating?
#104:
new file mode 100644
-:562: ERROR:TRAILING_WHITESPACE: trailing whitespace
#562: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:454:
+ *^I^I^I$
-:712: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'node' - possible side-effects?
#712: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:604:
+#define GPUVA_LAST(node) ((node)->va.addr + (node)->va.range - 1)
-:718: WARNING:PREFER_DEFINED_ATTRIBUTE_MACRO: __always_unused or __maybe_unused is preferred over __attribute__((__unused__))
#718: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:610:
+ GPUVA_START, GPUVA_LAST, static __attribute__((unused)),
-:759: CHECK:BRACES: Blank lines aren't necessary after an open brace '{'
#759: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:651:
+{
+
-:811: CHECK:BRACES: Blank lines aren't necessary before a close brace '}'
#811: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:703:
+
+}
-:1123: ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1123: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:1015:
+ if ((map = op->prev)) {
-:1128: ERROR:ASSIGN_IN_IF: do not use assignment in if condition
#1128: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:1020:
+ if ((map = op->next)) {
-:1822: CHECK:LINE_SPACING: Please don't use multiple blank lines
#1822: FILE: drivers/gpu/drm/drm_gpuva_mgr.c:1714:
+
+
-:2138: WARNING:NEW_TYPEDEFS: do not add new typedefs
#2138: FILE: include/drm/drm_gpuva_mgr.h:189:
+typedef struct lockdep_map *lockdep_map_p;
-:2151: ERROR:COMPLEX_MACRO: Macros with complex values should be enclosed in parentheses
#2151: FILE: include/drm/drm_gpuva_mgr.h:202:
+#define drm_gpuva_manager_set_ext_lock(mgr, lock) \
+ (mgr)->ext_lock = &(lock)->dep_map
-:2154: WARNING:NEW_TYPEDEFS: do not add new typedefs
#2154: FILE: include/drm/drm_gpuva_mgr.h:205:
+typedef struct { /* nothing */ } lockdep_map_p;
-:2155: WARNING:SINGLE_STATEMENT_DO_WHILE_MACRO: Single statement macros should not use a do {} while (0) loop
#2155: FILE: include/drm/drm_gpuva_mgr.h:206:
+#define drm_gpuva_manager_ext_assert_held(mgr) do { (void)(mgr); } while (0)
-:2285: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'va__' - possible side-effects?
#2285: FILE: include/drm/drm_gpuva_mgr.h:336:
+#define drm_gpuva_for_each_va_range(va__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__) - (start__)); \
+ va__ && (va__->va.addr < (end__)); \
+ va__ = drm_gpuva_next(va__))
-:2285: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'start__' - possible side-effects?
#2285: FILE: include/drm/drm_gpuva_mgr.h:336:
+#define drm_gpuva_for_each_va_range(va__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__) - (start__)); \
+ va__ && (va__->va.addr < (end__)); \
+ va__ = drm_gpuva_next(va__))
-:2285: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'end__' - possible side-effects?
#2285: FILE: include/drm/drm_gpuva_mgr.h:336:
+#define drm_gpuva_for_each_va_range(va__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__) - (start__)); \
+ va__ && (va__->va.addr < (end__)); \
+ va__ = drm_gpuva_next(va__))
-:2308: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'va__' - possible side-effects?
#2308: FILE: include/drm/drm_gpuva_mgr.h:359:
+#define drm_gpuva_for_each_va_range_safe(va__, next__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__) - (start__)), \
+ next__ = drm_gpuva_next(va__); \
+ va__ && (va__->va.addr < (end__)); \
+ va__ = next__, next__ = drm_gpuva_next(va__))
-:2308: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'next__' - possible side-effects?
#2308: FILE: include/drm/drm_gpuva_mgr.h:359:
+#define drm_gpuva_for_each_va_range_safe(va__, next__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__) - (start__)), \
+ next__ = drm_gpuva_next(va__); \
+ va__ && (va__->va.addr < (end__)); \
+ va__ = next__, next__ = drm_gpuva_next(va__))
-:2308: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'start__' - possible side-effects?
#2308: FILE: include/drm/drm_gpuva_mgr.h:359:
+#define drm_gpuva_for_each_va_range_safe(va__, next__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__) - (start__)), \
+ next__ = drm_gpuva_next(va__); \
+ va__ && (va__->va.addr < (end__)); \
+ va__ = next__, next__ = drm_gpuva_next(va__))
-:2308: CHECK:MACRO_ARG_REUSE: Macro argument reuse 'end__' - possible side-effects?
#2308: FILE: include/drm/drm_gpuva_mgr.h:359:
+#define drm_gpuva_for_each_va_range_safe(va__, next__, mgr__, start__, end__) \
+ for (va__ = drm_gpuva_find_first((mgr__), (start__), (end__) - (start__)), \
+ next__ = drm_gpuva_next(va__); \
+ va__ && (va__->va.addr < (end__)); \
+ va__ = next__, next__ = drm_gpuva_next(va__))
-:2604: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#2604: FILE: include/drm/drm_gpuva_mgr.h:655:
+drm_gpuva_prefetch_ops_create(struct drm_gpuva_manager *mgr,
+ u64 addr, u64 range);
total: 4 errors, 5 warnings, 12 checks, 2644 lines checked
ece560d8c drm: debugfs: provide infrastructure to dump a DRM GPU VA space
b600ef25f drm/xe: Remove __xe_vm_bind forward declaration
f60cab4e8 drm/xe: Port Xe to GPUVA
-:563: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#563: FILE: drivers/gpu/drm/xe/xe_vm.c:1143:
+ XE_BUG_ON(start + range > vm->size);
-:831: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#831: FILE: drivers/gpu/drm/xe/xe_vm.c:1821:
+ XE_BUG_ON(!xe_vm_in_fault_mode(vm));
-:1038: WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#1038: FILE: drivers/gpu/drm/xe/xe_vm.c:2170:
+ return -ENODATA; /* Not an actual error, IOCTL
+ cleans up returns and 0 */
-:1038: WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#1038: FILE: drivers/gpu/drm/xe/xe_vm.c:2170:
+ cleans up returns and 0 */
-:1040: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#1040: FILE: drivers/gpu/drm/xe/xe_vm.c:2172:
+ if (XE_IOCTL_ERR(xe, (xe_vma_start(vma) != addr ||
+ xe_vma_end(vma) != addr + range) && !async))
-:1046: WARNING:BLOCK_COMMENT_STYLE: Block comments use * on subsequent lines
#1046: FILE: drivers/gpu/drm/xe/xe_vm.c:2178:
+ return -ENODATA; /* Not an actual error, IOCTL
+ cleans up returns and 0 */
-:1046: WARNING:BLOCK_COMMENT_STYLE: Block comments use a trailing */ on a separate line
#1046: FILE: drivers/gpu/drm/xe/xe_vm.c:2178:
+ cleans up returns and 0 */
-:1049: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#1049: FILE: drivers/gpu/drm/xe/xe_vm.c:2181:
+ XE_BUG_ON("NOT POSSIBLE");
-:1131: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#1131: FILE: drivers/gpu/drm/xe/xe_vm.c:2234:
+ XE_BUG_ON("NOT POSSIBLE");
-:1293: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#1293: FILE: drivers/gpu/drm/xe/xe_vm.c:2309:
+ XE_BUG_ON(!bo);
-:1324: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#1324: FILE: drivers/gpu/drm/xe/xe_vm.c:2326:
+ XE_BUG_ON("NOT POSSIBLE");
-:1420: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#1420: FILE: drivers/gpu/drm/xe/xe_vm.c:2403:
+ XE_BUG_ON(num_ops_list > 1 && !async);
-:1473: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#1473: FILE: drivers/gpu/drm/xe/xe_vm.c:2432:
+ XE_BUG_ON(!first && !async);
-:1601: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#1601: FILE: drivers/gpu/drm/xe/xe_vm.c:2521:
+ XE_BUG_ON("NOT POSSIBLE");
-:2010: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#2010: FILE: drivers/gpu/drm/xe/xe_vm.c:2687:
+ XE_BUG_ON("NOT POSSIBLE");
-:2119: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#2119: FILE: drivers/gpu/drm/xe/xe_vm.c:2746:
+ XE_BUG_ON("NOT POSSIBLE");
-:2214: WARNING:AVOID_BUG: Do not crash the kernel unless it is absolutely unavoidable--use WARN_ON_ONCE() plus recovery code (if feasible) instead of BUG() or variants
#2214: FILE: drivers/gpu/drm/xe/xe_vm.c:2822:
+ XE_BUG_ON("NOT POSSIBLE");
total: 0 errors, 16 warnings, 1 checks, 2963 lines checked
More information about the Intel-xe
mailing list