mbox series

[PULL] drm-xe-next

Message ID Z1ofx-fExLQKV_e4@intel.com (mailing list archive)
State New
Headers show
Series [PULL] drm-xe-next | expand

Pull-request

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-12-11

Message

Rodrigo Vivi Dec. 11, 2024, 11:27 p.m. UTC
Hi Dave and Sima,

Here goes our first Xe PR towards 6.14.

It's important to highlight that in couple backmerges we had to
manually solve some silent conflicts:

1. Namespace conflict issue caused by
commit cdd30ebb1b9f ("module: Convert symbol namespace to string literal")
and commit 0c45e76fcc62 ("drm/xe/vsec: Support BMG devices"):

- MODULE_IMPORT_NS(INTEL_VSEC);
+ MODULE_IMPORT_NS("INTEL_VSEC");

2. Duplication of a flush work chunk. In this case here the solution
was taken as an extra patch on top of the merge:
commit be15f0bc4a95 ("drm/xe: Fix drm-next merge")

I hope this is okay and that those are transparent to you when merging.
Otherwise please let me know if we need to change some of the history here.

Thanks,
Rodrigo.

drm-xe-next-2024-12-11:
UAPI Changes:
 - Make OA buffer size configurable (Sai)

Display Changes (including i915):
 - Fix ttm_bo_access() usage (Auld)
 - Power request asserting/deasserting for Xe3lpd (Mika)
 - One Type-C conversion towards struct intel_display (Mika)

Driver Changes:
 - GuC capture related fixes (Everest, Zhanjun)
 - Move old workaround to OOB infra (Lucas)
 - Compute mode change refactoring (Bala)
 - Add ufence and g2h flushes for LNL Hybrid timeouts (Nirmoy)
 - Avoid unnecessary OOM kills (Thomas)
 - Restore system memory GGTT mappings (Brost)
 - Fix build error for XE_IOCTL_DBG macro (Gyeyoung)
 - Documentation updates and fixes (Lucas, Randy)
 - A few exec IOCTL fixes (Brost)
 - Fix potential GGTT allocation leak (Michal)
 - Fix races on fdinfo (Lucas)
 - SRIOV VF: Post-migration recovery worker basis (Tomasz)
 - GuC Communication fixes and improvements (Michal, John, Tomasz, Auld, Jonathan)
 - SRIOV PF: Add support for VF scheduling priority
 - Trace improvements (Lucas, Auld, Oak)
 - Hibernation on igpu fixes and improvements (Auld)
 - GT oriented logs/asserts improvements (Michal)
 - Take job list lock in xe_sched_first_pending_job (Nirmoy)
 - GSC: Improve SW proxy error checking and logging (Daniele)
 - GuC crash notifications & drop default log verbosity (John)
 - Fix races on fdinfo (Lucas)
 - Fix runtime_pm handling in OA (Ashutosh)
 - Allow fault injection in vm create and vm bind IOCTLs (Francois)
 - TLB invalidation fixes (Nirmoy, Daniele)
 - Devcoredump Improvements, doc and fixes (Brost, Lucas, Zhanjun, John)
 - Wake up waiters after setting ufence->signalled (Nirmoy)
 - Mark preempt fence workqueue as reclaim (Brost)
 - Trivial header/flags cleanups (Lucas)
 - VRAM drop 2G block restriction (Auld)
 - Drop useless d3cold allowed message (Brost)
 - SRIOV PF: Drop 2GiB limit of fair LMEM allocation (Michal)
 - Add another PTL PCI ID (Atwood)
 - Allow bo mapping on multiple ggtts (Niranjana)
 - Add support for GuC-to-GuC communication (John)
 - Update xe2_graphics name string (Roper)
 - VRAM: fix lpfn check (Auld)
 - Ad Xe3 workaround (Apoorva)
 - Migrate fixes (Auld)
 - Fix non-contiguous VRAM BO access (Brost)
 - Log throttle reasons (Raag)
 - Enable PMT support for BMG (Michael)
 - IRQ related fixes and improvements (Ilia)
 - Avoid evicting object of the same vm in none fault mode (Oak)
 - Fix in tests (Nirmoy)
 - Fix ERR_PTR handling (Mirsad)
 - Some reg_sr/whitelist fixes and refactors (Lucas)
