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(-)