All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@linux.intel.com>
To: ville.syrjala@linux.intel.com, intel-gfx@lists.freedesktop.org
Cc: Alan Bartlett <ajb@elrepo.org>, stable@vger.kernel.org
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Wait for vblank before enabling the	TV encoder
Date: Mon, 08 Sep 2014 18:18:53 +0300	[thread overview]
Message-ID: <87lhpuxhr6.fsf@intel.com> (raw)
In-Reply-To: <1410187381-6642-1-git-send-email-ville.syrjala@linux.intel.com>

On Mon, 08 Sep 2014, ville.syrjala@linux.intel.com wrote:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> The vblank waits in intel_tv_detect_type() are timing out for some
> reason. This is a regression caused removing seemingly useless vblank
> waits from the modeset seqeuence in:
>
>  commit 56ef52cad5e37fca89638e4bad598a994ecc3d9f
>  Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
>  Date:   Thu May 8 19:23:15 2014 +0300
>
>     drm/i915: Kill vblank waits after pipe enable on gmch platforms
>
> So it turns out they weren't all entirely useless. Apparently the pipe
> has to go through one full frame before we enable the TV port. Add a
> vblank wait to intel_enable_tv() to make sure that happens.
>
> Another approach was attempted by placing the vblank wait just after
> enabling the port. The theory behind that attempt was that we need to
> let the port stay enabled for one full frame before disabling it again
> during load detection. But that didn't work, and we definitely must
> have the vblank wait before enabling the port.
>
> Cc: stable@vger.kernel.org
> Cc: Alan Bartlett <ajb@elrepo.org>
> Tested-by: Alan Bartlett <ajb@elrepo.org>
> Bugzilla: https://bugzilla.kernel.org/show_bug.cgi?id=79311
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

Pushed to drm-intel-fixes with Daniel's IRC r-b. Thanks for the patch
and review.

BR,
Jani.


> ---
>  drivers/gpu/drm/i915/intel_tv.c | 4 ++++
>  1 file changed, 4 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_tv.c b/drivers/gpu/drm/i915/intel_tv.c
> index c69d3ce..c14341c 100644
> --- a/drivers/gpu/drm/i915/intel_tv.c
> +++ b/drivers/gpu/drm/i915/intel_tv.c
> @@ -854,6 +854,10 @@ intel_enable_tv(struct intel_encoder *encoder)
>  	struct drm_device *dev = encoder->base.dev;
>  	struct drm_i915_private *dev_priv = dev->dev_private;
>  
> +	/* Prevents vblank waits from timing out in intel_tv_detect_type() */
> +	intel_wait_for_vblank(encoder->base.dev,
> +			      to_intel_crtc(encoder->base.crtc)->pipe);
> +
>  	I915_WRITE(TV_CTL, I915_READ(TV_CTL) | TV_ENC_ENABLE);
>  }
>  
> -- 
> 1.8.5.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Jani Nikula, Intel Open Source Technology Center

      reply	other threads:[~2014-09-08 15:18 UTC|newest]

Thread overview: 2+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-08 14:43 [PATCH] drm/i915: Wait for vblank before enabling the TV encoder ville.syrjala
2014-09-08 15:18 ` Jani Nikula [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=87lhpuxhr6.fsf@intel.com \
    --to=jani.nikula@linux.intel.com \
    --cc=ajb@elrepo.org \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=stable@vger.kernel.org \
    --cc=ville.syrjala@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 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.