The following changes since commit fac04efc5c793dccbd07e2d59af9f90b7fc0dca4:

  Linux 6.13-rc2 (2024-12-08 14:03:39 -0800)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-12-11

for you to fetch changes up to 4d79a1266d4cc3c967bc8823502466cad1ac8514:

  drm/xe: Make irq enabled flag atomic (2024-12-11 13:20:53 -0500)

----------------------------------------------------------------
UAPI Changes:
 - Make OA buffer size configurable (Sai)

Display Changes (including i915):
 - Fix ttm_bo_access() usage (Auld)
 - Power request asserting/deasserting for Xe3lpd (Mika)
 - One Type-C conversion towards struct intel_display (Mika)

Driver Changes:
 - GuC capture related fixes (Everest, Zhanjun)
 - Move old workaround to OOB infra (Lucas)
 - Compute mode change refactoring (Bala)
 - Add ufence and g2h flushes for LNL Hybrid timeouts (Nirmoy)
 - Avoid unnecessary OOM kills (Thomas)
 - Restore system memory GGTT mappings (Brost)
 - Fix build error for XE_IOCTL_DBG macro (Gyeyoung)
 - Documentation updates and fixes (Lucas, Randy)
 - A few exec IOCTL fixes (Brost)
 - Fix potential GGTT allocation leak (Michal)
 - Fix races on fdinfo (Lucas)
 - SRIOV VF: Post-migration recovery worker basis (Tomasz)
 - GuC Communication fixes and improvements (Michal, John, Tomasz, Auld, Jonathan)
 - SRIOV PF: Add support for VF scheduling priority
 - Trace improvements (Lucas, Auld, Oak)
 - Hibernation on igpu fixes and improvements (Auld)
 - GT oriented logs/asserts improvements (Michal)
 - Take job list lock in xe_sched_first_pending_job (Nirmoy)
 - GSC: Improve SW proxy error checking and logging (Daniele)
 - GuC crash notifications & drop default log verbosity (John)
 - Fix races on fdinfo (Lucas)
 - Fix runtime_pm handling in OA (Ashutosh)
 - Allow fault injection in vm create and vm bind IOCTLs (Francois)
 - TLB invalidation fixes (Nirmoy, Daniele)
 - Devcoredump Improvements, doc and fixes (Brost, Lucas, Zhanjun, John)
 - Wake up waiters after setting ufence->signalled (Nirmoy)
 - Mark preempt fence workqueue as reclaim (Brost)
 - Trivial header/flags cleanups (Lucas)
 - VRAM drop 2G block restriction (Auld)
 - Drop useless d3cold allowed message (Brost)
 - SRIOV PF: Drop 2GiB limit of fair LMEM allocation (Michal)
 - Add another PTL PCI ID (Atwood)
 - Allow bo mapping on multiple ggtts (Niranjana)
 - Add support for GuC-to-GuC communication (John)
 - Update xe2_graphics name string (Roper)
 - VRAM: fix lpfn check (Auld)
 - Ad Xe3 workaround (Apoorva)
 - Migrate fixes (Auld)
 - Fix non-contiguous VRAM BO access (Brost)
 - Log throttle reasons (Raag)
 - Enable PMT support for BMG (Michael)
 - IRQ related fixes and improvements (Ilia)
 - Avoid evicting object of the same vm in none fault mode (Oak)
 - Fix in tests (Nirmoy)
 - Fix ERR_PTR handling (Mirsad)
 - Some reg_sr/whitelist fixes and refactors (Lucas)

----------------------------------------------------------------
Apoorva Singh (1):
      drm/xe/xe3lpg: Add Wa_16024792527

Ashutosh Dixit (1):
      drm/xe/oa: Fix "Missing outer runtime PM protection" warning

