[PULL][O]: drm/xe: Backport support for LNL/BMG from 6.12
Timo Aaltonen
tjaalton at ubuntu.com
Tue Sep 3 16:46:50 UTC 2024
This is the first batch of enabling new/upcoming Lunar Lake / Battlemage in the oracular kernel. There are two derivative kernels that need this, so having it in the generic kernel makes sense.
Nearly all clean cherry-picks, and all from linux-next.
--
BugLink: https://bugs.launchpad.net/bugs/2076209
[Impact]
Intel Lunar Lake & Battlemage GPU's don't work in 24.10.
[Fix]
Backport commits from linux-next to 6.11 in two batches, the second one dropping xe.force_probe requirement.
[Test case]
Boot the new kernel, check from dmesg that the drm driver is initialized correctly.
[Where problems could occur]
The backport is mostly confined in drm/xe, which isn't used by default on any hardware before LNL/BMG, so chance of regressions should be limited. Also, this backport is validated by the vendor.
----------------------------------------------------------------
The following changes since commit 431c1646e1f86b949fa3685efc50b660a364c2b6:
Linux 6.11-rc6 (2024-09-01 19:46:02 +1200)
are available in the Git repository at:
https://git.launchpad.net/~tjaalton/linux lnl
for you to fetch changes up to 24a51165336d3fb3effa66ef84ce4cd414694cf0:
drm/xe: Fix total initialization in xe_ggtt_print_holes() (2024-09-03 17:40:19 +0300)
----------------------------------------------------------------
Akshata Jahagirdar (5):
drm/xe/migrate: Handle clear ccs logic for xe2 dgfx
drm/xe/migrate: Add helper function to program identity map
drm/xe/xe2: Introduce identity map for compressed pat for vram
drm/xe/xe_migrate: Handle migration logic for xe2+ dgfx
drm/xe/xe2: Introduce performance changes
Alexander Usyskin (1):
drm/xe/gsc: add Battlemage support
Daniele Ceraolo Spurio (4):
drm/xe/huc: Define HuC binary for LNL
drm/xe/gsc: Define GSC binary for LNL
drm/xe/huc: Define HuC binary for BMG
drm/xe/uc: Use managed bo for HuC and GSC objects
Dominik Grzegorzek (1):
drm/xe: Move and export xe_hw_engine lookup.
Gustavo Sousa (1):
drm/i915: Skip programming FIA link enable bits for MTL+
Imre Deak (2):
drm/xe: Suspend/resume user access only during system s/r
drm/xe: Handle polling only for system s/r in xe_display_pm_suspend/resume()
Jani Nikula (12):
drm/i915: move rawclk from runtime to display runtime info
drm/xe/display: drop unused rawclk_freq and RUNTIME_INFO()
drm/xe/display: fix compat IS_DISPLAY_STEP() range end
drm/xe/display: remove intel_display_step_name() to simplify
drm/xe/display: remove the unused compat HAS_GMD_ID()
drm/xe/step: define more steppings E-J
drm/i915/display: rename IS_DISPLAY_IP_RANGE() to IS_DISPLAY_VER_FULL()
drm/i915/display: rename IS_DISPLAY_IP_STEP() to IS_DISPLAY_VER_STEP()
drm/i915/display: identify display steppings in display probe
drm/i915/display: switch to display detected steppings
drm/i915: remove display stepping handling
drm/xe: remove display stepping handling
Jouni Högander (1):
drm/i915/psr: Prevent Panel Replay if CRC calculation is enabled
Juha-Pekka Heikkila (3):
drm/i915/display: Don't enable decompression on Xe2 with Tile4
drm/fourcc: define Intel Xe2 related tile4 ccs modifiers
drm/i915/display: allow creation of Xe2 ccs framebuffers
Julia Filipchuk (3):
drm/xe/guc: Bump minimum required GuC version to v70.29.2
drm/xe/guc: Define GuC version v70.29.2 for BMG
drm/xe/guc: Enable w/a 14022293748 and 22019794406
Lucas De Marchi (3):
drm/xe: Generate oob before compiling anything
drm/xe/uapi: Expose SIMD16 EU mask in topology query
drm/xe: Fix warning on unreachable statement
Maarten Lankhorst (1):
drm/xe/display: Match i915 driver suspend/resume sequences better
Matthew Auld (2):
drm/i915: disable fbc due to Wa_16023588340
drm/xe: fix engine_class bounds check again
Matthew Brost (6):
drm/xe: Use reserved copy engine for user binds on faulting devices
drm/xe: Move ggtt_fini to devm managed
drm/xe: Set firmware state to loadable before registering guc_fini_hw
drm/xe: Drop warn on xe_guc_pc_gucrc_disable in guc pc fini
drm/xe: Move hw_engine_fini to devm managed
drm/xe: Update xe_sa to use xe_managed_bo_create_pin_map
Mitul Golani (3):
drm/i915/display: Cache adpative sync caps to use it later
drm/i915/display: WA for Re-initialize dispcnlunitt1 xosc clock
drm/i915/display/dp: Compute AS SDP when vrr is also enabled
Nathan Chancellor (1):
drm/xe: Fix total initialization in xe_ggtt_print_holes()
Ngai-Mint Kwan (1):
drm/xe/xe2lpm: Extend Wa_16021639441
Pallavi Mishra (1):
drm/xe/xe2: Enable Priority Mem Read
Rodrigo Vivi (12):
drm/xe: Removed unused xe_ggtt_printk
drm/xe: Introduce GGTT documentation
drm/xe: Remove unnecessary drm_mm.h includes
drm/{i915, xe}: Avoid direct inspection of dpt_vma from outside dpt
drm/xe: Encapsulate drm_mm_node inside xe_ggtt_node
drm/xe: Rename xe_ggtt_node related functions
drm/xe: Limit drm_mm_node_allocated access to xe_ggtt_node
drm/xe: Introduce xe_ggtt_largest_hole
drm/xe: Introduce xe_ggtt_print_holes
drm/xe: Refactor xe_ggtt balloon functions to make the node clear
drm/xe: Make xe_ggtt_node struct independent
drm/xe: Fix missing runtime outer protection for ggtt_remove_node
Sai Teja Pottumuttu (1):
drm/xe/xe2hpg: Introduce performance tuning changes for Xe2_HPG
Shekhar Chauhan (1):
drm/xe/xe2: Add performance turning changes
Suraj Kandpal (5):
drm/i915/hdcp: Add encoder check in intel_hdcp_get_capability
drm/i915/hdcp: Add encoder check in hdcp2_get_capability
drm/xe/hdcp: Check GSC structure validity
drm/i915/dp: Clear VSC SDP during post ddi disable routine
drm/i915/pps: Disable DPLS_GATING around pps sequence
Tejas Upadhyay (3):
drm/xe: Move enable host l2 VRAM post MCR init
drm/xe: Write all slices if its mcr register
drm/xe: Define STATELESS_COMPRESSION_CTRL as mcr register
Uma Shankar (1):
drm/xe/fbdev: Limit the usage of stolen for LNL+
Vinod Govindapillai (1):
drm/xe/display: handle HPD polling in display runtime suspend/resume
Documentation/gpu/xe/xe_mm.rst | 15 ++
drivers/gpu/drm/i915/display/intel_alpm.c | 2 +-
drivers/gpu/drm/i915/display/intel_backlight.c | 10 +-
drivers/gpu/drm/i915/display/intel_display.c | 2 +
drivers/gpu/drm/i915/display/intel_display_device.c | 232 ++++++++++++++++++++++--
drivers/gpu/drm/i915/display/intel_display_device.h | 21 ++-
drivers/gpu/drm/i915/display/intel_display_power.c | 10 +-
drivers/gpu/drm/i915/display/intel_display_power_well.c | 4 +-
drivers/gpu/drm/i915/display/intel_display_types.h | 1 +
drivers/gpu/drm/i915/display/intel_display_wa.h | 8 +
drivers/gpu/drm/i915/display/intel_dmc.c | 2 +-
drivers/gpu/drm/i915/display/intel_dp.c | 29 +--
drivers/gpu/drm/i915/display/intel_dp.h | 1 -
drivers/gpu/drm/i915/display/intel_dp_aux.c | 4 +-
drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 11 +-
drivers/gpu/drm/i915/display/intel_dpt.c | 4 +
drivers/gpu/drm/i915/display/intel_dpt.h | 3 +
drivers/gpu/drm/i915/display/intel_fb.c | 18 ++
drivers/gpu/drm/i915/display/intel_fbc.c | 8 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 13 +-
drivers/gpu/drm/i915/display/intel_pmdemand.c | 2 +-
drivers/gpu/drm/i915/display/intel_pps.c | 14 +-
drivers/gpu/drm/i915/display/intel_psr.c | 14 +-
drivers/gpu/drm/i915/display/intel_tc.c | 3 +
drivers/gpu/drm/i915/display/intel_vrr.c | 3 +-
drivers/gpu/drm/i915/display/skl_universal_plane.c | 13 +-
drivers/gpu/drm/i915/i915_drv.h | 5 -
drivers/gpu/drm/i915/intel_device_info.c | 6 -
drivers/gpu/drm/i915/intel_device_info.h | 2 -
drivers/gpu/drm/i915/intel_step.c | 84 ++++-----
drivers/gpu/drm/i915/intel_step.h | 2 -
drivers/gpu/drm/xe/Makefile | 25 +--
drivers/gpu/drm/xe/abi/guc_klvs_abi.h | 1 +
drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 6 -
drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h | 7 +-
drivers/gpu/drm/xe/compat-i915-headers/intel_step.h | 10 +-
drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 6 +-
drivers/gpu/drm/xe/display/xe_display.c | 46 ++++-
drivers/gpu/drm/xe/display/xe_display.h | 4 +
drivers/gpu/drm/xe/display/xe_display_wa.c | 16 ++
drivers/gpu/drm/xe/display/xe_fb_pin.c | 50 ++++--
drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 8 +-
drivers/gpu/drm/xe/display/xe_plane_initial.c | 6 +
drivers/gpu/drm/xe/regs/xe_engine_regs.h | 1 +
drivers/gpu/drm/xe/regs/xe_gt_regs.h | 10 +-
drivers/gpu/drm/xe/xe_bo.c | 2 +-
drivers/gpu/drm/xe/xe_bo.h | 9 +-
drivers/gpu/drm/xe/xe_bo_types.h | 5 +-
drivers/gpu/drm/xe/xe_debugfs.c | 3 +-
drivers/gpu/drm/xe/xe_device_types.h | 11 +-
drivers/gpu/drm/xe/xe_exec_queue.c | 155 +++++++----------
drivers/gpu/drm/xe/xe_exec_queue.h | 6 +-
drivers/gpu/drm/xe/xe_ggtt.c | 484 ++++++++++++++++++++++++++++++++++++++-------------
drivers/gpu/drm/xe/xe_ggtt.h | 28 +--
drivers/gpu/drm/xe/xe_ggtt_types.h | 54 +++++-
drivers/gpu/drm/xe/xe_gsc.c | 12 +-
drivers/gpu/drm/xe/xe_gsc_proxy.c | 36 +---
drivers/gpu/drm/xe/xe_gt.c | 10 +-
drivers/gpu/drm/xe/xe_gt_sriov_pf_config.c | 108 +++++-------
drivers/gpu/drm/xe/xe_gt_sriov_pf_config_types.h | 5 +-
drivers/gpu/drm/xe/xe_gt_sriov_vf.c | 44 +++--
drivers/gpu/drm/xe/xe_gt_topology.c | 27 ++-
drivers/gpu/drm/xe/xe_gt_types.h | 11 ++
drivers/gpu/drm/xe/xe_guc.c | 4 +-
drivers/gpu/drm/xe/xe_guc.h | 10 ++
drivers/gpu/drm/xe/xe_guc_ads.c | 6 +
drivers/gpu/drm/xe/xe_guc_pc.c | 2 +-
drivers/gpu/drm/xe/xe_heci_gsc.c | 28 ++-
drivers/gpu/drm/xe/xe_heci_gsc.h | 10 +-
drivers/gpu/drm/xe/xe_huc.c | 19 +-
drivers/gpu/drm/xe/xe_hw_engine.c | 41 ++++-
drivers/gpu/drm/xe/xe_hw_engine.h | 7 +
drivers/gpu/drm/xe/xe_irq.c | 2 +
drivers/gpu/drm/xe/xe_migrate.c | 187 +++++++++++++-------
drivers/gpu/drm/xe/xe_migrate.h | 2 +-
drivers/gpu/drm/xe/xe_pci.c | 10 +-
drivers/gpu/drm/xe/xe_pm.c | 8 +-
drivers/gpu/drm/xe/xe_query.c | 4 +-
drivers/gpu/drm/xe/xe_res_cursor.h | 1 -
drivers/gpu/drm/xe/xe_sa.c | 13 +-
drivers/gpu/drm/xe/xe_sa_types.h | 1 +
drivers/gpu/drm/xe/xe_step.c | 57 +++---
drivers/gpu/drm/xe/xe_step_types.h | 30 +++-
drivers/gpu/drm/xe/xe_ttm_stolen_mgr.c | 1 -
drivers/gpu/drm/xe/xe_tuning.c | 21 ++-
drivers/gpu/drm/xe/xe_uc_fw.c | 31 ++--
drivers/gpu/drm/xe/xe_vm.c | 8 +-
drivers/gpu/drm/xe/xe_wa.c | 10 ++
drivers/gpu/drm/xe/xe_wa_oob.rules | 5 +
include/uapi/drm/drm_fourcc.h | 25 +++
include/uapi/drm/xe_drm.h | 10 +-
91 files changed, 1564 insertions(+), 741 deletions(-)
create mode 100644 drivers/gpu/drm/xe/display/xe_display_wa.c
--
t
--
t
More information about the kernel-team
mailing list