intel-gfx.lists.freedesktop.org archive mirror
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: "Hogander, Jouni" <jouni.hogander@intel.com>
Cc: "intel-gfx@lists.freedesktop.org" <intel-gfx@lists.freedesktop.org>
Subject: Re: [Intel-gfx] [PATCH v3 3/4] drm/i915/psr: Check that vblank is long enough for psr2
Date: Tue, 21 Mar 2023 18:41:29 +0200	[thread overview]
Message-ID: <ZBneOZk2vsvCZzHB@intel.com> (raw)
In-Reply-To: <3949ac3ef5e631323813faac33053d144d02b810.camel@intel.com>

On Tue, Mar 21, 2023 at 04:14:57PM +0000, Hogander, Jouni wrote:
> On Tue, 2023-03-21 at 17:43 +0200, Ville Syrjälä wrote:
> > On Mon, Mar 20, 2023 at 06:59:44PM +0200, Jouni Högander wrote:
> > > Ensure vblank >= psr2 vblank
> > > where
> > > Psr2 vblank = PSR2_CTL Block Count Number maximum line count.
> > > 
> > > Bspec: 71580, 49274
> > > 
> > > Signed-off-by: Jouni Högander <jouni.hogander@intel.com>
> > > ---
> > >  drivers/gpu/drm/i915/display/intel_psr.c | 8 ++++++++
> > >  1 file changed, 8 insertions(+)
> > > 
> > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c
> > > b/drivers/gpu/drm/i915/display/intel_psr.c
> > > index 1050d777a108..1b40d9c73c18 100644
> > > --- a/drivers/gpu/drm/i915/display/intel_psr.c
> > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c
> > > @@ -958,6 +958,14 @@ static bool intel_psr2_config_valid(struct
> > > intel_dp *intel_dp,
> > >                 return false;
> > >         }
> > >  
> > > +       /* Vblank >= PSR2_CTL Block Count Number maximum line count
> > > */
> > > +       if (crtc_state->hw.adjusted_mode.crtc_vblank_end -
> > > +           crtc_state->hw.adjusted_mode.crtc_vblank_start < 12) {
> > 
> > Why 12? Shouldn't it be based on the wake_lines/BLOCK_COUNT_NUM
> > stuff?
> 
> I took this directly from Bspec. I think your suggestions make sense. I
> will experiment them and come back on this.

BTW the other thing that might be a bit unclear here is whether
we care about the transcoder's full vblank length, or the pipe's
vblank length (as reduced by the delayed vblank stuff).

If you're experimenting with this then changing the vblank
delay can be done live with intel_reg (on tgl just alter
TRANS_VBLANK.vblanl_start, on adl+ alter TRANS_SET_CONTEXT_LATENCY).

When doing stuff like this I always just run eg. 'testdisplay -o <id>,0'
to quiesce the driver as much as possible, and then
'export IGT_NO_FORCEWAKE=1' before poking the registers with
intel_reg avoid the debugfs forcewake stuff from perturbing the
system either.

Using that approach it should be possible to determine which vblank
length actually matters. Though you do need to be careful about
the pkg-c latency/prefill stuff when increasing the vblank delay.
So might also need to disable wm1+ (and maybe also sagv) leaving
only wm0 enabled. That would allow you to push the pipe's delayed
start of vblank very close to the end of vblank without getting
underruns.

-- 
Ville Syrjälä
Intel

  parent reply	other threads:[~2023-03-21 16:41 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-03-20 16:59 [Intel-gfx] [PATCH v3 0/4] High refresh rate PSR fixes Jouni Högander
2023-03-20 16:59 ` [Intel-gfx] [PATCH v3 1/4] drm/i915/psr: Unify pre/post hooks Jouni Högander
2023-03-20 16:59 ` [Intel-gfx] [PATCH v3 2/4] drm/i915/psr: Fix Wa_16013835468 and Wa_14015648006 Jouni Högander
2023-03-21 15:34   ` Ville Syrjälä
2023-03-21 15:57     ` Hogander, Jouni
2023-03-21 16:19       ` Ville Syrjälä
2023-03-20 16:59 ` [Intel-gfx] [PATCH v3 3/4] drm/i915/psr: Check that vblank is long enough for psr2 Jouni Högander
2023-03-21 15:43   ` Ville Syrjälä
2023-03-21 16:14     ` Hogander, Jouni
2023-03-21 16:29       ` Ville Syrjälä
2023-03-21 16:41       ` Ville Syrjälä [this message]
2023-03-20 16:59 ` [Intel-gfx] [PATCH v3 4/4] drm/i915/psr: Implement Display WA #1136 Jouni Högander
2023-03-21  5:24 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for High refresh rate PSR fixes (rev3) Patchwork
2023-03-21  5:24 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-03-21  5:24 ` [Intel-gfx] ✗ Fi.CI.DOCS: " Patchwork
2023-03-21  5:36 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-03-21  9:08 ` [Intel-gfx] ✓ Fi.CI.IGT: " 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=ZBneOZk2vsvCZzHB@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=jouni.hogander@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;
as well as URLs for NNTP newsgroup(s).