From: "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>
To: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>,
<intel-gfx@lists.freedesktop.org>
Cc: <intel-xe@lists.freedesktop.org>, <uma.shankar@intel.com>,
<ville.syrjala@linux.intel.com>
Subject: Re: [RESEND, 19/22] drm/i915/display: Add function to configure event for dc balance
Date: Wed, 5 Nov 2025 11:48:19 +0530 [thread overview]
Message-ID: <4d642610-e84e-4663-bceb-1e3fd64af600@intel.com> (raw)
In-Reply-To: <20251103053002.3002695-20-mitulkumar.ajitkumar.golani@intel.com>
On 11/3/2025 10:59 AM, Mitul Golani wrote:
> Configure pipe dmc event for dc balance enable/disable.
>
> --v2:
> - Initialize with redundant flags. (Ankit)
>
> --v3:
> - Add function as per new enable/disable configuration framework.
This is a new patch, the version history is no more applicable.
Regards,
Ankit
> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dmc.c | 15 +++++++++++++++
> drivers/gpu/drm/i915/display/intel_dmc.h | 2 ++
> drivers/gpu/drm/i915/display/intel_vrr.c | 5 ++++-
> 3 files changed, 21 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 3e3f4438d739..1460f9674a35 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -852,6 +852,21 @@ static void dmc_configure_event(struct intel_display *display,
> dmc_id, num_handlers, event_id);
> }
>
> +/*
> + * intel_dmc_configure_dc_balance_event() - Configure event
> + * for dc balance enable/disable
> + * @display: display instance
> + * @pipe: pipe which register use to block
> + * @enable: enable/disable
> + */
> +void intel_dmc_configure_dc_balance_event(struct intel_display *display,
> + enum pipe pipe, bool enable)
> +{
> + enum intel_dmc_id dmc_id = PIPE_TO_DMC_ID(pipe);
> +
> + dmc_configure_event(display, dmc_id, PIPEDMC_EVENT_ADAPTIVE_DCB_TRIGGER, enable);
> +}
> +
> /**
> * intel_dmc_block_pkgc() - block PKG C-state
> * @display: display instance
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.h b/drivers/gpu/drm/i915/display/intel_dmc.h
> index 132d6cfc8e8b..32a9abd53a8d 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.h
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.h
> @@ -26,6 +26,8 @@ void intel_dmc_enable_pipe(const struct intel_crtc_state *crtc_state);
> void intel_dmc_disable_pipe(const struct intel_crtc_state *crtc_state);
> void intel_dmc_block_pkgc(struct intel_display *display, enum pipe pipe,
> bool block);
> +void intel_dmc_configure_dc_balance_event(struct intel_display *display,
> + enum pipe pipe, bool enable);
> void intel_dmc_start_pkgc_exit_at_start_of_undelayed_vblank(struct intel_display *display,
> enum pipe pipe, bool enable);
> void intel_dmc_fini(struct intel_display *display);
> diff --git a/drivers/gpu/drm/i915/display/intel_vrr.c b/drivers/gpu/drm/i915/display/intel_vrr.c
> index eb6643ec5194..4d56a4e8c7ca 100644
> --- a/drivers/gpu/drm/i915/display/intel_vrr.c
> +++ b/drivers/gpu/drm/i915/display/intel_vrr.c
> @@ -814,8 +814,10 @@ static void intel_vrr_tg_enable(const struct intel_crtc_state *crtc_state,
> if (cmrr_enable)
> vrr_ctl |= VRR_CTL_CMRR_ENABLE;
>
> - if (crtc_state->vrr.dc_balance.enable)
> + if (crtc_state->vrr.dc_balance.enable) {
> + intel_dmc_configure_dc_balance_event(display, pipe, true);
> intel_pipedmc_dcb_enable(NULL, crtc);
> + }
>
> intel_de_write(display, TRANS_VRR_CTL(display, cpu_transcoder), vrr_ctl);
> }
> @@ -839,6 +841,7 @@ static void intel_vrr_tg_disable(const struct intel_crtc_state *old_crtc_state)
>
> if (old_crtc_state->vrr.dc_balance.enable) {
> intel_pipedmc_dcb_disable(NULL, crtc);
> + intel_dmc_configure_dc_balance_event(display, pipe, false);
> intel_de_write(display, PIPEDMC_DCB_VMIN(pipe), 0);
> intel_de_write(display, PIPEDMC_DCB_VMAX(pipe), 0);
> intel_de_write(display, PIPEDMC_DCB_MAX_INCREASE(pipe), 0);
next prev parent reply other threads:[~2025-11-05 6:18 UTC|newest]
Thread overview: 45+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-11-03 5:29 [RESEND, 00/22] Enable/Disable DC balance along with VRR DSB Mitul Golani
2025-11-03 5:29 ` [RESEND, 01/22] drm/i915/display: Add source param for dc balance Mitul Golani
2025-11-03 5:29 ` [RESEND, 02/22] drm/i915/dmc: Add pipe dmc registers and bits for DC Balance Mitul Golani
2025-11-05 4:15 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 03/22] drm/i915/vrr: Add VRR DC balance registers Mitul Golani
2025-11-03 9:59 ` Jani Nikula
2025-11-05 4:19 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 04/22] drm/i915/vrr: Add functions to read out vmin/vmax stuff Mitul Golani
2025-11-03 5:29 ` [RESEND, 05/22] drm/i915/vrr: Add DC Balance params to crtc_state Mitul Golani
2025-11-05 4:24 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 06/22] drm/i915/vrr: Add state dump for DC Balance params Mitul Golani
2025-11-05 4:25 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 07/22] drm/i915/vrr: Add compute config " Mitul Golani
2025-11-05 4:27 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 08/22] drm/i915/display: Add DC Balance flip counter in crtc Mitul Golani
2025-11-05 4:28 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 09/22] drm/i915/vrr: Increment DC balance flip count on every flip Mitul Golani
2025-11-03 10:01 ` Jani Nikula
2025-11-05 4:51 ` Nautiyal, Ankit K
2025-11-05 6:15 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 10/22] drm/i915/vrr: Add function to reset DC Balance flip count Mitul Golani
2025-11-05 4:52 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 11/22] drm/i915/vrr: Add function reset DC balance accumulated params Mitul Golani
2025-11-05 4:54 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 12/22] drm/i915/vrr: Write DC balance params to hw registers Mitul Golani
2025-11-05 4:56 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 13/22] drm/i915/vrr: Configure DC balance flipline adjustment Mitul Golani
2025-11-05 4:57 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 14/22] drm/i915/vblank: Extract vrr_vblank_start() Mitul Golani
2025-11-03 5:29 ` [RESEND, 15/22] drm/i915/vrr: Implement vblank evasion with DC balancing Mitul Golani
2025-11-03 5:29 ` [RESEND, 16/22] drm/i915/display: Wait for VRR PUSH status update Mitul Golani
2025-11-05 5:59 ` Nautiyal, Ankit K
2025-11-03 5:29 ` [RESEND, 17/22] drm/i915/dsb: Add pipedmc dc balance enable/disable Mitul Golani
2025-11-03 10:02 ` Jani Nikula
2025-11-03 5:29 ` [RESEND, 18/22] drm/i915/vrr: Pause DC Balancing for DSB commits Mitul Golani
2025-11-03 5:29 ` [RESEND, 19/22] drm/i915/display: Add function to configure event for dc balance Mitul Golani
2025-11-05 6:18 ` Nautiyal, Ankit K [this message]
2025-11-03 5:30 ` [RESEND, 20/22] drm/i915/vrr: Enable Adaptive sync counter bit Mitul Golani
2025-11-05 6:02 ` Nautiyal, Ankit K
2025-11-03 5:30 ` [RESEND, 21/22] drm/i915/vrr: Enable DC Balance Mitul Golani
2025-11-03 5:30 ` [RESEND, 22/22] drm/i915/vrr: Add function to check if DC Balance Possible Mitul Golani
2025-11-05 6:04 ` Nautiyal, Ankit K
2025-11-03 5:38 ` ✗ CI.checkpatch: warning for Enable/Disable DC balance along with VRR DSB Patchwork
2025-11-03 5:39 ` ✓ CI.KUnit: success " Patchwork
2025-11-03 6:05 ` ✗ Fi.CI.BUILD: failure " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4d642610-e84e-4663-bceb-1e3fd64af600@intel.com \
--to=ankit.k.nautiyal@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=mitulkumar.ajitkumar.golani@intel.com \
--cc=uma.shankar@intel.com \
--cc=ville.syrjala@linux.intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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.