From: Jani Nikula <jani.nikula@linux.intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: Daniel Vetter <daniel.vetter@ffwll.ch>,
Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Subject: Re: [PATCH v2] drm/i915/dp: Do not reset detect_done flag in intel_dp_detect
Date: Tue, 20 Dec 2016 10:08:07 +0200 [thread overview]
Message-ID: <87k2avm3a0.fsf@intel.com> (raw)
In-Reply-To: <1482201738-1440-1-git-send-email-dhinakaran.pandiyan@intel.com>
On Tue, 20 Dec 2016, Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> wrote:
> From: "Navare, Manasi D" <manasi.d.navare@intel.com>
>
> The detect_done flag was introduced in the 'commit 7d23e3c37bb3
> ("drm/i915: Cleaning up intel_dp_hpd_pulse")' in order to avoid multiple
> detects on hotplug where intel_dp_long_pulse() was called from HPD handler
> as well as intel_dp_detect(). Later, 'commit 1015811609c0
> ("drm/i915: Move long hpd handling into the hotplug work")' deferred long
> hpd handling to hotplug work to avoid handling it twice. But, resetting the
> flag after long hpd handling leads to the code being executed again during
> mode enumeration.
>
> So, do not reset the detect_done flag to false in intel_dp_detect. The flag
> is reset in intel_dp_hpd_pulse to allow a full detect and set when the
> hotplug work does a full DPCD detect. However if .detect() gets called
> during enumeration we return the cached status.
>
> v2:
> Allow full detect after encoder reset. (Ville)
> Set the detect_done even connector if disconnected (DK)
> Commit message changes.
>
Fixes: ?
> Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
> Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Signed-off-by: Manasi Navare <manasi.d.navare@intel.com>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 9 +++++----
> 1 file changed, 5 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 45ebc96..5689cf3 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -4473,7 +4473,6 @@ intel_dp_long_pulse(struct intel_connector *intel_connector)
> intel_dp_set_edid(intel_dp);
> if (is_edp(intel_dp) || intel_connector->detect_edid)
> status = connector_status_connected;
> - intel_dp->detect_done = true;
>
> /* Try to read the source of the interrupt */
> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 &&
> @@ -4508,10 +4507,10 @@ intel_dp_detect(struct drm_connector *connector, bool force)
> connector->base.id, connector->name);
>
> /* If full detect is not performed yet, do a full detect */
> - if (!intel_dp->detect_done)
> + if (!intel_dp->detect_done) {
> + intel_dp->detect_done = true;
> status = intel_dp_long_pulse(intel_dp->attached_connector);
> -
> - intel_dp->detect_done = false;
> + }
>
> return status;
> }
> @@ -4803,6 +4802,8 @@ void intel_dp_encoder_reset(struct drm_encoder *encoder)
> if (lspcon->active)
> lspcon_resume(lspcon);
>
> + intel_dp->detect_done = false;
> +
> if (to_intel_encoder(encoder)->type != INTEL_OUTPUT_EDP)
> return;
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
next prev parent reply other threads:[~2016-12-20 8:08 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-12-07 0:43 [PATCH] drm/i915: Do not reset detect_done flag in intel_dp_detect Manasi Navare
2016-12-07 1:15 ` ✓ Fi.CI.BAT: success for " Patchwork
2016-12-07 8:52 ` [PATCH] " Jani Nikula
2016-12-07 14:05 ` Ville Syrjälä
2016-12-07 20:46 ` Manasi Navare
2016-12-08 3:51 ` Manasi Navare
2016-12-08 15:58 ` Ville Syrjälä
2016-12-08 17:50 ` Manasi Navare
2016-12-20 2:42 ` [PATCH v2] drm/i915/dp: " Dhinakaran Pandiyan
2016-12-20 8:08 ` Jani Nikula [this message]
2016-12-20 21:05 ` Pandiyan, Dhinakaran
2016-12-21 1:57 ` [PATCH v3] " Dhinakaran Pandiyan
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=87k2avm3a0.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=daniel.vetter@ffwll.ch \
--cc=dhinakaran.pandiyan@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.