Message ID | 20240327174544.983-10-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915: Implemnt vblank sycnhronized mbus joining changes | expand |
> -----Original Message----- > From: Intel-gfx <intel-gfx-bounces@lists.freedesktop.org> On Behalf Of Ville > Syrjala > Sent: Wednesday, March 27, 2024 11:16 PM > To: intel-gfx@lists.freedesktop.org > Subject: [PATCH 09/13] drm/i915: Add debugs for mbus joining and dbuf ratio > programming Looks Good to me. Reviewed-by: Uma Shankar <uma.shankar@intel.com> > From: Ville Syrjälä <ville.syrjala@linux.intel.com> > > Add some debugs so that we can actually observe what is actually happening > during the mbus/dbuf programming steps. > We can just shove them into fairly low level functions as none of them are called > during any critical sections/etc. > > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/display/skl_watermark.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > > diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c > b/drivers/gpu/drm/i915/display/skl_watermark.c > index 7767c5eada36..a118ecf9e532 100644 > --- a/drivers/gpu/drm/i915/display/skl_watermark.c > +++ b/drivers/gpu/drm/i915/display/skl_watermark.c > @@ -3647,6 +3647,9 @@ void intel_dbuf_mdclk_cdclk_ratio_update(struct > drm_i915_private *i915, u8 ratio > if (joined_mbus) > ratio *= 2; > > + drm_dbg_kms(&i915->drm, "Updating dbuf ratio to %d (mbus joined: > %s)\n", > + ratio, str_yes_no(joined_mbus)); > + > for_each_dbuf_slice(i915, slice) > intel_de_rmw(i915, DBUF_CTL_S(slice), > DBUF_MIN_TRACKER_STATE_SERVICE_MASK, > @@ -3680,10 +3683,16 @@ static void > intel_dbuf_mdclk_min_tracker_update(struct intel_atomic_state *state static > void intel_dbuf_mbus_join_update(struct intel_atomic_state *state) { > struct drm_i915_private *i915 = to_i915(state->base.dev); > + const struct intel_dbuf_state *old_dbuf_state = > + intel_atomic_get_old_dbuf_state(state); > const struct intel_dbuf_state *new_dbuf_state = > intel_atomic_get_new_dbuf_state(state); > u32 mbus_ctl; > > + drm_dbg_kms(&i915->drm, "Changing mbus joined: %s -> %s\n", > + str_yes_no(old_dbuf_state->joined_mbus), > + str_yes_no(new_dbuf_state->joined_mbus)); > + > /* > * TODO: Implement vblank synchronized MBUS joining changes. > * Must be properly coordinated with dbuf reprogramming. > -- > 2.43.2
Quoting Ville Syrjala (2024-03-27 14:45:40-03:00) >From: Ville Syrjälä <ville.syrjala@linux.intel.com> > >Add some debugs so that we can actually observe what is >actually happening during the mbus/dbuf programming steps. >We can just shove them into fairly low level functions as >none of them are called during any critical sections/etc. > >Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Gustavo Sousa <gustavo.sousa@intel.com> >--- > drivers/gpu/drm/i915/display/skl_watermark.c | 9 +++++++++ > 1 file changed, 9 insertions(+) > >diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c >index 7767c5eada36..a118ecf9e532 100644 >--- a/drivers/gpu/drm/i915/display/skl_watermark.c >+++ b/drivers/gpu/drm/i915/display/skl_watermark.c >@@ -3647,6 +3647,9 @@ void intel_dbuf_mdclk_cdclk_ratio_update(struct drm_i915_private *i915, u8 ratio > if (joined_mbus) > ratio *= 2; > >+ drm_dbg_kms(&i915->drm, "Updating dbuf ratio to %d (mbus joined: %s)\n", >+ ratio, str_yes_no(joined_mbus)); >+ > for_each_dbuf_slice(i915, slice) > intel_de_rmw(i915, DBUF_CTL_S(slice), > DBUF_MIN_TRACKER_STATE_SERVICE_MASK, >@@ -3680,10 +3683,16 @@ static void intel_dbuf_mdclk_min_tracker_update(struct intel_atomic_state *state > static void intel_dbuf_mbus_join_update(struct intel_atomic_state *state) > { > struct drm_i915_private *i915 = to_i915(state->base.dev); >+ const struct intel_dbuf_state *old_dbuf_state = >+ intel_atomic_get_old_dbuf_state(state); > const struct intel_dbuf_state *new_dbuf_state = > intel_atomic_get_new_dbuf_state(state); > u32 mbus_ctl; > >+ drm_dbg_kms(&i915->drm, "Changing mbus joined: %s -> %s\n", >+ str_yes_no(old_dbuf_state->joined_mbus), >+ str_yes_no(new_dbuf_state->joined_mbus)); >+ > /* > * TODO: Implement vblank synchronized MBUS joining changes. > * Must be properly coordinated with dbuf reprogramming. >-- >2.43.2 >
diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c index 7767c5eada36..a118ecf9e532 100644 --- a/drivers/gpu/drm/i915/display/skl_watermark.c +++ b/drivers/gpu/drm/i915/display/skl_watermark.c @@ -3647,6 +3647,9 @@ void intel_dbuf_mdclk_cdclk_ratio_update(struct drm_i915_private *i915, u8 ratio if (joined_mbus) ratio *= 2; + drm_dbg_kms(&i915->drm, "Updating dbuf ratio to %d (mbus joined: %s)\n", + ratio, str_yes_no(joined_mbus)); + for_each_dbuf_slice(i915, slice) intel_de_rmw(i915, DBUF_CTL_S(slice), DBUF_MIN_TRACKER_STATE_SERVICE_MASK, @@ -3680,10 +3683,16 @@ static void intel_dbuf_mdclk_min_tracker_update(struct intel_atomic_state *state static void intel_dbuf_mbus_join_update(struct intel_atomic_state *state) { struct drm_i915_private *i915 = to_i915(state->base.dev); + const struct intel_dbuf_state *old_dbuf_state = + intel_atomic_get_old_dbuf_state(state); const struct intel_dbuf_state *new_dbuf_state = intel_atomic_get_new_dbuf_state(state); u32 mbus_ctl; + drm_dbg_kms(&i915->drm, "Changing mbus joined: %s -> %s\n", + str_yes_no(old_dbuf_state->joined_mbus), + str_yes_no(new_dbuf_state->joined_mbus)); + /* * TODO: Implement vblank synchronized MBUS joining changes. * Must be properly coordinated with dbuf reprogramming.