Balasubramani Vivekanandan (2):
      drm/xe: Set mask bits for CCS_MODE register
      drm/xe: Use the filelist from drm for ccs_mode change

Daniele Ceraolo Spurio (2):
      drm/xe/gsc: Improve SW proxy error checking and logging
      drm/xe: Call invalidation_fence_fini for PT inval fences in error state

Everest K.C. (1):
      drm/xe/guc: Fix dereference before NULL check

Francois Dugast (1):
      drm/xe: Allow fault injection in vm create and vm bind IOCTLs

Gyeyoung Baek (1):
      drm/xe: Fix build error for XE_IOCTL_DBG macro

Ilia Levi (2):
      drm/xe: Use managed BO in memirq
      drm/xe: Make irq enabled flag atomic

John Harrison (7):
      drm/xe/guc: Reduce default GuC log verbosity
      drm/xe/guc: Support crash dump notification from GuC
      drm/xe/guc: Add support for G2G communications
      drm/xe: Add a reason string to the devcoredump
      drm/xe: Move the coredump registration to the worker thread
      drm/xe: Add mutex locking to devcoredump
      drm/xe/guc: Fix for dead CT dump not re-arming

Jonathan Cavitt (1):
      drm/xe/xe_guc_ads: Add nonpriv registers to write list

Lucas De Marchi (19):
      drm/xe: Move Wa 1607983814 to oob
      drm/xe: Fix drm-next merge
      drm/xe: Improve devcoredump documentation
      drm/xe: Wire up devcoredump in documentation
      drm/xe: Fix case for asserts in documentation
      drm/xe: Add trace to lrc timestamp update
      drm/xe: Stop accumulating LRC timestamp on job_free
      drm/xe: Reword exec_queue and vm lock doc
      drm/xe: Add gt_id to xe_sched_job traces
      drm/xe: Wait on killed exec queues
      drm/xe: Sample gpu timestamp closer to exec queues
      drm/xe: Include xe_oa_types.h
      drm/xe: Drop HAS_HECI_*
      drm/xe: Split xe_gt_stat.h
      drm/xe: Sort again the info flags
      drm/xe/reg_sr: Remove register pool
      drm/xe/reg_sr: Convert whitelist to gt logging
      drm/xe/reg_sr: Stop setting all whitelist slots
      drm/xe: Apply whitelist to engine save-restore

Matt Atwood (1):
      drm/xe/ptl: Add another PTL PCI ID

Matt Roper (1):
      drm/xe: Update xe2_graphics name string

Matthew Auld (10):
      drm/xe: improve hibernation on igpu
      drm/xe: handle flat ccs during hibernation on igpu
      drm/xe/vram: drop 2G block restriction
      drm/xe/vram: fix lpfn check
      drm/xe/trace: improve xe_sched_msg trace
      drm/xe/guc_submit: fix race around pending_disable
      drm/xe/guc_submit: fix race around suspend_pending
      drm/xe/migrate: fix pat index usage
      drm/xe/migrate: use XE_BO_FLAG_PAGETABLE
      drm/xe/display: fix ttm_bo_access() usage

Matthew Brost (21):
      drm/xe: Restore system memory GGTT mappings
      drm/xe: Fix possible exec queue leak in exec IOCTL
      drm/xe: Drop VM dma-resv lock on xe_sync_in_fence_get failure in exec IOCTL
      drm/xe: Ensure all locks released in exec IOCTL
      drm/xe: Add xe_ring_lrc_is_idle() helper
      drm/xe: Add ring address to LRC snapshot
      drm/xe: Add ring start to LRC snapshot
      drm/xe: Add exec queue param to devcoredump
      drm/xe: Improve schedule disable response failure
      drm/xe: Change xe_engine_snapshot_capture_for_job to be for queue
      drm/xe: Wire devcoredump to LR TDR
      drm/xe: Mark preempt fence workqueue as reclaim
      drm/xe: Drop useless d3cold allowed message
      drm/xe: Add xe_bo_vm_access
      drm/ttm: Add ttm_bo_access
      drm/xe: Add xe_ttm_access_memory
      drm/xe: Take PM ref in delayed snapshot capture worker
      drm/xe/display: Update intel_bo_read_from_page to use ttm_bo_access
      drm/xe: Use ttm_bo_access in xe_vm_snapshot_capture_delayed
      drm/xe: Set XE_BO_FLAG_PINNED in migrate selftest BOs
      drm/xe: Only allow contiguous BOs to use xe_bo_vmap

