[PULL] drm-intel-next

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Dave & Sima -

The second and likely final batch of i915 features towards v6.15.

BR,
Jani.


drm-intel-next-2025-03-10:
drm/i915 feature pull #2 for v6.15:

Features and functionality:
- FBC dirty rectangle support for display version 30+ (Vinod)
- Update plane scalers via DSB based commits (Ville)
- Move runtime power status info to display power debugfs (Jani)

Refactoring and cleanups:
- Convert i915 and xe to DRM client setup (Thomas)
- Refactor and clean up CDCLK/bw/dbuf readout/sanitation (Ville)
- Conversions from drm_i915_private to struct intel_display (Jani, Suraj)
- Refactor display reset for better separation between display and core (Jani)
- Move panel fitter code together (Jani)
- Add mst and hdcp sub-structs to display structs for clarity (Jani)
- Header refactoring to clarify separation between display and i915 core (Jani)

Fixes:
- Fix DP MST max stream count to match number of pipes (Jani)
- Fix encoder HW state readout of DP MST UHBR (Imre)
- Fix ICL+ combo PHY cursor and coeff polarity programming (Ville)
- Fix pipeDMC and ATS fault handling (Ville)
- Display workarounds (Gustavo)
- Remove duplicate forward declaration (Vinod)
- Improve POWER_DOMAIN_*() macro type safety (Gustavo)
- Move CDCLK post plane programming later (Ville)

DRM core changes:
- Add client-hotplug helper (Thomas)
- Send pending hotplug events after client resume (Thomas)
- Add fb_restore and fb_set_suspend fb helper hooks (Thomas)
- Remove struct fb_probe fb helper hook (Thomas)
- Add const qualifier to drm_atomic_helper_damage_merged() (Vinod)

Xe driver changes:
- Convert i915 and xe to DRM client setup (Thomas)
- Refactor i915 compat headers (Jani)
- Fix fbdev GGTT mapping handling (Maarten)
- Figure out pxp instance from the gem object (Jani)

Merges:
- Backmerge drm-next to fix conflicts with drm-xe-next (Jani)

BR,
Jani.

The following changes since commit 33e26f3544a558e7476eb221ff33173759b3a116:

  Merge tag 'drm-xe-next-2025-02-24' of https://gitlab.freedesktop.org/drm/xe/kernel into drm-next (2025-02-27 10:08:29 +1000)

are available in the Git repository at:

  https://gitlab.freedesktop.org/drm/i915/kernel.git tags/drm-intel-next-2025-03-10

for you to fetch changes up to bb800b56f01f430f4d7b360c758a9ed28f758d75:

  drm/i915: Relocate intel_bw_crtc_update() (2025-03-07 19:11:41 +0200)

----------------------------------------------------------------
drm/i915 feature pull #2 for v6.15:

Features and functionality:
- FBC dirty rectangle support for display version 30+ (Vinod)
- Update plane scalers via DSB based commits (Ville)
- Move runtime power status info to display power debugfs (Jani)

Refactoring and cleanups:
- Convert i915 and xe to DRM client setup (Thomas)
- Refactor and clean up CDCLK/bw/dbuf readout/sanitation (Ville)
- Conversions from drm_i915_private to struct intel_display (Jani, Suraj)
- Refactor display reset for better separation between display and core (Jani)
- Move panel fitter code together (Jani)
- Add mst and hdcp sub-structs to display structs for clarity (Jani)
- Header refactoring to clarify separation between display and i915 core (Jani)

Fixes:
- Fix DP MST max stream count to match number of pipes (Jani)
- Fix encoder HW state readout of DP MST UHBR (Imre)
- Fix ICL+ combo PHY cursor and coeff polarity programming (Ville)
- Fix pipeDMC and ATS fault handling (Ville)
- Display workarounds (Gustavo)
- Remove duplicate forward declaration (Vinod)
- Improve POWER_DOMAIN_*() macro type safety (Gustavo)
- Move CDCLK post plane programming later (Ville)

DRM core changes:
- Add client-hotplug helper (Thomas)
- Send pending hotplug events after client resume (Thomas)
- Add fb_restore and fb_set_suspend fb helper hooks (Thomas)
- Remove struct fb_probe fb helper hook (Thomas)
- Add const qualifier to drm_atomic_helper_damage_merged() (Vinod)

Xe driver changes:
- Convert i915 and xe to DRM client setup (Thomas)
- Refactor i915 compat headers (Jani)
- Fix fbdev GGTT mapping handling (Maarten)
- Figure out pxp instance from the gem object (Jani)

Merges:
- Backmerge drm-next to fix conflicts with drm-xe-next (Jani)

----------------------------------------------------------------
Gustavo Sousa (4):
      drm/i915/display: Use IP version check for Wa_14020863754
      drm/i915/audio: Extend Wa_14020863754 to Xe3_LPD
      drm/i915/display: Use explicit base values in POWER_DOMAIN_*() macros
      drm/i915/display: Make POWER_DOMAIN_*() always result in enum intel_display_power_domain

Imre Deak (1):
      drm/i915/dp_mst: Fix encoder HW state readout for UHBR MST

Jani Nikula (41):
      drm/i915/power: move runtime power status info to power debugfs
      drm/i915/mst: update max stream count to match number of pipes
      drm/i915/display: remove leftover struct drm_i915_private forward declarations
      drm/i915/debugfs: continue display debugfs struct intel_display conversion
      drm/i915/tdf: convert intel_tdf.[ch] to struct intel_display
      drm/i915/snps: convert intel_snps_phy.[ch] to struct intel_display
      drm/i915/dkl: convert intel_dkl_phy.[ch] to struct intel_display
      drm/i915/drrs: convert intel_drrs.[ch] to struct intel_display
      drm/i915/display: convert the M/N functions to struct intel_display
      drm/i915/dpt: convert intel_dpt.[ch] interfaces to struct intel_display
      drm/i915/fbc: convert intel_fbc.[ch] to struct intel_display
      drm/i915/rps: convert intel_display_rps.[ch] to struct intel_display
      drm/i915/ddi: convert intel_wait_ddi_buf_idle() to struct intel_display
      drm/i915/fdi: convert intel_fdi.[ch] to struct intel_display
      drm/i915/pfit: rename intel_panel_fitting() to intel_pfit_compute_config()
      drm/i915/pfit: move ilk and i9xx pfit code to intel_pfit.[ch]
      drm/i915/pfit: fix comment style for moved comments
      drm/i915/pfit: convert moved code to struct intel_display
      drm/i915/pfit: split out intel_pfit_regs.h
      Merge drm/drm-next into drm-intel-next
      drm/i915/mst: add mst sub-struct to struct intel_dp
      drm/i915/mst: add mst sub-struct to struct intel_connector
      drm/i915/hdcp: add hdcp sub-struct to struct intel_digital_port
      drm/i915/pxp & drm/xe/pxp: Figure out pxp instance from the gem object
      drm/i915: relocate intel_plane_ggtt_offset() to intel_atomic_plane.c
      drm/i915: split out i915_gtt_view_types.h from i915_vma_types.h
      drm/i915/display: convert display reset to struct intel_display *
      drm/i915: move pending_fb_pin to struct intel_display
      drm/i915/reset: add intel_gt_gpu_reset_clobbers_display() helper
      drm/i915/reset: add intel_display_reset_test()
      drm/i915/reset: remove I915_RESET_MODESET flag
      drm/i915/reset: decide whether display reset is needed on gt side
      drm/i915/reset: pass test only parameter to intel_display_reset_finish()
      drm/i915/reset: add modeset_stuck callback to intel_display_reset_prepare()
      drm/i915/display: convert various port/phy helpers to struct intel_display
      drm/i915/display: convert some intel_display.[ch] functions to struct intel_display
      drm/i915/display: convert intel_has_pending_fb_unpin() to struct intel_display
      drm/i915/display: remove dupe intel_update_watermarks() declaration
      drm/i915/display: convert intel_display.c to struct intel_display
      drm/xe/compat: refactor compat i915_drv.h
      drm/i915/plane: convert intel_atomic_plane.[ch] to struct intel_display

Maarten Lankhorst (1):
      drm/xe/display: Fix fbdev GGTT mapping handling.

Suraj Kandpal (1):
      drm/i915/vdsc: intel_display conversions

Thomas Zimmermann (12):
      drm/{i915, xe}: Suspend/resume fbdev emulation via client interfaces
      drm/client: Add client-hotplug helper
      drm/client: Send pending hotplug events after resume
      drm/i915/display: Remove fbdev suspend and hotplug tracking
      drm/i915/display: fbdev: Move custom restore code to new callback
      drm/i915/display: fbdev: Move custom suspend code to new callback
      drm/i915/display: Remove preferred_bpp from struct intel_fbdev
      drm/i915/display: Remove struct drm_fb_helper from struct intel_fbdev
      drm/i915/display: Move fbdev code around
      drm/{i915,xe}: Run DRM default client setup
      drm/i915/display: Remove compile guard around fbdev debugfs output
      drm/fb-helper: Remove struct drm_fb_helper.fb_probe

