[PULL] drm-xe-next

Lucas De Marchi
2024-09-06T02:29:23Z

Hi Dave and Simona,

Last drm-xe-next pull for 6.12. I was going to bring only the fixes, but
that would be basically most of the changes available. And what's not a
fix it's pretty trivial stuff. So I'm including everything.

The one outstanding thing is a prep patch to dma-buf that was needed to
properly replace a fix we reverted last week. That's being tested for
more than a week and proved better than the previous one.

thanks
Lucas De Marchi

drm-xe-next-2024-09-05:
Cross-subsystem Changes:
- Split dma fence array creation into alloc and arm (Matthew Brost)

Driver Changes:
- Move kernel_lrc to execlist backend (Ilia)
- Fix type width for pcode coommand (Karthik)
- Make xe_drm.h include unambiguous (Jani)
- Fixes and debug improvements for GSC load (Daniele)
- Track resources and VF state by PF (Michal Wajdeczko)
- Fix memory leak on error path (Nirmoy)
- Cleanup header includes (Matt Roper)
- Move pcode logic to tile scope (Matt Roper)
- Move hwmon logic to device scope (Matt Roper)
- Fix media TLB invalidation (Matthew Brost)
- Threshold config fixes for PF (Michal Wajdeczko)
- Remove extra "[drm]" from logs (Michal Wajdeczko)
- Add missing runtime ref (Rodrigo Vivi)
- Fix circular locking on runtime suspend (Rodrigo Vivi)
- Fix rpm in TTM swapout path (Thomas)
The following changes since commit 3adcf970dc7ec0469ec3116a5a8be9161d17a335:

drm/xe/bmg: Drop force_probe requirement (2024-08-28 10:47:03 -0700)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/xe/kernel.git tags/drm-xe-next-2024-09-05

for you to fetch changes up to 34bb7b813ab398106f700b0a6b218509bb0b904c:

drm/xe: Use xe_pm_runtime_get in xe_bo_move() if reclaim-safe. (2024-09-04 09:28:09 +0200)

----------------------------------------------------------------
Cross-subsystem Changes:
- Split dma fence array creation into alloc and arm (Matthew Brost)

Driver Changes:
- Move kernel_lrc to execlist backend (Ilia)
- Fix type width for pcode coommand (Karthik)
- Make xe_drm.h include unambiguous (Jani)
- Fixes and debug improvements for GSC load (Daniele)
- Track resources and VF state by PF (Michal Wajdeczko)
- Fix memory leak on error path (Nirmoy)
- Cleanup header includes (Matt Roper)
- Move pcode logic to tile scope (Matt Roper)
- Move hwmon logic to device scope (Matt Roper)
- Fix media TLB invalidation (Matthew Brost)
- Threshold config fixes for PF (Michal Wajdeczko)
- Remove extra "[drm]" from logs (Michal Wajdeczko)
- Add missing runtime ref (Rodrigo Vivi)
- Fix circular locking on runtime suspend (Rodrigo Vivi)
- Fix rpm in TTM swapout path (Thomas)

----------------------------------------------------------------
Daniele Ceraolo Spurio (5):
drm/xe/gsc: Do not attempt to load the GSC multiple times
drm/xe/gsc: Fix FW status if the firmware is already loaded
drm/xe/gsc: Track the platform in the compatibility version
drm/xe/gsc: Add debugfs to print GSC info
drm/xe/gsc: Wedge the device if the GSCCS reset fails

Ilia Levi (1):
drm/xe: move the kernel lrc from hwe to execlist port

Jani Nikula (1):
drm/xe: replace #include <drm/xe_drm.h> with <uapi/drm/xe_drm.h>

Karthik Poosa (1):
drm/xe/hwmon: Fix WRITE_I1 param from u32 to u16

Matt Roper (3):
drm/xe/display: Drop unnecessary xe_gt.h includes
drm/xe/pcode: Treat pcode as per-tile rather than per-GT
drm/xe/hwmon: Treat hwmon as a per-device concept

Matthew Brost (2):
dma-buf: Split out dma fence array create into alloc and arm functions
drm/xe: Invalidate media_gt TLBs in PT code

Michal Wajdeczko (7):
drm/xe/pf: Add function to sanitize VF resources
drm/xe/pf: Fix documentation formatting
drm/xe/pf: Drop GuC notifications for non-existing VF
drm/xe/pf: Improve VF control
drm/xe/pf: Add thresholds to the VF KLV config
drm/xe/pf: Reset thresholds when releasing a VF config
drm/xe: Remove redundant [drm] tag from xe_assert() message

Nirmoy Das (1):
drm/xe: Fix memory leak on xe_alloc_pf_queue failure

Rodrigo Vivi (2):
drm/xe: Add missing runtime reference to wedged upon gt_reset
drm/xe/display: Avoid encoder_suspend at runtime suspend

