Hi Dave & Sima -
First i915 pull for v7.1, mostly display, with xe display changes as well. BR, Jani. drm-intel-next-2026-03-16: drm/i915 feature pull for v7.1: Features and functionality: - C10/C20/LT PHY PLL divider verification (Mika) - Use trans push mechanism to generate PSR frame change event on LNL+ (Jouni) - Account for DSC bubble overhead for horizontal slices (Ankit, Chaitanya) Refactoring and cleanups: - Refactor DP DSC slice config computation (Imre) - Use GVT versions of register helper macros for GVT MMIO table (Ankit) - C10/C20/LT PHY PLL computation refactoring (Mika) - VGA decode refactoring and related fixes/cleanups (Ville) - Move DSB buffer buffer implementation to display parent interface (Jani) - Move error interrupt capture to display irq snapshot (Jani) - Move pcode calls to display parent interface (Jani) - Reduce GVT dependency on display headers (Jani) - Compute config and mode valid refactoring for DSC (Ankit) - Stop using i915 core register headers in display (Uma) - Refactor DPT, move i915 parts to display parent interface (Jani) - Refactor gen2-4 overlay, move to display parent interface (Ville) - Refactor masked field register macro helpers, move to shared headers (Jani) - Convert a number of workaround checks to the new workaround framework (Luca) - Refactor and move frontbuffer calls to display parent interface (Jani) - Add VMA calls to display parent interface (Jani) - Refactor stolen memory allocation decisions (Vinod, Ville) - Clean up and unify workqueue usage (Marco Crivellari) - Preparation for UHBR DP tunnels (Imre) - Allow DSC passthrough modes during DP MST mode validation (Imre) - Move framebuffer bo interface to display parent interface (Jani) Fixes: - Plenty of DP SST HPD IRQ handling fixes (Imre) - DP AUX backlight and luminance control fixes (Suraj) - Respect VBT pipe joiner disable for eDP (Ankit) - Do not use CASF with joiner (Nemesa) - Clear C10/C20 PHY response read and error bit to avoid PHY hangs (Suraj) - Xe3p_LPD DMG clock gating, CDCLK, port sync workarounds (Suraj, Gustavo, Mitul) - Fix GVT error path (Michał) - Handle errors on DP DSC receiver cap reads (Suraj) - DSS clock gating workaround on MTL+ to avoid DSC corruption (Mika) - Skip state verification for LT PHY in TBT mode (Suraj) - Fix NULL pointer dereference on suspend when uc firmware not loaded (Rahul Bukte) - Fix an unlikely DMC state related NULL pointer dereference at probe (Imre) - Handle error returns from vga_get_uninterruptible() (Simon Richter) - Increase C10/C20/LT PHY timeouts to include SOC/OS turnaround (Arun) - Fix BIOS FB vs. stolen memory size check (Ville) - Fix LOBF to use computed guardband and set context latency (Ankit) - Handle modeset WW mutex lock failures due to contention properly (Imre) - Fix pipe BPP clamping due to HDR (Imre) - Fix stale state usage in DSC state computation (Imre) - Take HDCP 1.4 vs 2.x into account during link check (Suraj) - Fix forced link retrain handling in MST HPD IRQ handler (Imre) - Remove redundant warning on vcpi < 0 (Jonathan) Core changes: - iopoll: fix function parameter names in read_poll_timeout_atomic() (Randy Dunlap) Merges: - Backmerge drm-next for v7.0-rc1 (Jani) BR, Jani. The following changes since commit 6de23f81a5e08be8fbf5e8d7e9febc72a5b5f27f: Linux 7.0-rc1 (2026-02-22 13:18:59 -0800) are available in the Git repository at: https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2026-03-16 for you to fetch changes up to 9876394f64a7c166964e003585806473ad6f532b: drm/{i915,xe}: move framebuffer bo to parent interface (2026-03-16 11:00:21 +0200) ---------------------------------------------------------------- drm/i915 feature pull for v7.1: Features and functionality: - C10/C20/LT PHY PLL divider verification (Mika) - Use trans push mechanism to generate PSR frame change event on LNL+ (Jouni) - Account for DSC bubble overhead for horizontal slices (Ankit, Chaitanya) Refactoring and cleanups: - Refactor DP DSC slice config computation (Imre) - Use GVT versions of register helper macros for GVT MMIO table (Ankit) - C10/C20/LT PHY PLL computation refactoring (Mika) - VGA decode refactoring and related fixes/cleanups (Ville) - Move DSB buffer buffer implementation to display parent interface (Jani) - Move error interrupt capture to display irq snapshot (Jani) - Move pcode calls to display parent interface (Jani) - Reduce GVT dependency on display headers (Jani) - Compute config and mode valid refactoring for DSC (Ankit) - Stop using i915 core register headers in display (Uma) - Refactor DPT, move i915 parts to display parent interface (Jani) - Refactor gen2-4 overlay, move to display parent interface (Ville) - Refactor masked field register macro helpers, move to shared headers (Jani) - Convert a number of workaround checks to the new workaround framework (Luca) - Refactor and move frontbuffer calls to display parent interface (Jani) - Add VMA calls to display parent interface (Jani) - Refactor stolen memory allocation decisions (Vinod, Ville) - Clean up and unify workqueue usage (Marco Crivellari) - Preparation for UHBR DP tunnels (Imre) - Allow DSC passthrough modes during DP MST mode validation (Imre) - Move framebuffer bo interface to display parent interface (Jani) Fixes: - Plenty of DP SST HPD IRQ handling fixes (Imre) - DP AUX backlight and luminance control fixes (Suraj) - Respect VBT pipe joiner disable for eDP (Ankit) - Do not use CASF with joiner (Nemesa) - Clear C10/C20 PHY response read and error bit to avoid PHY hangs (Suraj) - Xe3p_LPD DMG clock gating, CDCLK, port sync workarounds (Suraj, Gustavo, Mitul) - Fix GVT error path (Michał) - Handle errors on DP DSC receiver cap reads (Suraj) - DSS clock gating workaround on MTL+ to avoid DSC corruption (Mika) - Skip state verification for LT PHY in TBT mode (Suraj) - Fix NULL pointer dereference on suspend when uc firmware not loaded (Rahul Bukte) - Fix an unlikely DMC state related NULL pointer dereference at probe (Imre) - Handle error returns from vga_get_uninterruptible() (Simon Richter) - Increase C10/C20/LT PHY timeouts to include SOC/OS turnaround (Arun) - Fix BIOS FB vs. stolen memory size check (Ville) - Fix LOBF to use computed guardband and set context latency (Ankit) - Handle modeset WW mutex lock failures due to contention properly (Imre) - Fix pipe BPP clamping due to HDR (Imre) - Fix stale state usage in DSC state computation (Imre) - Take HDCP 1.4 vs 2.x into account during link check (Suraj) - Fix forced link retrain handling in MST HPD IRQ handler (Imre) - Remove redundant warning on vcpi < 0 (Jonathan) Core changes: - iopoll: fix function parameter names in read_poll_timeout_atomic() (Randy Dunlap) Merges: - Backmerge drm-next for v7.0-rc1 (Jani) ---------------------------------------------------------------- Ankit Nautiyal (26): drm/i915/vbt: Add edp pipe joiner enable/disable bits drm/i915/dp: Avoid joiner for eDP if not enabled in VBT drm/i915/gvt_mmio_table: Use the gvt versions of the display macros drm/i915/dp: Early reject bad hdisplay in intel_dp_mode_valid drm/i915/dp: Move num_joined_pipes and related checks together drm/i915/dp: Extract helper to get the hdisplay limit drm/i915/dp: Rework pipe joiner logic in mode_valid drm/i915/dp: Rework pipe joiner logic in compute_config drm/i915/dp_mst: Move the check for dotclock at the end drm/i915/dp_mst: Move the joiner dependent code together drm/i915/dp_mst: Rework pipe joiner logic in mode_valid drm/i915/dp_mst: Extract helper to compute link for given joiner config drm/i915/dp_mst: Rework pipe joiner logic in compute_config drm/i915/dp: Remove unused joiner helpers drm/i915/dp: Introduce helper to check pixel rate against dotclock limits drm/i915/dp: Refactor dsc_slice_count handling in intel_dp_mode_valid() drm/i915/dp: Account for DSC slice overhead drm/i915/dp: Add helpers for joiner candidate loops drm/i915/alpm: Compute LOBF late after guardband is already determined drm/i915/alpm: Allow LOBF only if window1 > alpm check_entry lines drm/i915/alpm: Allow LOBF only for platform that have Always on VRR TG drm/i915/alpm: Simplify and align LOBF checks in pre/post plane update drm/i915/alpm: Disable LOBF around transitioning for LRR/seamless MN drm/i915/quirks: Fix device id for QUIRK_EDP_LIMIT_RATE_HBR2 entry drm/i915/dp: Make intel_dp_can_join() static drm/i915/dp: Restore the missing check for intel_dp_has_joiner Arun R Murthy (3): drm/i915/cx0_phy_regs: Include SoC and OS turnaround time drm/i915/lt_phy_regs: Add SoC/OS turnaround time drm/i915/dp: Read ALPM caps after DPCD init Chaitanya Kumar Borah (2): drm/i915/display: Add upper limit check for pixel clock drm/i915/display: Extend the max dotclock limit to WCL Gustavo Sousa (1): drm/i915/cdclk: Extend Wa_13012396614 to Xe3p_LPD Imre Deak (54): drm/i915/dsc: Track the detaild DSC slice configuration drm/i915/dsc: Track the DSC stream count in the DSC slice config state drm/i915/dsi: Move initialization of DSI DSC streams-per-pipe to fill_dsc() drm/i915/dsi: Track the detailed DSC slice configuration drm/i915/dp: Track the detailed DSC slice configuration drm/i915/dsc: Switch to using intel_dsc_line_slice_count() drm/i915/dp: Factor out intel_dp_dsc_min_slice_count() drm/i915/dp: Use int for DSC slice count variables drm/i915/dp: Rename test_slice_count to slices_per_line drm/i915/dp: Simplify the DSC slice config loop's slices-per-pipe iteration drm/i915/dsc: Add intel_dsc_get_slice_config() drm/i915/dsi: Use intel_dsc_get_slice_config() drm/i915/dp: Unify DP and eDP slice count computation drm/i915/dp: Add intel_dp_dsc_get_slice_config() drm/i915/dp: Use intel_dp_dsc_get_slice_config() drm/i915/dp: Fix pipe BPP clamping due to HDR drm/i915/dp: Verify valid pipe BPP range drm/i915/display: Clarify target pipe bpp variable name in compute_sink_pipe_bpp() drm/i915/dp: Clamp the connector max_bpc request to the valid pipe bpp range drm/i915/dp: Add missing slice count check during mode validation drm/i915/dp: Export intel_dp_compute_min_compressed_bpp_x16() drm/i915/dp_mst: Track min link BPP as x16 fixed-point during mode validation drm/i915/dp_mst: Allow modes requiring compression for DSC passthrough drm/i915/dp: Fix ww mutex lock failure in for_each_joiner_candidate() loop drm/i915/dp_mst: Fix ww mutex lock failure in for_each_joiner_candidate() loop drm/i915/dp_tunnel: Don't update tunnel state during system resume drm/i915/dp_tunnel: Simplify detection of link BW change drm/i915/dp_tunnel: Split update_tunnel_state() drm/i915/dp_tunnel: Sanitize documentation of intel_dp_tunnel_detect() drm/i915/dp_tunnel: Send BW change notification after tunnel creation drm/i915/dp: Fix DSC state computation drm/i915/dp_mst: Reprobe connector if the IRQ ESI read failed drm/i915/dp_mst: Verify the link status always the same way drm/i915/dp_mst: Reuse intel_dp_check_link_state() in the HPD IRQ handler drm/i915/dp: Handle a tunneling IRQ after acking it drm/i915/dp: Handle the RX_CAP_CHANGED HPD IRQ drm/i915/dp: Handle the DOWNSTREAM_PORT_STATUS_CHANGED event drm/i915/dp: Don't clobber the encoder state in the HPD IRQ handler drm/i915/dp: Remove the device service IRQ handling from connector detect drm/i915/dp: Fix the device service IRQ DPCD_REV check drm/i915/dp: Fix the link service IRQ DPCD_REV check drm/i915/dp: Reprobe connector if getting/acking device IRQs fails drm/i915/dp: Reprobe connector if getting/acking link service IRQs fails drm/i915/dp: Return early if getting/acking device service IRQs fails drm/i915/dp: Return early if getting/ackink link service IRQs fails drm/i915/dp: Read/ack sink count and sink IRQs for SST as it's done for MST drm/i915/dp: Print debug message for a sink connected off request drm/i915/dp: Check SST link status while handling link service IRQs drm/i915/dp_mst: Reuse intel_dp_handle_link_service_irq() drm/i915/dp: Ack only the handled device service IRQs drm/i915/dp: Ack only the handled link service IRQs drm/i915/dmc: Fix an unlikely NULL pointer deference at probe drm/i915/dp_mst: Fix forced link retrain handling in MST HPD IRQ handler drm/i915/dp: Simplify forcing a link retraining Jani Nikula (44): drm/i915: move GEN7_ERR_INT snapshot to display irq code drm/i915/dsb: move i915 specific DSB buffer implementation to i915 drm/{i915, xe}/dsb: move DSB buffer to parent interface drm/{i915, xe}/pcode: move display pcode calls to parent interface drm/i915/display: move enum aux_ch to intel_display_limits.h drm/i915/gvt: drop dependency on display struct dpll drm/i915/gvt: drop dependency on intel_display_types.h drm/i915/gvt: drop unnecessary include of intel_display.h drm/i915/overlay: remove dead code with MTL platform checks Merge drm/drm-next into drm-intel-next drm/i915/dpt: move display/intel_dpt.c to i915_dpt.c drm/i915/dpt: pass obj, size instead of framebuffer to intel_dpt_create() drm/i915/dpt: move create/destroy to parent interface drm/i915/dpt: move suspend/resume to parent interface drm/i915/dpt: remove display/intel_dpt.h drm/i915/dpt: drop _common from the DPT file names drm/i915/dpt: switch to i915 runtime pm calls drm/i915/dpt: rename i915 specific functions to i915_dpt_ prefix drm/i915/dpt: rename struct i915_dpt to intel_dpt drm/i915/dpt: pass opaque struct intel_dpt around instead of i915_address_space drm/i915/fbdev: stop debug logging i915_ggtt_offset() drm/i915: add VMA to parent interface drm/xe/compat: remove i915_vma.h from compat drm/xe/display: clean up xe_initial_plane.c includes drm/i915/reg: make masked field helpers constexpr drm/i915/lrc: switch to _MASKED_BIT_ENABLE() and _MASKED_BIT_DISABLE() drm/{i915, xe}/reg: rename masked field helpers REG_MASKED_FIELD*() drm/i915/perf: prefer REG_MASKED_FIELD_ENABLE() and REG_MASKED_FIELD_DISABLE() drm/xe/oa: prefer REG_MASKED_FIELD_ENABLE() and REG_MASKED_FIELD_DISABLE() drm/intel: add reg_bits.h for the various register content helpers drm/intel: add pick.h for the various "picker" helpers drm/i915/gt: prefer _PICK_EVEN() over _PICK() drm/i915/gem: relocate __i915_gem_object_{flush, invalidate}_frontbuffer() drm/i915/gem: unify i915 gem object frontbuffer function names drm/i915/overlay: convert from struct intel_frontbuffer to i915_frontbuffer drm/intel: fix @dpt kernel-doc for parent interface drm/{i915, xe}/frontbuffer: move frontbuffer handling to parent interface drm/i915/frontbuffer: call parent interface directly drm/i915/frontbuffer: reduce fb for frontbuffer abbreviation usage drm/i915: move i915 specific bo implementation to i915 drm/xe: rename intel_bo.c to xe_display_bo.c drm/{i915, xe}/bo: move display bo calls to parent interface drm/i915/fb: make intel_fb_bo.c less dependent on display drm/{i915,xe}: move framebuffer bo to parent interface Jonathan Cavitt (2): drm/i915/display: Prevent u64 underflow in intel_fbc_stolen_end drm/i915/display: vcpi is always greater than zero Jouni Högander (19): drm/i915/psr: Don't enable Panel Replay on sink if globally disabled drm/i915/psr: Add TRANS_PUSH register bit definition for PSR drm/i915/psr: Add intel_psr_use_trans_push to query if TRANS_PUSH is used drm/i915/vrr: Add helper for parsing value to be written into TRANS_PUSH drm/i915/vrr: Add helper for PSR to enable Frame Change event on trans push drm/i915/vrr: Prepare to Use TRANS_PUSH mechanism for PSR frame change drm/i915/dsb: Set DSB_SKIP_WAITS_EN chicken bit for LunarLake and onwards drm/i915/display: Wait for vblank in case of PSR is using trans push drm/i915/psr: Wait for idle only after possible send push drm/i915/psr: Do PSR exit on frontbuffer flush on LunarLake and onwards drm/i915/display: Add HAS_PSR_TRANS_PUSH_FRAME_CHANGE macro drm/i915/psr: Use TRANS_PUSH to trigger frame change event drm/i915/alpm: ALPM disable fixes drm/dp: Add definition for Panel Replay full-line granularity drm/i915/psr: Fix for Panel Replay X granularity DPCD register handling drm/i915/psr: Repeat Selective Update area alignment drm/i915/dsc: Add Selective Update register definitions drm/i915/dsc: Add helper for writing DSC Selective Update ET parameters drm/i915/psr: Write DSC parameters on Selective Update in ET mode Kaushlendra Kumar (1): drm/i915/acpi: free _DSM package when no connectors Luca Coelho (16): drm/i915/display: remove enum macro magic in intel_display_wa() drm/i915/display: convert audio workaround to new framework drm/i915/display: convert W/As in intel_display_power.c to new framework drm/i915/display: convert W/As in intel_cdclk.c to new framework drm/i915/display: convert W/As in intel_cursor.c to new framework drm/i915/display: convert W/As in intel_ddi.c to new framework drm/i915/display: convert W/As in intel_display.c to new framework drm/i915/display: convert W/As in intel_display_device.c to new framework drm/i915/display: convert W/As in intel_dp_mst.c to new framework drm/i915/display: convert W/As in intel_fbc.c to new framework drm/i915/display: convert W/As in intel_flipq.c to new framework drm/i915/display: convert W/As in intel_modeset_setup.c to new framework drm/i915/display: convert W/As in intel_pmdemand.c to new framework drm/i915/display: convert W/As in intel_psr.c to new framework drm/i915/display: convert W/As in skl_universal_plane.c to new framework drm/i915/display: convert W/As in skl_watermark.c to new framework Marco Crivellari (3): drm/i915: replace use of system_unbound_wq with system_dfl_wq drm/i915: replace use of system_wq with system_percpu_wq in the documentation drm/i915: add WQ_PERCPU to alloc_workqueue users Michał Grzelak (1): drm/i915: move intel_gvt_init() level higher Mika Kahola (16): drm/i915/cx0: Move C10 port clock calculation drm/i915/cx0: Move C20 port clock calculation drm/i915/cx0: Drop Cx0 crtc_state from HDMI TMDS pll divider calculation drm/i915/lt_phy: Drop LT PHY crtc_state for port calculation drm/i915/cx0: Drop encoder from port clock calculation drm/i915/cx0: Create macro around PLL tables drm/i915/lt_phy: Create macro for LT PHY PLL state drm/i915/display: Add helper function for fuzzy clock check drm/i915/cx0: Fix HDMI FRL clock rates drm/i915/cx0: Add a fuzzy check for DP/HDMI clock rates during programming drm/i915/cx0: Verify C10/C20 pll dividers drm/i915/lt_phy: Add verification for lt phy pll dividers drm/i915/cx0: Drop C20 25.175 MHz rate drm/i915/lt_phy: Drop 27.2 MHz rate drm/i915/display: Remove .clock member from eDP/DP/HDMI pll tables drm/i915/power_well: Enable workaround for DSS clock gating issue Mitul Golani (1): drm/i915/display: Implement Wa_16024710867 Nemesa Garg (1): drm/i915/casf: Disable CASF with joiner Rahul Bukte (1): drm/i915/gt: Check set_default_submission() before deferencing Randy Dunlap (1): iopoll: fix function parameter names in read_poll_timeout_atomic() Simon Richter (1): drm/i915: handle failure from vga_get_uninterruptible() Suraj Kandpal (13): drm/i915/cx0: Clear response ready & error bit drm/i915/cx0: Rename intel_clear_response_ready flag drm/i915/display: Disable DMG Clock Gating drm/i915/dp: Add a meaningful return to intel_dp_read_dsc_dpcd drm/i915/ltphy: Return true for TBT scenario during lt_phy_state compare drm/i915/backlight: Remove try_vesa_interface drm/i915/backlight: Use intel_panel variable instead of intel_connector drm/i915/backlight: Take luminance_set into account for VESA backlight drm/i915/backlight: Check luminance_set when disabling PWM via AUX VESA backlight drm/i915/backlight: Short circuit intel_dp_aux_supports_hdr_backlight drm/i915/backlight: Update debug log during backlight setup drm/i915/backlight: Provide clear description on how backlight level is controlled drm/i915/hdcp: Take force_hdcp14 into account during check_link Uma Shankar (21): drm/i915: Extract display registers from i915_reg.h to display drm/i915: Extract South chicken registers from i915_reg.h to display drm/i915: Extract display interrupt definitions drm/i915: Extract DSPCLK_GATE_D from i915_reg to display drm/{i915, xe}: Extract pcode definitions to common header drm/i915: Remove i915_reg.h from intel_display_device.c drm/i915: Move GMD_ID and mask to intel_gt header drm/i915: Remove i915_reg.h from intel_dram.c drm/i915: Remove i915_reg.h from intel_display.c drm/i915: Remove i915_reg.h from intel_overlay.c drm/i915: Remove i915_reg.h from g4x_dp.c drm/i915: Remove i915_reg.h from i9xx_wm.c drm/{i915, xe}: Remove i915_reg.h from g4x_hdmi.c drm/i915: Remove i915_reg.h from intel_rom.c drm/i915: Remove i915_reg.h from intel_psr.c drm/i915: Remove i915_reg.h from intel_fifo_underrun.c drm/i915: Remove i915_reg.h from intel_display_irq.c drm/i915: Remove i915_reg.h from intel_display_power_well.c drm/i915: Remove i915_reg.h from intel_modeset_setup.c drm/{i915, xe}: Remove i915_reg.h from display drm/xe/compat: Remove unused i915_reg.h from compat header Ville Syrjälä (43): drm/i915/vga: Register vgaarb client later drm/i915/vga: Get rid of intel_vga_reset_io_mem() drm/i915/power: Remove i915_power_well_desc::has_vga drm/i915/vga: Extract intel_gmch_ctrl_reg() drm/i915/vga: Don't touch VGA registers if VGA decode is fully disabled drm/i915/vga: Clean up VGA registers even if VGA plane is disabled drm/i915/vga: Avoid VGA arbiter during intel_vga_disable() for iGPUs drm/i915/vga: Stop trying to use GMCH_CTRL for VGA decode control drm/i915/vga: Assert that VGA register accesses are going to the right GPU drm/i915/de: Simplify intel_de_read8() drm/i915/de: Add intel_de_write8() drm/i915/vga: Introduce intel_vga_{read,write}() drm/i915/vga: Use MMIO for VGA registers on pre-g4x video/vga: Add VGA_IS0_R drm/i915/crt: Use IS0_R instead of VGA_MIS_W drm/i915/crt: Extract intel_crt_sense_above_threshold() drm/i915: Get rid of the INTEL_GMCH_CTRL alias drm/i915: Clean up PCI config space reg defines drm/i915: Document the GMCH_CTRL register a bit drm/xe/fbdev: Fix BIOS FB vs. stolen size check drm/i915/fbdev: Extract intel_fbdev_fb_prefer_stolen() drm/xe/fbdev: Extract intel_fbdev_fb_prefer_stolen() drm/i915/overlay: Remove GPU hang snapshot stuff drm/i915/overlay: Track current frontbuffer_bits drm/i915/overlay: Extract i915_overlay_is_active() drm/i915/overlay: Remove redundant overlay->active drm/i915/overlay: Relocate the underrun check drm/i915/overlay: Introduce i915_overlay_obj_lookup() drm/i915/overlay: Use struct drm_gem_object as the type drm/i915/overlay: Extract i915_overlay_reset() drm/i915/overlay: Extract i915_overlay_setup() drm/i915/overlay: Extract i915_overlay_cleanup() drm/i915/overlay: Abstract buffer (un)pinning drm/i915/overlay: Rename low level i915 specific functions drm/i915/overlay: Adjust i915 specific interfaces drm/i915/overlay: Make i830_overlay_clock_gating() i915 specific drm/i915/overlay: s/dev_priv/i915/ drm/i915/overlay: Split 'struct intel_overlay' drm/i915/overlay: Don't use fetch_and_zero() in display code drm/i915/overlay: Move i915 specific code into i915_overlay.c drm/i915/overlay: Convert overlay to parent interface drm/i915/overlay: Fix oops on unload drm/i915/vrr: Configure VRR timings after enabling TRANS_DDI_FUNC_CTL Vinod Govindapillai (4): drm/i915/display: fix the pixel normalization handling for xe3p_lpd drm/i915/display: remove the usage of dev_priv drm/xe/fbdev: print info about stolen memory preference for fbdev drm/i915/fbdev: print info about stolen memory preference for fbdev drivers/gpu/drm/i915/Makefile | 7 +- drivers/gpu/drm/i915/display/g4x_dp.c | 1 - drivers/gpu/drm/i915/display/g4x_hdmi.c | 1 - drivers/gpu/drm/i915/display/hsw_ips.c | 10 +- drivers/gpu/drm/i915/display/i9xx_plane.c | 1 - drivers/gpu/drm/i915/display/i9xx_wm.c | 10 +- drivers/gpu/drm/i915/display/icl_dsi.c | 7 - drivers/gpu/drm/i915/display/intel_alpm.c | 157 ++-- drivers/gpu/drm/i915/display/intel_alpm.h | 9 +- drivers/gpu/drm/i915/display/intel_audio.c | 24 +- drivers/gpu/drm/i915/display/intel_backlight.c | 1 - drivers/gpu/drm/i915/display/intel_bios.c | 31 +- drivers/gpu/drm/i915/display/intel_bo.c | 100 +-- drivers/gpu/drm/i915/display/intel_bo.h | 14 +- drivers/gpu/drm/i915/display/intel_bw.c | 24 +- drivers/gpu/drm/i915/display/intel_casf.c | 7 +- drivers/gpu/drm/i915/display/intel_cdclk.c | 63 +- drivers/gpu/drm/i915/display/intel_crt.c | 18 +- drivers/gpu/drm/i915/display/intel_crt_regs.h | 2 - drivers/gpu/drm/i915/display/intel_crtc.c | 4 +- drivers/gpu/drm/i915/display/intel_cursor.c | 3 +- drivers/gpu/drm/i915/display/intel_cx0_phy.c | 737 +++++++++-------- drivers/gpu/drm/i915/display/intel_cx0_phy.h | 5 +- drivers/gpu/drm/i915/display/intel_cx0_phy_regs.h | 4 +- drivers/gpu/drm/i915/display/intel_ddi.c | 13 +- drivers/gpu/drm/i915/display/intel_de.h | 17 +- drivers/gpu/drm/i915/display/intel_display.c | 151 +++- drivers/gpu/drm/i915/display/intel_display.h | 27 +- .../gpu/drm/i915/display/intel_display_debugfs.c | 2 +- .../gpu/drm/i915/display/intel_display_device.c | 10 +- .../gpu/drm/i915/display/intel_display_device.h | 1 + .../gpu/drm/i915/display/intel_display_driver.c | 22 +- drivers/gpu/drm/i915/display/intel_display_irq.c | 11 +- .../gpu/drm/i915/display/intel_display_limits.h | 26 + drivers/gpu/drm/i915/display/intel_display_power.c | 29 +- .../gpu/drm/i915/display/intel_display_power_map.c | 13 - .../drm/i915/display/intel_display_power_well.c | 74 +- .../drm/i915/display/intel_display_power_well.h | 2 - drivers/gpu/drm/i915/display/intel_display_regs.h | 268 ++++++- drivers/gpu/drm/i915/display/intel_display_rps.c | 2 +- .../gpu/drm/i915/display/intel_display_snapshot.c | 4 - drivers/gpu/drm/i915/display/intel_display_types.h | 12 +- drivers/gpu/drm/i915/display/intel_display_wa.c | 83 +- drivers/gpu/drm/i915/display/intel_display_wa.h | 28 +- drivers/gpu/drm/i915/display/intel_dmc.c | 4 +- drivers/gpu/drm/i915/display/intel_dp.c | 871 ++++++++++++++------- drivers/gpu/drm/i915/display/intel_dp.h | 20 +- .../gpu/drm/i915/display/intel_dp_aux_backlight.c | 53 +- drivers/gpu/drm/i915/display/intel_dp_mst.c | 213 +++-- drivers/gpu/drm/i915/display/intel_dp_tunnel.c | 96 ++- drivers/gpu/drm/i915/display/intel_dpll.c | 8 +- drivers/gpu/drm/i915/display/intel_dpll.h | 1 + drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 11 +- drivers/gpu/drm/i915/display/intel_dpll_mgr.h | 3 - drivers/gpu/drm/i915/display/intel_dpt.c | 328 ++------ drivers/gpu/drm/i915/display/intel_dpt.h | 22 +- drivers/gpu/drm/i915/display/intel_dpt_common.c | 35 - drivers/gpu/drm/i915/display/intel_dpt_common.h | 13 - drivers/gpu/drm/i915/display/intel_dram.c | 9 +- drivers/gpu/drm/i915/display/intel_dsb.c | 107 ++- drivers/gpu/drm/i915/display/intel_dsb_buffer.h | 22 - drivers/gpu/drm/i915/display/intel_fb.c | 41 +- drivers/gpu/drm/i915/display/intel_fb_bo.c | 101 --- drivers/gpu/drm/i915/display/intel_fb_bo.h | 25 - drivers/gpu/drm/i915/display/intel_fb_pin.c | 15 +- drivers/gpu/drm/i915/display/intel_fbc.c | 17 +- drivers/gpu/drm/i915/display/intel_fbdev.c | 5 +- drivers/gpu/drm/i915/display/intel_fbdev_fb.c | 38 +- drivers/gpu/drm/i915/display/intel_fbdev_fb.h | 1 + drivers/gpu/drm/i915/display/intel_fdi.c | 1 - drivers/gpu/drm/i915/display/intel_fifo_underrun.c | 1 - drivers/gpu/drm/i915/display/intel_flipq.c | 13 +- drivers/gpu/drm/i915/display/intel_frontbuffer.c | 37 +- drivers/gpu/drm/i915/display/intel_frontbuffer.h | 21 +- drivers/gpu/drm/i915/display/intel_gmbus.c | 7 +- drivers/gpu/drm/i915/display/intel_hdcp.c | 18 +- drivers/gpu/drm/i915/display/intel_hdmi.c | 19 +- drivers/gpu/drm/i915/display/intel_hotplug_irq.c | 1 - drivers/gpu/drm/i915/display/intel_lt_phy.c | 245 +++--- drivers/gpu/drm/i915/display/intel_lt_phy.h | 5 +- drivers/gpu/drm/i915/display/intel_lt_phy_regs.h | 8 +- drivers/gpu/drm/i915/display/intel_modeset_setup.c | 4 +- drivers/gpu/drm/i915/display/intel_oprom_regs.h | 15 + drivers/gpu/drm/i915/display/intel_overlay.c | 584 ++------------ drivers/gpu/drm/i915/display/intel_overlay.h | 48 -- drivers/gpu/drm/i915/display/intel_parent.c | 156 ++++ drivers/gpu/drm/i915/display/intel_parent.h | 51 ++ drivers/gpu/drm/i915/display/intel_pch_display.c | 1 - drivers/gpu/drm/i915/display/intel_pch_refclk.c | 1 - drivers/gpu/drm/i915/display/intel_pmdemand.c | 8 +- drivers/gpu/drm/i915/display/intel_pps.c | 1 - drivers/gpu/drm/i915/display/intel_psr.c | 128 ++- drivers/gpu/drm/i915/display/intel_psr.h | 1 + drivers/gpu/drm/i915/display/intel_rom.c | 3 +- drivers/gpu/drm/i915/display/intel_snps_hdmi_pll.c | 2 - drivers/gpu/drm/i915/display/intel_tc.c | 5 +- drivers/gpu/drm/i915/display/intel_vbt_defs.h | 1 + drivers/gpu/drm/i915/display/intel_vdsc.c | 96 ++- drivers/gpu/drm/i915/display/intel_vdsc.h | 12 + drivers/gpu/drm/i915/display/intel_vdsc_regs.h | 12 + drivers/gpu/drm/i915/display/intel_vga.c | 333 ++++++-- drivers/gpu/drm/i915/display/intel_vga.h | 5 +- drivers/gpu/drm/i915/display/intel_vrr.c | 55 +- drivers/gpu/drm/i915/display/intel_vrr.h | 1 + drivers/gpu/drm/i915/display/intel_vrr_regs.h | 1 + drivers/gpu/drm/i915/display/skl_scaler.c | 2 +- drivers/gpu/drm/i915/display/skl_universal_plane.c | 7 +- drivers/gpu/drm/i915/display/skl_watermark.c | 26 +- drivers/gpu/drm/i915/display/vlv_dsi.c | 1 - drivers/gpu/drm/i915/gem/i915_gem_clflush.c | 2 +- drivers/gpu/drm/i915/gem/i915_gem_domain.c | 6 +- drivers/gpu/drm/i915/gem/i915_gem_object.c | 24 - .../gpu/drm/i915/gem/i915_gem_object_frontbuffer.c | 69 ++ .../gpu/drm/i915/gem/i915_gem_object_frontbuffer.h | 24 +- drivers/gpu/drm/i915/gem/i915_gem_phys.c | 4 +- drivers/gpu/drm/i915/gem/i915_gem_ttm_move.c | 2 +- drivers/gpu/drm/i915/gt/gen6_ppgtt.c | 2 +- drivers/gpu/drm/i915/gt/intel_engine_cs.c | 13 +- drivers/gpu/drm/i915/gt/intel_engine_pm.c | 2 +- .../gpu/drm/i915/gt/intel_execlists_submission.c | 6 +- drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c | 7 +- drivers/gpu/drm/i915/gt/intel_gt.c | 1 + drivers/gpu/drm/i915/gt/intel_gt_irq.c | 2 + drivers/gpu/drm/i915/gt/intel_gt_pm_debugfs.c | 1 + drivers/gpu/drm/i915/gt/intel_gt_regs.h | 11 +- drivers/gpu/drm/i915/gt/intel_gt_sysfs_pm.c | 2 + drivers/gpu/drm/i915/gt/intel_llc.c | 2 + drivers/gpu/drm/i915/gt/intel_lrc.c | 21 +- drivers/gpu/drm/i915/gt/intel_rc6.c | 24 +- drivers/gpu/drm/i915/gt/intel_reset.c | 4 +- drivers/gpu/drm/i915/gt/intel_ring_submission.c | 21 +- drivers/gpu/drm/i915/gt/intel_rps.c | 1 + drivers/gpu/drm/i915/gt/intel_workarounds.c | 26 +- drivers/gpu/drm/i915/gt/uc/intel_guc.c | 4 +- drivers/gpu/drm/i915/gt/uc/intel_guc_ct.c | 4 +- drivers/gpu/drm/i915/gt/uc/intel_guc_submission.c | 10 +- drivers/gpu/drm/i915/gt/uc/intel_uc_fw.c | 4 +- drivers/gpu/drm/i915/gvt/cmd_parser.c | 1 + drivers/gpu/drm/i915/gvt/display.c | 1 - drivers/gpu/drm/i915/gvt/handlers.c | 48 +- drivers/gpu/drm/i915/gvt/interrupt.c | 1 + drivers/gpu/drm/i915/gvt/mmio_context.c | 3 +- drivers/gpu/drm/i915/gvt/reg.h | 4 +- drivers/gpu/drm/i915/i915_active.c | 2 +- drivers/gpu/drm/i915/i915_bo.c | 156 ++++ drivers/gpu/drm/i915/i915_bo.h | 9 + drivers/gpu/drm/i915/i915_debugfs.c | 1 + drivers/gpu/drm/i915/i915_dpt.c | 277 +++++++ drivers/gpu/drm/i915/i915_dpt.h | 20 + drivers/gpu/drm/i915/i915_driver.c | 32 +- drivers/gpu/drm/i915/i915_drv.h | 5 +- .../intel_dsb_buffer.c => i915_dsb_buffer.c} | 28 +- drivers/gpu/drm/i915/i915_dsb_buffer.h | 9 + drivers/gpu/drm/i915/i915_gem.c | 6 +- drivers/gpu/drm/i915/i915_gpu_error.c | 6 - drivers/gpu/drm/i915/i915_gpu_error.h | 1 - drivers/gpu/drm/i915/i915_hwmon.c | 2 + drivers/gpu/drm/i915/i915_initial_plane.c | 3 +- drivers/gpu/drm/i915/i915_irq.c | 1 + drivers/gpu/drm/i915/i915_overlay.c | 517 ++++++++++++ drivers/gpu/drm/i915/i915_overlay.h | 11 + drivers/gpu/drm/i915/i915_perf.c | 34 +- drivers/gpu/drm/i915/i915_reg.h | 465 +---------- drivers/gpu/drm/i915/i915_reg_defs.h | 179 +---- drivers/gpu/drm/i915/i915_sw_fence_work.c | 2 +- drivers/gpu/drm/i915/i915_vma.c | 10 + drivers/gpu/drm/i915/i915_vma.h | 7 +- drivers/gpu/drm/i915/i915_vma_resource.c | 2 +- drivers/gpu/drm/i915/intel_clock_gating.c | 42 +- drivers/gpu/drm/i915/intel_gvt_mmio_table.c | 10 +- drivers/gpu/drm/i915/intel_pcode.c | 17 +- drivers/gpu/drm/i915/intel_pcode.h | 9 +- drivers/gpu/drm/i915/intel_uncore.c | 4 +- drivers/gpu/drm/i915/pxp/intel_pxp.c | 6 +- drivers/gpu/drm/i915/pxp/intel_pxp_irq.c | 2 +- drivers/gpu/drm/i915/selftests/i915_sw_fence.c | 2 +- drivers/gpu/drm/i915/selftests/mock_gem_device.c | 2 +- drivers/gpu/drm/i915/vlv_suspend.c | 1 + drivers/gpu/drm/xe/Makefile | 9 +- drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h | 6 - drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h | 36 - .../gpu/drm/xe/compat-i915-headers/intel_pcode.h | 11 - .../gpu/drm/xe/compat-i915-headers/intel_uncore.h | 9 + drivers/gpu/drm/xe/display/intel_bo.c | 109 --- drivers/gpu/drm/xe/display/intel_fbdev_fb.c | 27 +- drivers/gpu/drm/xe/display/xe_display.c | 8 + .../xe/display/{intel_fb_bo.c => xe_display_bo.c} | 63 +- drivers/gpu/drm/xe/display/xe_display_bo.h | 9 + drivers/gpu/drm/xe/display/xe_display_pcode.c | 38 + drivers/gpu/drm/xe/display/xe_display_pcode.h | 9 + drivers/gpu/drm/xe/display/xe_display_vma.h | 18 + drivers/gpu/drm/xe/display/xe_dsb_buffer.c | 28 +- drivers/gpu/drm/xe/display/xe_dsb_buffer.h | 9 + drivers/gpu/drm/xe/display/xe_fb_pin.c | 26 +- drivers/gpu/drm/xe/display/xe_frontbuffer.c | 71 ++ drivers/gpu/drm/xe/display/xe_frontbuffer.h | 9 + drivers/gpu/drm/xe/display/xe_initial_plane.c | 27 +- drivers/gpu/drm/xe/regs/xe_reg_defs.h | 5 +- drivers/gpu/drm/xe/xe_eu_stall.c | 20 +- drivers/gpu/drm/xe/xe_execlist.c | 6 +- drivers/gpu/drm/xe/xe_hw_engine.c | 8 +- drivers/gpu/drm/xe/xe_lrc.c | 12 +- drivers/gpu/drm/xe/xe_mmio.c | 9 + drivers/gpu/drm/xe/xe_mmio.h | 1 + drivers/gpu/drm/xe/xe_oa.c | 42 +- drivers/gpu/drm/xe/xe_pcode.c | 30 - drivers/gpu/drm/xe/xe_pcode.h | 8 - drivers/gpu/drm/xe/xe_pxp.c | 4 +- drivers/gpu/drm/xe/xe_uc_fw.c | 4 +- include/drm/display/drm_dp.h | 2 + include/drm/intel/display_parent_interface.h | 108 +++ include/drm/intel/i915_drm.h | 82 +- include/drm/intel/intel_gmd_interrupt_regs.h | 92 +++ include/drm/intel/intel_gmd_misc_regs.h | 21 + include/drm/intel/intel_pcode_regs.h | 108 +++ include/drm/intel/pick.h | 51 ++ include/drm/intel/reg_bits.h | 139 ++++ include/linux/iopoll.h | 8 +- include/video/vga.h | 1 + 219 files changed, 5646 insertions(+), 3904 deletions(-) delete mode 100644 drivers/gpu/drm/i915/display/intel_dpt_common.c delete mode 100644 drivers/gpu/drm/i915/display/intel_dpt_common.h delete mode 100644 drivers/gpu/drm/i915/display/intel_dsb_buffer.h delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.c delete mode 100644 drivers/gpu/drm/i915/display/intel_fb_bo.h create mode 100644 drivers/gpu/drm/i915/display/intel_oprom_regs.h create mode 100644 drivers/gpu/drm/i915/i915_bo.c create mode 100644 drivers/gpu/drm/i915/i915_bo.h create mode 100644 drivers/gpu/drm/i915/i915_dpt.c create mode 100644 drivers/gpu/drm/i915/i915_dpt.h rename drivers/gpu/drm/i915/{display/intel_dsb_buffer.c => i915_dsb_buffer.c} (63%) create mode 100644 drivers/gpu/drm/i915/i915_dsb_buffer.h create mode 100644 drivers/gpu/drm/i915/i915_overlay.c create mode 100644 drivers/gpu/drm/i915/i915_overlay.h delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_reg.h delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma.h delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/intel_pcode.h delete mode 100644 drivers/gpu/drm/xe/display/intel_bo.c rename drivers/gpu/drm/xe/display/{intel_fb_bo.c => xe_display_bo.c} (57%) create mode 100644 drivers/gpu/drm/xe/display/xe_display_bo.h create mode 100644 drivers/gpu/drm/xe/display/xe_display_pcode.c create mode 100644 drivers/gpu/drm/xe/display/xe_display_pcode.h create mode 100644 drivers/gpu/drm/xe/display/xe_display_vma.h create mode 100644 drivers/gpu/drm/xe/display/xe_dsb_buffer.h create mode 100644 drivers/gpu/drm/xe/display/xe_frontbuffer.c create mode 100644 drivers/gpu/drm/xe/display/xe_frontbuffer.h create mode 100644 include/drm/intel/intel_gmd_interrupt_regs.h create mode 100644 include/drm/intel/intel_gmd_misc_regs.h create mode 100644 include/drm/intel/intel_pcode_regs.h create mode 100644 include/drm/intel/pick.h create mode 100644 include/drm/intel/reg_bits.h -- Jani Nikula, Intel
