[PULL] drm-intel-next

Rodrigo Vivi
2024-08-13T17:24:22Z

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