From: "Hogander, Jouni" <jouni.hogander@intel.com>
To: "intel-xe@lists.freedesktop.org" <intel-xe@lists.freedesktop.org>,
"Manna, Animesh" <animesh.manna@intel.com>,
"intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 4/4] drm/i915/alpm: Use actual lfps cycle and silence periods in wake time
Date: Thu, 28 Aug 2025 09:48:39 +0000 [thread overview]
Message-ID: <d9f4011dcb2adcb3daa19ec3a7ee5cb6dc2806f8.camel@intel.com> (raw)
In-Reply-To: <DS0PR11MB804973213F7EEFC7040E0DDEF93BA@DS0PR11MB8049.namprd11.prod.outlook.com>
On Thu, 2025-08-28 at 07:54 +0000, Manna, Animesh wrote:
>
>
> > -----Original Message-----
> > From: Intel-xe <intel-xe-bounces@lists.freedesktop.org> On Behalf
> > Of Jouni
> > Högander
> > Sent: Wednesday, August 13, 2025 12:36 PM
> > To: intel-gfx@lists.freedesktop.org; intel-xe@lists.freedesktop.org
> > Cc: Hogander, Jouni <jouni.hogander@intel.com>
> > Subject: [PATCH 4/4] drm/i915/alpm: Use actual lfps cycle and
> > silence
> > periods in wake time
> >
> > Currently we are using maximum lfps cycle and silence period times
> > when
> > calculating AUXLess wake time. Use actual values instead.
>
> Could not locate mid of min-max is the actual value or not. Good to
> know the reference if I missed it.
> As per bspec software can use any values between minimum and maximum,
> so mid of min-max may be good.
AUXLess wake time formula in Bspec is using maximum values as lfps
cycle and silence period times. I'll guess that is just because those
will work for the whole range. I do not see any reason why couldn't we
use values we have actually configured as these parameters.
For LFPS cycle and silence period times Bspec is proposing using mid of
min-max and this is what we are currently doing.
BR,
Jouni Högander
>
> >
> > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
>
> The code changes LGTM,
> Reviewed-by: Animesh Manna <animesh.manna@intel.com>
>
> > ---
> > drivers/gpu/drm/i915/display/intel_alpm.c | 12 +++++-------
> > 1 file changed, 5 insertions(+), 7 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_alpm.c
> > b/drivers/gpu/drm/i915/display/intel_alpm.c
> > index b2123305f128..4e8aa167b97b 100644
> > --- a/drivers/gpu/drm/i915/display/intel_alpm.c
> > +++ b/drivers/gpu/drm/i915/display/intel_alpm.c
> > @@ -116,21 +116,19 @@ static int get_lfps_half_cycle_clocks(const
> > struct
> > intel_crtc_state *crtc_state)
> > * tML_PHY_LOCK = TPS4 Length * ( 10 / (Link Rate in MHz) )
> > * TPS4 Length = 252 Symbols
> > */
> > -static int _lnl_compute_aux_less_wake_time(int port_clock)
> > +static int _lnl_compute_aux_less_wake_time(const struct
> > +intel_crtc_state *crtc_state)
> > {
> > int tphy2_p2_to_p0 = 12 * 1000;
> > - int tlfps_period_max = 800;
> > - int tsilence_max = 180;
> > int t1 = 50 * 1000;
> > int tps4 = 252;
> > /* port_clock is link rate in 10kbit/s units */
> > - int tml_phy_lock = 1000 * 1000 * tps4 / port_clock;
> > + int tml_phy_lock = 1000 * 1000 * tps4 / crtc_state-
> > >port_clock;
> > int num_ml_phy_lock = 7 + DIV_ROUND_UP(6500, tml_phy_lock)
> > + 1;
> > int t2 = num_ml_phy_lock * tml_phy_lock;
> > int tcds = 1 * t2;
> >
> > - return DIV_ROUND_UP(tphy2_p2_to_p0 + tlfps_period_max +
> > tsilence_max +
> > - t1 + tcds, 1000);
> > + return DIV_ROUND_UP(tphy2_p2_to_p0 +
> > get_lfps_cycle_time(crtc_state) +
> > + SILENCE_PERIOD_TIME + t1 + tcds,
> > 1000);
> > }
> >
> > static int
> > @@ -142,7 +140,7 @@ _lnl_compute_aux_less_alpm_params(struct
> > intel_dp *intel_dp,
> > lfps_half_cycle;
> >
> > aux_less_wake_time =
> > - _lnl_compute_aux_less_wake_time(crtc_state-
> > >port_clock);
> > + _lnl_compute_aux_less_wake_time(crtc_state);
> > aux_less_wake_lines =
> > intel_usecs_to_scanlines(&crtc_state-
> > > hw.adjusted_mode,
> >
> > aux_less_wake_time);
> > silence_period = get_silence_period_symbols(crtc_state);
> > --
> > 2.43.0
>
next prev parent reply other threads:[~2025-08-28 9:48 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-13 7:06 [PATCH 0/4] ALPM LFPS and silence period calculation Jouni Högander
2025-08-13 7:06 ` [PATCH 1/4] drm/i915/alpm: Calculate silence period Jouni Högander
2025-08-28 6:39 ` Manna, Animesh
2025-08-13 7:06 ` [PATCH 2/4] drm/i915/alpm: Add own define for LFPS count Jouni Högander
2025-08-28 7:00 ` Manna, Animesh
2025-08-13 7:06 ` [PATCH 3/4] drm/i915/alpm: Replace hardcoded LFPS cycle with proper calculation Jouni Högander
2025-08-28 7:35 ` Manna, Animesh
2025-08-28 9:39 ` Hogander, Jouni
2025-08-13 7:06 ` [PATCH 4/4] drm/i915/alpm: Use actual lfps cycle and silence periods in wake time Jouni Högander
2025-08-28 7:54 ` Manna, Animesh
2025-08-28 9:48 ` Hogander, Jouni [this message]
2025-08-13 7:31 ` ✓ CI.KUnit: success for ALPM LFPS and silence period calculation Patchwork
2025-08-13 8:41 ` ✓ Xe.CI.BAT: " Patchwork
2025-08-13 9:38 ` ✗ Xe.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=d9f4011dcb2adcb3daa19ec3a7ee5cb6dc2806f8.camel@intel.com \
--to=jouni.hogander@intel.com \
--cc=animesh.manna@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
/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;
as well as URLs for NNTP newsgroup(s).