All of lore.kernel.org
 help / color / mirror / Atom feed
* [Intel-gfx] [PATCH v3 00/17] drm/i915: Make fastset not suck and allow seamless M/N changes
@ 2022-06-20 17:51 Ville Syrjala
  2022-06-20 17:51 ` [Intel-gfx] [PATCH v3 01/17] drm/i915: Relocate intel_crtc_dotclock() Ville Syrjala
                   ` (20 more replies)
  0 siblings, 21 replies; 25+ messages in thread
From: Ville Syrjala @ 2022-06-20 17:51 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

And with fastset made to not suck we can consider allowing
seameless M/N changes on eDP panels that support such things.
I've given that a quick test here on a TGL and it seemed to work
OK.

The rough parts:
- The DPLL stuff is kinda messy still, a lot of which is due to
  the dpll_mgr vs. not depending on platform/output type. Maybe
  it's finally time to start cleaning that mess up...
- the port_dpll[] stuff probably needs to be reworked at some
  point to make a bit more sense
- fastboot I *think* should mostly keep working now that we
  try to match the GOP/VBIOS M/N behaviour. FDI M/N vs. DPLL is
  a bit of a challenge for the platforms where the encoder live
  in the PCH, but I'm going to declare that as not so important
- DSI clock handling is snafu
- DP link computation policy might need a bit more work since we
  may now consume more bandwidth than before on machines where
  seamless M/N changes are possible

I also did a quick smoke test through the series on tgl and
snb in the hopes of keeping this at least mostly bisectable.

Changes in v2:
- bunch of stuff already merged
- a bit more refactoring to make things nicer
- Tweak the M/N rounding for fastboot
- don't mess with the DP link rate on platforms (pre-BDW)
  where we haven't implemented seamsless M/N chages
Changes in v3:
- Attempt to get the VLV/BXT DSI stuff to pass CI :/

Ville Syrjälä (17):
  drm/i915: Relocate intel_crtc_dotclock()
  drm/i915: Shuffle some PLL code around
  drm/i915: Extract HAS_DOUBLE_BUFFERED_M_N()
  drm/i915/dsi: Extract {vlv,bxt}_get_pclk()
  drm/i915: Do .crtc_compute_clock() earlier
  drm/i915: Reassign DPLLs only for crtcs going throug .compute_config()
  drm/i915: Feed the DPLL output freq back into crtc_state
  drm/i915: Compute clocks earlier
  drm/i915: Make M/N checks non-fuzzy
  drm/i915: Make all clock checks non-fuzzy
  drm/i915: Set active dpll early for icl+
  drm/i915: Nuke fastet state copy hacks
  drm/i915: Skip intel_modeset_pipe_config_late() if the pipe is not
    enabled
  drm/i915: Add intel_panel_highest_mode()
  drm/i915: Allow M/N change during fastset on bdw+
  drm/i915: Use a fixed N value always
  drm/i915: Round TMDS clock to nearest

 drivers/gpu/drm/i915/display/intel_crt.c      |   3 +
 drivers/gpu/drm/i915/display/intel_ddi.c      |  22 --
 drivers/gpu/drm/i915/display/intel_display.c  | 199 +++++++----------
 drivers/gpu/drm/i915/display/intel_display.h  |   2 +-
 .../drm/i915/display/intel_display_types.h    |   1 +
 drivers/gpu/drm/i915/display/intel_dp.c       |  50 +++--
 drivers/gpu/drm/i915/display/intel_dp_mst.c   |   3 +-
 drivers/gpu/drm/i915/display/intel_dpll.c     |  69 +++++-
 drivers/gpu/drm/i915/display/intel_dpll_mgr.c | 204 ++++++++++--------
 drivers/gpu/drm/i915/display/intel_fdi.c      |   2 +-
 drivers/gpu/drm/i915/display/intel_hdmi.c     |   2 +-
 .../drm/i915/display/intel_modeset_verify.c   |   6 +-
 drivers/gpu/drm/i915/display/intel_panel.c    |  15 ++
 drivers/gpu/drm/i915/display/intel_panel.h    |   3 +
 .../gpu/drm/i915/display/intel_pch_refclk.c   |  10 +
 .../gpu/drm/i915/display/intel_pch_refclk.h   |   1 +
 drivers/gpu/drm/i915/display/vlv_dsi.c        |  11 +-
 drivers/gpu/drm/i915/display/vlv_dsi_pll.c    | 141 +++++++-----
 drivers/gpu/drm/i915/i915_drv.h               |   2 +
 19 files changed, 420 insertions(+), 326 deletions(-)

-- 
2.35.1


^ permalink raw reply	[flat|nested] 25+ messages in thread

end of thread, other threads:[~2022-09-02  6:00 UTC | newest]

Thread overview: 25+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-06-20 17:51 [Intel-gfx] [PATCH v3 00/17] drm/i915: Make fastset not suck and allow seamless M/N changes Ville Syrjala
2022-06-20 17:51 ` [Intel-gfx] [PATCH v3 01/17] drm/i915: Relocate intel_crtc_dotclock() Ville Syrjala
2022-06-20 17:51 ` [Intel-gfx] [PATCH v3 02/17] drm/i915: Shuffle some PLL code around Ville Syrjala
2022-06-20 17:51 ` [Intel-gfx] [PATCH v3 03/17] drm/i915: Extract HAS_DOUBLE_BUFFERED_M_N() Ville Syrjala
2022-06-20 18:07   ` Jani Nikula
2022-06-20 17:51 ` [Intel-gfx] [PATCH v3 04/17] drm/i915/dsi: Extract {vlv, bxt}_get_pclk() Ville Syrjala
2022-09-02  6:00   ` Kahola, Mika
2022-06-20 17:51 ` [Intel-gfx] [PATCH v3 05/17] drm/i915: Do .crtc_compute_clock() earlier Ville Syrjala
2022-06-20 17:51 ` [Intel-gfx] [PATCH v3 06/17] drm/i915: Reassign DPLLs only for crtcs going throug .compute_config() Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 07/17] drm/i915: Feed the DPLL output freq back into crtc_state Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 08/17] drm/i915: Compute clocks earlier Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 09/17] drm/i915: Make M/N checks non-fuzzy Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 10/17] drm/i915: Make all clock " Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 11/17] drm/i915: Set active dpll early for icl+ Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 12/17] drm/i915: Nuke fastet state copy hacks Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 13/17] drm/i915: Skip intel_modeset_pipe_config_late() if the pipe is not enabled Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 14/17] drm/i915: Add intel_panel_highest_mode() Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 15/17] drm/i915: Allow M/N change during fastset on bdw+ Ville Syrjala
2022-09-01  8:25   ` Kahola, Mika
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 16/17] drm/i915: Use a fixed N value always Ville Syrjala
2022-06-20 17:52 ` [Intel-gfx] [PATCH v3 17/17] drm/i915: Round TMDS clock to nearest Ville Syrjala
2022-06-20 22:32 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915: Make fastset not suck and allow seamless M/N changes (rev6) Patchwork
2022-06-20 22:32 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2022-06-20 22:54 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2022-06-21 12:28 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.