Hi Dave & Sima -
The first i915 feature pull towards v6.19, unfortunately a bit later than usual and thus a bit bigger than usual. About 30 patches got pushed between me starting to write the pull request changelog and finishing... BR, Jani. drm-intel-next-2025-11-04: drm/i915 feature pull for v6.19: Features and functionality: - Enable LNL+ content adaptive sharpness filter (CASF) (Nemesa) - Use optimized VRR guardband (Ankit, Ville) - Enable Xe3p LT PHY (Suraj) - Enable FBC support for Xe3p_LPD display (Sai Teja, Vinod) - Specify DMC firmware for display version 30.02 (Dnyaneshwar) - Report reason for disabling PSR to debugfs (Michał) - Extend i915_display_info with Type-C port details (Khaled) - Log DSI send packet sequence errors and contents Refactoring and cleanups: - Refactoring to prepare for VRR guardband optimization (Ankit) - Abstract VRR live status wait (Ankit) - Refactor VRR and DSB timing to handle Set Context Latency explicitly (Ankit) - Helpers for prefill latency calculations (Ville) - Refactor SKL+ watermark latency setup (Ville) - VRR refactoring and cleanups (Ville) - SKL+ universal plane cleanups (Ville) - Decouple CDCLK from state->modeset refactor (Ville) - Refactor VLV/CHV clock functions (Jani) - Refactor fbdev handling (Jani) - Call i915 and xe runtime PM from display via function pointers (Jouni) - IRQ code refactoring (Jani) - Drop display dependency on i915 feature check macros (Jani) - Refactor and unify i915 and xe stolen memory interfaces towards display (Jani) - Switch to driver agnostic drm to display pointer chase (Jani) - Use display version over graphics version in display code (Matt A) - GVT cleanups (Jonathan, Andi) - Rename a VLV clock function to unify (Michał) - Explicitly sanitize DMC package header num entries (Luca) - Remove redundant port clock check from ALPM (Jouni) - Use sysfs_emit() instead of sprintf() in PMU sysfs (Madhur Kumar) - Clean up C20 PHY PLL register macros (Imre, Mika)) - Abstract "address in MMIO table" helper for general use (Matt A) - Improve VRR platform abstractions (Ville) - Move towards more standard PCI PM code usage (Ville) - Framebuffer refactoring (Ville) - Drop display dependency on i915_utils.h (Jani) - Include cleanups (Jani) Fixes: - Workaround docking station DSC issues with high pixel clock and bpp (Imre) - Fix Panel Replay in DSC mode (Imre) - Disable tracepoints for PREEMPT_RT as a workaround (Maarten) - Fix intel_crtc_get_vblank_counter() on PREEMPT_RT (Maarten) - Fix C10 PHY identification on PTL/WCL (Dnyaneshwar) - Take AS SDP into account with optimized guardband (Jouni) - Fix panic structure allocation memory leak (Jani) - Adjust an FBC workaround platforms (Vinod) - Add fallback for CDCLK selection (Naladala) - Avoid using invalid transcoder in MST transport select (Suraj) - Don't use cursor size reduction on display version 14+ (Nemesa) - Fix C20 PHY PLL register programming (Imre, Mika) - Fix PSR frontbuffer flush handling (Jouni) - Store ALPM parameters in crtc state (Jouni) - Defeature DRRS on LNL+ (Ville) - Fix the scope of the large DRAM DIMM workaround (Ville) - Fix PICA vs. AUX power ordering issue (Gustavo) - Fix pixel rate for computing watermark line time (Ville) - Fix framebuffer set_tiling vs. addfb race (Ville) - DMC event handler fixes (Ville) DRM Core: - CRTC sharpness strength property (Nemesa) - DPCD DSC quirk for Synaptics Panamera devices (Imre) - Helpers to query the branch DSC max throughput/line-width (Imre) Merges: - Backmerge drm-next for v6.18-rc and to sync with drm-xe-next (Jani) BR, Jani. The following changes since commit 3a8660878839faadb4f1a6dd72c3179c1df56787: Linux 6.18-rc1 (2025-10-12 13:42:36 -0700) are available in the Git repository at: https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2025-11-04 for you to fetch changes up to c4227e1609b355cde373b5770bd91a7eb49eb9cb: drm/i915/display: Extend i915_display_info with Type-C port details (2025-11-04 14:27:43 +0200) ---------------------------------------------------------------- drm/i915 feature pull for v6.19: Features and functionality: - Enable LNL+ content adaptive sharpness filter (CASF) (Nemesa) - Use optimized VRR guardband (Ankit, Ville) - Enable Xe3p LT PHY (Suraj) - Enable FBC support for Xe3p_LPD display (Sai Teja, Vinod) - Specify DMC firmware for display version 30.02 (Dnyaneshwar) - Report reason for disabling PSR to debugfs (Michał) - Extend i915_display_info with Type-C port details (Khaled) - Log DSI send packet sequence errors and contents Refactoring and cleanups: - Refactoring to prepare for VRR guardband optimization (Ankit) - Abstract VRR live status wait (Ankit) - Refactor VRR and DSB timing to handle Set Context Latency explicitly (Ankit) - Helpers for prefill latency calculations (Ville) - Refactor SKL+ watermark latency setup (Ville) - VRR refactoring and cleanups (Ville) - SKL+ universal plane cleanups (Ville) - Decouple CDCLK from state->modeset refactor (Ville) - Refactor VLV/CHV clock functions (Jani) - Refactor fbdev handling (Jani) - Call i915 and xe runtime PM from display via function pointers (Jouni) - IRQ code refactoring (Jani) - Drop display dependency on i915 feature check macros (Jani) - Refactor and unify i915 and xe stolen memory interfaces towards display (Jani) - Switch to driver agnostic drm to display pointer chase (Jani) - Use display version over graphics version in display code (Matt A) - GVT cleanups (Jonathan, Andi) - Rename a VLV clock function to unify (Michał) - Explicitly sanitize DMC package header num entries (Luca) - Remove redundant port clock check from ALPM (Jouni) - Use sysfs_emit() instead of sprintf() in PMU sysfs (Madhur Kumar) - Clean up C20 PHY PLL register macros (Imre, Mika)) - Abstract "address in MMIO table" helper for general use (Matt A) - Improve VRR platform abstractions (Ville) - Move towards more standard PCI PM code usage (Ville) - Framebuffer refactoring (Ville) - Drop display dependency on i915_utils.h (Jani) - Include cleanups (Jani) Fixes: - Workaround docking station DSC issues with high pixel clock and bpp (Imre) - Fix Panel Replay in DSC mode (Imre) - Disable tracepoints for PREEMPT_RT as a workaround (Maarten) - Fix intel_crtc_get_vblank_counter() on PREEMPT_RT (Maarten) - Fix C10 PHY identification on PTL/WCL (Dnyaneshwar) - Take AS SDP into account with optimized guardband (Jouni) - Fix panic structure allocation memory leak (Jani) - Adjust an FBC workaround platforms (Vinod) - Add fallback for CDCLK selection (Naladala) - Avoid using invalid transcoder in MST transport select (Suraj) - Don't use cursor size reduction on display version 14+ (Nemesa) - Fix C20 PHY PLL register programming (Imre, Mika) - Fix PSR frontbuffer flush handling (Jouni) - Store ALPM parameters in crtc state (Jouni) - Defeature DRRS on LNL+ (Ville) - Fix the scope of the large DRAM DIMM workaround (Ville) - Fix PICA vs. AUX power ordering issue (Gustavo) - Fix pixel rate for computing watermark line time (Ville) - Fix framebuffer set_tiling vs. addfb race (Ville) - DMC event handler fixes (Ville) DRM Core: - CRTC sharpness strength property (Nemesa) - DPCD DSC quirk for Synaptics Panamera devices (Imre) - Helpers to query the branch DSC max throughput/line-width (Imre) Merges: - Backmerge drm-next for v6.18-rc and to sync with drm-xe-next (Jani) ---------------------------------------------------------------- Andi Shyti (1): drm/i915/gvt: Propagate vfio_set_irqs_validate_and_prepare() error Ankit Nautiyal (26): drm/i915/vrr: Refactor VRR live status wait into common helper drm/i915/psr: s/intel_psr_min_vblank_delay/intel_psr_min_set_context_latency drm/i915/display: Add set_context_latency to crtc_state drm/i915/vrr: Use set_context_latency instead of intel_vrr_real_vblank_delay() drm/i915/vrr: Use SCL for computing guardband drm/i915/dsb: s/intel_dsb_wait_vblank_delay/intel_dsb_wait_for_delayed_vblank drm/i915/display: Wait for scl start instead of dsb_wait_vblanks drm/i915/reg_defs: Add REG_FIELD_MAX wrapper for FIELD_MAX() drm/i915/vrr: Clamp guardband as per hardware and timing constraints drm/i915/display: Drop intel_vrr_vblank_delay and use set_context_latency drm/i915/dsb: Inline dsb_vblank_delay() into intel_dsb_wait_for_delayed_vblank() drm/i915/vrr: Use crtc_vsync_start/end for computing vrr.vsync_start/end drm/i915/display: Move intel_dpll_crtc_compute_clock early drm/i915/vrr: s/intel_vrr_compute_config_late/intel_vrr_compute_guardband drm/i915/vblank: Add helper to get correct vblank length drm/i915/psr: Consider SCL lines when validating vblank for wake latency drm/i915/psr: Introduce helper intel_psr_set_non_psr_pipes() drm/i915/display: Introduce dp/psr_compute_config_late() drm/i915/psr: Check if final vblank is sufficient for PSR features drm/i915/display: Add vblank_start adjustment logic for always-on VRR TG drm/i915/display: Prepare for vblank_delay for LRR drm/i915/psr: Add helper to get min psr guardband drm/i915/dp: Add helper to get min sdp guardband drm/i915/dp: Check if guardband can accommodate sdp latencies drm/i915/vrr: Use the min static optimized guardband drm/i915/vrr: Use optimized guardband whenever VRR TG is active Dnyaneshwar Bhadane (4): drm/pcids: Split PTL pciids group to make wcl subplatform drm/i915/display: Add definition for wcl as subplatform drm/i915/xe3: Restrict PTL intel_encoder_is_c10phy() to only PHY A drm/i915/xe3lpd: Load DMC for Xe3_LPD version 30.02 Gustavo Sousa (2): drm/i915/display: Extract separate AUX PW descriptors drm/i915/display: Enable PICA power before AUX Imre Deak (22): drm/dp: Add quirk for Synaptics DSC throughput link-bpp limit drm/dp: Add helpers to query the branch DSC max throughput/line-width drm/i915/dp: Calculate DSC slice count based on per-slice peak throughput drm/i915/dp: Pass DPCD device descriptor to intel_dp_get_dsc_sink_cap() drm/i915/dp: Verify branch devices' overall pixel throughput/line width drm/i915/dp: Handle Synaptics DSC throughput link-bpp quirk drm/i915/display: Sanitize PHY_C20_VDR_CUSTOM_SERDES_RATE/DP_RATE field macros drm/i915/display: Sanitize PHY_C20_VDR_CUSTOM_SERDES_RATE/IS_DP flag macro drm/i915/display: Sanitize PHY_C20_VDR_CUSTOM_SERDES_RATE/CONTEXT_TOGGLE flag macro drm/i915/display: Sanitize PHY_C20_VDR_CUSTOM_SERDES_RATE/IS_HDMI_FRL flag macro drm/i915/display: Fix PHY_C20_VDR_CUSTOM_SERDES_RATE programming drm/i915/display: Fix PHY_C20_VDR_HDMI_RATE programming drm/i915/display: Add missing clock to C10 PHY state compute/HW readout drm/i915/dsc: Add helper to enable the DSC configuration for a CRTC drm/i915/dp: Ensure the FEC state stays disabled for UHBR links drm/i915/dp: Export helper to determine if FEC on non-UHBR links is required drm/i915/dp_mst: Reuse the DP-SST helper function to compute FEC config drm/i915/dp_mst: Track DSC enabled status on the MST link drm/i915/dp_mst: Recompute all MST link CRTCs if DSC gets enabled on the link drm/i915/dp: Fix panel replay when DSC is enabled drm/i915/dp: Simplify intel_dp_needs_8b10b_fec() drm/i915/dp_mst: Fix check for FEC support for an uncompressed stream Jani Nikula (69): drm/i915: do cck get/put inside vlv_get_hpll_vco() drm/i915: do cck get/put inside vlv_get_cck_clock() drm/i915: add vlv_clock_get_gpll() drm/i915: add vlv_clock_get_czclk() drm/i915: add vlv_clock_get_hrawclk() drm/i915: make vlv_get_cck_clock_hpll() static drm/i915: add vlv_clock_get_cdclk() drm/i915: make vlv_get_cck_clock() static drm/i915: rename vlv_get_hpll_vco() to vlv_clock_get_hpll_vco() drm/i915: cache the results in vlv_clock_get_hpll_vco() and use it more drm/i915: remove vlv_get_cck_clock_hpll() drm/i915: remove intel_update_czclk() as unnecessary drm/i915: log HPLL frequency similar to CZCLK drm/i915: move hpll and czclk caching under display drm/i915: split out vlv_clock.[ch] drm/i915: add note on VLV/CHV hpll_freq and czclk_freq caching drm/xe/fbdev: use the same 64-byte stride alignment as i915 drm/i915/fbdev: make intel_framebuffer_create() error return handling explicit drm/{i915, xe}/fbdev: pass struct drm_device to intel_fbdev_fb_alloc() drm/{i915, xe}/fbdev: deduplicate struct drm_mode_fb_cmd2 init drm/i915/fbdev: abstract bo creation drm/xe/fbdev: abstract bo creation drm/{i915, xe}/fbdev: add intel_fbdev_fb_bo_destroy() drm/{i915,xe}/fbdev: deduplicate fbdev creation drm/{i915, xe}/fbdev: pass struct drm_device to intel_fbdev_fb_fill_info() drm/i915/fbdev: drop dependency on display in i915 specific code drm/i915/irq: use a dedicated IMR cache for VLV/CHV drm/i915/irq: use a dedicated IMR cache for gen 5-7 drm/i915/irq: rename irq_mask to gen2_imr_mask drm/i915/irq: rename de_irq_mask[] to de_pipe_imr_mask[] drm/i915/irq: add ilk_display_irq_reset() drm/i915/irq: drop intel_psr_regs.h include drm/i915/irq: initialize gen2_imr_mask in terms of enable_mask drm/i915/irq: abstract i9xx_display_irq_enable_mask() drm/i915/irq: move check for HAS_HOTPLUG() inside i9xx_hpd_irq_ack() drm/i915/irq: split ILK display irq handling drm/i915/gem: add i915_gem_fence_wait_priority_display() helper Merge drm/drm-next into drm-intel-next drm/{i915, xe}/stolen: rename i915_stolen_fb to intel_stolen_node drm/xe/stolen: rename fb to node in stolen compat header drm/xe/stolen: convert compat stolen macros to inline functions drm/xe/stolen: switch from BUG_ON() to WARN_ON() in compat drm/i915/stolen: convert intel_stolen_node into a real struct of its own drm/xe/stolen: convert compat static inlines to proper functions drm/{i915, xe}/stolen: make struct intel_stolen_node opaque drm/{i915, xe}/stolen: add device pointer to struct intel_stolen_node drm/{i915, xe}/stolen: use the stored i915/xe device pointer drm/{i915, xe}/stolen: convert stolen interface to struct drm_device drm/xe/stolen: use the same types as i915 interface drm/{i915,xe}: driver agnostic drm to display pointer chase drm/i915/irq: duplicate HAS_FBC() for irq error mask usage Merge drm/drm-next into drm-intel-next drm/i915: include gen 2 in HAS_128_BYTE_Y_TILING() drm/i915/display: duplicate 128-byte Y-tiling feature check drm/i915/display: add HAS_AUX_CCS() feature check drm/i915: drop unused non-i915 IS_<PLATFORM> macros drm/i915/panic: fix panic structure allocation memory leak drm/i915/display: drop a few unnecessary i915_drv.h includes drm/xe/compat: drop include xe_device.h from i915_drv.h drm/{i915,xe}/fbdev: add intel_fbdev_fb_pitch_align() drm/i915/dsi: log send packet sequence errors drm/i915/dsi: debug log send packet sequence contents drm/i915: split out separate files for jiffies timeout and wait helpers drm/i915/display: create intel_display_utils.h drm/i915/display: add intel_display_run_as_guest() drm/i915/display: add intel_display_vtd_active() drm/i915/display: switch to intel_display_utils.h drm/xe/compat: reduce i915_utils.[ch] drm/{i915, xe}/display: pass parent interface to display probe Jonathan Cavitt (4): drm/i915/gvt: Remove unnecessary check in reg_is_mmio drm/i915/gvt: Fix intel_vgpu_gpa_to_mmio_offset kernel docs drm/i915/gvt: Simplify case switch in intel_vgpu_ioctl drm/i915/gvt: Improve intel_vgpu_ioctl hdr error handling Jouni Högander (10): drm/i915/alpm: Remove error handling from get_lfps_cycle_min_max_time drm/i915/psr: Deactivate PSR only on LNL and when selective fetch enabled drm/i915/alpm: Compute ALPM parameters into crtc_state->alpm_state drm/i915/alpm: Remove parameters suffix from intel_dp->alpm_parameters drm/i915/display: Take into account AS SDP in intel_dp_sdp_min_guardband drm/{i915, xe}/display: Add display runtime pm parent interface drm/i915/display: Runtime pm wrappers for display parent interface drm/xe/display: Runtime pm wrappers for display parent interface drm/i915/display: Use display parent interface for i915 runtime pm drm/xe/display: Use display parent interface for xe runtime pm Khaled Almahallawy (1): drm/i915/display: Extend i915_display_info with Type-C port details Luca Coelho (1): drm/i915/dmc: explicitly sanitize num_entries from package_header Maarten Lankhorst (2): drm/i915: Disable tracepoints for PREEMPT_RT drm/i915/display: Make intel_crtc_get_vblank_counter safe on PREEMPT_RT Madhur Kumar (1): drm/i915: i915_pmu: Use sysfs_emit() instead of sprintf() Matt Atwood (2): drm/i915/display: Use DISPLAY_VER over GRAPHICS_VER drm/i915: move and rename reg_in_range_table Michał Grzelak (2): drm/i915: rename vlv_get_cck_clock() to vlv_clock_get_cck() drm/i915/display: Add no_psr_reason to PSR debugfs Naladala Ramanaidu (1): drm/i915: Add fallback for CDCLK selection when min_cdclk is too high Nemesa Garg (11): drm/i915: Soft defeature of cursor size reduction drm/drm_crtc: Introduce sharpness strength property drm/i915/display: Introduce HAS_CASF for sharpness support drm/i915/display: Add CASF strength and winsize drm/i915/display: Add filter lut values drm/i915/display: Compute the scaler coefficients drm/i915/display: Add and compute scaler parameter drm/i915/display: Configure the second scaler drm/i915/display: Set and get the casf config drm/i915/display: Enable/disable casf drm/i915/display: Expose sharpness strength property Sai Teja Pottumuttu (1): drm/i915/xe3p_lpd: Extend FBC support to UINT16 formats Suraj Kandpal (26): drm/i915/ddi: Guard reg_val against a INVALID_TRANSCODER drm/i915/ltphy: Add LT Phy related VDR and Pipe Registers drm/i915/cx0: Change register bit naming for powerdown values drm/i915/ltphy: Phy lane reset for LT Phy drm/i915/cx0: Move the HDMI FRL function to intel_hdmi drm/i915/ltphy: Program sequence for PORT_CLOCK_CTL for LT Phy drm/i915/ltphy: Add a wrapper for LT Phy powerdown change sequence drm/i915/ltphy: Read PHY_VDR_0_CONFIG register drm/i915/ltphy: Add LT Phy Programming recipe tables drm/i915/ltphy: Program the VDR PLL registers for LT PHY drm/i915/ltphy: Update the ltpll config table value for eDP drm/i915/ltphy: Enable SSC during port clock programming drm/i915/ltphy: Add function to calculate LT PHY port clock drm/i915/ltphy: Program the P2P Transaction flow for LT Phy drm/i915/ltphy: Program the rest of the PORT_CLOCK_CTL steps drm/i915/ltphy: Program the rest of the LT Phy Enable sequence drm/i915/ltphy: Program LT Phy Non-TBT PLL disable sequence drm/i915/ltphy: Hook up LT Phy Enable & Disable sequences drm/i915/ddi: Define LT Phy Swing tables drm/i915/ltphy: Program LT Phy Voltage Swing drm/i915/ltphy: Enable/Disable Tx after Non TBT Enable sequence drm/i915/ltphy: Define the LT Phy state compare function drm/i915/ltphy: Define function to readout LT Phy PLL state drm/i915/ltphy: Define LT PHY PLL state verify function drm/i915/display: Aux Enable and Display powerwell timeouts drm/i915/ltphy: Modify the step that need to be skipped Ville Syrjälä (104): drm/i915: Defeature DRRS on LNL+ drm/i915/vrr: Extract helpers to convert between guardband and pipeline_full values drm/i915/vrr: Readout framestart_delay earlier drm/i915/vrr: Store guardband in crtc state even for icl/tgl drm/i915/vrr: Annotate some functions with "hw" drm/i915/vrr: Move the TGL SCL mangling of vmin/vmax/flipline deeper drm/i915/vrr: Hide the ICL/TGL intel_vrr_flipline_offset() mangling better drm/i915/vrr: s/intel_vrr_flipline_offset/intel_vrr_vmin_flipline_offset/ drm/i915/pm: Simplify pm hook documentation drm/i915/pm: Hoist pci_save_state()+pci_set_power_state() to the end of pm _late() hook drm/i915/pm: Move the hibernate+D3 quirk stuff into noirq() pm hooks drm/i915/pm: Do pci_restore_state() in switcheroo resume hook drm/i915/pm: Allow drivers/pci to manage our pci state normally drm/i915/pm: Drop redundant pci stuff from suspend/resume paths drm/i915/dram: Also apply the 16Gb DIMM w/a for larger DRAM chips drm/i915: Apply the 16Gb DIMM w/a only for the platforms that need it drm/i915: Tweak the read latency fixup code drm/i915: Don't pass the latency array to {skl,mtl}_read_wm_latency() drm/i915: Move adjust_wm_latency() out from {mtl,skl}_read_wm_latency() drm/i915: Extract multiply_wm_latency() from skl_read_wm_latency() drm/i915: Extract increase_wm_latency() drm/i915: Use increase_wm_latency() for the 16Gb DIMM w/a drm/i915: Extract sanitize_wm_latency() drm/i915: Flatten sanitize_wm_latency() a bit drm/i915: Make wm latencies monotonic drm/i915: Print both the original and adjusted wm latencies drm/i915: Make sure wm block/lines are non-decreasing drm/i915: Use the the correct pixel rate to compute wm line time drm/i915: Deobfuscate wm linetime calculation drm/i915: s/intel_get_linetime_us()/skl_wm_linetime_us()/ drm/i915/frontbuffer: Move bo refcounting intel_frontbuffer_{get,release}() drm/i915/fb: Fix the set_tiling vs. addfb race, again drm/i915/fbdev: Select linear modifier explicitly drm/i915/fb: Drop the 'fb' argument from intel_fb_bo_framebuffer_init() drm/i915/wm: Use fb->modfier to check for tiled vs. untiled drm/i915: Introduce intel_crtc_enable_changed() and intel_any_crtc_enable_changed() drm/i915: Introduce intel_crtc_active_changed() and intel_any_crtc_active_changed() drm/i915/bw: Skip the bw_state->active_pipes update if no pipe is changing its active state drm/1915/bw: Drop redundant display version checks drm/i915/cdclk: Extract glk_cdclk_audio_wa_needed() drm/i915/cdclk: Extract dg2_power_well_count() drm/i915/cdclk: Introduce intel_cdclk_modeset_checks() drm/i915/cdclk: Handle the force_min_cdclk state locking in intel_cdclk_atomic_check() drm/i915/cdclk: Extract intel_cdclk_update_bw_min_cdclk() drm/i915/cdclk: Extract intel_cdclk_update_crtc_min_cdclk() drm/i915/cdclk: Rework bw_min_cdclk handling drm/i915/cdclk: Do intel_cdclk_update_crtc_min_cdclk() per-pipe drm/i915/cdclk: Relocate intel_plane_calc_min_cdclk() calls drm/i915/cdclk: Rework crtc min_cdclk handling drm/i915/cdclk: Move intel_bw_crtc_min_cdclk() handling into intel_crtc_compute_min_cdclk() drm/i915/cdclk: Decouple cdclk from state->modeset drm/i915: Introduce intel_calc_enabled_pipes() drm/i915/cdclk: Use enabled_pipes instead of active_pipes for the glk audio w/a drm/i915/cdclk: Hide intel_modeset_calc_cdclk() drm/i915/cdclk: Move intel_cdclk_atomic_check() drm/i915: Reject modes with linetime > 64 usec drm/i915/cdclk: Add prefill helpers for CDCLK drm/i915/cdclk: Add intel_cdclk_min_cdclk_for_prefill() drm/i915/dsc: Add prefill helper for DSC drm/i915/scaler: Add scaler prefill helpers drm/i915/wm: Add WM0 prefill helpers drm/i915/prefill: Introduce skl_prefill.c drm/i915/wm: Use skl_prefill drm/i915/bw: Untangle dbuf bw from the sagv/mem bw stuff drm/i915: s/"not not"/"not"/ drm/i915/bw: Relocate intel_bw_crtc_min_cdclk() drm/i915/ips: Eliminate the cdclk_state stuff from hsw_ips_compute_config() drm/i915/fbc: Decouple FBC from intel_cdclk_atomic_check() drm/i915: s/min_cdck[]/plane_min_cdclk[]/ drm/i915: Compute per-crtc min_cdclk earlier drm/i915: Include the per-crtc minimum cdclk in the crtc state dump drm/i915/dmc: Clear HRR EVT_CTL/HTP to zero on ADL-S drm/i915/dmc: Fixup TGL/ADL-S HRR event handler type drm/i915/dmc: Set DMC_EVT_CTL_ENABLE for disabled event handlers as well drm/i915/vrr: Fix intel_vrr_always_use_vrr_tg()==true on TGL drm/i915/lrr: Include SCL in lrr_params_changed() drm/i915: Remove the "vblank delay" state dump drm/i915/vrr: Compute fixed refresh rate timings the same way as CMRR timings drm/i915/vrr: Reorganize intel_vrr_compute_cmrr_timings() a bit drm/i195/vrr: Move crtc_state->vrr.{vmin,vmax} update into intel_vrr_compute_vrr_timings() drm/i915/vrr: Move compute_fixed_rr_timings() drm/i915/vrr: Extract intel_vrr_set_vrr_timings() drm/i915/vrr: Avoid redundant TRANS_PUSH write in intel_vrr_enable() drm/i915/vrr: Move EMP_AS_SDP_TL write into intel_vrr_set_transcoder_timings() drm/i915/vrr: Use trans_vrr_ctl() in intel_vrr_transcoder_disable() drm/i915/vrr: Extract intel_vrr_tg_disable() drm/i915/vrr: Extract intel_vrr_tg_enable() drm/i915/vrr: Disable VRR TG in intel_vrr_transcoder_disable() only on always use_vrr_tg() platforms drm/i915/vrr: Always write TRANS_VRR_CTL in intel_vrr_set_transcoder_timings() on !always_use_vrr_tg() drm/i915/vrr: Remove redundant HAS_VRR() checks drm/i915/vrr: Move HAS_VRR() check into intel_vrr_set_transcoder_timings() drm/i915/vrr: s/crtc_state/old_crtc_state/ in intel_vrr_transcoder_disable() drm/i915/vrr: Nuke intel_vrr_vblank_exit_length() drm/i915/vrr: Nuke intel_vrr_vmin_flipline() drm/i915/vrr: Update the intel_vrr_extra_vblank_delay() comment drm/i915/vrr: Check HAS_VRR() first in intel_vrr_is_capable() drm/i915: Rewrite icl_min_plane_width() drm/i915: Drop the min plane width w/a adl+ drm/i915: Implement .min_plane_width() for PTL+ drm/i915: Start checking plane min size for the chroma plane drm/i915: Introduce intel_plane_min_height() drm/i915: Remove pointless crtc hw.enable check drm/i915: Extract glk_plane_has_planar() drm/i915: Unify the logic in {skl,glk}_plane_has_*() Vinod Govindapillai (4): drm/i915/fbc: update the impacted platforms in wa_22014263786 drm/i915/xe3p_lpd: Add FBC support for FP16 formats drm/i915/xe3p_lpd: extract pixel format valid routine for FP16 formats drm/i915/xe3p_lpd: use pixel normalizer for fp16 formats for FBC drivers/gpu/drm/display/drm_dp_helper.c | 156 ++ drivers/gpu/drm/drm_atomic_uapi.c | 4 + drivers/gpu/drm/drm_crtc.c | 35 + drivers/gpu/drm/i915/Makefile | 12 + drivers/gpu/drm/i915/display/g4x_dp.c | 2 +- drivers/gpu/drm/i915/display/hsw_ips.c | 61 +- drivers/gpu/drm/i915/display/i9xx_plane.c | 2 +- drivers/gpu/drm/i915/display/i9xx_wm.c | 7 +- drivers/gpu/drm/i915/display/icl_dsi.c | 4 +- drivers/gpu/drm/i915/display/intel_acpi.c | 2 +- drivers/gpu/drm/i915/display/intel_alpm.c | 91 +- drivers/gpu/drm/i915/display/intel_alpm.h | 2 +- drivers/gpu/drm/i915/display/intel_backlight.c | 2 +- drivers/gpu/drm/i915/display/intel_bios.c | 2 +- drivers/gpu/drm/i915/display/intel_bw.c | 315 +-- drivers/gpu/drm/i915/display/intel_bw.h | 6 +- drivers/gpu/drm/i915/display/intel_casf.c | 290 +++ drivers/gpu/drm/i915/display/intel_casf.h | 21 + drivers/gpu/drm/i915/display/intel_casf_regs.h | 33 + drivers/gpu/drm/i915/display/intel_cdclk.c | 449 +++-- drivers/gpu/drm/i915/display/intel_cdclk.h | 16 +- drivers/gpu/drm/i915/display/intel_color.c | 4 +- drivers/gpu/drm/i915/display/intel_combo_phy.c | 2 +- drivers/gpu/drm/i915/display/intel_connector.c | 2 +- drivers/gpu/drm/i915/display/intel_crtc.c | 98 +- drivers/gpu/drm/i915/display/intel_crtc.h | 11 + .../gpu/drm/i915/display/intel_crtc_state_dump.c | 16 +- drivers/gpu/drm/i915/display/intel_cursor.c | 4 +- drivers/gpu/drm/i915/display/intel_cx0_phy.c | 131 +- drivers/gpu/drm/i915/display/intel_cx0_phy.h | 21 + drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h | 25 +- drivers/gpu/drm/i915/display/intel_dbuf_bw.c | 295 +++ drivers/gpu/drm/i915/display/intel_dbuf_bw.h | 37 + drivers/gpu/drm/i915/display/intel_ddi.c | 43 +- drivers/gpu/drm/i915/display/intel_ddi_buf_trans.c | 83 +- drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h | 9 + drivers/gpu/drm/i915/display/intel_display.c | 319 ++-- drivers/gpu/drm/i915/display/intel_display.h | 8 +- .../drm/i915/display/intel_display_conversion.c | 20 +- drivers/gpu/drm/i915/display/intel_display_core.h | 29 +- .../gpu/drm/i915/display/intel_display_debugfs.c | 8 + .../gpu/drm/i915/display/intel_display_device.c | 18 +- .../gpu/drm/i915/display/intel_display_device.h | 13 +- .../gpu/drm/i915/display/intel_display_driver.c | 9 +- drivers/gpu/drm/i915/display/intel_display_irq.c | 128 +- drivers/gpu/drm/i915/display/intel_display_irq.h | 8 +- .../gpu/drm/i915/display/intel_display_jiffies.h | 43 + drivers/gpu/drm/i915/display/intel_display_power.c | 2 +- .../gpu/drm/i915/display/intel_display_power_map.c | 26 +- .../drm/i915/display/intel_display_power_well.c | 22 +- drivers/gpu/drm/i915/display/intel_display_rpm.c | 33 +- drivers/gpu/drm/i915/display/intel_display_types.h | 68 +- drivers/gpu/drm/i915/display/intel_display_utils.c | 32 + drivers/gpu/drm/i915/display/intel_display_utils.h | 31 + drivers/gpu/drm/i915/display/intel_display_wa.c | 2 + drivers/gpu/drm/i915/display/intel_display_wa.h | 1 + drivers/gpu/drm/i915/display/intel_dmc.c | 108 +- drivers/gpu/drm/i915/display/intel_dp.c | 263 ++- drivers/gpu/drm/i915/display/intel_dp.h | 12 +- drivers/gpu/drm/i915/display/intel_dp_aux.c | 2 +- .../gpu/drm/i915/display/intel_dp_link_training.c | 3 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 49 +- drivers/gpu/drm/i915/display/intel_dpio_phy.c | 2 +- drivers/gpu/drm/i915/display/intel_dpll.c | 31 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 2 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 11 + drivers/gpu/drm/i915/display/intel_dsb.c | 57 +- drivers/gpu/drm/i915/display/intel_dsb.h | 4 +- drivers/gpu/drm/i915/display/intel_dsi_vbt.c | 34 +- drivers/gpu/drm/i915/display/intel_dvo.c | 2 +- drivers/gpu/drm/i915/display/intel_fb.c | 67 +- drivers/gpu/drm/i915/display/intel_fb_bo.c | 3 +- drivers/gpu/drm/i915/display/intel_fb_bo.h | 3 +- drivers/gpu/drm/i915/display/intel_fbc.c | 198 +- drivers/gpu/drm/i915/display/intel_fbc.h | 3 + drivers/gpu/drm/i915/display/intel_fbdev.c | 61 +- drivers/gpu/drm/i915/display/intel_fbdev_fb.c | 58 +- drivers/gpu/drm/i915/display/intel_fbdev_fb.h | 14 +- drivers/gpu/drm/i915/display/intel_fdi.c | 2 +- drivers/gpu/drm/i915/display/intel_flipq.c | 6 +- drivers/gpu/drm/i915/display/intel_frontbuffer.c | 10 +- drivers/gpu/drm/i915/display/intel_hdcp.c | 2 +- drivers/gpu/drm/i915/display/intel_hdcp_gsc.c | 1 - drivers/gpu/drm/i915/display/intel_hdmi.c | 16 +- drivers/gpu/drm/i915/display/intel_hdmi.h | 1 + drivers/gpu/drm/i915/display/intel_hotplug.c | 4 +- drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 5 +- drivers/gpu/drm/i915/display/intel_link_bw.c | 17 +- drivers/gpu/drm/i915/display/intel_link_bw.h | 2 +- drivers/gpu/drm/i915/display/intel_lspcon.c | 2 +- drivers/gpu/drm/i915/display/intel_lt_phy.c | 2000 ++++++++++++++++++++ drivers/gpu/drm/i915/display/intel_lt_phy.h | 44 + drivers/gpu/drm/i915/display/intel_lt_phy_regs.h | 75 + drivers/gpu/drm/i915/display/intel_modeset_setup.c | 14 +- .../gpu/drm/i915/display/intel_modeset_verify.c | 2 + drivers/gpu/drm/i915/display/intel_pch.c | 4 +- drivers/gpu/drm/i915/display/intel_pch_refclk.c | 2 +- drivers/gpu/drm/i915/display/intel_pfit.c | 2 +- drivers/gpu/drm/i915/display/intel_plane.c | 61 +- drivers/gpu/drm/i915/display/intel_plane.h | 3 - drivers/gpu/drm/i915/display/intel_pmdemand.c | 3 +- drivers/gpu/drm/i915/display/intel_pps.c | 3 +- drivers/gpu/drm/i915/display/intel_psr.c | 440 +++-- drivers/gpu/drm/i915/display/intel_psr.h | 5 +- drivers/gpu/drm/i915/display/intel_qp_tables.c | 2 +- drivers/gpu/drm/i915/display/intel_snps_hdmi_pll.c | 2 + drivers/gpu/drm/i915/display/intel_snps_phy.c | 2 +- drivers/gpu/drm/i915/display/intel_sprite.c | 2 +- drivers/gpu/drm/i915/display/intel_tc.c | 15 +- drivers/gpu/drm/i915/display/intel_tc.h | 3 + drivers/gpu/drm/i915/display/intel_vblank.c | 15 +- drivers/gpu/drm/i915/display/intel_vblank.h | 2 + drivers/gpu/drm/i915/display/intel_vdsc.c | 26 +- drivers/gpu/drm/i915/display/intel_vdsc.h | 3 + drivers/gpu/drm/i915/display/intel_vrr.c | 502 +++-- drivers/gpu/drm/i915/display/intel_vrr.h | 5 +- drivers/gpu/drm/i915/display/skl_prefill.c | 157 ++ drivers/gpu/drm/i915/display/skl_prefill.h | 46 + drivers/gpu/drm/i915/display/skl_scaler.c | 234 ++- drivers/gpu/drm/i915/display/skl_scaler.h | 17 + drivers/gpu/drm/i915/display/skl_universal_plane.c | 168 +- .../drm/i915/display/skl_universal_plane_regs.h | 12 + drivers/gpu/drm/i915/display/skl_watermark.c | 343 ++-- drivers/gpu/drm/i915/display/skl_watermark.h | 3 + drivers/gpu/drm/i915/display/vlv_clock.c | 88 + drivers/gpu/drm/i915/display/vlv_clock.h | 38 + drivers/gpu/drm/i915/display/vlv_dsi.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_mman.c | 5 +- drivers/gpu/drm/i915/gem/i915_gem_object.h | 1 + .../gpu/drm/i915/gem/i915_gem_object_frontbuffer.h | 2 - drivers/gpu/drm/i915/gem/i915_gem_stolen.c | 104 +- drivers/gpu/drm/i915/gem/i915_gem_stolen.h | 34 +- drivers/gpu/drm/i915/gem/i915_gem_tiling.c | 5 +- drivers/gpu/drm/i915/gem/i915_gem_ttm.c | 1 + drivers/gpu/drm/i915/gem/i915_gem_wait.c | 7 + drivers/gpu/drm/i915/gt/gen2_engine_cs.c | 8 +- drivers/gpu/drm/i915/gt/intel_engine_heartbeat.c | 1 + drivers/gpu/drm/i915/gt/intel_rc6.c | 3 +- drivers/gpu/drm/i915/gt/intel_rps.c | 18 +- drivers/gpu/drm/i915/gt/intel_workarounds.c | 9 +- drivers/gpu/drm/i915/gt/selftest_execlists.c | 1 + drivers/gpu/drm/i915/gvt/kvmgt.c | 35 +- drivers/gpu/drm/i915/gvt/mmio.c | 4 +- drivers/gpu/drm/i915/i915_config.c | 2 +- drivers/gpu/drm/i915/i915_driver.c | 149 +- drivers/gpu/drm/i915/i915_driver.h | 2 + drivers/gpu/drm/i915/i915_drv.h | 21 +- drivers/gpu/drm/i915/i915_irq.c | 105 +- drivers/gpu/drm/i915/i915_jiffies.h | 16 + drivers/gpu/drm/i915/i915_mmio_range.c | 18 + drivers/gpu/drm/i915/i915_mmio_range.h | 19 + drivers/gpu/drm/i915/i915_perf.c | 67 +- drivers/gpu/drm/i915/i915_pmu.c | 4 +- drivers/gpu/drm/i915/i915_reg_defs.h | 10 + drivers/gpu/drm/i915/i915_utils.h | 41 +- drivers/gpu/drm/i915/intel_runtime_pm.c | 77 + drivers/gpu/drm/i915/intel_runtime_pm.h | 3 + drivers/gpu/drm/i915/intel_uncore.c | 15 +- drivers/gpu/drm/i915/intel_uncore.h | 8 +- drivers/gpu/drm/i915/selftests/i915_selftest.c | 1 + drivers/gpu/drm/i915/selftests/intel_uncore.c | 4 +- drivers/gpu/drm/i915/selftests/mock_gem_device.c | 4 +- drivers/gpu/drm/i915/soc/intel_dram.c | 10 +- drivers/gpu/drm/xe/Makefile | 8 +- .../xe/compat-i915-headers/gem/i915_gem_object.h | 4 +- .../xe/compat-i915-headers/gem/i915_gem_stolen.h | 79 +- drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h | 4 - .../xe/compat-i915-headers/i915_scheduler_types.h | 13 - .../gpu/drm/xe/compat-i915-headers/i915_utils.h | 9 +- drivers/gpu/drm/xe/display/ext/i915_utils.c | 27 - drivers/gpu/drm/xe/display/intel_fb_bo.c | 3 +- drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 68 +- drivers/gpu/drm/xe/display/xe_display.c | 12 +- drivers/gpu/drm/xe/display/xe_display_rpm.c | 61 +- drivers/gpu/drm/xe/display/xe_display_rpm.h | 11 + drivers/gpu/drm/xe/display/xe_stolen.c | 123 ++ drivers/gpu/drm/xe/xe_device_types.h | 16 +- drivers/gpu/drm/xe/xe_pci.c | 1 + include/drm/display/drm_dp.h | 3 + include/drm/display/drm_dp_helper.h | 14 + include/drm/drm_crtc.h | 18 + include/drm/intel/display_member.h | 42 + include/drm/intel/display_parent_interface.h | 45 + include/drm/intel/pciids.h | 5 +- 184 files changed, 7604 insertions(+), 2289 deletions(-) create mode 100644 drivers/gpu/drm/i915/display/intel_casf.c create mode 100644 drivers/gpu/drm/i915/display/intel_casf.h create mode 100644 drivers/gpu/drm/i915/display/intel_casf_regs.h create mode 100644 drivers/gpu/drm/i915/display/intel_dbuf_bw.c create mode 100644 drivers/gpu/drm/i915/display/intel_dbuf_bw.h create mode 100644 drivers/gpu/drm/i915/display/intel_display_jiffies.h create mode 100644 drivers/gpu/drm/i915/display/intel_display_utils.c create mode 100644 drivers/gpu/drm/i915/display/intel_display_utils.h create mode 100644 drivers/gpu/drm/i915/display/intel_lt_phy.c create mode 100644 drivers/gpu/drm/i915/display/intel_lt_phy.h create mode 100644 drivers/gpu/drm/i915/display/intel_lt_phy_regs.h create mode 100644 drivers/gpu/drm/i915/display/skl_prefill.c create mode 100644 drivers/gpu/drm/i915/display/skl_prefill.h create mode 100644 drivers/gpu/drm/i915/display/vlv_clock.c create mode 100644 drivers/gpu/drm/i915/display/vlv_clock.h create mode 100644 drivers/gpu/drm/i915/i915_jiffies.h create mode 100644 drivers/gpu/drm/i915/i915_mmio_range.c create mode 100644 drivers/gpu/drm/i915/i915_mmio_range.h delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_scheduler_types.h delete mode 100644 drivers/gpu/drm/xe/display/ext/i915_utils.c create mode 100644 drivers/gpu/drm/xe/display/xe_display_rpm.h create mode 100644 drivers/gpu/drm/xe/display/xe_stolen.c create mode 100644 include/drm/intel/display_member.h create mode 100644 include/drm/intel/display_parent_interface.h -- Jani Nikula, Intel
