All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 00/13] drm/i915: Implemnt vblank sycnhronized mbus joining changes
@ 2024-03-27 17:45 Ville Syrjala
  2024-03-27 17:45 ` [PATCH 01/13] drm/i915/cdclk: Fix CDCLK programming order when pipes are active Ville Syrjala
                   ` (22 more replies)
  0 siblings, 23 replies; 52+ messages in thread
From: Ville Syrjala @ 2024-03-27 17:45 UTC (permalink / raw)
  To: intel-gfx

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

Get rid of the full modeset requirement for changing mbus
joining. Things got quite a bit more complicated than
originally envisioned due to the dynamic cdclk/mdclk ratio.
Sadly we have to do a fairly careful dance between the
dbuf and cdclk code to make sure everything is programmed
in the correct sequence.

Stan did the grunt work, but the sequence vs. cdclk
updates was still not right so I finished that part.
I also reorganized the code quite a bit to make the 
resulting patches more legible. And I tossed in more
debugs and whatnot so we can actually observe what
it's doing.

Quickly smoke tested on tgl and adl, and things seem
pretty decent. Unfortunately I don't have a LNL on me
right now so I haven't fully tested the mdclk/cdclk ratio
changes on real hw, but I did hack my adl to pretend that
the ratio changes with cdclk and double checked that the
logs look sensible for all the combinations of cdclk
increase/decrease and mbus join enable/disable.
So should work (tm) on real hw too.

Stanislav Lisovskiy (3):
  drm/i915: Loop over all active pipes in intel_mbus_dbox_update
  drm/i915: Use old mbus_join value when increasing CDCLK
  drm/i915: Implement vblank synchronized MBUS join changes

Ville Syrjälä (10):
  drm/i915/cdclk: Fix CDCLK programming order when pipes are active
  drm/i915/cdclk: Fix voltage_level programming edge case
  drm/i915/cdclk: Drop tgl/dg2 cdclk bump hacks
  drm/i915/cdclk: Indicate whether CDCLK change happens during pre or
    post plane update
  drm/i915: Relocate intel_mbus_dbox_update()
  drm/i915: Extract intel_dbuf_mbus_join_update()
  drm/i915: Extract intel_dbuf_mdclk_min_tracker_update()
  drm/i915: Add debugs for mbus joining and dbuf ratio programming
  drm/i915: Use a plain old int for the cdclk/mdclk ratio
  drm/i915: Optimize out redundant dbuf slice updates

 drivers/gpu/drm/i915/display/intel_cdclk.c   |  85 +++--
 drivers/gpu/drm/i915/display/intel_cdclk.h   |   8 +-
 drivers/gpu/drm/i915/display/intel_display.c |   5 +-
 drivers/gpu/drm/i915/display/skl_watermark.c | 344 ++++++++++++-------
 drivers/gpu/drm/i915/display/skl_watermark.h |   9 +-
 5 files changed, 271 insertions(+), 180 deletions(-)

-- 
2.43.2


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

end of thread, other threads:[~2024-04-03 15:51 UTC | newest]

Thread overview: 52+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-27 17:45 [PATCH 00/13] drm/i915: Implemnt vblank sycnhronized mbus joining changes Ville Syrjala
2024-03-27 17:45 ` [PATCH 01/13] drm/i915/cdclk: Fix CDCLK programming order when pipes are active Ville Syrjala
2024-03-28  9:16   ` Murthy, Arun R
2024-03-28 12:32     ` Ville Syrjälä
2024-03-28 11:35   ` Shankar, Uma
2024-03-29 15:29   ` Gustavo Sousa
2024-04-03 15:51     ` Ville Syrjälä
2024-03-27 17:45 ` [PATCH 02/13] drm/i915/cdclk: Fix voltage_level programming edge case Ville Syrjala
2024-03-28 11:40   ` Shankar, Uma
2024-03-29 17:04   ` Gustavo Sousa
2024-04-02 14:56     ` Ville Syrjälä
2024-03-27 17:45 ` [PATCH 03/13] drm/i915/cdclk: Drop tgl/dg2 cdclk bump hacks Ville Syrjala
2024-03-28 11:48   ` Shankar, Uma
2024-03-27 17:45 ` [PATCH 04/13] drm/i915/cdclk: Indicate whether CDCLK change happens during pre or post plane update Ville Syrjala
2024-03-28 11:51   ` Shankar, Uma
2024-03-29 17:14   ` Gustavo Sousa
2024-03-27 17:45 ` [PATCH 05/13] drm/i915: Loop over all active pipes in intel_mbus_dbox_update Ville Syrjala
2024-03-28 11:53   ` Shankar, Uma
2024-03-27 17:45 ` [PATCH 06/13] drm/i915: Relocate intel_mbus_dbox_update() Ville Syrjala
2024-03-28 11:54   ` Shankar, Uma
2024-03-29 18:28   ` Gustavo Sousa
2024-03-27 17:45 ` [PATCH 07/13] drm/i915: Extract intel_dbuf_mbus_join_update() Ville Syrjala
2024-03-28 11:57   ` Shankar, Uma
2024-03-29 18:29   ` Gustavo Sousa
2024-03-27 17:45 ` [PATCH 08/13] drm/i915: Extract intel_dbuf_mdclk_min_tracker_update() Ville Syrjala
2024-03-28 12:01   ` Shankar, Uma
2024-03-29 18:31   ` Gustavo Sousa
2024-03-27 17:45 ` [PATCH 09/13] drm/i915: Add debugs for mbus joining and dbuf ratio programming Ville Syrjala
2024-03-28 12:04   ` Shankar, Uma
2024-03-29 18:32   ` Gustavo Sousa
2024-03-27 17:45 ` [PATCH 10/13] drm/i915: Use old mbus_join value when increasing CDCLK Ville Syrjala
2024-03-28 12:07   ` Shankar, Uma
2024-03-27 17:45 ` [PATCH 11/13] drm/i915: Implement vblank synchronized MBUS join changes Ville Syrjala
2024-03-28 16:08   ` Shankar, Uma
2024-03-29 18:15   ` Gustavo Sousa
2024-04-02 14:25     ` Ville Syrjälä
2024-03-27 17:45 ` [PATCH 12/13] drm/i915: Use a plain old int for the cdclk/mdclk ratio Ville Syrjala
2024-03-28 16:09   ` Shankar, Uma
2024-03-29 18:23   ` Gustavo Sousa
2024-04-02 14:49     ` Ville Syrjälä
2024-03-27 17:45 ` [PATCH 13/13] drm/i915: Optimize out redundant dbuf slice updates Ville Syrjala
2024-03-28 16:12   ` Shankar, Uma
2024-03-27 22:44 ` ✗ Fi.CI.SPARSE: warning for drm/i915: Implemnt vblank sycnhronized mbus joining changes Patchwork
2024-03-28 14:50 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-28 15:58 ` Patchwork
2024-03-28 16:15 ` ✓ Fi.CI.IGT: " Patchwork
2024-03-28 16:16 ` [PATCH 00/13] " Shankar, Uma
2024-03-28 18:35 ` ✓ Fi.CI.IGT: success for " Patchwork
2024-03-28 20:30 ` ✗ Fi.CI.IGT: failure " Patchwork
2024-03-29  4:42 ` ✗ Fi.CI.SPARSE: warning for drm/i915: Implemnt vblank sycnhronized mbus joining changes (rev2) Patchwork
2024-03-29  5:00 ` ✓ Fi.CI.BAT: success " Patchwork
2024-03-30  2:41 ` ✓ Fi.CI.IGT: " 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.