Michael J. Ruhl (2):
      drm/xe/vsec: Support BMG devices
      drm/xe/vsec: Address static checker issue

Michal Wajdeczko (14):
      drm/xe/pf: Fix potential GGTT allocation leak
      drm/xe/guc: Log content of the failed G2H message
      drm/xe/guc: Drop redundant logs about invalid G2H length
      drm/xe/guc: Don't read data from G2H prior to length check
      drm/xe/guc: Don't treat GuC generic CAT error as protocol error
      drm/xe/guc: Add VF_CFG_SCHED_PRIORITY_KEY KLV definition
      drm/xe/guc: Add VF_CFG_SCHED_PRIORITY to KLV helper
      drm/xe/pf: Add functions to configure VF scheduling priority
      drm/xe/pf: Allow to control scheduling priority using debugfs
      drm/xe/pf: Adjust scheduling priority based on policy change
      drm/xe/guc: Prefer GT oriented asserts in submit code
      drm/xe/guc: Prefer GT oriented logs in submit code
      drm/xe/pf: Drop 2GiB limit of fair LMEM allocation
      drm/xe: Introduce xe_gt_dbg_printer()

Mika Kahola (2):
      drm/i915/xe3lpd: Power request asserting/deasserting
      drm/i915/display: Use struct intel_display instead of struct drm_i915_private

Mirsad Todorovac (1):
      drm/xe: fix the ERR_PTR() returned on failure to allocate tiny pt

Niranjana Vishwanathapura (1):
      drm/xe: Allow bo mapping on multiple ggtts

Nirmoy Das (7):
      drm/xe: Move LNL scheduling WA to xe_device.h
      drm/xe/ufence: Flush xe ordered_wq in case of ufence timeout
      drm/xe/guc/tlb: Flush g2h worker in case of tlb timeout
      drm/xe: Take job list lock in xe_sched_first_pending_job
      drm/xe: Ignore GGTT TLB inval errors during GT reset
      drm/xe/ufence: Wake up waiters after setting ufence->signalled
      drm/xe/tests: Wait for clear fence operation to complete

Oak Zeng (2):
      drm/xe: Trace xe_bo_validate
      drm/xe: Avoid evicting object of the same vm in none fault mode

Raag Jadav (1):
      drm/xe/throttle: Log throttle reasons

Randy Dunlap (1):
      drm/xe/vm_doc: fix more doc typos

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/oa/uapi: Make OA buffer size configurable

Thomas Hellström (3):
      drm/xe: Avoid the OOM killer on buffer object memory allocation
      drm/xe: Don't unnecessarily invoke the OOM killer on multiple binds
      Merge drm/drm-next into drm-xe-next

Tomasz Lis (6):
      drm/xe/vf: React to MIGRATED interrupt
      drm/xe/vf: Document SRIOV VF restore flow
      drm/xe/vf: Send RESFIX_DONE message at end of VF restore
      drm/xe/vf: Start post-migration fixups with provisioning query
      drm/xe/vf: Defer fixups if migrated twice fast
      drm/xe/guc: Do not assert CTB state while sending MMIO

