[PULL] drm-intel-next

Rodrigo Vivi
2024-08-29T14:17:13Z

Hi Sima and Dave,

Here goes our last PR of drm-intel-next towards 6.12.
Most of it is display related clean-up towards intel_display isolation.

But there are 2 cases that worth mention.

1. Xe core changes for BMG. BMG requires, by design, 64k memory size
alignment for scanout buffers using compression and 4-tile. So, we are
adding a protection here to block framebuffers that are not aligned
with that and that requires patches in both i915-display and xe core.
Without this protection, we get some screen corruptions. So we need
to propagate this along with the force_probe removal that Lucas sent
yesterday with drm-xe-next pull request.

2. Although Arrow Lake has pretty much same GT as Meteor Lake, it
requires a new GSC firmware or HuC authentication and buffer
protection might not work. So, we had to spin out ARL ids from MTL
and introduce this new firmware requirement. At this moment no
one should have HW with these IDs yet and we will propagate this
to stable as soon as it hits Linus tree.

Thanks,
Rodrigo.

drm-intel-next-2024-08-29:
Cross-driver (xe-core) Changes:
- Require BMG scanout buffers to be 64k physically aligned (Maarten)

Core (drm) Changes:
- Introducing Xe2 ccs modifiers for integrated and discrete graphics (Juha-Pekka)

Driver Changes:
- General cleanup and more work moving towards intel_display isolation (Jani)
- New display workaround (Suraj)
- Use correct cp_irq_count on HDCP (Suraj)
- eDP PSR fix when CRC is enabled (Jouni)
- Fix DP MST state after a sink reset (Imre)
- Fix Arrow Lake GSC firmware version (John)
- Use chained DSBs for LUT programming (Ville)
The following changes since commit e55ef65510a401862b902dc979441ea10ae25c61:

Merge tag 'amd-drm-next-6.12-2024-08-26' of https://gitlab.freedesktop.org/agd5f/linux into drm-next (2024-08-27 14:33:12 +0200)

are available in the Git repository at:

https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2024-08-29

for you to fetch changes up to b5d4657e192ba7a3f21fc397cf5d169982b4ec0c:

drm/i915/dsb: Use chained DSBs for LUT programming (2024-08-29 14:54:03 +0300)

----------------------------------------------------------------
Cross-driver (xe-core) Changes:
- Require BMG scanout buffers to be 64k physically aligned (Maarten)

Core (drm) Changes:
- Introducing Xe2 ccs modifiers for integrated and discrete graphics (Juha-Pekka)

Driver Changes:
- General cleanup and more work moving towards intel_display isolation (Jani)
- New display workaround (Suraj)
- Use correct cp_irq_count on HDCP (Suraj)
- eDP PSR fix when CRC is enabled (Jouni)
- Fix DP MST state after a sink reset (Imre)
- Fix Arrow Lake GSC firmware version (John)
- Use chained DSBs for LUT programming (Ville)

----------------------------------------------------------------
Hans de Goede (1):
drm/i915/dsi: Make Lenovo Yoga Tab 3 X90F DMI match less strict

Imre Deak (1):
drm/i915/dp_mst: Fix MST state after a sink reset

Jani Nikula (30):
drm/i915: make __intel_display_power_is_enabled() static
drm/i915/display: support struct intel_atomic_state in to_intel_display()
drm/i915/display: convert intel_link_bw.c to struct intel_display
drm/i915/display: convert intel_load_detect.c to struct intel_display
drm/i915/alpm: convert to struct intel_display
drm/i915/lspcon: convert to struct intel_display
drm/i915/display: convert dp aux backlight to struct intel_display
drm/i915/hti: convert to struct intel_display
drm/i915: make intel_display_power_domain_str() static
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
drm/i915/vblank: use drm_crtc_vblank_crtc() instead of open-coding
drm/i915/vblank: fix context imbalance warnings
drm/i915/vblank: convert to struct intel_display
drm/i915/vrr: convert to struct intel_display
drm/i915/tv: convert to struct intel_display
drm/i915/sprite: convert to struct intel_display
drm/i915/display: convert params to struct intel_display
drm/i915: remove unnecessary display includes
drm/i915: remove unused leftover basedie step code

John Harrison (1):
drm/i915: ARL requires a newer GSC firmware

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

Maarten Lankhorst (2):
drm/i915/display: Plane capability for 64k phys alignment
drm/xe: Align all VRAM scanout buffers to 64k physical pages when needed.

Rodrigo Vivi (1):
Merge drm/drm-next into drm-intel-next

Suraj Kandpal (2):
drm/i915/hdcp: Use correct cp_irq_count
drm/i915/pps: Disable DPLS_GATING around pps sequence

Ville Syrjälä (13):
drm/i915: Fix readout degamma_lut mismatch on ilk/snb
drm/i915/dsb: Hook up DSB error interrupts
drm/i915/dsb: Convert dewake_scanline to a hw scanline number earlier
drm/i915/dsb: Shuffle code around
drm/i915/dsb: Fix dewake scanline
drm/i915/dsb: Account for VRR properly in DSB scanline stuff
drm/i915/dsb: Precompute DSB_CHICKEN
drm/i915/dsb: Introduce intel_dsb_wait_scanline_{in,out}()
drm/i915/dsb: Introduce intel_dsb_chain()
drm/i915/dsb: Allow intel_dsb_chain() to use DSB_WAIT_FOR_VBLANK
drm/i915/dsb: Clear DSB_ENABLE_DEWAKE once the DSB is done
drm/i915/dsb: s/dsb/dsb_color_vblank/
drm/i915/dsb: Use chained DSBs for LUT programming

