mbox series

[PULL,O] : drm/xe: Backport support for LNL/BMG from 6.12

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

Pull-request

https://git.launchpad.net/~tjaalton/linux lnl

Message

Timo Aaltonen Sept. 3, 2024, 4:46 p.m. UTC
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

Comments

Thibault Ferrante Sept. 4, 2024, 11:42 a.m. UTC | #1
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
> 
> 
>
Timo Aaltonen Sept. 4, 2024, 12:56 p.m. UTC | #2
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.