Ville Syrjälä (24):
      drm/i915: Fix pipeDMC and ATS fault handling
      drm/i915/dsb: Allow DSB based updates without planes
      drm/i915/dsb: Plumb dsb into plane scaler functions
      drm/i915/dsb: Allow DSB based commits when scalers are in use
      drm/i915/cdclk: Do cdclk post plane programming later
      drm/i915: Program CURSOR_PROGRAM and COEFF_POLARITY for icl+ combo PHYs
      drm/i915: Drop redundant shared_dpll=NULL assignments
      drm/i915: Don't clobber crtc_state->cpu_transcoder for inactive crtcs
      drm/i915: Use intel_plane_set_invisible() in intel_plane_disable_noatomic()
      drm/i915: Extract intel_cdclk_crtc_disable_noatomic()
      drm/i915: Extract skl_wm_crtc_disable_noatomic()
      drm/i915: clean up pipe's ddb usage in intel_crtc_disable_noatomic()
      drm/i915: Add skl_wm_plane_disable_noatomic()
      drm/i915: Extract intel_bw_crtc_disable_noatomic()
      drm/i915: Extract intel_cdclk_update_hw_state()
      drm/i915: Extract intel_bw_update_hw_state()
      drm/i915: Update bw_state->active_pipes during readout
      drm/i915: Skip some bw_state readout on pre-icl
      sem/i915: Simplify intel_cdclk_update_hw_state()
      drm/i915: Simplify cdclk_disable_noatomic()
      drm/i915: Split wm sanitize from readout
      drm/i915: Do wm readout ealier for skl+
      drm/i915: Move dbuf_state->active_pipes into skl_wm_get_hw_state()
      drm/i915: Relocate intel_bw_crtc_update()

