[Intel-gfx] [RESEND FOR CI PATCH 2/2] drm/i915: Fixing eDP detection on certain platforms
Lyude
cpaul at redhat.com
Thu Apr 21 20:59:29 UTC 2016
Ping. Any chance we could get these pushed upstream soon?
On Wed, 2016-04-13 at 10:47 +0300, Ander Conselvan de Oliveira wrote:
> From: Shubhangi Shrivastava <shubhangi.shrivastava at intel.com>
>
> Since commit 30d9aa4265fe ("drm/i915: Read sink_count dpcd always"),
> the status of a DP connector depends on its sink count value.
> However, some eDP panels don't set that value appropriately,
> causing them to be reported as disconnected.
> Fix this by ignoring sink count for eDP.
>
> v2: Rephrased commit message. (Ander)
> In case of eDP, returning status as connected if DPCD
> read succeeds to avoid any further operations.
>
> Fixes: 30d9aa4265fe ("drm/i915: Read sink_count dpcd always")
> Cc: Ander Conselvan De Oliveira <conselvan2 at gmail.com>
> Cc: Jani Nikula <jani.nikula at linux.intel.com>
> Reported-by: Tvrtko Ursulin <tvrtko.ursulin at linux.intel.com>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani at intel.com>
> Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava at intel.com>
> Tested-by: Tvrtko Ursulin <tvrtko.ursulin at intel.com>
> Reviewed-by: Ander Conselvan de Oliveira <conselvan2 at gmail.com>
> Signed-off-by: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira at intel.
> com>
> Link: http://patchwork.freedesktop.org/patch/msgid/1460444034-22320-1-git-send
> -email-shubhangi.shrivastava at intel.com
> ---
> drivers/gpu/drm/i915/intel_dp.c | 5 ++++-
> 1 file changed, 4 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index 6c6f95a2..460c421 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -3776,7 +3776,7 @@ intel_dp_get_dpcd(struct intel_dp *intel_dp)
> * downstream port information. So, an early return here saves
> * time from performing other operations which are not required.
> */
> - if (!intel_dp->sink_count)
> + if (!is_edp(intel_dp) && !intel_dp->sink_count)
> return false;
>
> /* Check if the panel supports PSR */
> @@ -4309,6 +4309,9 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
> if (!intel_dp_get_dpcd(intel_dp))
> return connector_status_disconnected;
>
> + if (is_edp(intel_dp))
> + return connector_status_connected;
> +
> /* if there's no downstream port, we're done */
> if (!(dpcd[DP_DOWNSTREAMPORT_PRESENT] & DP_DWN_STRM_PORT_PRESENT))
> return connector_status_connected;
More information about the Intel-gfx
mailing list