Zhanjun Dong (2):
      drm/xe/guc: Remove duplicate source field
      drm/xe/guc: Fix missing init value and add register order check

 Documentation/gpu/xe/index.rst                    |   1 +
 Documentation/gpu/xe/xe_devcoredump.rst           |  14 +
 drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h |   7 +
 drivers/gpu/drm/i915/display/intel_tc.c           |  39 ++-
 drivers/gpu/drm/ttm/ttm_bo_vm.c                   |  40 ++-
 drivers/gpu/drm/xe/Makefile                       |   5 +-
 drivers/gpu/drm/xe/abi/guc_actions_abi.h          |  20 ++
 drivers/gpu/drm/xe/abi/guc_actions_sriov_abi.h    |  38 +++
 drivers/gpu/drm/xe/abi/guc_klvs_abi.h             |  14 +
 drivers/gpu/drm/xe/display/ext/i915_irq.c         |  13 +-
 drivers/gpu/drm/xe/display/intel_bo.c             |  25 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c            |  12 +-
 drivers/gpu/drm/xe/regs/xe_gt_regs.h              |   2 +
 drivers/gpu/drm/xe/regs/xe_oa_regs.h              |   9 +-
 drivers/gpu/drm/xe/regs/xe_pmt.h                  |  19 ++
 drivers/gpu/drm/xe/tests/xe_bo.c                  |   7 +
 drivers/gpu/drm/xe/tests/xe_migrate.c             |  17 +-
 drivers/gpu/drm/xe/xe_assert.h                    |   8 +-
 drivers/gpu/drm/xe/xe_bo.c                        | 182 ++++++++++--
 drivers/gpu/drm/xe/xe_bo.h                        |  33 ++-
 drivers/gpu/drm/xe/xe_bo_evict.c                  |  14 +-
 drivers/gpu/drm/xe/xe_bo_types.h                  |   5 +-
 drivers/gpu/drm/xe/xe_devcoredump.c               | 121 +++++---
 drivers/gpu/drm/xe/xe_devcoredump.h               |   7 +-
 drivers/gpu/drm/xe/xe_devcoredump_types.h         |  10 +-
 drivers/gpu/drm/xe/xe_device.c                    |   8 +
 drivers/gpu/drm/xe/xe_device_types.h              |  57 ++--
 drivers/gpu/drm/xe/xe_drm_client.c                |  80 ++++--
 drivers/gpu/drm/xe/xe_exec_queue.c                |   7 +
 drivers/gpu/drm/xe/xe_ggtt.c                      |  35 +--
 drivers/gpu/drm/xe/xe_gpu_scheduler.h             |  10 +-
 drivers/gpu/drm/xe/xe_gsc_proxy.c                 |  47 +++-
 drivers/gpu/drm/xe/xe_gt.c                        |   4 +-
 drivers/gpu/drm/xe/xe_gt_printk.h                 |  31 +++
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c        |  78 +++++-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h        |   3 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h  |   2 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_debugfs.c       |   5 +
 drivers/gpu/drm/xe/xe_gt_sriov_pf_helpers.h       |   2 +-
 drivers/gpu/drm/xe/xe_gt_sriov_pf_policy.c        |  27 +-
 drivers/gpu/drm/xe/xe_gt_sriov_vf.c               |  63 +++++
 drivers/gpu/drm/xe/xe_gt_sriov_vf.h               |   2 +
 drivers/gpu/drm/xe/xe_gt_stats.h                  |   8 +-
 drivers/gpu/drm/xe/xe_gt_stats_types.h            |  15 +
 drivers/gpu/drm/xe/xe_gt_throttle.c               |   2 +
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.c       |  21 +-
 drivers/gpu/drm/xe/xe_gt_tlb_invalidation.h       |   1 +
 drivers/gpu/drm/xe/xe_gt_types.h                  |   4 +-
 drivers/gpu/drm/xe/xe_guc.c                       | 320 +++++++++++++++++++++-
 drivers/gpu/drm/xe/xe_guc_ads.c                   |  11 +-
 drivers/gpu/drm/xe/xe_guc_capture.c               |  33 +--
 drivers/gpu/drm/xe/xe_guc_capture.h               |   6 +-
 drivers/gpu/drm/xe/xe_guc_ct.c                    |  32 ++-
 drivers/gpu/drm/xe/xe_guc_fwif.h                  |   1 +
 drivers/gpu/drm/xe/xe_guc_klv_helpers.c           |   2 +
 drivers/gpu/drm/xe/xe_guc_submit.c                | 151 +++++-----
 drivers/gpu/drm/xe/xe_guc_types.h                 |  10 +
 drivers/gpu/drm/xe/xe_heci_gsc.c                  |   8 +-
 drivers/gpu/drm/xe/xe_hw_engine.c                 |  11 +-
 drivers/gpu/drm/xe/xe_hw_engine.h                 |   4 +-
 drivers/gpu/drm/xe/xe_hw_engine_types.h           |   2 -
 drivers/gpu/drm/xe/xe_irq.c                       |  37 +--
 drivers/gpu/drm/xe/xe_lrc.c                       |  29 ++
 drivers/gpu/drm/xe/xe_lrc.h                       |   4 +
 drivers/gpu/drm/xe/xe_macros.h                    |  12 +-
 drivers/gpu/drm/xe/xe_memirq.c                    |  26 +-
 drivers/gpu/drm/xe/xe_module.c                    |   2 +-
 drivers/gpu/drm/xe/xe_oa.c                        |  55 +++-
 drivers/gpu/drm/xe/xe_oa_types.h                  |   2 +-
 drivers/gpu/drm/xe/xe_pm.c                        |   3 -
 drivers/gpu/drm/xe/xe_pt.c                        |   6 +-
 drivers/gpu/drm/xe/xe_query.c                     |   4 +-
 drivers/gpu/drm/xe/xe_reg_sr.c                    |  84 +-----
 drivers/gpu/drm/xe/xe_reg_sr_types.h              |   6 -
 drivers/gpu/drm/xe/xe_reg_whitelist.c             |  37 +++
 drivers/gpu/drm/xe/xe_sriov.c                     |   4 +
 drivers/gpu/drm/xe/xe_sriov_pf_helpers.h          |   2 +-
 drivers/gpu/drm/xe/xe_sriov_types.h               |  17 ++
 drivers/gpu/drm/xe/xe_sriov_vf.c                  | 263 ++++++++++++++++++
 drivers/gpu/drm/xe/xe_sriov_vf.h                  |  14 +
 drivers/gpu/drm/xe/xe_trace.h                     |  11 +-
 drivers/gpu/drm/xe/xe_trace_bo.h                  |   5 +
 drivers/gpu/drm/xe/xe_trace_lrc.c                 |   9 +
 drivers/gpu/drm/xe/xe_trace_lrc.h                 |  52 ++++
 drivers/gpu/drm/xe/xe_ttm_vram_mgr.c              |  53 +---
 drivers/gpu/drm/xe/xe_vm.c                        |  32 +--
 drivers/gpu/drm/xe/xe_vm_doc.h                    |  22 +-
 drivers/gpu/drm/xe/xe_vsec.c                      | 233 ++++++++++++++++
 drivers/gpu/drm/xe/xe_vsec.h                      |  11 +
 drivers/gpu/drm/xe/xe_wa.c                        |   6 +
 drivers/gpu/drm/xe/xe_wa_oob.rules                |   1 +
 include/drm/intel/xe_pciids.h                     | 235 ++++++++++++++++
 include/drm/ttm/ttm_bo.h                          |   2 +
 include/uapi/drm/xe_drm.h                         |   9 +
 94 files changed, 2463 insertions(+), 590 deletions(-)
 create mode 100644 Documentation/gpu/xe/xe_devcoredump.rst
 create mode 100644 drivers/gpu/drm/xe/regs/xe_pmt.h
 create mode 100644 drivers/gpu/drm/xe/xe_gt_stats_types.h
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf.c
 create mode 100644 drivers/gpu/drm/xe/xe_sriov_vf.h
 create mode 100644 drivers/gpu/drm/xe/xe_trace_lrc.c
 create mode 100644 drivers/gpu/drm/xe/xe_trace_lrc.h
 create mode 100644 drivers/gpu/drm/xe/xe_vsec.c
 create mode 100644 drivers/gpu/drm/xe/xe_vsec.h
 create mode 100644 include/drm/intel/xe_pciids.h