drivers/gpu/drm/i915/display/intel_alpm.c | 54 ++--
drivers/gpu/drm/i915/display/intel_atomic.c | 6 +-
drivers/gpu/drm/i915/display/intel_backlight.c | 10 +-
drivers/gpu/drm/i915/display/intel_color.c | 56 ++--
drivers/gpu/drm/i915/display/intel_ddi.c | 2 +-
drivers/gpu/drm/i915/display/intel_display.c | 11 +-
drivers/gpu/drm/i915/display/intel_display.h | 3 +
.../gpu/drm/i915/display/intel_display_debugfs.c | 2 +-
.../i915/display/intel_display_debugfs_params.c | 8 +-
.../i915/display/intel_display_debugfs_params.h | 4 +-
.../gpu/drm/i915/display/intel_display_device.c | 232 ++++++++++++++-
.../gpu/drm/i915/display/intel_display_device.h | 21 +-
.../gpu/drm/i915/display/intel_display_driver.c | 2 +-
drivers/gpu/drm/i915/display/intel_display_irq.c | 17 ++
.../gpu/drm/i915/display/intel_display_params.c | 6 +-
.../gpu/drm/i915/display/intel_display_params.h | 4 +-
drivers/gpu/drm/i915/display/intel_display_power.c | 20 +-
drivers/gpu/drm/i915/display/intel_display_power.h | 5 -
.../drm/i915/display/intel_display_power_well.c | 4 +-
drivers/gpu/drm/i915/display/intel_display_types.h | 7 +-
drivers/gpu/drm/i915/display/intel_dmc.c | 2 +-
drivers/gpu/drm/i915/display/intel_dp.c | 12 +
drivers/gpu/drm/i915/display/intel_dp_aux.c | 4 +-
.../gpu/drm/i915/display/intel_dp_aux_backlight.c | 70 +++--
drivers/gpu/drm/i915/display/intel_dp_mst.c | 40 +++
drivers/gpu/drm/i915/display/intel_dp_mst.h | 1 +
drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 3 +-
drivers/gpu/drm/i915/display/intel_dsb.c | 325 +++++++++++++++++++--
drivers/gpu/drm/i915/display/intel_dsb.h | 16 +
drivers/gpu/drm/i915/display/intel_fb.c | 36 +++
drivers/gpu/drm/i915/display/intel_fb.h | 2 +
drivers/gpu/drm/i915/display/intel_fbc.c | 2 +-
drivers/gpu/drm/i915/display/intel_hdcp.c | 6 +-
drivers/gpu/drm/i915/display/intel_hti.c | 20 +-
drivers/gpu/drm/i915/display/intel_hti.h | 8 +-
drivers/gpu/drm/i915/display/intel_link_bw.c | 25 +-
drivers/gpu/drm/i915/display/intel_link_bw.h | 2 -
drivers/gpu/drm/i915/display/intel_load_detect.c | 27 +-
drivers/gpu/drm/i915/display/intel_lspcon.c | 115 ++++----
drivers/gpu/drm/i915/display/intel_modeset_setup.c | 31 +-
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_sprite.c | 209 +++++++------
drivers/gpu/drm/i915/display/intel_tv.c | 203 ++++++-------
drivers/gpu/drm/i915/display/intel_tv.h | 6 +-
drivers/gpu/drm/i915/display/intel_vblank.c | 122 ++++----
drivers/gpu/drm/i915/display/intel_vblank.h | 2 +-
drivers/gpu/drm/i915/display/intel_vrr.c | 127 ++++----
drivers/gpu/drm/i915/display/skl_universal_plane.c | 10 +-
drivers/gpu/drm/i915/display/vlv_dsi.c | 1 -
drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c | 2 -
drivers/gpu/drm/i915/gt/intel_ggtt.c | 1 -
drivers/gpu/drm/i915/gt/uc/intel_gsc_fw.c | 31 ++
drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 10 +-
drivers/gpu/drm/i915/i915_debugfs.c | 3 +-
drivers/gpu/drm/i915/i915_driver.c | 4 +-
drivers/gpu/drm/i915/i915_drv.h | 12 +-
drivers/gpu/drm/i915/i915_gem.c | 2 -
drivers/gpu/drm/i915/i915_gem_gtt.c | 1 -
drivers/gpu/drm/i915/i915_gpu_error.c | 3 +-
drivers/gpu/drm/i915/i915_irq.c | 1 -
drivers/gpu/drm/i915/i915_pci.c | 1 -
drivers/gpu/drm/i915/i915_reg.h | 4 +
drivers/gpu/drm/i915/intel_device_info.c | 14 +-
drivers/gpu/drm/i915/intel_device_info.h | 5 +-
drivers/gpu/drm/i915/intel_step.c | 84 +++---
drivers/gpu/drm/i915/intel_step.h | 3 -
drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 6 -
.../gpu/drm/xe/compat-i915-headers/intel_step.h | 10 +-
drivers/gpu/drm/xe/display/intel_fb_bo.c | 9 +
drivers/gpu/drm/xe/xe_bo.c | 7 +
drivers/gpu/drm/xe/xe_debugfs.c | 3 +-
drivers/gpu/drm/xe/xe_device_types.h | 6 -
drivers/gpu/drm/xe/xe_pci.c | 3 +-
drivers/gpu/drm/xe/xe_step.c | 57 ++--
drivers/gpu/drm/xe/xe_step_types.h | 30 +-
drivers/gpu/drm/xe/xe_vm.c | 11 +-
include/drm/intel/i915_pciids.h | 11 +-
include/uapi/drm/drm_fourcc.h | 25 ++
80 files changed, 1515 insertions(+), 775 deletions(-)