Thomas Hellström (1):
drm/xe: Use xe_pm_runtime_get in xe_bo_move() if reclaim-safe.

drivers/dma-buf/dma-fence-array.c | 78 +-
drivers/gpu/drm/xe/Makefile | 1 +
.../gpu/drm/xe/compat-i915-headers/intel_pcode.h | 8 +-
.../gpu/drm/xe/compat-i915-headers/intel_uncore.h | 7 +
drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 1 -
drivers/gpu/drm/xe/display/xe_display.c | 8 +-
drivers/gpu/drm/xe/display/xe_dsb_buffer.c | 1 -
drivers/gpu/drm/xe/display/xe_fb_pin.c | 1 -
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 1 -
drivers/gpu/drm/xe/regs/xe_gsc_regs.h | 4 +
drivers/gpu/drm/xe/tests/xe_dma_buf.c | 2 +-
drivers/gpu/drm/xe/xe_assert.h | 2 +-
drivers/gpu/drm/xe/xe_bo.c | 13 +-
drivers/gpu/drm/xe/xe_device.c | 2 +-
drivers/gpu/drm/xe/xe_device_types.h | 6 +
drivers/gpu/drm/xe/xe_drm_client.c | 2 +-
drivers/gpu/drm/xe/xe_exec.c | 2 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 2 +-
drivers/gpu/drm/xe/xe_execlist.c | 23 +-
drivers/gpu/drm/xe/xe_execlist_types.h | 2 +
drivers/gpu/drm/xe/xe_gsc.c | 61 +-
drivers/gpu/drm/xe/xe_gsc.h | 3 +
drivers/gpu/drm/xe/xe_gsc_debugfs.c | 71 ++
drivers/gpu/drm/xe/xe_gsc_debugfs.h | 14 +
drivers/gpu/drm/xe/xe_gt.c | 9 +-
drivers/gpu/drm/xe/xe_gt_pagefault.c | 8 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf.c | 6 +
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 103 ++
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.h | 1 +
drivers/gpu/drm/xe/xe_gt_sriov_pf_control.c | 1258 +++++++++++++++++++-
drivers/gpu/drm/xe/xe_gt_sriov_pf_control.h | 3 +
drivers/gpu/drm/xe/xe_gt_sriov_pf_control_types.h | 107 ++
drivers/gpu/drm/xe/xe_gt_sriov_pf_types.h | 6 +
drivers/gpu/drm/xe/xe_gt_types.h | 6 -
drivers/gpu/drm/xe/xe_guc_pc.c | 2 +-
drivers/gpu/drm/xe/xe_hw_engine.c | 17 +-
drivers/gpu/drm/xe/xe_hw_engine_types.h | 2 -
drivers/gpu/drm/xe/xe_hwmon.c | 97 +-
drivers/gpu/drm/xe/xe_migrate.c | 2 +-
drivers/gpu/drm/xe/xe_oa.c | 2 +-
drivers/gpu/drm/xe/xe_oa_types.h | 2 +-
drivers/gpu/drm/xe/xe_observation.c | 2 +-
drivers/gpu/drm/xe/xe_pat.c | 2 +-
drivers/gpu/drm/xe/xe_pcode.c | 104 +-
drivers/gpu/drm/xe/xe_pcode.h | 16 +-
drivers/gpu/drm/xe/xe_pm.c | 9 +-
drivers/gpu/drm/xe/xe_pm.h | 1 +
drivers/gpu/drm/xe/xe_pt.c | 117 +-
drivers/gpu/drm/xe/xe_query.c | 2 +-
drivers/gpu/drm/xe/xe_rtp.c | 2 +-
drivers/gpu/drm/xe/xe_sched_job.c | 2 +-
drivers/gpu/drm/xe/xe_sync.c | 2 +-
drivers/gpu/drm/xe/xe_tile.c | 3 +
drivers/gpu/drm/xe/xe_uc_debugfs.c | 2 +
drivers/gpu/drm/xe/xe_uc_fw.c | 13 +-
drivers/gpu/drm/xe/xe_uc_fw.h | 9 +-
drivers/gpu/drm/xe/xe_vm.c | 2 +-
drivers/gpu/drm/xe/xe_vram_freq.c | 6 +-
drivers/gpu/drm/xe/xe_wait_user_fence.c | 2 +-
include/linux/dma-fence-array.h | 6 +
60 files changed, 1977 insertions(+), 271 deletions(-)
create mode 100644 drivers/gpu/drm/xe/xe_gsc_debugfs.c
create mode 100644 drivers/gpu/drm/xe/xe_gsc_debugfs.h
create mode 100644 drivers/gpu/drm/xe/xe_gt_sriov_pf_control_types.h