[Intel-gfx] [PATCH] drm/i915: Fixing eDP detection on certain platforms
Ander Conselvan De Oliveira
conselvan2 at gmail.com
Tue Apr 12 07:09:18 UTC 2016
On Tue, 2016-04-12 at 12:23 +0530, Shubhangi Shrivastava wrote:
> 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>
> ---
> 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 da0c3d2..bdc7e12 100644
> --- a/drivers/gpu/drm/i915/intel_dp.c
> +++ b/drivers/gpu/drm/i915/intel_dp.c
> @@ -3806,7 +3806,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 */
> @@ -4339,6 +4339,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