Skip to content
Tags give the ability to mark specific points in history as being important
  • drm-xe-fixes-2024-04-25
    - Fix error paths on managed allocations
    - Fix PF/VF relay messages
    
  • drm-xe-next-2024-04-23
    UAPI Changes:
    - Remove unused flags (Francois Dugast)
    - Extend uAPI to query HuC micro-controler firmware version (Francois Dugast)
    - drm/xe/uapi: Define topology types as indexes rather than masks
      (Francois Dugast)
    - drm/xe/uapi: Restore flags VM_BIND_FLAG_READONLY and VM_BIND_FLAG_IMMEDIATE
      (Francois Dugast)
    - devcoredump updates. Some touching the output format.
      (José Roberto de Souza, Matthew Brost)
    - drm/xe/hwmon: Add infra to support card power and energy attributes
    - Improve LRC, HWSP and HWCTX error capture. (Maarten Lankhorst)
    - drm/xe/uapi: Add IP version and stepping to GT list query (Matt roper)
    - Invalidate userptr VMA on page pin fault (Matthew Brost)
    - Improve xe_bo_move tracepoint (Priyanka Danamudi)
    - Align fence output format in ftrace log
    
    Cross-driver Changes:
    - drm/i915/hwmon: Get rid of devm (Ashutosh Dixit)
      (Acked-by: Rodrigo Vivi <rodrigo.vivi@intel.com>)
    - drm/i915/display: convert inner wakeref get towards get_if_in_use
      (SOB Rodrigo Vivi)
    - drm/i915: Convert intel_runtime_pm_get_noresume towards raw wakeref
      (Committer, SOB Jani Nikula)
    
    Driver Changes:
    - Fix for unneeded CCS metadata allocation (Akshata Jahagirdar)
    - Fix for fix multicast support for Xe_LP platforms (Andrzej Hajda)
    - A couple of build fixes (Arnd Bergmann)
    - Fix register definition (Ashutosh Dixit)
    - Add BMG mocs table (Balasubramani Vivekanandan)
    - Replace sprintf() across driver (Bommu Krishnaiah)
    - Add an xe2 workaround (Bommu Krishnaiah)
    - Makefile fix (Dafna Hirschfeld)
    - force_wake_get error value check (Daniele Ceraolo Spurio)
    - Handle GSCCS ER interrupt (Daniele Ceraolo Spurio)
    - GSC Workaround (Daniele Ceraolo Spurio)
    - Build error fix (Dawei Li)
    - drm/xe/gt: Add L3 bank mask to GT topology (Francois Dugast)
    - Implement xe2- and GuC workarounds (Gustavo Sousa, Haridhar Kalvala,
      Himal rasad Ghimiray, John Harrison, Matt Roper, Radhakrishna Sripada,
      Vinay Belgaumkar, Badal Nilawar)
    - xe2hpg compression (Himal Ghimiray Prasad)
    - Error code cleanups and fixes (Himal Prasad Ghimiray)
    - struct xe_device cleanup (Jani Nikula)
    - Avoid validating bos when only requesting an exec dma-fence
      (José Roberto de Souza)
    - Remove debug message from migrate_clear (José Roberto de Souza)
    - Nuke EXEC_QUEUE_FLAG_PERSISTENT leftover internal flag (José Roberto de Souza)
    - Mark dpt and related vma as uncached (Juha-Pekka Heikkila)
    - Hwmon updates (Karthik Poosa)
    - KConfig fix when ACPI_WMI selcted (Lu Yao)
    - Update intel_uncore_read*() return types (Luca Coelho)
    - Mocs updates (Lucas De Marchi, Matt Roper)
    - Drop dynamic load-balancing workaround (Lucas De Marchi)
    - Fix a PVC workaround (Lucas De Marchi)
    - Group live kunit tests into a single module (Lucas De Marchi)
    - Various code cleanups (Lucas De Marchi)
    - Fix a ggtt init error patch and move ggtt invalidate out of ggtt lock
      (Maarten Lankhorst)
    - Fix a bo leak (Marten Lankhorst)
    - Add LRC parsing for more GPU instructions (Matt Roper)
    - Add various definitions for hardware and IP (Matt Roper)
    - Define all possible engines in media IP descriptors (Matt Roper)
    - Various cleanups, asserts and code fixes (Matthew Auld)
    - Various cleanups and code fixes (Matthew Brost)
    - Increase VM_BIND number of per-ioctl Ops (Matthew Brost, Paulo Zanoni)
    - Don't support execlists in xe_gt_tlb_invalidation layer (Matthew Brost)
    - Handle timing out of already signaled jobs gracefully (Matthew Brost)
    - Pipeline evict / restore of pinned BOs during suspend / resume (Matthew Brost)
    - Do not grab forcewakes when issuing GGTT TLB invalidation via GuC
      (Matthew Brost)
    - Drop ggtt invalidate from display code (Matthew Brost)
    - drm/xe: Add XE_BO_GGTT_INVALIDATE flag (Matthew Brost)
    - Add debug messages for MMU notifier and VMA invalidate (Matthew Brost)
    - Use ordered wq for preempt fence waiting (Matthew Brost)
    - Initial development for SR-IOV support including some refactoring
      (Michal Wajdeczko)
    - Various GuC- and GT- related cleanups and fixes (Michal Wajdeczko)
    - Move userptr over to start using hmm_range_fault (Oak Zeng)
    - Add new PCI IDs to DG2 platform (Ravi Kumar Vodapalli)
    - Pcode - and VRAM initialization check update (Riana Tauro)
    - Large PM update including i915 display patches, and a fix for one of those.
      (Rodrigo Vivi)
    - Introduce performance tuning changes for Xe2_HPG (Shekhar Chauhan)
    - GSC / HDCP updates (Suraj Kandpal)
    - Minor code cleanup (Tejas Upadhyay)
    - Rework / fix rebind TLB flushing and move rebind into the drm_exec locking loop
      (Thomas Hellström)
    - Backmerge (Thomas Hellström)
    - GuC updates and fixes (Vinay Belgaumkar, Zhanjun Dong)
    
  • drm-xe-fixes-2024-04-18
    - Fix bo leak on error path during fb init
    - Fix use-after-free due to order vm is put and destroyed
    
  • drm-xe-fixes-2024-04-11
    - Fix double display mutex initializations
    - Fix u32 -> u64 implicit conversions
    - Fix RING_CONTEXT_CONTROL not marked as masked
    
  • drm-xe-fixes-2024-04-04
    - Stop using system_unbound_wq for preempt fences,
      as this can cause starvation when reaching more
      than max_active defined by workqueue
    - Fix saving unordered rebinding fences by attaching
      them as kernel feces to the vm's resv
    - Fix TLB invalidation fences completing out of order
    - Move rebind TLB invalidation to the ring ops to reduce
      the latency
    
  • drm-xe-fixes-2024-03-26
    - Fix build on mips
    - Fix wrong bound checks
    - Fix use of msec rather than jiffies
    - Remove dead code
    
  • drm-xe-next-fixes-2024-03-14
    Driver changes:
    
    - Invalidate userptr VMA on page pin fault, allowing userspace
      to free userptr while still having bindings
    - Fail early on sysfs file creation error
    - Skip VMA pinning on xe_exec with num_batch_buffer == 0
    
  • drm-xe-fixes-2024-03-07
    Driver Changes:
    - An error path fix.
    
  • drm-xe-next-fixes-2024-03-04
    Driver Changes:
    
    - Fix kunit link failure with built-in xe
    - Fix one more 32-bit build failure with ARM compiler
    - Fix initialization order of topology struct
    - Cleanup unused fields in struct xe_vm
    - Fix xe_vm leak when handling page fault on a VM not in fault mode
    - Drop use of "grouped target" feature in Makefile since that's
      only available in make >= 4.3
    
  • drm-xe-fixes-2024-02-29
    UAPI Changes:
    - A couple of tracepoint updates from Priyanka and Lucas.
    - Make sure BINDs are completed before accepting UNBINDs on LR vms.
    - Don't arbitrarily restrict max number of batched binds.
    - Add uapi for dumpable bos (agreed on IRC).
    - Remove unused uapi flags and a leftover comment.
    
    Driver Changes:
    - A couple of fixes related to the execlist backend.
    
  • drm-xe-next-2024-02-25
    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)
    
  • drm-xe-fixes-2024-02-22
    UAPI Changes:
    - Remove support for persistent exec_queues
    - Drop a reduntant sysfs newline printout
    
    Cross-subsystem Changes:
    
    Core Changes:
    
    Driver Changes:
    - A three-patch fix for a VM_BIND rebind optimization path
    - Fix a modpost warning on an xe KUNIT module
    
  • drm-xe-fixes-2024-02-15
    Driver Changes:
    - Fix an out-of-bounds shift.
    - Fix the display code thinking xe uses shmem
    - Fix a warning about index out-of-bound
    - Fix a clang-16 compilation warning
    
  • drm-xe-fixes-2024-02-08
    Driver Changes:
    - Fix a loop in an error path
    - Fix a missing dma-fence reference
    - Fix a retry path on userptr REMAP
    - Workaround for a false gcc warning
    - Fix missing map of the usm batch buffer
      in the migrate vm.
    - Fix a memory leak.
    - Fix a bad assumption of used page size
    - Fix hitting a BUG() due to zero pages to map.
    - Remove some leftover async bind queue relics
    
  • drm-xe-fixes-2024-02-01
    UAPI Changes:
    - Only allow a single user-fence per exec / bind.
      The reason for this clarification fix is a limitation in the implementation
      which can be lifted moving forward, if needed.
    
    Driver Changes:
    - A crash fix
    - A fix for an assert due to missing mem_acces ref
    - Only allow a single user-fence per exec / bind.
    - Some sparse warning fixes
    - Two fixes for compilation failures on various odd
      combinations of gcc / arch pointed out on LKML.
    - Fix a fragile partial allocation pointed out on LKML.
    
    Cross-driver Change:
    - A sysfs ABI documentation warning fix
      This also touches i915 and is acked by i915 maintainers.
    
  • drm-xe-fixes-2024-01-25
    Driver Changes:
    - Make an ops struct static
    - Fix an implicit 0 to NULL conversion
    - A couple of 32-bit fixes
    - A migration coherency fix for Lunar Lake.
    - An error path vm id leak fix
    - Remove PVC references in kunit tests
    
  • drm-xe-next-fixes-2024-01-16
    Driver Changes:
    - Fix for definition of wakeref_t
    - Fix for an error code aliasing
    - Fix for VM_UNBIND_ALL in the case there are no bound VMAs
    - Fixes for a number of __iomem address space mismatches reported by sparse
    - Fixes for the assignment of exec_queue priority
    - A Fix for skip_guc_pc not taking effect
    - Workaround for a build problem on GCC 11
    - A couple of fixes for error paths
    - Fix a Flat CCS compression metadata copy issue
    - Fix a misplace array bounds checking
    - Don't have display support depend on EXPERT (as discussed on IRC)
    
  • archive/drm-xe-next-2024-01-16
  • archive/drm-xe-next-2024-01-12
  • drm-xe-next-fixes-2023-12-26
    - Fix couple unfined behavior cases to calm UBSAN and clang (Matt Brost, Lucas)