From: Daniel Vetter <daniel@ffwll.ch>
To: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [RFC 8/8] drm/i915: Add two-stage ILK-style watermark programming (v2)
Date: Mon, 6 Jul 2015 14:26:56 +0200 [thread overview]
Message-ID: <20150706122656.GV2156@phenom.ffwll.local> (raw)
In-Reply-To: <559A7270.20806@linux.intel.com>
On Mon, Jul 06, 2015 at 02:20:00PM +0200, Maarten Lankhorst wrote:
> Op 02-07-15 om 04:26 schreef Matt Roper:
> > From: Matt Roper <matt@mattrope.com>
> >
> > In addition to calculating final watermarks, let's also pre-calculate a
> > set of intermediate watermark values at atomic check time. These
> > intermediate watermarks are a combination of the watermarks for the old
> > state and the new state; they should satisfy the requirements of both
> > states which means they can be programmed immediately when we commit the
> > atomic state (without waiting for a vblank). Once the vblank does
> > happen, we can then re-program watermarks to the more optimal final
> > value.
> >
> > v2: Significant rebasing/rewriting.
> >
> > Signed-off-by: Matt Roper <matthew.d.roper@intel.com>
> > ---
> > drivers/gpu/drm/i915/i915_drv.h | 9 +++++
> > drivers/gpu/drm/i915/i915_irq.c | 7 ++++
> > drivers/gpu/drm/i915/intel_display.c | 34 +++++++++++++++-
> > drivers/gpu/drm/i915/intel_drv.h | 26 +++++++++----
> > drivers/gpu/drm/i915/intel_pm.c | 75 ++++++++++++++++++++++++++++++------
> > 5 files changed, 130 insertions(+), 21 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> > index 5ad942e..42397e2 100644
> > --- a/drivers/gpu/drm/i915/i915_drv.h
> > +++ b/drivers/gpu/drm/i915/i915_drv.h
> > @@ -623,6 +623,9 @@ struct drm_i915_display_funcs {
> > struct dpll *best_clock);
> > int (*compute_pipe_wm)(struct drm_crtc *crtc,
> > struct drm_atomic_state *state);
> > + void (*compute_intermediate_wm)(struct drm_device *dev,
> > + struct intel_crtc_state *newstate,
> > + const struct intel_crtc_state *oldstate);
> >
> If this is can't fail anyway could we please do this at runtime instead of precalculating?
Hm, this is possible to fail, we might not be able to get valid
intermediate wms. And therefore it needs to be in the compute phase.
-Daniel
>
> Something like this:
>
> commit_intermediate_wm
> vblank_evade
> plane_update
> vblank_end
> (wait for vblank)
> commit_final_wm
>
> Of course for skylake just hammer in the final wm during vblank evasion. :-)
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx
prev parent reply other threads:[~2015-07-06 12:24 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-07-02 2:25 [RFC 0/8] Atomic watermark updates (v2) Matt Roper
2015-07-02 2:25 ` [RFC 1/8] drm/i915: Eliminate usage of plane_wm_parameters from ILK-style WM code Matt Roper
2015-07-02 2:25 ` [RFC 2/8] drm/i915: Eliminate usage of pipe_wm_parameters from ILK-style WM Matt Roper
2015-07-02 2:25 ` [RFC 3/8] drm/i915/ivb: Move WaCxSRDisabledForSpriteScaling w/a to atomic check Matt Roper
2015-10-02 16:03 ` Egbert Eich
2015-10-06 8:23 ` Daniel Vetter
2015-07-02 2:25 ` [RFC 4/8] drm/i915: Refactor ilk_update_wm (v3) Matt Roper
2015-07-02 2:25 ` [RFC 5/8] drm/i915: Move active watermarks into CRTC state Matt Roper
2015-07-20 9:19 ` Maarten Lankhorst
2015-07-02 2:25 ` [RFC 6/8] drm/i915: Calculate ILK-style watermarks during atomic check (v2) Matt Roper
2015-07-06 9:13 ` Daniel Vetter
2015-07-02 2:26 ` [RFC 7/8] drm/i915: Allow final wm programming to be scheduled after next vblank (v2) Matt Roper
2015-07-06 9:07 ` Daniel Vetter
2015-07-06 11:23 ` Ville Syrjälä
2015-07-20 8:10 ` Maarten Lankhorst
2015-07-02 2:26 ` [RFC 8/8] drm/i915: Add two-stage ILK-style watermark programming (v2) Matt Roper
2015-07-06 9:11 ` Daniel Vetter
2015-07-06 12:20 ` Maarten Lankhorst
2015-07-06 12:26 ` Daniel Vetter [this message]
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=20150706122656.GV2156@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
--cc=maarten.lankhorst@linux.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