> -----Original Message----- > From: Jani Nikula <[email protected]> > Sent: 04 September 2026 13:59 > To: Golani, Mitulkumar Ajitkumar <[email protected]>; > [email protected] > Cc: [email protected]; Nautiyal, Ankit K > <[email protected]> > Subject: Re: [PATCH v1] drm/i915/display: Add command line param for DC > balance > > On Fri, 28 Aug 2026, Mitul Golani <[email protected]> > wrote: > > Add a new module parameter 'enable_dc_balance' to allow enabling or > > disabling the VRR DC balance feature at runtime. The DC balance > > computation in intel_vrr_dc_balance_compute_config() now honours this > > parameter, so the feature can be toggled without recompiling. > > Why? Everything in the commit message above is obvious, and can be trivially > deduced from the code changes, but I'm none the wiser why this change is > needed. > > Also, what's the specific need for this to be a module parameter? No new > module parameters should be added without strong justification. Could this > be a debugfs knob instead? > > Module parameters are, as the name suggests, per module, not per device. > > > BR, > Jani. Hello Jani, We have observed timing-related issues with DC balance on some panel/TCON combinations and are working with the DMC firmware team on a fix. We are also identifying affected TCONs for appropriate quirks. Until this analysis is complete, we want to keep DC balance disabled by default to preserve existing VRR behavior. The module parameter provides a boot-time opt-in for configurations where it is needed. I believe a module parameter is preferable to debugfs since this decision may need to be made from the initial display configuration rather than as a runtime debug control. Thanks, Mitul > > > > > Signed-off-by: Mitul Golani <[email protected]> > > --- > > drivers/gpu/drm/i915/display/intel_display_params.c | 3 +++ > > drivers/gpu/drm/i915/display/intel_display_params.h | 1 + > > drivers/gpu/drm/i915/display/intel_vrr.c | 4 +++- > > 3 files changed, 7 insertions(+), 1 deletion(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_params.c > > b/drivers/gpu/drm/i915/display/intel_display_params.c > > index 2aed110c5b09..ed3aa84c5d43 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display_params.c > > +++ b/drivers/gpu/drm/i915/display/intel_display_params.c > > @@ -120,6 +120,9 @@ intel_display_param_named_unsafe(enable_psr, > int, 0400, > > "(0=disabled, 1=enable up to PSR1, 2=enable up to PSR2) " > > "Default: -1 (use per-chip default)"); > > > > +intel_display_param_named_unsafe(enable_dc_balance, int, 0400, > > + "Enable DC Balance (0=disabled, 1=enable). Default: 1 (use per-chip > > +default)"); > > + > > intel_display_param_named_unsafe(enable_panel_replay, int, 0400, > > "Enable Panel Replay (0=disabled, 1=enabled). Default: -1 (use > > per-chip default)"); > > > > diff --git a/drivers/gpu/drm/i915/display/intel_display_params.h > > b/drivers/gpu/drm/i915/display/intel_display_params.h > > index b95ecf728daa..8c28c27e2c46 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display_params.h > > +++ b/drivers/gpu/drm/i915/display/intel_display_params.h > > @@ -46,6 +46,7 @@ struct drm_printer; > > param(bool, enable_dp_mst, true, 0600) \ > > param(int, enable_fbc, -1, 0600) \ > > param(int, enable_psr, -1, 0600) \ > > + param(int, enable_dc_balance, false, 0600) \ > > param(int, enable_panel_replay, -1, 0600) \ > > param(bool, psr_safest_params, false, 0400) \ > > param(bool, enable_psr2_sel_fetch, true, 0400) \ diff --git > > a/drivers/gpu/drm/i915/display/intel_vrr.c > > b/drivers/gpu/drm/i915/display/intel_vrr.c > > index e36db1174440..1698c54e258b 100644 > > --- a/drivers/gpu/drm/i915/display/intel_vrr.c > > +++ b/drivers/gpu/drm/i915/display/intel_vrr.c > > @@ -439,10 +439,12 @@ static bool intel_vrr_dc_balance_possible(const > > struct intel_crtc_state *crtc_st static void > > intel_vrr_dc_balance_compute_config(struct intel_crtc_state > > *crtc_state) { > > + struct intel_display *display = to_intel_display(crtc_state); > > int guardband_usec, adjustment_usec; > > struct drm_display_mode *adjusted_mode = > > &crtc_state->hw.adjusted_mode; > > > > - if (!intel_vrr_dc_balance_possible(crtc_state) || !crtc_state- > >vrr.enable) > > + if (!intel_vrr_dc_balance_possible(crtc_state) || > > + !crtc_state->vrr.enable || !display->params.enable_dc_balance) > > return; > > > > crtc_state->vrr.dc_balance.vmax = crtc_state->vrr.vmax; > > -- > Jani Nikula, Intel
RE: [PATCH v1] drm/i915/display: Add command line param for DC balance
Golani, Mitulkumar Ajitkumar Mon, 14 Sep 2026 22:41:11 -0700
- [PATCH v1] drm/i915/display: Add command line... Mitul Golani
- Re: [PATCH v1] drm/i915/display: Add com... sashiko-bot
- ✗ i915.CI.BAT: failure for drm/i915/disp... Patchwork
- Re: [PATCH v1] drm/i915/display: Add com... Borah, Chaitanya Kumar
- RE: [PATCH v1] drm/i915/display: Add... Golani, Mitulkumar Ajitkumar
- RE: [PATCH v1] drm/i915/display:... Jani Nikula
- RE: [PATCH v1] drm/i915/disp... Golani, Mitulkumar Ajitkumar
- RE: [PATCH v1] drm/i915/display: Add... Golani, Mitulkumar Ajitkumar
- Re: [PATCH v1] drm/i915/display: Add com... Jani Nikula
- RE: [PATCH v1] drm/i915/display: Add... Golani, Mitulkumar Ajitkumar
