All of lore.kernel.org
 help / color / mirror / Atom feed
From: Rodrigo Vivi <rodrigo.vivi@gmail.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: intel-gfx <intel-gfx@lists.freedesktop.org>,
	Rodrigo Vivi <rodrigo.vivi@intel.com>
Subject: Re: [PATCH 1/4] drm/i915: Increase PSR Idle Frame to 2.
Date: Thu, 4 Sep 2014 11:26:34 -0700	[thread overview]
Message-ID: <CABVU7+viY0nno_uLObXLteKrs2MWiwcaMenHurbV7i-b_H_gKw@mail.gmail.com> (raw)
In-Reply-To: <20140904110406.GH15520@phenom.ffwll.local>


[-- Attachment #1.1: Type: text/plain, Size: 4691 bytes --]

On Thu, Sep 4, 2014 at 4:04 AM, Daniel Vetter <daniel@ffwll.ch> wrote:

> On Thu, Sep 04, 2014 at 01:18:19PM +0300, Ville Syrjälä wrote:
> > On Thu, Sep 04, 2014 at 01:04:27PM +0300, Ville Syrjälä wrote:
> > > On Thu, Sep 04, 2014 at 11:29:16AM +0200, Daniel Vetter wrote:
> > > > On Thu, Sep 04, 2014 at 10:55:16AM +0300, Ville Syrjälä wrote:
> > > > > On Wed, Sep 03, 2014 at 10:49:56PM -0400, Rodrigo Vivi wrote:
> > > > > > With Software tracking we are going to PSR sooner than we should
> and staying
> > > > > > with blank screens in many cases.
> > > > > >
> > > > > > Using 2 identical frames to detect idleness is safier.
> > > > >
> > > > > This idle frame detection still depends of FBC right?
> > > > >
> > > > > I believe if we want to go for full sw tracking on HSW/BDW we need
> to
> > > > > use the debug register to force PSR entry/exit.
> > > >
> > > > Currently the sw tracking relies upon 1 additional full upload
> happening
> > > > after the flush, which hopefully should magically happen if we have
> just 1
> > > > idle frame.
> > > >
> > > > If we'd completely switch to sw tracking we'd need to set up a vblank
> > > > worker to disable psr after the next vblank, which would comlicate
> the
> > > > code I think.
> > >
> > > vlv/chv have no hw tracking so if the current sw tracking can't deal
> > > with that then it would seem to need more work.
> >
> > Hmm. Actually they seem to have a hw timer mode where we can program the
> > number of idle frames. I think idle here means "since the last plane
> > register frobbing" as there's no real modification tracking ala. FBC.
> > So maybe it can work roughly the same way as HSW in that regard.
>
> Essentially the primitive the current code needs (modulo bugs, which seem
> to still be) is to "upload one more full frame, then enter psr". If a lot
> of platforms can't do that themselves I guess we could wrap some helpers
> for them.
>
> But if there's some real sw tracking bug still, and Rodrigo's patch looks
> like this is still the case, we need to fix that ofc.
>

Yeah, I agree. But I'm afraid I didn't fully get your idea. What do you
have in mind?



> -Daniel
>
> >
> > >
> > > > -Daniel
> > > >
> > > > >
> > > > > >
> > > > > > Discovered and validated with refactored igt/kms_sink_psr_crc.
> > > > > >
> > > > > > Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> > > > > > ---
> > > > > >  drivers/gpu/drm/i915/intel_dp.c | 2 +-
> > > > > >  1 file changed, 1 insertion(+), 1 deletion(-)
> > > > > >
> > > > > > diff --git a/drivers/gpu/drm/i915/intel_dp.c
> b/drivers/gpu/drm/i915/intel_dp.c
> > > > > > index f79473b..a796831 100644
> > > > > > --- a/drivers/gpu/drm/i915/intel_dp.c
> > > > > > +++ b/drivers/gpu/drm/i915/intel_dp.c
> > > > > > @@ -1813,7 +1813,7 @@ static void
> intel_edp_psr_enable_source(struct intel_dp *intel_dp)
> > > > > >       struct drm_device *dev = dig_port->base.base.dev;
> > > > > >       struct drm_i915_private *dev_priv = dev->dev_private;
> > > > > >       uint32_t max_sleep_time = 0x1f;
> > > > > > -     uint32_t idle_frames = 1;
> > > > > > +     uint32_t idle_frames = 2;
> > > > > >       uint32_t val = 0x0;
> > > > > >       const uint32_t link_entry_time =
> EDP_PSR_MIN_LINK_ENTRY_TIME_8_LINES;
> > > > > >       bool only_standby = false;
> > > > > > --
> > > > > > 1.9.3
> > > > > >
> > > > > > _______________________________________________
> > > > > > Intel-gfx mailing list
> > > > > > Intel-gfx@lists.freedesktop.org
> > > > > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > > > >
> > > > > --
> > > > > Ville Syrjälä
> > > > > Intel OTC
> > > > > _______________________________________________
> > > > > Intel-gfx mailing list
> > > > > Intel-gfx@lists.freedesktop.org
> > > > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> > > >
> > > > --
> > > > Daniel Vetter
> > > > Software Engineer, Intel Corporation
> > > > +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> > >
> > > --
> > > Ville Syrjälä
> > > Intel OTC
> > > _______________________________________________
> > > Intel-gfx mailing list
> > > Intel-gfx@lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/intel-gfx
> >
> > --
> > Ville Syrjälä
> > Intel OTC
>
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
>



-- 
Rodrigo Vivi
Blog: http://blog.vivi.eng.br

[-- Attachment #1.2: Type: text/html, Size: 7448 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

  reply	other threads:[~2014-09-04 18:26 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-04  2:49 [PATCH 1/4] drm/i915: Increase PSR Idle Frame to 2 Rodrigo Vivi
2014-09-04  2:49 ` [PATCH 2/4] drm/i915: Remove PSR HW tracking Rodrigo Vivi
     [not found]   ` <20140904080643.GC4193@intel.com>
2014-09-04 19:53     ` Rodrigo Vivi
2014-09-05  9:14       ` Ville Syrjälä
2014-09-04  2:49 ` [PATCH 3/4] drm/i915: Move PSR w/as to enable source Rodrigo Vivi
2014-09-04  2:49 ` [PATCH 4/4] drm/i915: Rename psr setup vsc function and set it always Rodrigo Vivi
     [not found] ` <20140904075516.GB4193@intel.com>
2014-09-04 18:18   ` [PATCH 1/4] drm/i915: Increase PSR Idle Frame to 2 Rodrigo Vivi
     [not found]   ` <20140904092916.GF15520@phenom.ffwll.local>
     [not found]     ` <20140904100427.GD4193@intel.com>
     [not found]       ` <20140904101819.GE4193@intel.com>
2014-09-04 11:04         ` Daniel Vetter
2014-09-04 18:26           ` Rodrigo Vivi [this message]
2014-09-04 18:22       ` Rodrigo Vivi
     [not found] ` <87wq9jg62e.fsf@intel.com>
2014-09-04 18:18   ` Rodrigo Vivi
     [not found] ` <20140904092253.GD15520@phenom.ffwll.local>
2014-09-04 18:20   ` Rodrigo Vivi
2014-09-04 19:05     ` Daniel Vetter
2014-09-04 19:16       ` Rodrigo Vivi
2014-09-04 20:20         ` Daniel Vetter
2014-09-05  0:40           ` Rodrigo Vivi
2014-09-05  8:37             ` Daniel Vetter
2014-09-13  0:29               ` Rodrigo Vivi
2014-09-15  9:08                 ` Daniel Vetter

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=CABVU7+viY0nno_uLObXLteKrs2MWiwcaMenHurbV7i-b_H_gKw@mail.gmail.com \
    --to=rodrigo.vivi@gmail.com \
    --cc=daniel@ffwll.ch \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=rodrigo.vivi@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.