Message ID | 494fcffe-94da-4dea-91e5-ed6842f76409@ubuntu.com |
---|---|
State | New |
Headers | show |
Series | [PULL,O] : drm/xe: Backport support for LNL/BMG from 6.12 | expand |
On 03-09-2024 18:46, Timo Aaltonen wrote: > > > 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. Should we accept this patchset before having the second one ? Or should we wait the second part ? > > [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: As I see, it's 372d041d7b06821dc5ff063ab04bf797b8349747 the tip of lnl. I believe 24a51165336d3fb3effa66ef84ce4cd414694cf0 is from a previous version. > > 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 Contains: (backported picked from commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07 linux-next) [ Conflicts: drivers/gpu/drm/xe/tests/xe_migrate.c ] It has a typo in the backported line and the explanation isn't one. Maybe reworded as: (backported from commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07 linux-next) [ Conflicts in drivers/gpu/drm/xe/tests/xe_migrate.c due to skipping multiple refactor commits mainly targeting drm/xe/kunit ] > 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() Contains: (backported from 5a48d67ac336436ed4a79c1c9e036a409b502329 linux-next) sed 's/backported from/backported from commit/' > 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 > > >
Thibault Ferrante kirjoitti 4.9.2024 klo 14.42: > > On 03-09-2024 18:46, Timo Aaltonen wrote: >> >> >> 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. > > Should we accept this patchset before having the second one ? Or should > we wait the second part ? I wouldn't want to leave it all at the last minute... and have it running locally on LNL and it works fine as far as I can see. >> >> [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: > As I see, it's 372d041d7b06821dc5ff063ab04bf797b8349747 the tip of lnl. > I believe 24a51165336d3fb3effa66ef84ce4cd414694cf0 is from a previous > version. Indeed, it got mangled a bit more for submission after starting to write the email. >> >> 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 > Contains: > (backported picked from commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07 > linux-next) > [ Conflicts: > drivers/gpu/drm/xe/tests/xe_migrate.c ] > > > It has a typo in the backported line and the explanation isn't one. > Maybe reworded as: > (backported from commit 2b808d6b2919cb2fe92901e5087da7b4ed4b9e07 linux- > next) > [ Conflicts in drivers/gpu/drm/xe/tests/xe_migrate.c > due to skipping multiple refactor commits mainly targeting drm/xe/ > kunit ] Yes there's a typo, the "backported..." was mine, but the Conflicts are from upstream, so dunno if we should be changing those, but I did amend it anyway since you already had a suggestion :) with these changes I've applied this.