From: Daniel Vetter <daniel@ffwll.ch>
To: Lyude <cpaul@redhat.com>
Cc: Benjamin Tissoires <btissoir@redhat.com>,
intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org,
Daniel Vetter <daniel.vetter@intel.com>
Subject: Re: [Intel-gfx] [PATCH] drm/i915: intel_hpd_init(): Don't check connectors for an encoder
Date: Tue, 5 Jan 2016 21:05:49 +0100 [thread overview]
Message-ID: <20160105200549.GS8076@phenom.ffwll.local> (raw)
In-Reply-To: <1452023588-3857-1-git-send-email-cpaul@redhat.com>
On Tue, Jan 05, 2016 at 02:53:08PM -0500, Lyude wrote:
> There's no reason to check for an active encoder when setting up hpd,
> especially since a disconnected connector isn't going to have an encoder
> in the first place. This fixes reprobing display connectors on resume.
>
> Signed-off-by: Lyude <cpaul@redhat.com>
> ---
> After some talking with danvet on IRC, I learned that calling
> drm_helper_hpd_irq_event() does actually trigger a full reprobe of each
> connector's status. It turns out this is the actual reason reprobing on resume
> hasn't been working (this was observed on a T440s):
>
> - We call hpd_init()
> - We check each connector for a couple of things before marking
> connector->polled with DRM_CONNECTOR_POLL_HPD, one of which is an
> active encoder. Of course, a disconnected port won't have an active
> encoder, so we don't add the flag to any of the connector's.
> - We call drm_helper_hpd_irq_event()
> - drm_helper_irq_event() checks each connector for the
> DRM_CONNECTOR_POLL_HPD flag. The only one that has it is eDP-1, so we
> skip reprobing each connector except that one.
The above explanation should be part of the commit message, otherwise it's
hard to understand the impact of this fix.
Fixes: 0e32b39ceed6 ("drm/i915: add DP 1.2 MST support (v0.7)")
Cc: stable@vger.kernel.org
Unfortunately Dave doesn't explain in his MST commit why he's done this.
Dave? I can't come up with a reason, but better to test that. Lyude?
Anyway looks good to me.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> drivers/gpu/drm/i915/intel_hotplug.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c
> index b177857..18797bc 100644
> --- a/drivers/gpu/drm/i915/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/intel_hotplug.c
> @@ -468,7 +468,7 @@ void intel_hpd_init(struct drm_i915_private *dev_priv)
> list_for_each_entry(connector, &mode_config->connector_list, head) {
> struct intel_connector *intel_connector = to_intel_connector(connector);
> connector->polled = intel_connector->polled;
> - if (connector->encoder && !connector->polled && I915_HAS_HOTPLUG(dev) && intel_connector->encoder->hpd_pin > HPD_NONE)
> + if (!connector->polled && I915_HAS_HOTPLUG(dev) && intel_connector->encoder->hpd_pin > HPD_NONE)
> connector->polled = DRM_CONNECTOR_POLL_HPD;
> if (intel_connector->mst_port)
> connector->polled = DRM_CONNECTOR_POLL_HPD;
> --
> 2.5.0
>
> _______________________________________________
> 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
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel@ffwll.ch>
To: Lyude <cpaul@redhat.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>,
Jani Nikula <jani.nikula@linux.intel.com>,
David Airlie <airlied@linux.ie>,
intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org,
linux-kernel@vger.kernel.org,
Benjamin Tissoires <btissoir@redhat.com>
Subject: Re: [Intel-gfx] [PATCH] drm/i915: intel_hpd_init(): Don't check connectors for an encoder
Date: Tue, 5 Jan 2016 21:05:49 +0100 [thread overview]
Message-ID: <20160105200549.GS8076@phenom.ffwll.local> (raw)
In-Reply-To: <1452023588-3857-1-git-send-email-cpaul@redhat.com>
On Tue, Jan 05, 2016 at 02:53:08PM -0500, Lyude wrote:
> There's no reason to check for an active encoder when setting up hpd,
> especially since a disconnected connector isn't going to have an encoder
> in the first place. This fixes reprobing display connectors on resume.
>
> Signed-off-by: Lyude <cpaul@redhat.com>
> ---
> After some talking with danvet on IRC, I learned that calling
> drm_helper_hpd_irq_event() does actually trigger a full reprobe of each
> connector's status. It turns out this is the actual reason reprobing on resume
> hasn't been working (this was observed on a T440s):
>
> - We call hpd_init()
> - We check each connector for a couple of things before marking
> connector->polled with DRM_CONNECTOR_POLL_HPD, one of which is an
> active encoder. Of course, a disconnected port won't have an active
> encoder, so we don't add the flag to any of the connector's.
> - We call drm_helper_hpd_irq_event()
> - drm_helper_irq_event() checks each connector for the
> DRM_CONNECTOR_POLL_HPD flag. The only one that has it is eDP-1, so we
> skip reprobing each connector except that one.
The above explanation should be part of the commit message, otherwise it's
hard to understand the impact of this fix.
Fixes: 0e32b39ceed6 ("drm/i915: add DP 1.2 MST support (v0.7)")
Cc: stable@vger.kernel.org
Unfortunately Dave doesn't explain in his MST commit why he's done this.
Dave? I can't come up with a reason, but better to test that. Lyude?
Anyway looks good to me.
Reviewed-by: Daniel Vetter <daniel.vetter@ffwll.ch>
>
> drivers/gpu/drm/i915/intel_hotplug.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_hotplug.c b/drivers/gpu/drm/i915/intel_hotplug.c
> index b177857..18797bc 100644
> --- a/drivers/gpu/drm/i915/intel_hotplug.c
> +++ b/drivers/gpu/drm/i915/intel_hotplug.c
> @@ -468,7 +468,7 @@ void intel_hpd_init(struct drm_i915_private *dev_priv)
> list_for_each_entry(connector, &mode_config->connector_list, head) {
> struct intel_connector *intel_connector = to_intel_connector(connector);
> connector->polled = intel_connector->polled;
> - if (connector->encoder && !connector->polled && I915_HAS_HOTPLUG(dev) && intel_connector->encoder->hpd_pin > HPD_NONE)
> + if (!connector->polled && I915_HAS_HOTPLUG(dev) && intel_connector->encoder->hpd_pin > HPD_NONE)
> connector->polled = DRM_CONNECTOR_POLL_HPD;
> if (intel_connector->mst_port)
> connector->polled = DRM_CONNECTOR_POLL_HPD;
> --
> 2.5.0
>
> _______________________________________________
> 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
next prev parent reply other threads:[~2016-01-05 20:05 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-01-05 19:53 [PATCH] drm/i915: intel_hpd_init(): Don't check connectors for an encoder Lyude
2016-01-05 19:53 ` Lyude
2016-01-05 20:05 ` Daniel Vetter [this message]
2016-01-05 20:05 ` [Intel-gfx] " Daniel Vetter
2016-01-05 20:09 ` Daniel Vetter
2016-01-05 20:09 ` [Intel-gfx] " Daniel Vetter
2016-01-05 21:15 ` [PATCH v2] drm/i915: intel_hpd_init(): Fix suspend/resume reprobing Lyude
2016-01-05 21:15 ` Lyude
2016-01-06 7:27 ` [Intel-gfx] " Daniel Vetter
2016-01-07 15:43 ` [PATCH v3] " Lyude
2016-01-07 15:43 ` Lyude
2016-01-07 16:10 ` Daniel Vetter
2016-01-07 16:10 ` [Intel-gfx] " Daniel Vetter
2020-01-17 1:33 ` [Intel-gfx] ✗ Fi.CI.BAT: failure for " Patchwork
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=20160105200549.GS8076@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=btissoir@redhat.com \
--cc=cpaul@redhat.com \
--cc=daniel.vetter@intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=linux-kernel@vger.kernel.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.