[Intel-xe] ✗ CI.checkpatch: warning for PAT and cache coherency support (rev6)

Patchwork patchwork at emeril.freedesktop.org
Thu Sep 28 09:31:41 UTC 2023


== Series Details ==

Series: PAT and cache coherency support (rev6)
URL   : https://patchwork.freedesktop.org/series/123027/
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
63c2b6b160bca2df6efc7bc4cea6f442097d7854
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 55776995fbfb3520f824d7de09076d6d4e316ab2
Author: Matthew Auld <matthew.auld at intel.com>
Date:   Thu Sep 28 10:28:22 2023 +0100

    drm/xe/uapi: support pat_index selection with vm_bind
    
    Allow userspace to directly control the pat_index for a given vm
    binding. This should allow directly controlling the coherency, caching
    and potentially other stuff in the future for the ppGTT binding.
    
    The exact meaning behind the pat_index is very platform specific (see
    BSpec or PRMs) but effectively maps to some predefined memory
    attributes. From the KMD pov we only care about the coherency that is
    provided by the pat_index, which falls into either NONE, 1WAY or 2WAY.
    The vm_bind coherency mode for the given pat_index needs to be at least
    as coherent as the coh_mode that was set at object creation. For
    platforms that lack the explicit coherency mode, we treat UC/WT/WC as
    NONE and WB as AT_LEAST_1WAY.
    
    For userptr mappings we lack a corresponding gem object, so the expected
    coherency mode is instead implicit and must fall into either 1WAY or
    2WAY. Trying to use NONE will be rejected by the kernel. For imported
    dma-buf (from a different device) the coherency mode is also implicit
    and must also be either 1WAY or 2WAY i.e AT_LEAST_1WAY.
    
    v2:
      - Undefined coh_mode(pat_index) can now be treated as programmer
        error. (Matt Roper)
      - We now allow gem_create.coh_mode <= coh_mode(pat_index), rather than
        having to match exactly. This ensures imported dma-buf can always
        just use 1way (or even 2way), now that we also bundle 1way/2way into
        at_least_1way. We still require 1way/2way for external dma-buf, but
        the policy can now be the same for self-import, if desired.
      - Use u16 for pat_index in uapi. u32 is massive overkill. (José)
      - Move as much of the pat_index validation as we can into
        vm_bind_ioctl_check_args. (José)
    v3 (Matt Roper):
      - Split the pte_encode() refactoring into separate patch.
    v4:
      - Rebase
    
    Bspec: 45101, 44235 #xe
    Bspec: 70552, 71582, 59400 #xe2
    Signed-off-by: Matthew Auld <matthew.auld at intel.com>
    Cc: Pallavi Mishra <pallavi.mishra at intel.com>
    Cc: Thomas Hellström <thomas.hellstrom at linux.intel.com>
    Cc: Joonas Lahtinen <joonas.lahtinen at linux.intel.com>
    Cc: Lucas De Marchi <lucas.demarchi at intel.com>
    Cc: Matt Roper <matthew.d.roper at intel.com>
    Cc: José Roberto de Souza <jose.souza at intel.com>
    Cc: Filip Hazubski <filip.hazubski at intel.com>
    Cc: Carl Zhang <carl.zhang at intel.com>
    Cc: Effie Yu <effie.yu at intel.com>
+ /mt/dim checkpatch 7c58b58522cf124dd324fbf95d9dd838fac36bcb drm-intel
8c8f0e00e drm/xe/pat: trim the xelp PAT table
8d607a574 drm/xe: directly use pat_index for pte_encode
323b91909 drm/xe/uapi: Add support for cache and coherency mode
-:43: WARNING:BAD_SIGN_OFF: Non-standard signature: Co-authored-by:
#43: 
Co-authored-by: Matthew Auld <matthew.auld at intel.com>

-:97: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#97: FILE: drivers/gpu/drm/xe/xe_bo.c:1203:
+struct xe_bo *___xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
 				    struct xe_tile *tile, struct dma_resv *resv,

-:134: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#134: FILE: drivers/gpu/drm/xe/xe_bo.c:1357:
+	bo = ___xe_bo_create_locked(xe, bo, tile, vm ? &vm->resv : NULL,
 				   vm && !xe_vm_in_fault_mode(vm) &&

-:267: CHECK:PARENTHESIS_ALIGNMENT: Alignment should match open parenthesis
#267: FILE: drivers/gpu/drm/xe/xe_bo.h:87:
+struct xe_bo *___xe_bo_create_locked(struct xe_device *xe, struct xe_bo *bo,
 				    struct xe_tile *tile, struct dma_resv *resv,

total: 0 errors, 1 warnings, 3 checks, 281 lines checked
6070904f7 drm/xe/pat: annotate pat_index with coherency mode
-:72: WARNING:LONG_LINE: line length of 107 exceeds 100 columns
#72: FILE: drivers/gpu/drm/xe/xe_pat.c:38:
+	void (*program_graphics)(struct xe_gt *gt, const struct xe_pat_table_entry table[], int n_entries);

-:73: WARNING:LONG_LINE: line length of 104 exceeds 100 columns
#73: FILE: drivers/gpu/drm/xe/xe_pat.c:39:
+	void (*program_media)(struct xe_gt *gt, const struct xe_pat_table_entry table[], int n_entries);

total: 0 errors, 2 warnings, 0 checks, 148 lines checked
55776995f drm/xe/uapi: support pat_index selection with vm_bind




More information about the Intel-xe mailing list