All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Daniel Vetter <daniel.vetter@ffwll.ch>
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>
Subject: Re: [PATCH 2/2] drm/i915: Move plane enabling to the end of ilk_crtc_enable
Date: Tue, 15 Apr 2014 23:05:32 +0300	[thread overview]
Message-ID: <20140415200532.GZ18465@intel.com> (raw)
In-Reply-To: <1397580083-11558-2-git-send-email-daniel.vetter@ffwll.ch>

On Tue, Apr 15, 2014 at 06:41:23PM +0200, Daniel Vetter wrote:
> Like on hsw/bdw the pipe only starts running once the port/pch
> transcoder combo is all enabled. Before that the vblank wait in the
> primary plane enable function simply times out.
> 
> This is also really nice prep work for atomic modesets since now all
> the plane enabling is at the very end and all tightly grouped
> together, like on hsw+. Which means we can enable it all atomically
> with a nuclear pageflip.
> 
> vlv is still different and the watermark code is also still somewhere
> else, so it's not yet quite perfect. But we're getting there.
> 
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=77297
> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 7 ++++---
>  1 file changed, 4 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index e0310e3018ee..e6555c0dedca 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -3714,9 +3714,6 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
>  
>  	intel_update_watermarks(crtc);
>  	intel_enable_pipe(intel_crtc);
> -	intel_enable_primary_hw_plane(dev_priv, plane, pipe);
> -	intel_enable_planes(crtc);
> -	intel_crtc_update_cursor(crtc, true);
>  
>  	if (intel_crtc->config.has_pch_encoder)
>  		ironlake_pch_enable(crtc);
> @@ -3742,6 +3739,10 @@ static void ironlake_crtc_enable(struct drm_crtc *crtc)
>  	 */
>  	intel_wait_for_vblank(dev, intel_crtc->pipe);
>  
> +	intel_enable_primary_hw_plane(dev_priv, plane, pipe);
> +	intel_enable_planes(crtc);
> +	intel_crtc_update_cursor(crtc, true);

This more or less duplicates what's in my watermark series already. Except
you have a few more bugs here. The intel_wait_for_vblank() should be after
the plane enabling since it's a hack to avoid the flip done interrupts
getting mixed up. Also intel_update_fbc() must happen after enabling the
planes. I also made the enable and disable symmetric whereas you didn't.

Dunno maybe you just want to grab the patch from my series?

> +
>  	drm_vblank_on(dev, pipe);
>  }
>  
> -- 
> 1.8.4.rc3
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Ville Syrjälä
Intel OTC

  reply	other threads:[~2014-04-15 20:06 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-04-15 16:41 [PATCH 1/2] drm/i915: Don't vblank wait on ilk-ivb after pipe enable Daniel Vetter
2014-04-15 16:41 ` [PATCH 2/2] drm/i915: Move plane enabling to the end of ilk_crtc_enable Daniel Vetter
2014-04-15 20:05   ` Ville Syrjälä [this message]
2014-04-15 20:56     ` Daniel Vetter
2014-04-15 20:35 ` [PATCH 1/2] drm/i915: Don't vblank wait on ilk-ivb after pipe enable Ville Syrjälä

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=20140415200532.GZ18465@intel.com \
    --to=ville.syrjala@linux.intel.com \
    --cc=daniel.vetter@ffwll.ch \
    --cc=intel-gfx@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 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.