Hi Dave and Sima, Here goes our first drm-intel-next PR towards 6.12. drm-intel-next-2024-08-13: - Type-C programming fix for MTL+ (Gustavo) - Fix display clock workaround (Mitul) - Fix DP LTTPR detection (Imre) - Calculate vblank delay more accurately (Ville) - Make vrr_{enabling,disabling}() usable outside intel_display.c (Ville) - FBC clean-up (Ville) - DP link-training fixes and clean-up (Imre) - Make I2C terminology more inclusive (Easwar) - Make read-only array bw_gbps static const (Colin) - HDCP fixes and improvements (Suraj) - DP VSC SDP fixes and clean-ups (Suraj, Mitul) - Fix opregion leak in Xe code (Lucas) - Fix possible int overflow in skl_ddi_calculate_wrpll (Nikita)] - General display clean-ups and conversion towards intel_display (Jani) - On DP MST, Enable LT fallback for UHBR<->non-UHBR rates (Imre) - Add VRR condition for DPKGC Enablement (Suraj) - Use backlight power constants (Zimmermann) - Correct dual pps handling for MTL_PCH+ (Dnyaneshwar) - Dump DSC HW state (Imre) - Replace double blank with single blank after comma (Andi) - Read display register timeout on BMG (Mitul) The following changes since commit 8400291e289ee6b2bf9779ff1c83a291501f017b: Linux 6.11-rc1 (2024-07-28 14:19:55 -0700) are available in the Git repository at: https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2024-08-13 for you to fetch changes up to db639278e6217173c21bf8bd52eff2e9a0d6919e: drm/i915: use pdev_to_i915() instead of pci_get_drvdata() directly (2024-08-13 11:00:24 +0300) ---------------------------------------------------------------- - Type-C programming fix for MTL+ (Gustavo) - Fix display clock workaround (Mitul) - Fix DP LTTPR detection (Imre) - Calculate vblank delay more accurately (Ville) - Make vrr_{enabling,disabling}() usable outside intel_display.c (Ville) - FBC clean-up (Ville) - DP link-training fixes and clean-up (Imre) - Make I2C terminology more inclusive (Easwar) - Make read-only array bw_gbps static const (Colin) - HDCP fixes and improvements (Suraj) - DP VSC SDP fixes and clean-ups (Suraj, Mitul) - Fix opregion leak in Xe code (Lucas) - Fix possible int overflow in skl_ddi_calculate_wrpll (Nikita)] - General display clean-ups and conversion towards intel_display (Jani) - On DP MST, Enable LT fallback for UHBR<->non-UHBR rates (Imre) - Add VRR condition for DPKGC Enablement (Suraj) - Use backlight power constants (Zimmermann) - Correct dual pps handling for MTL_PCH+ (Dnyaneshwar) - Dump DSC HW state (Imre) - Replace double blank with single blank after comma (Andi) - Read display register timeout on BMG (Mitul) ---------------------------------------------------------------- Andi Shyti (1): drm/i915: Replace double blank with single blank after comma Colin Ian King (1): drm/i915/dp: Make read-only array bw_gbps static const Dnyaneshwar Bhadane (1): drm/i915/display: correct dual pps handling for MTL_PCH+ Easwar Hariharan (1): drm/i915: Make I2C terminology more inclusive Gustavo Sousa (1): drm/i915: Skip programming FIA link enable bits for MTL+ Imre Deak (28): drm/i915/dp: Reset intel_dp->link_trained before retraining the link drm/i915/dp: Don't switch the LTTPR mode on an active link drm/i915/dp: Reset cached LTTPR count if number of LTTPRs is unsupported drm/i915/dp: Keep cached LTTPR mode up-to-date drm/i915/dp: Retrain SST links via a modeset commit drm/i915/dp: Require a valid atomic state for SST link training drm/i915/dp: Don't WARN on failed link-retrain modeset drm/dp_mst: Factor out function to queue a topology probe work drm/dp_mst: Add a helper to queue a topology probe drm/dp_mst: Simplify the condition when to enumerate path resources drm/i915/ddi: For an active output call the DP encoder sync_state() only for DP drm/i915/dp: Initialize the link parameters during HW readout drm/i915/dp: Send only a single modeset-retry uevent for a commit drm/i915/dp: Add a separate function to reduce the link parameters drm/i915/dp: Add helpers to set link training mode, BW parameters drm/i915/dp_mst: Reduce the link parameters in BW order after LT failures drm/i915/dp_mst: Configure MST after the link parameters are reset drm/i915/dp_mst: Queue modeset-retry after a failed payload BW allocation drm/i915/dp_mst: Reprobe the MST topology after a link parameter change drm/i915/dp_mst: Ensure link parameters are up-to-date for a disabled link drm/i915/dp_mst: Enable LT fallback between UHBR/non-UHBR link rates drm/i915: Replace to_bpp_x16() with fxp_q4_from_int() drm/i915: Replace to_bpp_int() with fxp_q4_to_int() drm/i915: Replace to_bpp_int_roundup() with fxp_q4_to_int_roundup() drm/i915: Replace to_bpp_frac() with fxp_q4_to_frac() drm/i915: Replace BPP_X16_FMT()/ARGS() with FXP_Q4_FMT()/ARGS() drm/i915: Dump DSC state to dmesg and debugfs/i915_display_info drm/i915: Remove DSC register dump Jani Nikula (11): drm/i915/bios: remove stale and useless comments drm/i915: remove unused HAS_BROKEN_CS_TLB() Merge drm/drm-next into drm-intel-next drm/i915: remove a few __i915_printk() uses drm/i915: remove i915_report_error() drm/i915: remove __i915_printk() drm/i915/acpi: convert to struct intel_display drm/i915/opregion: unify intel_encoder/intel_connector naming drm/i915/opregion: convert to struct intel_display drm/i915/bios: convert to struct intel_display drm/i915: use pdev_to_i915() instead of pci_get_drvdata() directly Lucas De Marchi (1): drm/xe: Fix opregion leak Mitul Golani (4): 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 drm/i915/bmg: Read display register timeout Nikita Zhandarovich (1): drm/i915: Fix possible int overflow in skl_ddi_calculate_wrpll() Suraj Kandpal (6): 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/hdcp: Fix HDCP2_STREAM_STATUS macro drm/i915/dpkgc: Add VRR condition for DPKGC Enablement Thomas Zimmermann (1): drm/i915: Use backlight power constants Ville Syrjälä (15): drm/i915: Calculate vblank delay more accurately drm/i915: Make vrr_{enabling,disabling}() usable outside intel_display.c drm/i915/fbc: Extract intel_fbc_has_fences() drm/i915/fbc: Convert to intel_display, mostly drm/i915/fbc: s/_intel_fbc_cfb_stride()/intel_fbc_plane_cfb_stride()/ drm/i915/fbc: Extract intel_fbc_max_plane_size() drm/i915/fbc: Extract intel_fbc_max_surface_size() drm/i915/fbc: s/intel_fbc_hw_tracking_covers_screen()/intel_fbc_surface_size_ok()/ drm/i915/fbc: Adjust g4x+ platform checks drm/i915/fbc: Extract _intel_fbc_cfb_stride() drm/i915/fbc: s/lines/height/ drm/i915/fbc: Reoder CFB max height platform checks drm/i915/fbc: Extract intel_fbc_max_cfb_height() drm/i915/fbc: Extract _intel_fbc_cfb_size() drm/i915/fbc: Extract intel_fbc_cfb_cpp() drivers/gpu/drm/display/drm_dp_mst_topology.c | 55 +- drivers/gpu/drm/i915/display/dvo_ch7017.c | 14 +- drivers/gpu/drm/i915/display/dvo_ch7xxx.c | 18 +- drivers/gpu/drm/i915/display/dvo_ivch.c | 16 +- drivers/gpu/drm/i915/display/dvo_ns2501.c | 18 +- drivers/gpu/drm/i915/display/dvo_sil164.c | 18 +- drivers/gpu/drm/i915/display/dvo_tfp410.c | 18 +- drivers/gpu/drm/i915/display/g4x_dp.c | 3 +- drivers/gpu/drm/i915/display/g4x_hdmi.c | 3 +- drivers/gpu/drm/i915/display/i9xx_wm.c | 2 +- drivers/gpu/drm/i915/display/icl_dsi.c | 12 +- drivers/gpu/drm/i915/display/intel_acpi.c | 17 +- drivers/gpu/drm/i915/display/intel_acpi.h | 18 +- drivers/gpu/drm/i915/display/intel_alpm.c | 2 +- drivers/gpu/drm/i915/display/intel_audio.c | 5 +- drivers/gpu/drm/i915/display/intel_backlight.c | 15 +- drivers/gpu/drm/i915/display/intel_bios.c | 881 +++++++++++---------- drivers/gpu/drm/i915/display/intel_bios.h | 28 +- drivers/gpu/drm/i915/display/intel_cdclk.c | 5 +- drivers/gpu/drm/i915/display/intel_combo_phy.c | 8 +- .../gpu/drm/i915/display/intel_crtc_state_dump.c | 3 + drivers/gpu/drm/i915/display/intel_ddi.c | 8 +- drivers/gpu/drm/i915/display/intel_ddi.h | 3 +- drivers/gpu/drm/i915/display/intel_display.c | 44 +- drivers/gpu/drm/i915/display/intel_display_core.h | 2 +- .../gpu/drm/i915/display/intel_display_debugfs.c | 15 +- .../gpu/drm/i915/display/intel_display_device.c | 8 +- .../gpu/drm/i915/display/intel_display_driver.c | 26 +- drivers/gpu/drm/i915/display/intel_display_irq.c | 36 +- drivers/gpu/drm/i915/display/intel_display_power.c | 8 + drivers/gpu/drm/i915/display/intel_display_types.h | 45 +- drivers/gpu/drm/i915/display/intel_dp.c | 286 ++++--- drivers/gpu/drm/i915/display/intel_dp.h | 3 +- drivers/gpu/drm/i915/display/intel_dp_hdcp.c | 13 +- .../gpu/drm/i915/display/intel_dp_link_training.c | 132 ++- .../gpu/drm/i915/display/intel_dp_link_training.h | 6 + drivers/gpu/drm/i915/display/intel_dp_mst.c | 100 ++- drivers/gpu/drm/i915/display/intel_dp_mst.h | 1 + drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 6 +- drivers/gpu/drm/i915/display/intel_dsi.h | 2 +- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 20 +- drivers/gpu/drm/i915/display/intel_dvo.c | 14 +- drivers/gpu/drm/i915/display/intel_dvo_dev.h | 2 +- drivers/gpu/drm/i915/display/intel_fbc.c | 545 +++++++------ drivers/gpu/drm/i915/display/intel_fbc.h | 13 +- drivers/gpu/drm/i915/display/intel_fdi.c | 6 +- drivers/gpu/drm/i915/display/intel_fifo_underrun.c | 2 +- drivers/gpu/drm/i915/display/intel_gmbus.c | 4 +- drivers/gpu/drm/i915/display/intel_hdcp.c | 7 +- drivers/gpu/drm/i915/display/intel_hdcp_regs.h | 2 +- drivers/gpu/drm/i915/display/intel_link_bw.c | 4 +- drivers/gpu/drm/i915/display/intel_lvds.c | 5 +- drivers/gpu/drm/i915/display/intel_modeset_setup.c | 2 +- drivers/gpu/drm/i915/display/intel_opregion.c | 320 ++++---- drivers/gpu/drm/i915/display/intel_opregion.h | 62 +- drivers/gpu/drm/i915/display/intel_pps.c | 3 + drivers/gpu/drm/i915/display/intel_sdvo.c | 33 +- drivers/gpu/drm/i915/display/intel_tc.c | 3 + drivers/gpu/drm/i915/display/intel_tv.c | 3 +- drivers/gpu/drm/i915/display/intel_vblank.c | 3 +- drivers/gpu/drm/i915/display/intel_vbt_defs.h | 4 +- drivers/gpu/drm/i915/display/intel_vdsc.c | 51 +- drivers/gpu/drm/i915/display/intel_vdsc.h | 4 + drivers/gpu/drm/i915/display/intel_vrr.c | 3 +- drivers/gpu/drm/i915/display/skl_watermark.c | 24 +- drivers/gpu/drm/i915/display/vlv_dsi.c | 5 +- drivers/gpu/drm/i915/gvt/edid.c | 28 +- drivers/gpu/drm/i915/gvt/edid.h | 4 +- drivers/gpu/drm/i915/gvt/opregion.c | 2 +- drivers/gpu/drm/i915/gvt/trace.h | 2 +- drivers/gpu/drm/i915/i915_driver.c | 36 +- drivers/gpu/drm/i915/i915_drv.h | 3 - drivers/gpu/drm/i915/i915_pci.c | 6 +- drivers/gpu/drm/i915/i915_reg.h | 2 + drivers/gpu/drm/i915/i915_sysfs.c | 4 +- drivers/gpu/drm/i915/i915_utils.c | 51 +- drivers/gpu/drm/i915/i915_utils.h | 16 +- drivers/gpu/drm/xe/display/xe_display.c | 20 +- drivers/gpu/drm/xe/display/xe_hdcp_gsc.c | 8 +- include/drm/display/drm_dp_mst_helper.h | 2 + 80 files changed, 1821 insertions(+), 1410 deletions(-)