• Daniel Vetter's avatar
    Merge tag 'drm-xe-next-2024-02-25' of ssh://gitlab.freedesktop.org/drm/xe/kernel into drm-next · 19b232b9
    Daniel Vetter authored
    
    
    drm/xe feature pull for v6.9:
    
    UAPI Changes:
    
    - New query to the GuC firmware submission version. (José Roberto de Souza)
    - Remove unused persistent exec_queues (Thomas Hellström)
    - Add vram frequency sysfs attributes (Sujaritha Sundaresan, Rodrigo Vivi)
    - Add the flag XE_VM_BIND_FLAG_DUMPABLE to notify devcoredump that mapping
      should be dumped (Maarten Lankhorst)
    
    Cross-drivers Changes:
    
    - Make sure intel_wakeref_t is treated as opaque type on i915-display
      and fix its type on xe
    
    Driver Changes:
    
    - Drop pre-production workarounds (Matt Roper)
    - Drop kunit tests for unsuported platforms: PVC and pre-production DG2 (Lucas De Marchi)
    - Start pumbling SR-IOV support with memory based interrupts
      for VF (Michal Wajdeczko)
    - Allow to map BO in GGTT with PAT index corresponding to
      XE_CACHE_UC to work with memory based interrupts (Michal Wajdeczko)
    - Improve logging with GT-oriented drm_printers (Michal Wajdeczko)
    - Add GuC Doorbells Manager as prep work SR-IOV during
      VF provisioning ((Michal Wajdeczko)
    - Refactor fake device handling in kunit integration ((Michal Wajdeczko)
    - Implement additional workarounds for xe2 and MTL (Tejas Upadhyay,
      Lucas De Marchi, Shekhar Chauhan, Karthik Poosa)
    - Program a few registers according to perfomance guide spec for Xe2 (Shekhar Chauhan)
    - Add error handling for non-blocking communication with GuC (Daniele Ceraolo Spurio)
    - Fix remaining 32b build issues and enable it back (Lucas De  Marchi)
    - Fix build with CONFIG_DEBUG_FS=n (Jani Nikula)
    - Fix warnings from GuC ABI headers (Matthew Brost)
    - Introduce Relay Communication for SR-IOV for VF <-> GuC <-> PF (Michal Wajdeczko)
    - Add mocs reset kunit (Ruthuvikas Ravikumar)
    - Fix spellings (Colin Ian King)
    - Disable mid-thread preemption when not properly supported by hardware (Nirmoy Das)
    - Release mmap mappings on rpm suspend (Badal Nilawar)
    - Fix BUG_ON on xe_exec by moving fence reservation to the validate stage (Matthew Auld)
    - Fix xe_exec by reserving extra fence slot for CPU bind (Matthew Brost)
    - Fix xe_exec with full long running exec queue, now returning
      -EWOULDBLOCK to userspace (Matthew Brost)
    - Fix CT irq handler when CT is disabled (Matthew Brost)
    - Fix VM_BIND_OP_UNMAP_ALL without any bound vmas (Thomas Hellström)
    - Fix missing __iomem annotations (Thomas Hellström)
    - Fix exec queue priority handling with GuC (Brian Welty)
    - Fix setting SLPC flag to GuC when it's not supported (Vinay Belgaumkar)
    - Fix C6 disabling without SLPC (Matt Roper)
    - Drop -Wstringop-overflow to fix build with GCC11 (Paul E. McKenney)
    - Circumvent bogus -Wstringop-overflow in one case (Arnd Bergmann)
    - Refactor exec_queue user extensions handling and fix USM attributes
      being applied too late (Brian Welty)
    - Use circ_buf head/tail convention (Matthew Brost)
    - Fail build if circ_buf-related defines are modified with incompatible values
      (Matthew Brost)
    - Fix several error paths (Dan Carpenter)
    - Fix CCS copy for small VRAM copy chunks (Thomas Hellström)
    - Rework driver initialization order and paths to account for driver running
      in VF mode (Michal Wajdeczko)
    - Initialize GuC earlier during probe to handle driver in VF mode (Michał Winiarski)
    - Fix migration use of MI_STORE_DATA_IMM to write PTEs (Matt Roper)
    - Fix bounds checking in __xe_bo_placement_for_flags (Brian Welty)
    - Drop display dependency on CONFIG_EXPERT (Jani Nikula)
    - Do not hand-roll kstrdup when creating snapshot (Michal Wajdeczko)
    - Stop creating one kunit module per kunit suite (Lucas De Marchi)
    - Reduce scope and constify variables (Thomas Hellström, Jani Nikula, Michal Wajdeczko)
    - Improve and document xe_guc_ct_send_recv() (Michal Wajdeczko)
    - Add proxy communication between CSME and GSC uC (Daniele Ceraolo Spurio)
    - Fix size calculation when writing pgtable (Fei Yang)
    - Make sure cfb is page size aligned in stolen memory (Vinod Govindapillai)
    - Stop printing guc log to dmesg when waiting for GuC fails (Rodrigo Vivi)
    - Use XE_CACHE_WB instead of XE_CACHE_NONE for cpu coherency on migration
      (Himal Prasad Ghimiray)
    - Fix error path in xe_vm_create (Moti Haimovski)
    - Fix warnings in doc generation (Thomas Hellström, Badal Nilawar)
    - Improve devcoredump content for mesa debugging (José Roberto de Souza)
    - Fix crash in trace_dma_fence_init() (José Roberto de Souza)
    - Improve CT state change handling (Matthew Brost)
    - Toggle USM support for Xe2 (Lucas De Marchi)
    - Reduces code duplication to emit PIPE_CONTROL (José Roberto de Souza)
    - Canonicalize addresses where needed for Xe2 and add to devcoredump
      (José Roberto de Souza)
    - Only allow 1 ufence per exec / bind IOCTL (Matthew Brost)
    - Move all display code to display/ (Jani Nikula)
    - Fix sparse warnings by correctly using annotations (Thomas Hellström)
    - Warn on job timeouts instead of using asserts (Matt Roper)
    - Prefix macros to avoid clashes with sparc (Matthew Brost)
    - Fix -Walloc-size by subclassing instead of allocating size smaller than struct (Thomas Hellström)
    - Add status check during gsc header readout (Suraj Kandpal)
    - Fix infinite loop in vm_bind_ioctl_ops_unwind() (Matthew Brost)
    - Fix fence refcounting (Matthew Brost)
    - Fix picking incorrect userptr VMA (Matthew Brost)
    - Fix USM on integrated by mapping both mem.kernel_bb_pool and usm.bb_pool (Matthew Brost)
    - Fix double initialization of display power domains (Xiaoming Wang)
    - Check expected uC versions by major.minor.patch instead of just major.minor (John Harrison)
    - Bump minimum GuC version to 70.19.2 for all platforms under force-probe
      (John Harrison)
    - Add GuC firmware loading for Lunar Lake (John Harrison)
    - Use kzalloc() instead of hand-rolled alloc + memset (Nirmoy Das)
    - Fix max page size of VMA during a REMAP (Matthew Brost)
    - Don't ignore error when pinning pages in kthread (Matthew Auld)
    - Refactor xe hwmon (Karthik Poosa)
    - Add debug logs for D3cold (Riana Tauro)
    - Remove broken TEST_VM_ASYNC_OPS_ERROR (Matthew Brost)
    - Always allow to override firmware blob with module param and improve
      log when no firmware is found (Lucas De Marchi)
    - Fix shift-out-of-bounds due to xe_vm_prepare_vma() accepting zero fences (Thomas Hellström)
    - Fix shift-out-of-bounds by distinguishing xe_pt/xe_pt_dir subclass (Thomas Hellström)
    - Fail driver bind if platform supports MSIX, but fails to allocate all of them (Dani Liberman)
    - Fix intel_fbdev thinking memory is backed by shmem (Matthew Auld)
    - Prefer drm_dbg() over dev_dbg() (Jani Nikula)
    - Avoid function cast warnings with clang-16 (Arnd Bergmann)
    - Enhance xe_bo_move trace (Priyanka Dandamudi)
    - Fix xe_vma_set_pte_size() not setting the right gpuva.flags for 4K size (Matthew Brost)
    - Add XE_VMA_PTE_64K VMA flag (Matthew Brost)
    - Return 2MB page size for compact 64k PTEs (Matthew Brost)
    - Remove usage of the deprecated ida_simple_xx() API (Christophe JAILLET)
    - Fix modpost warning on xe_mocs live kunit module (Ashutosh Dixit)
    - Drop extra newline in from sysfs files (Ashutosh Dixit)
    - Implement VM snapshot support for BO's and userptr (Maarten Lankhorst)
    - Add debug logs when skipping rebinds (Matthew Brost)
    - Fix code generation when mixing build directories (Dafna Hirschfeld)
    - Prefer struct_size over open coded arithmetic (Erick Archer)
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    From: Lucas De Marchi <lucas.demarchi@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/dbdkrwmcoqqlwftuc3olbauazc3pbamj26wa34puztowsnauoh@i3zms7ut4yuw
    19b232b9
xe_drm_client.c 4.5 KB