Hi Dave & Sima - drm-intel-next-2024-02-07: drm/i915 feature pull for v6.9: Features and functionality: - Early transport for panel replay and PSR (Jouni) - New ARL PCI IDs (Matt) - DP TPS4 PHY test pattern support (Khaled) Refactoring and cleanups: - Unify and improve VSC SDP for PSR and non-PSR cases (Jouni) - Refactor memory regions and improve debug logging (Ville) - Rework global state serialization (Ville) - Remove unused CDCLK divider fields (Gustavo) - Unify HDCP connector logging format (Jani) - Use display instead of graphics version in display code (Jani) - Move VBT and opregion debugfs next to the implementation (Jani) - Abstract opregion interface, use opaque type (Jani) Fixes: - Fix MTL stolen memory access (Ville) - Fix initial display plane readout for MTL (Ville) - Fix HPD handling during driver init/shutdown (Imre) - Cursor vblank evasion fixes (Ville) - Various VSC SDP fixes (Jouni) - Allow PSR mode changes without full modeset (Jouni) - Fix CDCLK sanitization on module load for Xe2_LPD (Gustavo) - Fix the max DSC bpc supported by the source (Ankit) - Add missing LNL ALPM AUX wake configuration (Jouni) - Cx0 PHY state readout and verify fixes (Mika) - Fix PSR (panel replay) debugfs for MST connectors (Imre) - Fail HDCP repeater authentication if Type1 device not present (Suraj) - Ratelimit debug logging in vm_fault_ttm (Nirmoy) - Use a fake PCH for MTL because south display is not on the PCH (Haridhar) - Disable DSB for Xe driver for now (José) - Fix some LNL display register changes (Lucas) - Fix build on ChromeOS (Paz Zcharya) - Preserve current shared DPLL for fastsets on Type-C ports (Ville) - Fix state checker warnings for MG/TC/TBT PLLs (Ville) - Fix HDCP repeater ctl register value on errors (Jani) - Allow FBC with CCS modifiers on SKL+ (Ville) - Fix HDCP GGTT pinning (Ville) DRM core changes: - Add ratelimited drm dbg print (Nirmoy) - DPCD PSR early transport macro (Jouni) Merges: - Backmerge drm-next to bring Xe driver to drm-intel-next (Jani) BR, Jani. The following changes since commit 205e18c13545ab43cc4fe4930732b4feef551198: nouveau/gsp: handle engines in runl without nonstall interrupts. (2024-01-15 16:04:48 +1000) are available in the Git repository at: git://anongit.freedesktop.org/drm/drm-intel tags/drm-intel-next-2024-02-07 for you to fetch changes up to 449c2d5948ba8c784dcbc5c67df1d8c54748caa4: drm/i915/alpm: Alpm aux wake configuration for lnl (2024-02-07 09:58:04 +0200) ---------------------------------------------------------------- drm/i915 feature pull for v6.9: Features and functionality: - Early transport for panel replay and PSR (Jouni) - New ARL PCI IDs (Matt) - DP TPS4 PHY test pattern support (Khaled) Refactoring and cleanups: - Unify and improve VSC SDP for PSR and non-PSR cases (Jouni) - Refactor memory regions and improve debug logging (Ville) - Rework global state serialization (Ville) - Remove unused CDCLK divider fields (Gustavo) - Unify HDCP connector logging format (Jani) - Use display instead of graphics version in display code (Jani) - Move VBT and opregion debugfs next to the implementation (Jani) - Abstract opregion interface, use opaque type (Jani) Fixes: - Fix MTL stolen memory access (Ville) - Fix initial display plane readout for MTL (Ville) - Fix HPD handling during driver init/shutdown (Imre) - Cursor vblank evasion fixes (Ville) - Various VSC SDP fixes (Jouni) - Allow PSR mode changes without full modeset (Jouni) - Fix CDCLK sanitization on module load for Xe2_LPD (Gustavo) - Fix the max DSC bpc supported by the source (Ankit) - Add missing LNL ALPM AUX wake configuration (Jouni) - Cx0 PHY state readout and verify fixes (Mika) - Fix PSR (panel replay) debugfs for MST connectors (Imre) - Fail HDCP repeater authentication if Type1 device not present (Suraj) - Ratelimit debug logging in vm_fault_ttm (Nirmoy) - Use a fake PCH for MTL because south display is not on the PCH (Haridhar) - Disable DSB for Xe driver for now (José) - Fix some LNL display register changes (Lucas) - Fix build on ChromeOS (Paz Zcharya) - Preserve current shared DPLL for fastsets on Type-C ports (Ville) - Fix state checker warnings for MG/TC/TBT PLLs (Ville) - Fix HDCP repeater ctl register value on errors (Jani) - Allow FBC with CCS modifiers on SKL+ (Ville) - Fix HDCP GGTT pinning (Ville) DRM core changes: - Add ratelimited drm dbg print (Nirmoy) - DPCD PSR early transport macro (Jouni) Merges: - Backmerge drm-next to bring Xe driver to drm-intel-next (Jani) ---------------------------------------------------------------- Ankit Nautiyal (1): drm/i915/dp: Fix the max DSC bpc supported by source Gustavo Sousa (5): drm/i915/cdclk: Remove divider field from tables drm/i915/xe2lpd: Update bxt_sanitize_cdclk() drm/i915/cdclk: Extract bxt_cdclk_ctl() drm/i915/cdclk: Reorder bxt_sanitize_cdclk() drm/i915/cdclk: Re-use bxt_cdclk_ctl() when sanitizing Haridhar Kalvala (1): drm/i915/mtl: Add fake PCH for Meteor Lake Imre Deak (13): drm/i915/dp: Fix the PSR debugfs entries wrt. MST connectors drm/i915: Init DRM connector polled field early drm/i915: Keep the connector polled state disabled after storm drm/i915: Move audio deinit after disabling polling drm/i915: Disable intel HPD poll after DRM poll init/enable drm/i915: Suspend the framebuffer console during driver shutdown drm/i915: Suspend the framebuffer console earlier during system suspend drm/i915: Prevent modesets during driver init/shutdown drm/i915: Disable hotplug detection works during driver init/shutdown drm/i915: Disable hotplug detection handlers during driver init/shutdown drm/i915: Add intel_digital_port lock/unlock hooks drm/i915: Filter out glitches on HPD lines during hotplug detection drm/i915/dp: Abort AUX on disconnected native DP ports Jani Nikula (16): drm/i915/hdcp: unify connector logging format drm/i915/hdcp: fix intel_hdcp_get_repeater_ctl() error return value drm/i915/bios: remove some unused leftover declarations drm/i915/irq: use DISPLAY_VER instead of GRAPHICS_VER drm/i915/dmc: use DISPLAY_VER instead of GRAPHICS_VER drm/i915/hdcp: use DISPLAY_VER instead of GRAPHICS_VER drm/i915/display: use IS_DISPLAY_VER instead of IS_GRAPHICS_VER drm/i915/tv: use DISPLAY_VER instead of GRAPHICS_VER Merge drm/drm-next into drm-intel-next drm/i915/bios: move i915_vbt debugfs to intel_bios.c drm/i915/opregion: move i915_opregion debugfs to intel_opregion.c drm/i915/opregion: abstract getting the opregion VBT drm/i915/opregion: abstract ASLE presence check drm/i915/gvt: use local INTEL_GVT_OPREGION_SIZE drm/i915/opregion: make struct intel_opregion opaque drm/i915/opregion: remove unused lid_state José Roberto de Souza (1): drm/i915: Disable DSB in Xe KMD Jouni Högander (20): drm/i915/display: Remove intel_crtc_state->psr_vsc drm/i915/display: Move colorimetry_support from intel_psr to intel_dp drm/i915/display: Unify VSC SPD preparation drm/i915/display: Fix vsc_sdp computation drm/i915/display: Ignore only psr specific part of vsc sdp drm/i915/display: Read PSR configuration before VSC SDP drm/i915/display: Take care of VSC select field in video dip ctl register drm: Add eDP 1.5 early transport definition drm/i915/psr: Extend SU area to cover cursor fully if needed drm/i915/psr: Carry su area in crtc_state drm/i915/psr: Calculate and configure CUR_POS_ERLY_TPT drm/i915/psr: Configure PIPE_SRCSZ_ERLY_TPT for psr2 early transport drm/i915/psr: Enable psr2 early transport as possible drm/i915/psr: Disable early transport by default drm/i915/display: No need for full modeset due to psr drm/i915/psr: CAN_PSR and CAN_PANEL_REPLAY can be now local defines drm/i915/alpm: Add ALPM register definitions drm/i915/psr: Add alpm_parameters struct drm/i915/alpm: Calculate ALPM Entry check drm/i915/alpm: Alpm aux wake configuration for lnl Khaled Almahallawy (3): drm/i915/dp: Use LINK_QUAL_PATTERN_* Phy test pattern names drm/i915/dp: Add TPS4 PHY test pattern support drm/i915/dp: Fix passing the correct DPCD_REV for drm_dp_set_phy_test_pattern Lucas De Marchi (3): drm/i915: Drop -Wstringop-overflow drm/i915/xe2lpd: Move D2D enable/disable drm/i915/xe2lpd: Move registers to PICA Matt Roper (1): drm/i915: Add additional ARL PCI IDs Mika Kahola (5): drm/i915/display: Fix C20 pll selection for state verification drm/i915/display: Store hw clock for C20 drm/i915/display: Cleanup mplla/mpllb selection drm/i915/display: Skip C10 state verification in case of fastset drm/i915/display: Use helper to select C20 MPLLA/B Nirmoy Das (2): drm/print: Add drm_dbg_ratelimited drm/i915: Ratelimit debug log in vm_fault_ttm Paz Zcharya (1): drm/i915/display: Include debugfs.h in intel_display_debugfs_params.c Suraj Kandpal (1): drm/i915/hdcp: Fail Repeater authentication if Type1 device not present Ville Syrjälä (38): Revert "drm/i915/dsi: Do display on sequence later on icl+" drm/i915/psr: Only allow PSR in LPSP mode on HSW non-ULT drm/i915: Replace a memset() with zero initialization drm/i915: Decouple intel_crtc_vblank_evade_scanlines() from atomic commits drm/i915: Reorder drm_vblank_put() vs. need_vlv_dsi_wa drm/i915: Introduce struct intel_vblank_evade_ctx drm/i915: Include need_vlv_dsi_wa in intel_vblank_evade_ctx drm/i915: Extract intel_vblank_evade() drm/i915: Move the min/max scanline sanity check into intel_vblank_evade() drm/i915: Move intel_vblank_evade() & co. into intel_vblank.c drm/i915: Perform vblank evasion around legacy cursor updates Revert "drm/i915/xe2lpd: Treat cursor plane as regular plane for DDB allocation" drm/i915: Try to preserve the current shared_dpll for fastset on type-c ports drm/i915: Include the PLL name in the debug messages drm/i915: Suppress old PLL pipe_mask checks for MG/TC/TBT PLLs drm/i915: Convert PLL flags to booleans drm/i915: Compute use_sagv_wm differently drm/i915: Rework global state serializaiton drm/i915: Extract intel_atomic_swap_state() drm/i915/fbc: Allow FBC with CCS modifiers on SKL+ drm/i915/hdcp: Do intel_hdcp_component_init() much later during init drm/i915/hdcp: Pin the hdcp gsc message high in ggtt drm/i915: Use struct resource for memory region IO as well drm/i915: Print memory region info during probe drm/i915: Remove ad-hoc lmem/stolen debugs drm/i915: Bypass LMEMBAR/GTTMMADR for MTL stolen memory access drm/i915: Disable the "binder" drm/i915: Rename the DSM/GSM registers drm/i915: Fix PTE decode during initial plane readout drm/i915: Fix region start during initial plane readout drm/i915: Fix MTL initial plane readout drm/i915: s/phys_base/dma_addr/ drm/i915: Split the smem and lmem plane readout apart drm/i915: Simplify intel_initial_plane_config() calling convention drm/i915/fbdev: Fix smem_start for LMEMBAR stolen objects drm/i915: Tweak BIOS fb reuse check drm/i915: Try to relocate the BIOS fb to the start of ggtt drm/i915: Annotate more of the BIOS fb takeover failure paths drivers/gpu/drm/i915/Makefile | 1 - drivers/gpu/drm/i915/display/i9xx_plane.c | 30 ++ drivers/gpu/drm/i915/display/i9xx_plane.h | 7 + drivers/gpu/drm/i915/display/icl_dsi.c | 3 +- drivers/gpu/drm/i915/display/intel_atomic_plane.c | 6 +- drivers/gpu/drm/i915/display/intel_backlight.c | 2 +- drivers/gpu/drm/i915/display/intel_bios.c | 36 +- drivers/gpu/drm/i915/display/intel_bios.h | 5 +- drivers/gpu/drm/i915/display/intel_cdclk.c | 375 ++++++++++----------- drivers/gpu/drm/i915/display/intel_crt.c | 5 + drivers/gpu/drm/i915/display/intel_crtc.c | 128 +------ drivers/gpu/drm/i915/display/intel_cursor.c | 63 +++- drivers/gpu/drm/i915/display/intel_cx0_phy.c | 229 +++++++------ drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h | 63 +++- drivers/gpu/drm/i915/display/intel_ddi.c | 67 ++-- drivers/gpu/drm/i915/display/intel_display.c | 76 ++++- drivers/gpu/drm/i915/display/intel_display_core.h | 18 +- .../gpu/drm/i915/display/intel_display_debugfs.c | 26 +- .../i915/display/intel_display_debugfs_params.c | 1 + .../gpu/drm/i915/display/intel_display_device.c | 2 +- .../gpu/drm/i915/display/intel_display_driver.c | 165 ++++++++- .../gpu/drm/i915/display/intel_display_driver.h | 6 + drivers/gpu/drm/i915/display/intel_display_irq.c | 10 +- drivers/gpu/drm/i915/display/intel_display_types.h | 38 ++- drivers/gpu/drm/i915/display/intel_dmc.c | 2 +- drivers/gpu/drm/i915/display/intel_dp.c | 194 ++++++----- drivers/gpu/drm/i915/display/intel_dp.h | 10 +- drivers/gpu/drm/i915/display/intel_dp_aux.c | 29 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 4 + drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 83 +++-- drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 18 +- drivers/gpu/drm/i915/display/intel_dsb.c | 4 + drivers/gpu/drm/i915/display/intel_dvo.c | 5 + drivers/gpu/drm/i915/display/intel_fbc.c | 13 +- drivers/gpu/drm/i915/display/intel_fbdev_fb.c | 5 +- drivers/gpu/drm/i915/display/intel_global_state.c | 137 +++++++- drivers/gpu/drm/i915/display/intel_global_state.h | 9 +- drivers/gpu/drm/i915/display/intel_gmbus.c | 5 +- drivers/gpu/drm/i915/display/intel_hdcp.c | 78 +++-- drivers/gpu/drm/i915/display/intel_hdcp_gsc.c | 2 +- drivers/gpu/drm/i915/display/intel_hdcp_regs.h | 28 +- drivers/gpu/drm/i915/display/intel_hdmi.c | 16 +- drivers/gpu/drm/i915/display/intel_hotplug.c | 165 +++++++-- drivers/gpu/drm/i915/display/intel_hotplug.h | 4 + drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 6 +- drivers/gpu/drm/i915/display/intel_opregion.c | 176 +++++++--- drivers/gpu/drm/i915/display/intel_opregion.h | 47 ++- drivers/gpu/drm/i915/display/intel_panel.c | 4 + drivers/gpu/drm/i915/display/intel_plane_initial.c | 255 ++++++++++---- drivers/gpu/drm/i915/display/intel_plane_initial.h | 4 +- drivers/gpu/drm/i915/display/intel_pps.c | 2 +- drivers/gpu/drm/i915/display/intel_psr.c | 216 +++++++++--- drivers/gpu/drm/i915/display/intel_psr.h | 6 - drivers/gpu/drm/i915/display/intel_psr_regs.h | 63 ++++ drivers/gpu/drm/i915/display/intel_sdvo.c | 6 + drivers/gpu/drm/i915/display/intel_tc.c | 40 +-- drivers/gpu/drm/i915/display/intel_tc.h | 2 +- drivers/gpu/drm/i915/display/intel_tv.c | 7 +- drivers/gpu/drm/i915/display/intel_vblank.c | 130 +++++++ drivers/gpu/drm/i915/display/intel_vblank.h | 12 + drivers/gpu/drm/i915/display/skl_universal_plane.c | 28 ++ drivers/gpu/drm/i915/display/skl_universal_plane.h | 2 + drivers/gpu/drm/i915/display/skl_watermark.c | 54 +-- drivers/gpu/drm/i915/gem/i915_gem_region.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 25 +- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 13 +- drivers/gpu/drm/i915/gem/selftests/i915_gem_mman.c | 18 +- drivers/gpu/drm/i915/gt/intel_ggtt.c | 10 +- drivers/gpu/drm/i915/gt/intel_gtt.c | 3 +- drivers/gpu/drm/i915/gt/intel_region_lmem.c | 14 +- drivers/gpu/drm/i915/gt/selftest_tlb.c | 4 +- drivers/gpu/drm/i915/gvt/kvmgt.c | 2 +- drivers/gpu/drm/i915/i915_driver.c | 25 +- drivers/gpu/drm/i915/i915_gpu_error.c | 2 +- drivers/gpu/drm/i915/i915_query.c | 2 +- drivers/gpu/drm/i915/i915_reg.h | 18 +- drivers/gpu/drm/i915/i915_utils.c | 17 + drivers/gpu/drm/i915/i915_utils.h | 2 + drivers/gpu/drm/i915/intel_memory_region.c | 33 +- drivers/gpu/drm/i915/intel_memory_region.h | 3 +- drivers/gpu/drm/i915/intel_region_ttm.c | 8 +- .../gpu/drm/i915/selftests/intel_memory_region.c | 4 +- drivers/gpu/drm/i915/soc/intel_pch.c | 16 +- drivers/gpu/drm/i915/soc/intel_pch.h | 6 +- drivers/gpu/drm/xe/display/xe_plane_initial.c | 67 ++-- include/drm/display/drm_dp.h | 1 + include/drm/drm_print.h | 3 + include/drm/i915_pciids.h | 3 + 88 files changed, 2374 insertions(+), 1160 deletions(-) -- Jani Nikula, Intel