From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Imre Deak <imre.deak@intel.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: [PATCH v2] drm/i915/lspcon: Enable AUX interrupts for resume time initialization
Date: Tue, 29 Nov 2016 21:55:50 +0200 [thread overview]
Message-ID: <20161129195550.GW31595@intel.com> (raw)
In-Reply-To: <1480448429-27739-1-git-send-email-imre.deak@intel.com>
On Tue, Nov 29, 2016 at 09:40:29PM +0200, Imre Deak wrote:
> For LSPCON initialization during system resume we need AUX
> functionality, but we call the corresponding encoder reset hook with all
> interrupts disabled. Without interrupts we'll do a poll-wait for AUX
> transfer completions, which adds a significant delay if the transfers
> timeout/need to be retried for some reason.
>
> Fix this by enabling interrupts before calling the reset hooks. Note
> that while this will enable AUX interrupts it will keep HPD interrupts
> disabled, in a similar way to the init time output setup code.
>
> This issue existed since LSPCON support was added.
>
> v2:
> - Rebased on drm-tip.
>
> Cc: Shashank Sharma <shashank.sharma@intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 8dac298..2cea2ef 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1582,18 +1582,21 @@ static int i915_drm_resume(struct drm_device *dev)
> intel_opregion_setup(dev_priv);
>
> intel_init_pch_refclk(dev_priv);
> - drm_mode_config_reset(dev);
>
> /*
> * Interrupts have to be enabled before any batches are run. If not the
> * GPU will hang. i915_gem_init_hw() will initiate batches to
> * update/restore the context.
> *
> + * drm_mode_config_reset() needs AUX interrupts.
> + *
> * Modeset enabling in intel_modeset_init_hw() also needs working
> * interrupts.
> */
> intel_runtime_pm_enable_interrupts(dev_priv);
>
> + drm_mode_config_reset(dev);
> +
Didn't look like anything should seriously explode.
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
There is a slight concern on g4x/vlv/chv that an AUX interrupts would
trigger the hpd irq handler, which doesn't realize it's supposed to
ignore the actual hpd bits in PORT_HOTPLUG_STAT. So any aux before we
enable hpd processing for real could do something bad. So I guess we
should add some kind of software tracking for that stuff like we have
for PIPESTAT.
> mutex_lock(&dev->struct_mutex);
> if (i915_gem_init_hw(dev)) {
> DRM_ERROR("failed to re-initialize GPU, declaring wedged!\n");
> --
> 2.5.0
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Ville Syrjälä
Intel OTC
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-11-29 19:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-11-29 14:52 [PATCH] drm/i915/lspcon: Enable AUX interrupts for resume time initialization Imre Deak
2016-11-29 19:40 ` [PATCH v2] " Imre Deak
2016-11-29 19:55 ` Ville Syrjälä [this message]
2016-11-29 20:14 ` Imre Deak
2016-11-29 20:27 ` Ville Syrjälä
2016-11-29 20:41 ` Imre Deak
2016-11-29 21:00 ` Ville Syrjälä
2016-11-30 12:27 ` Imre Deak
2016-12-01 13:18 ` David Weinehall
2016-11-29 21:53 ` ✓ Fi.CI.BAT: success for drm/i915/lspcon: Enable AUX interrupts for resume time initialization (rev2) Patchwork
2016-12-01 13:33 ` Imre Deak
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=20161129195550.GW31595@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=imre.deak@intel.com \
--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.