From: "Zanoni, Paulo R" <paulo.r.zanoni@intel.com>
To: "intel-gfx@lists.freedesktop.org"
<intel-gfx@lists.freedesktop.org>,
"Vivi, Rodrigo" <rodrigo.vivi@intel.com>
Subject: Re: [PATCH 3/7] drm/i915: PSR: Let's rely more on frontbuffer tracking.
Date: Mon, 24 Aug 2015 14:29:21 +0000 [thread overview]
Message-ID: <1440426560.2526.24.camel@intel.com> (raw)
In-Reply-To: <1440118544-26282-3-git-send-email-rodrigo.vivi@intel.com>
Em Qui, 2015-08-20 às 17:55 -0700, Rodrigo Vivi escreveu:
> Many reasons here:
>
> - Hardware tracking also has hidden corner cases
Can you please elaborate more on that? I really really really really
really think we should try as hard as possible to cook some IGT cases
if something is affecting us :)
> - Frontbuffer tracking is mature and reliable now
> - Our sw exit by unseting bit 31 is really fast and reliable.
But doesn't it trigger an automatic link retraining?
>
> Also frontbuffer tracking flush means invalidate and flush.
I don't know what are the implications of this in the current context.
>
> So, let's rely more and do the proper meaning of flush for
> all cases without any workaround.
I'm really in favor of the idea that if the HW can properly handle the
flips, we should rely on it, since in a lot of modern desktop
environments we basically do one flip per frame. Did we study how this
patch affects the PSR residency on the different cases we care about?
(yes, I know FBC is not relying on the HW for flips, but this is on the
"optimization" TODO list after we finally merge the bug fixes)
Due to the benefits of relying on the HW tracking, I think you'll have
to bring some good arguments to sell this patch to me. But a
"Testcase:" tag would totally do it :)
>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
> drivers/gpu/drm/i915/intel_psr.c | 22 +++-------------------
> 1 file changed, 3 insertions(+), 19 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_psr.c
> b/drivers/gpu/drm/i915/intel_psr.c
> index 92e2b467..63bbab2 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -719,25 +719,9 @@ void intel_psr_flush(struct drm_device *dev,
> frontbuffer_bits &= INTEL_FRONTBUFFER_ALL_MASK(pipe);
> dev_priv->psr.busy_frontbuffer_bits &= ~frontbuffer_bits;
>
> - if (HAS_DDI(dev)) {
> - /*
> - * By definition every flush should mean invalidate
> + flush,
> - * however on core platforms let's minimize the
> - * disable/re-enable so we can avoid the invalidate
> when flip
> - * originated the flush.
> - */
> - if (frontbuffer_bits && origin != ORIGIN_FLIP)
> - intel_psr_exit(dev);
> - } else {
> - /*
> - * On Valleyview and Cherryview we don't use
> hardware tracking
> - * so any plane updates or cursor moves don't result
> in a PSR
> - * invalidating. Which means we need to manually
> fake this in
> - * software for all flushes.
> - */
> - if (frontbuffer_bits)
> - intel_psr_exit(dev);
> - }
> + /* By definition flush = invalidate + flush */
> + if (frontbuffer_bits)
> + intel_psr_exit(dev);
>
> if (!dev_priv->psr.active && !dev_priv
> ->psr.busy_frontbuffer_bits)
> schedule_delayed_work(&dev_priv->psr.work,
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2015-08-24 14:29 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-21 0:55 [PATCH 1/7] drm/i915: Remove duplicated dpcd write on hsw_psr_enable_sink Rodrigo Vivi
2015-08-21 0:55 ` [PATCH 2/7] drm/i915: Fix PSR disable sequence on core platforms Rodrigo Vivi
2015-08-24 14:14 ` Zanoni, Paulo R
2015-08-24 22:18 ` Vivi, Rodrigo
2015-08-21 0:55 ` [PATCH 3/7] drm/i915: PSR: Let's rely more on frontbuffer tracking Rodrigo Vivi
2015-08-24 14:29 ` Zanoni, Paulo R [this message]
2015-08-24 22:28 ` Vivi, Rodrigo
2015-08-21 0:55 ` [PATCH 4/7] drm/i915: PSR: Mask LPSP hw tracking back again Rodrigo Vivi
2015-08-26 9:11 ` Daniel Vetter
2015-09-26 1:56 ` [4/7] " Brian Norris
2015-08-21 0:55 ` [PATCH 5/7] drm/i915: Delay first PSR activation Rodrigo Vivi
2015-08-24 17:03 ` Zanoni, Paulo R
2015-08-24 22:35 ` Vivi, Rodrigo
2015-08-21 0:55 ` [PATCH 6/7] drm/i915: Remove psr re-activation delay on HSW+ Rodrigo Vivi
2015-08-21 0:55 ` [PATCH 7/7] drm/i915: Reduce PSR re-activation time for VLV/CHV Rodrigo Vivi
2015-08-28 23:38 ` shuang.he
2015-08-24 14:04 ` [PATCH 1/7] drm/i915: Remove duplicated dpcd write on hsw_psr_enable_sink Zanoni, Paulo R
2015-08-24 22:16 ` Vivi, Rodrigo
2015-09-26 1:40 ` [1/7] " Brian Norris
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=1440426560.2526.24.camel@intel.com \
--to=paulo.r.zanoni@intel.com \
--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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox