✗ CI.checkpatch: warning for drm/xe/mmap: Add mmap support for PCI memory barrier (rev9)

Patchwork patchwork at emeril.freedesktop.org
Mon Jan 13 14:13:13 UTC 2025


== Series Details ==

Series: drm/xe/mmap: Add mmap support for PCI memory barrier (rev9)
URL   : https://patchwork.freedesktop.org/series/139769/
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
30ab6715fc09baee6cc14cb3c89ad8858688d474
+ cd /kernel
+ git config --global --add safe.directory /kernel
+ git log -n1
commit 5322ab3141da3c51825ebe5a53e434c3f1614f80
Author: Tejas Upadhyay <tejas.upadhyay at intel.com>
Date:   Mon Jan 13 17:12:01 2025 +0530

    drm/xe/mmap: Add mmap support for PCI memory barrier
    
    In order to avoid having userspace to use MI_MEM_FENCE,
    we are adding a mechanism for userspace to generate a
    PCI memory barrier with low overhead (avoiding IOCTL call
    as well as writing to VRAM will adds some overhead).
    
    This is implemented by memory-mapping a page as uncached
    that is backed by MMIO on the dGPU and thus allowing userspace
    to do memory write to the page without invoking an IOCTL.
    We are selecting the MMIO so that it is not accessible from
    the PCI bus so that the MMIO writes themselves are ignored,
    but the PCI memory barrier will still take action as the MMIO
    filtering will happen after the memory barrier effect.
    
    When we detect special defined offset in mmap(), We are mapping
    4K page which contains the last of page of doorbell MMIO range
    to userspace for same purpose.
    
    For user to query special offset we are adding special flag in
    mmap_offset ioctl which needs to be passed as follows,
    struct drm_xe_gem_mmap_offset mmo = {
            .handle = 0, /* this must be 0 */
            .flags = DRM_XE_MMAP_OFFSET_FLAG_PCI_BARRIER,
    };
    igt_ioctl(fd, DRM_IOCTL_XE_GEM_MMAP_OFFSET, &mmo);
    map = mmap(NULL, size, PROT_WRITE, MAP_SHARED, fd, mmo);
    
    IGT : https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/b2dbc6f22815128c0dd5c737504f42e1f1a6ad62
    UMD : https://github.com/intel/compute-runtime/pull/772
    
    V7:
      - Dgpu filter added
    V6(MAuld)
      - Move physical mmap to fault handler
      - Modify kernel-doc and attach UMD PR when ready
    V5(MAuld)
      - Return invalid early in case of non 4K PAGE_SIZE
      - Format kernel-doc and add note for 4K PAGE_SIZE HW limit
    V4(MAuld)
      - Add kernel-doc for uapi change
      - Restrict page size to 4K
    V3(MAuld)
      - Remove offset defination from UAPI to be able to change later
      - Edit commit message for special flag addition
    V2(MAuld)
      - Add fault handler with dummy page to handle unplug device
      - Add Build check for special offset to be below normal start page
      - Test d3hot, mapping seems to be valid in d3hot as well
      - Add more info to commit message
    
    Cc: Matthew Auld <matthew.auld at intel.com>
    Acked-by: Michal Mrozek <michal.mrozek at intel.com>
    Reviewed-by: Matthew Auld <matthew.auld at intel.com>
    Signed-off-by: Tejas Upadhyay <tejas.upadhyay at intel.com>
+ /mt/dim checkpatch 77d5af2a7bb2060dcf8cceebb1b0d39f0b9b9fab drm-intel
5322ab3141da drm/xe/mmap: Add mmap support for PCI memory barrier
-:32: WARNING:COMMIT_LOG_LONG_LINE: Prefer a maximum 75 chars per line (possible unwrapped commit description?)
#32: 
IGT : https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/commit/b2dbc6f22815128c0dd5c737504f42e1f1a6ad62

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




More information about the Intel-xe mailing list