From: "Nautiyal, Ankit K" <ankit.k.nautiyal@intel.com>
To: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>,
<intel-gfx@lists.freedesktop.org>,
<intel-xe@lists.freedesktop.org>
Cc: <ville.syrjala@linux.intel.com>
Subject: Re: [PATCH v2 09/13] drm/i915/dsb: Add pipedmc dc balance enable/disable
Date: Wed, 23 Apr 2025 12:46:11 +0530 [thread overview]
Message-ID: <222e30fd-74af-4eab-94ef-2248f136fc32@intel.com> (raw)
In-Reply-To: <20250421154900.2095202-10-mitulkumar.ajitkumar.golani@intel.com>
On 4/21/2025 9:18 PM, Mitul Golani wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Add function to control DC balance enable/disable bit via DSB.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Mitul Golani <mitulkumar.ajitkumar.golani@intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_dmc.c | 24 +++++++++++++++++++
> drivers/gpu/drm/i915/display/intel_dmc.h | 5 ++++
> drivers/gpu/drm/i915/display/intel_dmc_regs.h | 9 +++++++
> 3 files changed, 38 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c b/drivers/gpu/drm/i915/display/intel_dmc.c
> index ff2b97a752b1..e32599a4f68f 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -30,6 +30,7 @@
> #include "intel_de.h"
> #include "intel_display_rpm.h"
> #include "intel_display_power_well.h"
> +#include "intel_display_types.h"
> #include "intel_dmc.h"
> #include "intel_dmc_regs.h"
> #include "intel_step.h"
> @@ -1355,3 +1356,26 @@ void intel_dmc_debugfs_register(struct intel_display *display)
> debugfs_create_file("i915_dmc_info", 0444, minor->debugfs_root,
> display, &intel_dmc_debugfs_status_fops);
> }
> +
> +void intel_pipedmc_dcb_enable(struct intel_dsb *dsb, struct intel_crtc *crtc)
> +{
> + struct intel_display *display = to_intel_display(crtc);
> + struct intel_crtc_state *crtc_state =
> + to_intel_crtc_state(crtc->base.state);
> + enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
> +
> + intel_de_write_dsb(display, dsb,
> + PIPEDMC_DCB_CTL(display, cpu_transcoder),
> + PIPEDMC_ADAPTIVE_DCB_ENABLE);
> +}
> +
> +void intel_pipedmc_dcb_disable(struct intel_dsb *dsb, struct intel_crtc *crtc)
> +{
> + struct intel_display *display = to_intel_display(crtc);
> + struct intel_crtc_state *crtc_state =
> + to_intel_crtc_state(crtc->base.state);
> + enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
> +
> + intel_de_write_dsb(display, dsb,
> + PIPEDMC_DCB_CTL(display, cpu_transcoder), 0);
> +}
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.h b/drivers/gpu/drm/i915/display/intel_dmc.h
> index c78426eb4cd5..74dcd142f5b1 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.h
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.h
> @@ -10,8 +10,10 @@
>
> enum pipe;
> struct drm_printer;
> +struct intel_crtc;
> struct intel_display;
> struct intel_dmc_snapshot;
> +struct intel_dsb;
>
> void intel_dmc_init(struct intel_display *display);
> void intel_dmc_load_program(struct intel_display *display);
> @@ -30,4 +32,7 @@ void intel_dmc_update_dc6_allowed_count(struct intel_display *display, bool star
>
> void assert_dmc_loaded(struct intel_display *display);
>
> +void intel_pipedmc_dcb_enable(struct intel_dsb *dsb, struct intel_crtc *crtc);
> +void intel_pipedmc_dcb_disable(struct intel_dsb *dsb, struct intel_crtc *crtc);
> +
> #endif /* __INTEL_DMC_H__ */
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc_regs.h b/drivers/gpu/drm/i915/display/intel_dmc_regs.h
> index 39e4f70005ab..6788afb816ea 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc_regs.h
> +++ b/drivers/gpu/drm/i915/display/intel_dmc_regs.h
> @@ -174,4 +174,13 @@
> #define _PIPEDMC_DCB_VMAX_F 0x555A8
> #define PIPEDMC_DCB_VMAX(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _PIPEDMC_DCB_VMAX_A)
>
> +#define _PIPEDMC_DCB_CTL_A 0x5F1A0
> +#define _PIPEDMC_DCB_CTL_B 0x5F5A0
> +#define _PIPEDMC_DCB_CTL_C 0x5F9A0
> +#define _PIPEDMC_DCB_CTL_D 0x5FDA0
> +#define _PIPEDMC_DCB_CTL_E 0x551A0
> +#define _PIPEDMC_DCB_CTL_F 0x555A0
> +#define PIPEDMC_DCB_CTL(dev_priv, trans) _MMIO_TRANS2(dev_priv, trans, _PIPEDMC_DCB_CTL_A)
> +#define PIPEDMC_ADAPTIVE_DCB_ENABLE REG_BIT(31)
> +
> #endif /* __INTEL_DMC_REGS_H__ */
next prev parent reply other threads:[~2025-04-23 7:16 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-21 15:48 [PATCH v2 00/13] Enable/Disable DC balance along with VRR DSB Mitul Golani
2025-04-21 15:48 ` [PATCH v2 01/13] drm/i915/vrr: Refactor vmin/vmax stuff Mitul Golani
2025-04-23 6:49 ` Nautiyal, Ankit K
2025-04-25 11:36 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 02/13] drm/i915/vrr: Add functions to read out " Mitul Golani
2025-04-23 6:52 ` Nautiyal, Ankit K
2025-04-23 13:17 ` Nautiyal, Ankit K
2025-04-23 13:34 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 03/13] drm/i915/display: Add source param for dc balance Mitul Golani
2025-04-23 6:58 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 04/13] drm/i915/vrr: Add enable/disable calls for DC Balance Mitul Golani
2025-04-23 7:01 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 05/13] drm/i915/vrr: Add compute config for DC balance params Mitul Golani
2025-04-23 7:05 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 06/13] drm/i915/vrr: Add state dump for dc " Mitul Golani
2025-04-23 8:47 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 07/13] drm/i915: Extract vrr_vblank_start() Mitul Golani
2025-04-23 7:10 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 08/13] drm/i915/vrr: Implement vblank evasion with DC balancing Mitul Golani
2025-04-23 7:15 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 09/13] drm/i915/dsb: Add pipedmc dc balance enable/disable Mitul Golani
2025-04-23 7:16 ` Nautiyal, Ankit K [this message]
2025-04-21 15:48 ` [PATCH v2 10/13] drm/i915/vrr: Pause DC balancing for DSB commits Mitul Golani
2025-04-23 7:21 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 11/13] drm/i915/vrr: Add state checker for dc balance params Mitul Golani
2025-04-23 7:24 ` Nautiyal, Ankit K
2025-04-23 10:21 ` Jani Nikula
2025-04-23 11:36 ` Nautiyal, Ankit K
2025-04-21 15:48 ` [PATCH v2 12/13] drm/i915/display: Prepare state checker for dc balance enable Mitul Golani
2025-04-23 7:26 ` Nautiyal, Ankit K
2025-04-21 15:49 ` [PATCH v2 13/13] drm/i915/vrr: enable dc balance bit Mitul Golani
2025-04-23 7:28 ` Nautiyal, Ankit K
2025-04-21 16:43 ` ✓ CI.Patch_applied: success for Enable/Disable DC balance along with VRR DSB Patchwork
2025-04-21 16:44 ` ✓ CI.checkpatch: " Patchwork
2025-04-21 16:45 ` ✓ CI.KUnit: " Patchwork
2025-04-21 16:53 ` ✓ CI.Build: " Patchwork
2025-04-21 16:55 ` ✓ CI.Hooks: " Patchwork
2025-04-21 16:57 ` ✗ CI.checksparse: warning " Patchwork
2025-04-21 18:39 ` ✗ Xe.CI.Full: failure " Patchwork
2025-04-22 7:52 ` ✗ Fi.CI.SPARSE: warning for Enable/Disable DC balance along with VRR DSB (rev2) Patchwork
2025-04-22 8:16 ` ✗ i915.CI.BAT: failure " Patchwork
2025-04-22 13:19 ` ✓ Xe.CI.BAT: success for Enable/Disable DC balance along with VRR DSB 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=222e30fd-74af-4eab-94ef-2248f136fc32@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=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.