[PULL] drm-xe-next

Rodrigo Vivi rodrigo.vivi at intel.com
Wed Jun 26 22:32:21 UTC 2024


Hi Dave and Sima,

Here goes our likely last pull-request towards 6.11.
If some last minute thing shows up a small one might come
next Tuesday.

Thanks,
Rodrigo.

drm-xe-next-2024-06-26:

UAPI Changes:
- New uapi adding OA functionality to Xe (Ashutosh)

Cross-subsystem Changes:
- devcoredump: Add dev_coredumpm_timeout (Jose)

Driver Changes:
- More SRIOV preparation, including GuC communication improvements (Michal)
- Kconfig update: do not select ACPI_BUTTON (Jani)
- Rework GPU page fault handling (Brost)
- Forcewake clean-up and fixes (Himal, Michal)
- Drop EXEC_QUEUE_FLAG_BANNED (Brost)
- Xe/Xe2 Workarounds fixes and additions (Tejas, Akshata, Sai, Vinay)
- Xe devcoredump changes (Jose)
- Tracing cleanup and add mmio tracing (RK)
- Add BMG PCI IDs (Roper)
- Scheduler fixes and improvements (Brost)
- Some overal driver clean-up around headers and print macros (Michal)
- Rename xe_exec_queue::compute to xe_exec_queue::lr (Francois)
- Improve RTP rules to allow easier 'OR' conditions in WA declaration (Lucas)
- Use ttm_uncached for BO with NEEDS_UC flag (Michal)
- Other OA related work and fixes (Ashutosh, Michal, Jose)
- Simplify locking in new_vma (Brost)
- Remove xe_irq_shutdown (Ilia)
The following changes since commit 541b1b0a8fc235bca355921eb7f3f59a8efa3e9a:

  agp: add missing MODULE_DESCRIPTION() macros (2024-06-24 16:20:58 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-06-26

for you to fetch changes up to 406d058dc323ae152d380ac90153eb56a75850c1:

  drm/xe/oa/uapi: Allow preemption to be disabled on the stream exec queue (2024-06-26 18:25:46 -0400)

----------------------------------------------------------------
UAPI Changes:
- New uapi adding OA functionality to Xe (Ashutosh)

Cross-subsystem Changes:
- devcoredump: Add dev_coredumpm_timeout (Jose)

Driver Changes:
- More SRIOV preparation, including GuC communication improvements (Michal)
- Kconfig update: do not select ACPI_BUTTON (Jani)
- Rework GPU page fault handling (Brost)
- Forcewake clean-up and fixes (Himal, Michal)
- Drop EXEC_QUEUE_FLAG_BANNED (Brost)
- Xe/Xe2 Workarounds fixes and additions (Tejas, Akshata, Sai, Vinay)
- Xe devcoredump changes (Jose)
- Tracing cleanup and add mmio tracing (RK)
- Add BMG PCI IDs (Roper)
- Scheduler fixes and improvements (Brost)
- Some overal driver clean-up around headers and print macros (Michal)
- Rename xe_exec_queue::compute to xe_exec_queue::lr (Francois)
- Improve RTP rules to allow easier 'OR' conditions in WA declaration (Lucas)
- Use ttm_uncached for BO with NEEDS_UC flag (Michal)
- Other OA related work and fixes (Ashutosh, Michal, Jose)
- Simplify locking in new_vma (Brost)
- Remove xe_irq_shutdown (Ilia)

----------------------------------------------------------------
Akshata Jahagirdar (1):
      drm/xe/xe2lpg: Add Wa_14021490052

Ashutosh Dixit (21):
      drm/xe/perf/uapi: "Perf" layer to support multiple perf counter stream types
      drm/xe/perf/uapi: Add perf_stream_paranoid sysctl
      drm/xe/oa/uapi: Add OA data formats
      drm/xe/oa/uapi: Initialize OA units
      drm/xe/oa/uapi: Add/remove OA config perf ops
      drm/xe/oa/uapi: Define and parse OA stream properties
      drm/xe/oa: OA stream initialization (OAG)
      drm/xe/oa/uapi: Expose OA stream fd
      drm/xe/oa/uapi: Read file_operation
      drm/xe/oa: Add OAR support
      drm/xe/oa: Add OAC support
      drm/xe/oa/uapi: Query OA unit properties
      drm/xe/oa/uapi: OA buffer mmap
      drm/xe/oa: Add MMIO trigger support
      drm/xe/oa: Override GuC RC with OA on PVC
      drm/xe/oa: Changes to OA_TAKEN
      drm/xe/oa: Enable Xe2+ overrun mode
      drm/xe/oa: Remove WARN_ON's for unsupported configurations
      drm/xe/oa: Fix kernel doc in xe_drm.h
      drm/xe/oa: Allow stream enable/disable functions to return error
      drm/xe/oa/uapi: Allow preemption to be disabled on the stream exec queue

Francois Dugast (2):
      drm/xe/sched_job: Promote xe_sched_job_add_deps()
      drm/xe/exec_queue: Rename xe_exec_queue::compute to xe_exec_queue::lr

Himal Prasad Ghimiray (3):
      drm/xe: Cleanup force wake registers bit definitions
      drm/xe: Ensure caller uses sole domain for xe_force_wake_assert_held
      drm/xe: Check valid domain is passed in xe_force_wake_ref

Ilia Levi (1):
      drm/xe/irq: remove xe_irq_shutdown

Jani Nikula (1):
      drm/xe: do not select ACPI_BUTTON

José Roberto de Souza (3):
      devcoredump: Add dev_coredumpm_timeout()
      drm/xe: Increase devcoredump timeout
      drm/xe/oa: Call xe_oa_emit_oa_config() with new config when updating config

Lucas De Marchi (5):
      drm/xe/rtp: Allow to match 0 sr entries
      drm/xe/rtp: Expand max rules/actions per entry
      drm/xe/rtp: Allow to OR rules
      drm/xe/rtp: Add match on any GT
      drm/xe/xe2: Add proper check for media in Wa_14020756599

Matt Roper (1):
      drm/xe/bmg: Add PCI IDs

Matthew Brost (15):
      drm/xe: Rework GPU page fault handling
      drm/xe: Drop EXEC_QUEUE_FLAG_BANNED
      drm/xe: Add LRC ctx timestamp support functions
      drm/xe: Add MI_COPY_MEM_MEM GPU instruction definitions
      drm/xe: Emit ctx timestamp copy in ring ops
      drm/xe: Add ctx timestamp to LRC snapshot
      drm/xe: Add xe_gt_clock_interval_to_ms helper
      drm/xe: Improve unexpected state error messages
      drm/xe: Assert runnable state in handle_sched_done
      drm/xe: Add GuC state asserts to deregister_exec_queue
      drm/xe: Add pending disable assert to handle_sched_done
      drm/xe: Add killed, banned, or wedged as stick bit during GuC reset
      drm/xe: Sample ctx timestamp to determine if jobs have timed out
      drm/xe: Invert runnable_state / pending enable check and assert
      drm/xe: Simplify locking in new_vma

Michal Wajdeczko (38):
      drm/xe/guc: Split g2h worker function
      drm/xe/guc: Allow CTB G2H processing without G2H IRQ
      drm/xe/pf: Assert LMEM provisioning is done only on DGFX
      drm/xe/guc: Move H2G SETUP_PC_GUCRC definition to SLPC ABI
      drm/xe/guc: Add pc_to_ct() helper
      drm/xe/guc: Prefer GT oriented messages in xe_guc_pc
      drm/xe/guc: Drop unused legacy GuC message ABI definitions
      drm/xe/guc: Add kernel-doc for HXG Fast Request
      drm/xe: Prefer GT oriented messages in xe_force_wake.c
      drm/xe: Kill fw_to_gt() helper
      drm/xe: Include additional info on failed force-wake operation
      drm/xe: Combine common force-wake code into helpers
      drm/xe/vf: Ignore force-wake requests if VF
      drm/xe/vf: Use correct check for being a VF driver
      drm/xe: Drop duplicated declaration
      drm/xe: Use fixed CCS mode when running in SR-IOV mode
      drm/xe/uc: Fix and start using xe_uc_fw_sanitize()
      drm/xe: Allow const pointer when checking SR-IOV mode
      drm/xe/vf: Don't touch GuC irq registers if using memory irqs
      drm/xe: Use ttm_uncached for BO with NEEDS_UC flag
      drm/xe/guc: Move ARAT interrupts enabling to the upload step
      drm/xe/oa: Fix potential NPD when OA is not initialized
      drm/xe/vf: Disable features that do not apply to VFs
      drm/xe/vf: Don't run any save-restore RTP actions if VF
      drm/xe/vf: Don't apply tile workarounds if VF
      drm/xe/vf: Don't change hwe IRQ masks if using memory IRQs
      drm/xe/vf: Don't initialize OA if VF
      drm/xe/vf: Don't support gtidle if VF
      drm/xe/vf: Don't use register based TLB invalidation if VF
      drm/xe/vf: Skip engine ring enabling if VF
      drm/xe/vf: Custom HuC initialization if VF
      drm/xe/huc: Use GT oriented error messages in xe_huc.c
      drm/xe/vf: Skip attempt to start GuC PC if VF
      drm/xe/guc: Demote the H2G retry log message to debug
      drm/xe/guc: Add more GuC error codes to ABI
      drm/xe/guc: Print GuC error codes as hex value
      drm/xe/pf: Trigger explicit FLR while disabling VFs
      drm/xe/pf: Disable VFs on remove

Radhakrishna Sripada (6):
      drm/xe/trace: Extract bo, vm, vma traces
      drm/xe/trace: Extract guc related traces
      drm/xe/trace: Print device_id in xe_trace_bo events
      drm/xe/trace: Print device_id in xe_trace_guc events
      drm/xe/trace: Print device_id in xe_trace events
      drm/xe: Add reg read/write trace

Rodrigo Vivi (2):
      Merge drm/drm-next into drm-xe-next
      Merge drm/drm-next into drm-xe-next

Sai Teja Pottumuttu (1):
      drm/xe/xelpgp: Extend Wa_14019877138 to graphics 12.74

Tejas Upadhyay (1):
      drm/xe/xe2lpm: Fixup Wa_14020756599

Vinay Belgaumkar (2):
      drm/xe/lnl: Apply Wa_22019338487
      drm/xe/guc: Request max GT freq during resume

 drivers/base/devcoredump.c                       |   23 +-
 drivers/gpu/drm/xe/Kconfig                       |    1 -
 drivers/gpu/drm/xe/Makefile                      |    7 +
 drivers/gpu/drm/xe/abi/guc_actions_abi.h         |    6 -
 drivers/gpu/drm/xe/abi/guc_actions_slpc_abi.h    |   22 +
 drivers/gpu/drm/xe/abi/guc_errors_abi.h          |   31 +
 drivers/gpu/drm/xe/abi/guc_messages_abi.h        |   41 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c           |    4 +-
 drivers/gpu/drm/xe/instructions/xe_mi_commands.h |    5 +
 drivers/gpu/drm/xe/regs/xe_engine_regs.h         |    2 +
 drivers/gpu/drm/xe/regs/xe_gt_regs.h             |   11 +-
 drivers/gpu/drm/xe/regs/xe_oa_regs.h             |  100 +
 drivers/gpu/drm/xe/tests/xe_rtp_test.c           |   64 +-
 drivers/gpu/drm/xe/xe_bo.c                       |   11 +-
 drivers/gpu/drm/xe/xe_devcoredump.c              |    8 +-
 drivers/gpu/drm/xe/xe_device.c                   |   45 +-
 drivers/gpu/drm/xe/xe_device_types.h             |    4 +
 drivers/gpu/drm/xe/xe_exec.c                     |    8 +-
 drivers/gpu/drm/xe/xe_exec_queue.c               |    8 +-
 drivers/gpu/drm/xe/xe_exec_queue_types.h         |   26 +-
 drivers/gpu/drm/xe/xe_force_wake.c               |  102 +-
 drivers/gpu/drm/xe/xe_force_wake.h               |   13 +-
 drivers/gpu/drm/xe/xe_ggtt.c                     |   42 +-
 drivers/gpu/drm/xe/xe_ggtt.h                     |    1 -
 drivers/gpu/drm/xe/xe_ggtt_types.h               |   12 +-
 drivers/gpu/drm/xe/xe_gsc.c                      |    5 +
 drivers/gpu/drm/xe/xe_gt.c                       |   24 +
 drivers/gpu/drm/xe/xe_gt.h                       |    1 +
 drivers/gpu/drm/xe/xe_gt_ccs_mode.c              |    9 +-
 drivers/gpu/drm/xe/xe_gt_clock.c                 |   20 +
 drivers/gpu/drm/xe/xe_gt_clock.h                 |    1 +
 drivers/gpu/drm/xe/xe_gt_idle.c                  |   16 +
 drivers/gpu/drm/xe/xe_gt_pagefault.c             |  144 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c       |   15 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c      |   21 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h      |    1 +
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c      |   31 +-
 drivers/gpu/drm/xe/xe_gt_types.h                 |    4 +
 drivers/gpu/drm/xe/xe_guc.c                      |   33 +-
 drivers/gpu/drm/xe/xe_guc_ct.c                   |   72 +-
 drivers/gpu/drm/xe/xe_guc_ct_types.h             |    2 +
 drivers/gpu/drm/xe/xe_guc_pc.c                   |  204 +-
 drivers/gpu/drm/xe/xe_guc_pc.h                   |    5 +
 drivers/gpu/drm/xe/xe_guc_pc_types.h             |    4 +
 drivers/gpu/drm/xe/xe_guc_submit.c               |  346 ++-
 drivers/gpu/drm/xe/xe_huc.c                      |   30 +-
 drivers/gpu/drm/xe/xe_hw_engine.c                |    4 +-
 drivers/gpu/drm/xe/xe_hw_engine_types.h          |    2 +
 drivers/gpu/drm/xe/xe_irq.c                      |    8 +-
 drivers/gpu/drm/xe/xe_irq.h                      |    1 -
 drivers/gpu/drm/xe/xe_lrc.c                      |   89 +-
 drivers/gpu/drm/xe/xe_lrc.h                      |    6 +
 drivers/gpu/drm/xe/xe_migrate.c                  |   28 +-
 drivers/gpu/drm/xe/xe_mmio.c                     |   23 +-
 drivers/gpu/drm/xe/xe_module.c                   |    5 +
 drivers/gpu/drm/xe/xe_oa.c                       | 2510 ++++++++++++++++++++++
 drivers/gpu/drm/xe/xe_oa.h                       |   27 +
 drivers/gpu/drm/xe/xe_oa_types.h                 |  242 +++
 drivers/gpu/drm/xe/xe_pci.c                      |    8 +-
 drivers/gpu/drm/xe/xe_pci_sriov.c                |   14 +
 drivers/gpu/drm/xe/xe_perf.c                     |   92 +
 drivers/gpu/drm/xe/xe_perf.h                     |   20 +
 drivers/gpu/drm/xe/xe_preempt_fence.c            |    2 +-
 drivers/gpu/drm/xe/xe_pt.c                       |    8 +-
 drivers/gpu/drm/xe/xe_query.c                    |   77 +
 drivers/gpu/drm/xe/xe_reg_whitelist.c            |   24 +-
 drivers/gpu/drm/xe/xe_ring_ops.c                 |   21 +
 drivers/gpu/drm/xe/xe_rtp.c                      |   45 +-
 drivers/gpu/drm/xe/xe_rtp.h                      |   69 +-
 drivers/gpu/drm/xe/xe_rtp_helpers.h              |    2 +
 drivers/gpu/drm/xe/xe_rtp_types.h                |    3 +
 drivers/gpu/drm/xe/xe_sched_job.c                |    6 +
 drivers/gpu/drm/xe/xe_sched_job.h                |    3 +
 drivers/gpu/drm/xe/xe_sriov.h                    |    6 +-
 drivers/gpu/drm/xe/xe_trace.h                    |  380 +---
 drivers/gpu/drm/xe/xe_trace_bo.c                 |    9 +
 drivers/gpu/drm/xe/xe_trace_bo.h                 |  247 +++
 drivers/gpu/drm/xe/xe_trace_guc.c                |    9 +
 drivers/gpu/drm/xe/xe_trace_guc.h                |  110 +
 drivers/gpu/drm/xe/xe_uc_fw.h                    |    2 +-
 drivers/gpu/drm/xe/xe_vm.c                       |  101 +-
 drivers/gpu/drm/xe/xe_wa.c                       |   25 +-
 drivers/gpu/drm/xe/xe_wa.h                       |    2 -
 drivers/gpu/drm/xe/xe_wa_oob.rules               |    1 +
 include/drm/intel/xe_pciids.h                    |    7 +
 include/linux/devcoredump.h                      |   53 +-
 include/uapi/drm/xe_drm.h                        |  308 +++
 87 files changed, 5355 insertions(+), 829 deletions(-)
 create mode 100644 drivers/gpu/drm/xe/regs/xe_oa_regs.h
 create mode 100644 drivers/gpu/drm/xe/xe_oa.c
 create mode 100644 drivers/gpu/drm/xe/xe_oa.h
 create mode 100644 drivers/gpu/drm/xe/xe_oa_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_perf.c
 create mode 100644 drivers/gpu/drm/xe/xe_perf.h
 create mode 100644 drivers/gpu/drm/xe/xe_trace_bo.c
 create mode 100644 drivers/gpu/drm/xe/xe_trace_bo.h
 create mode 100644 drivers/gpu/drm/xe/xe_trace_guc.c
 create mode 100644 drivers/gpu/drm/xe/xe_trace_guc.h


More information about the dri-devel mailing list