Vinod Govindapillai (9):
      drm/i915/fbc: remove one duplicate forward declaration
      drm/damage-helper: add const qualifier in drm_atomic_helper_damage_merged()
      drm/i915/display: update and store the plane damage clips
      drm/i915/fbc: add register definitions for fbc dirty rect support
      drm/i915/fbc: introduce HAS_FBC_DIRTY_RECT() for FBC dirty rect support
      drm/i915/fbc: avoid calling fbc activate if fbc is active
      drm/i915/fbc: dirty rect support for FBC
      drm/i915/fbc: disable FBC if PSR2 selective fetch is enabled
      drm/i915/fbc: handle dirty rect coords for the first frame

 drivers/gpu/drm/drm_client_event.c                 |   41 +-
 drivers/gpu/drm/drm_damage_helper.c                |    2 +-
 drivers/gpu/drm/drm_fb_helper.c                    |   20 +-
 drivers/gpu/drm/i915/display/g4x_dp.c              |    2 +-
 drivers/gpu/drm/i915/display/g4x_hdmi.c            |    2 +-
 drivers/gpu/drm/i915/display/i9xx_wm.c             |   18 +-
 drivers/gpu/drm/i915/display/icl_dsi.c             |    2 +-
 drivers/gpu/drm/i915/display/intel_acpi.c          |    2 +
 drivers/gpu/drm/i915/display/intel_atomic.h        |    1 -
 drivers/gpu/drm/i915/display/intel_atomic_plane.c  |  126 +-
 drivers/gpu/drm/i915/display/intel_atomic_plane.h  |    2 +
 drivers/gpu/drm/i915/display/intel_audio.c         |    4 +-
 drivers/gpu/drm/i915/display/intel_bios.c          |    5 +-
 drivers/gpu/drm/i915/display/intel_bw.c            |   74 +-
 drivers/gpu/drm/i915/display/intel_bw.h            |    6 +-
 drivers/gpu/drm/i915/display/intel_cdclk.c         |   30 +-
 drivers/gpu/drm/i915/display/intel_cdclk.h         |    4 +-
 .../gpu/drm/i915/display/intel_combo_phy_regs.h    |    2 +
 drivers/gpu/drm/i915/display/intel_connector.c     |    4 +-
 drivers/gpu/drm/i915/display/intel_crt.c           |    1 +
 drivers/gpu/drm/i915/display/intel_ddi.c           |   39 +-
 drivers/gpu/drm/i915/display/intel_ddi.h           |    4 +-
 drivers/gpu/drm/i915/display/intel_ddi_buf_trans.h |    1 -
 drivers/gpu/drm/i915/display/intel_display.c       | 1364 +++++++++-----------
 drivers/gpu/drm/i915/display/intel_display.h       |   34 +-
 drivers/gpu/drm/i915/display/intel_display_core.h  |    4 +-
 .../gpu/drm/i915/display/intel_display_debugfs.c   |   34 +-
 .../gpu/drm/i915/display/intel_display_debugfs.h   |    6 +-
 .../gpu/drm/i915/display/intel_display_device.h    |    1 +
 .../gpu/drm/i915/display/intel_display_driver.c    |   18 +-
 drivers/gpu/drm/i915/display/intel_display_irq.c   |    6 +-
 drivers/gpu/drm/i915/display/intel_display_power.c |    5 +-
 drivers/gpu/drm/i915/display/intel_display_power.h |    7 +-
 .../gpu/drm/i915/display/intel_display_power_map.c |    2 +
 .../drm/i915/display/intel_display_power_well.c    |    9 +-
 drivers/gpu/drm/i915/display/intel_display_reset.c |   73 +-
 drivers/gpu/drm/i915/display/intel_display_reset.h |   12 +-
 drivers/gpu/drm/i915/display/intel_display_rps.c   |    4 +-
 drivers/gpu/drm/i915/display/intel_display_rps.h   |    4 +-
 drivers/gpu/drm/i915/display/intel_display_types.h |   55 +-
 drivers/gpu/drm/i915/display/intel_dkl_phy.c       |    8 +-
 drivers/gpu/drm/i915/display/intel_dkl_phy.h       |    3 +-
 drivers/gpu/drm/i915/display/intel_dp.c            |   50 +-
 .../gpu/drm/i915/display/intel_dp_aux_backlight.c  |    2 +
 drivers/gpu/drm/i915/display/intel_dp_hdcp.c       |    8 +-
 .../gpu/drm/i915/display/intel_dp_link_training.c  |    1 +
 drivers/gpu/drm/i915/display/intel_dp_mst.c        |  158 +--
 drivers/gpu/drm/i915/display/intel_dp_test.c       |    2 +
 drivers/gpu/drm/i915/display/intel_dp_tunnel.c     |    1 +
 drivers/gpu/drm/i915/display/intel_dpt.c           |   29 +-
 drivers/gpu/drm/i915/display/intel_dpt.h           |    7 +-
 drivers/gpu/drm/i915/display/intel_drrs.c          |   45 +-
 drivers/gpu/drm/i915/display/intel_drrs.h          |   10 +-
 drivers/gpu/drm/i915/display/intel_fb_pin.c        |   10 +-
 drivers/gpu/drm/i915/display/intel_fbc.c           |  270 +++-
 drivers/gpu/drm/i915/display/intel_fbc.h           |   10 +-
 drivers/gpu/drm/i915/display/intel_fbc_regs.h      |    9 +
 drivers/gpu/drm/i915/display/intel_fbdev.c         |  340 ++---
 drivers/gpu/drm/i915/display/intel_fbdev.h         |   17 +-
 drivers/gpu/drm/i915/display/intel_fdi.c           |  464 ++++---
 drivers/gpu/drm/i915/display/intel_fdi.h           |   16 +-
 drivers/gpu/drm/i915/display/intel_frontbuffer.c   |   12 +-
 drivers/gpu/drm/i915/display/intel_hdcp.c          |   94 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c          |    2 +-
 drivers/gpu/drm/i915/display/intel_hdmi.h          |    1 -
 drivers/gpu/drm/i915/display/intel_link_bw.c       |    1 +
 drivers/gpu/drm/i915/display/intel_lvds.c          |    3 +-
 drivers/gpu/drm/i915/display/intel_modeset_setup.c |   55 +-
 .../gpu/drm/i915/display/intel_modeset_verify.c    |    3 +-
 drivers/gpu/drm/i915/display/intel_overlay.c       |    6 +-
 drivers/gpu/drm/i915/display/intel_overlay.h       |    1 -
 drivers/gpu/drm/i915/display/intel_panel.c         |    1 +
 drivers/gpu/drm/i915/display/intel_pch_display.c   |   35 +-
 drivers/gpu/drm/i915/display/intel_pfit.c          |  170 ++-
 drivers/gpu/drm/i915/display/intel_pfit.h          |   10 +-
 drivers/gpu/drm/i915/display/intel_pfit_regs.h     |   79 ++
 drivers/gpu/drm/i915/display/intel_pipe_crc.h      |    1 -
 drivers/gpu/drm/i915/display/intel_quirks.c        |    2 +
 drivers/gpu/drm/i915/display/intel_snps_phy.c      |   75 +-
 drivers/gpu/drm/i915/display/intel_snps_phy.h      |    6 +-
 drivers/gpu/drm/i915/display/intel_tdf.h           |    6 +-
 drivers/gpu/drm/i915/display/intel_vdsc.c          |  182 ++-
 drivers/gpu/drm/i915/display/intel_wm.c            |    6 +
 drivers/gpu/drm/i915/display/intel_wm.h            |    1 +
 drivers/gpu/drm/i915/display/skl_scaler.c          |   60 +-
 drivers/gpu/drm/i915/display/skl_scaler.h          |    7 +-
 drivers/gpu/drm/i915/display/skl_universal_plane.c |   53 +-
 drivers/gpu/drm/i915/display/skl_watermark.c       |   56 +-
 drivers/gpu/drm/i915/display/skl_watermark.h       |    4 +
 drivers/gpu/drm/i915/display/vlv_dsi.c             |    2 +-
 drivers/gpu/drm/i915/display/vlv_dsi_pll.h         |    6 +-
 drivers/gpu/drm/i915/gem/i915_gem_execbuffer.c     |    2 +-
 drivers/gpu/drm/i915/gt/intel_engine_cs.c          |    2 +-
 drivers/gpu/drm/i915/gt/intel_ggtt_fencing.c       |    3 +-
 drivers/gpu/drm/i915/gt/intel_gt_pm.c              |    2 +-
 drivers/gpu/drm/i915/gt/intel_reset.c              |   41 +-
 drivers/gpu/drm/i915/gt/intel_reset.h              |    2 +
 drivers/gpu/drm/i915/gt/intel_reset_types.h        |    3 +-
 drivers/gpu/drm/i915/i915_debugfs.c                |    3 -
 drivers/gpu/drm/i915/i915_driver.c                 |   16 +-
 drivers/gpu/drm/i915/i915_gpu_error.h              |    2 -
 drivers/gpu/drm/i915/i915_gtt_view_types.h         |   59 +
 drivers/gpu/drm/i915/i915_reg.h                    |   74 +-
 drivers/gpu/drm/i915/i915_vma_types.h              |   52 +-
 drivers/gpu/drm/i915/intel_gvt_mmio_table.c        |    1 +
 drivers/gpu/drm/i915/pxp/intel_pxp.c               |    6 +-
 drivers/gpu/drm/i915/pxp/intel_pxp.h               |    4 +-
 .../xe/compat-i915-headers/gem/i915_gem_object.h   |   15 +
 drivers/gpu/drm/xe/compat-i915-headers/i915_drv.h  |    8 -
 .../xe/compat-i915-headers/i915_gtt_view_types.h   |    7 +
 .../xe/compat-i915-headers/i915_scheduler_types.h  |   13 +
 .../drm/xe/compat-i915-headers/i915_vma_types.h    |   74 --
 .../gpu/drm/xe/compat-i915-headers/intel_uncore.h  |    2 +
 .../gpu/drm/xe/compat-i915-headers/pxp/intel_pxp.h |    7 +-
 drivers/gpu/drm/xe/display/intel_fbdev_fb.c        |    4 +-
 drivers/gpu/drm/xe/display/xe_display.c            |   13 +-
 drivers/gpu/drm/xe/display/xe_display_rps.c        |    2 +-
 drivers/gpu/drm/xe/display/xe_fb_pin.c             |    1 +
 drivers/gpu/drm/xe/display/xe_tdf.c                |    6 +-
 drivers/gpu/drm/xe/xe_pxp.c                        |    9 +-
 drivers/gpu/drm/xe/xe_pxp.h                        |    2 +-
 include/drm/drm_client.h                           |    8 +
 include/drm/drm_damage_helper.h                    |    2 +-
 include/drm/drm_fb_helper.h                        |   44 +-
 124 files changed, 2545 insertions(+), 2374 deletions(-)
 create mode 100644 drivers/gpu/drm/i915/display/intel_pfit_regs.h
 create mode 100644 drivers/gpu/drm/i915/i915_gtt_view_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/gem/i915_gem_object.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_gtt_view_types.h
 create mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_scheduler_types.h
 delete mode 100644 drivers/gpu/drm/xe/compat-i915-headers/i915_vma_types.h

-- 
Jani Nikula, Intel




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux