From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Shankar, Uma" <uma.shankar@intel.com>
Cc: "intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>
Subject: Re: [PATCH 5/9] drm/i915/dmc: Reload pipe DMC state on TGL when enabling pipe A
Date: Fri, 13 Jun 2025 17:09:35 +0300 [thread overview]
Message-ID: <aEwxH9iOmOkGGiOo@intel.com> (raw)
In-Reply-To: <DM4PR11MB6360BEA3323D523E9F2E856BF474A@DM4PR11MB6360.namprd11.prod.outlook.com>
On Thu, Jun 12, 2025 at 08:32:16PM +0000, Shankar, Uma wrote:
>
>
> > -----Original Message-----
> > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf Of Ville
> > Syrjala
> > Sent: Wednesday, June 11, 2025 9:23 PM
> > To: intel-gfx@lists.freedesktop.org
> > Cc: intel-xe@lists.freedesktop.org
> > Subject: [PATCH 5/9] drm/i915/dmc: Reload pipe DMC state on TGL when
> > enabling pipe A
>
> I guess its applicable for all pipes and not just limited to A.
Only pipe A has a DMC on these platforms.
>
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > On TGL/derivatives the entire pipe DMC state (program + MMIO) is lost when
> > PG1 is disabled, and the main DMC does not restore any of it. Reload the state
> > when enabling a pipe.
>
> It is just the TGL or any other platforms affected ?
> Current change looks fine though.
>
> Reviewed-by: Uma Shankar <uma.shankar@intel.com>
>
> > The other option would be to not load the pipe DMC at all since it's only needed for
> > "fast LACE" (which we don't use) on these platforms. But let's keep it around just
> > in case we ever decide that "fast LACE" is something we want.
>
> I agree, it's good to keep it.
>
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_dmc.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c
> > b/drivers/gpu/drm/i915/display/intel_dmc.c
> > index 331db28039db..fd99c4645260 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> > @@ -599,6 +599,12 @@ static void dmc_load_program(struct intel_display
> > *display,
> > }
> > }
> >
> > +static bool need_pipedmc_load_program(struct intel_display *display) {
> > + /* On TGL/derivatives pipe DMC state is lost when PG1 is disabled */
> > + return DISPLAY_VER(display) == 12;
> > +}
> > +
> > void intel_dmc_enable_pipe(struct intel_display *display, enum pipe pipe) {
> > enum intel_dmc_id dmc_id = PIPE_TO_DMC_ID(pipe); @@ -606,6 +612,9
> > @@ void intel_dmc_enable_pipe(struct intel_display *display, enum pipe pipe)
> > if (!is_valid_dmc_id(dmc_id) || !has_dmc_id_fw(display, dmc_id))
> > return;
> >
> > + if (need_pipedmc_load_program(display))
> > + dmc_load_program(display, dmc_id);
> > +
> > if (DISPLAY_VER(display) >= 20) {
> > intel_de_write(display, PIPEDMC_INTERRUPT(pipe),
> > pipedmc_interrupt_mask(display));
> > intel_de_write(display, PIPEDMC_INTERRUPT_MASK(pipe),
> > ~pipedmc_interrupt_mask(display));
> > --
> > 2.49.0
>
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2025-06-13 14:09 UTC|newest]
Thread overview: 24+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-06-11 15:52 [PATCH 0/9] drm/i915/dmc: Deal with loss of pipe DMC state Ville Syrjala
2025-06-11 15:52 ` [PATCH 1/9] drm/i915/dmc: Limit pipe DMC clock gating w/a to just ADL/DG2/MTL Ville Syrjala
2025-06-11 15:52 ` [PATCH 2/9] drm/i915/dmc: Parametrize MTL_PIPEDMC_GATING_DIS Ville Syrjala
2025-06-11 15:52 ` [PATCH 3/9] drm/i915/dmc: Shuffle code around Ville Syrjala
2025-06-11 15:52 ` [PATCH 4/9] drm/i915/dmc: Extract dmc_load_program() Ville Syrjala
2025-06-12 20:16 ` Shankar, Uma
2025-06-13 14:18 ` Ville Syrjälä
2025-06-17 18:58 ` Shankar, Uma
2025-06-11 15:52 ` [PATCH 5/9] drm/i915/dmc: Reload pipe DMC state on TGL when enabling pipe A Ville Syrjala
2025-06-12 20:32 ` Shankar, Uma
2025-06-13 14:09 ` Ville Syrjälä [this message]
2025-06-17 18:51 ` Shankar, Uma
2025-06-11 15:52 ` [PATCH 6/9] drm/i915/dmc: Reload pipe DMC MMIO registers for pipe C/D on PTL+ Ville Syrjala
2025-06-11 15:52 ` [PATCH 7/9] drm/i915/dmc: Assert DMC is loaded harder Ville Syrjala
2025-06-12 20:55 ` Shankar, Uma
2025-06-11 15:52 ` [PATCH 8/9] drm/i915/dmc: Pass crtc_state to intel_dmc_{enable, disable}_pipe() Ville Syrjala
2025-06-12 20:58 ` Shankar, Uma
2025-06-11 15:52 ` [PATCH 9/9] drm/i915/dmc: Do not enable the pipe DMC on TGL when PSR is possible Ville Syrjala
2025-06-12 21:02 ` Shankar, Uma
2025-06-11 17:37 ` ✗ Fi.CI.CHECKPATCH: warning for drm/i915/dmc: Deal with loss of pipe DMC state Patchwork
2025-06-11 17:59 ` ✓ i915.CI.BAT: success " Patchwork
2025-06-11 21:09 ` ✗ i915.CI.Full: failure " Patchwork
2025-06-14 9:13 ` ✓ i915.CI.BAT: success for drm/i915/dmc: Deal with loss of pipe DMC state (rev2) Patchwork
2025-06-14 11:01 ` ✗ i915.CI.Full: 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=aEwxH9iOmOkGGiOo@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=uma.shankar@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox