* [PATCH] drm/i915: Fixing eDP detection on certain platforms
@ 2016-04-12 6:53 Shubhangi Shrivastava
2016-04-12 7:09 ` Ander Conselvan De Oliveira
2016-04-12 8:16 ` ✗ Fi.CI.BAT: failure for drm/i915: Fixing eDP detection on certain platforms (rev4) Patchwork
0 siblings, 2 replies; 9+ messages in thread
From: Shubhangi Shrivastava @ 2016-04-12 6:53 UTC (permalink / raw)
To: intel-gfx; +Cc: Shubhangi Shrivastava
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@gmail.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Reported-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
Tested-by: Tvrtko Ursulin <tvrtko.ursulin@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 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;
--
2.6.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] drm/i915: Fixing eDP detection on certain platforms
2016-04-12 6:53 [PATCH] drm/i915: Fixing eDP detection on certain platforms Shubhangi Shrivastava
@ 2016-04-12 7:09 ` Ander Conselvan De Oliveira
2016-04-12 8:16 ` ✗ Fi.CI.BAT: failure for drm/i915: Fixing eDP detection on certain platforms (rev4) Patchwork
1 sibling, 0 replies; 9+ messages in thread
From: Ander Conselvan De Oliveira @ 2016-04-12 7:09 UTC (permalink / raw)
To: Shubhangi Shrivastava, intel-gfx
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@gmail.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Reported-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
> Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
> Tested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Reviewed-by: Ander Conselvan de Oliveira <conselvan2@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;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread* ✗ Fi.CI.BAT: failure for drm/i915: Fixing eDP detection on certain platforms (rev4)
2016-04-12 6:53 [PATCH] drm/i915: Fixing eDP detection on certain platforms Shubhangi Shrivastava
2016-04-12 7:09 ` Ander Conselvan De Oliveira
@ 2016-04-12 8:16 ` Patchwork
2016-04-13 9:13 ` Tvrtko Ursulin
1 sibling, 1 reply; 9+ messages in thread
From: Patchwork @ 2016-04-12 8:16 UTC (permalink / raw)
To: Shubhangi Shrivastava; +Cc: intel-gfx
== Series Details ==
Series: drm/i915: Fixing eDP detection on certain platforms (rev4)
URL : https://patchwork.freedesktop.org/series/5408/
State : failure
== Summary ==
Series 5408v4 drm/i915: Fixing eDP detection on certain platforms
http://patchwork.freedesktop.org/api/1.0/series/5408/revisions/4/mbox/
Test drv_module_reload_basic:
pass -> INCOMPLETE (snb-dellxps)
Test gem_basic:
Subgroup create-fd-close:
incomplete -> PASS (bsw-nuc-2)
Test gem_ctx_param_basic:
Subgroup invalid-param-get:
incomplete -> PASS (bsw-nuc-2)
Test gem_exec_basic:
Subgroup basic-bsd1:
incomplete -> SKIP (bsw-nuc-2)
Test gem_exec_store:
Subgroup basic-bsd1:
incomplete -> SKIP (bsw-nuc-2)
Subgroup basic-bsd2:
incomplete -> SKIP (bsw-nuc-2)
Test gem_ringfill:
Subgroup basic-default-hang:
dmesg-warn -> PASS (bsw-nuc-2)
Test gem_storedw_loop:
Subgroup basic-bsd2:
incomplete -> SKIP (bsw-nuc-2)
Test kms_addfb_basic:
Subgroup bad-pitch-1024:
dmesg-warn -> PASS (bsw-nuc-2)
Subgroup basic-y-tiled:
incomplete -> PASS (bsw-nuc-2)
Subgroup small-bo:
incomplete -> PASS (bsw-nuc-2)
Subgroup unused-handle:
incomplete -> PASS (bsw-nuc-2)
Test kms_flip:
Subgroup basic-flip-vs-dpms:
pass -> DMESG-WARN (ilk-hp8440p) UNSTABLE
Subgroup basic-flip-vs-wf_vblank:
pass -> FAIL (bsw-nuc-2)
Test kms_pipe_crc_basic:
Subgroup read-crc-pipe-a:
incomplete -> SKIP (bsw-nuc-2)
Subgroup read-crc-pipe-b:
incomplete -> SKIP (bsw-nuc-2)
Test pm_rpm:
Subgroup basic-pci-d3-state:
pass -> DMESG-WARN (byt-nuc)
Test prime_self_import:
Subgroup basic-with_one_bo:
incomplete -> PASS (bsw-nuc-2)
Subgroup basic-with_two_bos:
incomplete -> PASS (bsw-nuc-2)
bdw-nuci7 total:202 pass:190 dwarn:0 dfail:0 fail:0 skip:12
bdw-ultra total:202 pass:179 dwarn:0 dfail:0 fail:0 skip:23
bsw-nuc-2 total:201 pass:161 dwarn:0 dfail:0 fail:1 skip:39
byt-nuc total:201 pass:162 dwarn:1 dfail:0 fail:0 skip:38
hsw-brixbox total:202 pass:178 dwarn:0 dfail:0 fail:0 skip:24
ilk-hp8440p total:202 pass:133 dwarn:1 dfail:0 fail:0 skip:68
ivb-t430s total:202 pass:174 dwarn:0 dfail:0 fail:0 skip:28
skl-i7k-2 total:202 pass:177 dwarn:0 dfail:0 fail:0 skip:25
snb-dellxps total:75 pass:59 dwarn:0 dfail:0 fail:1 skip:14
snb-x220t total:202 pass:164 dwarn:0 dfail:0 fail:1 skip:37
Results at /archive/results/CI_IGT_test/Patchwork_1867/
dc5380b5263ebb0bf251bb09db542585702b528b drm-intel-nightly: 2016y-04m-11d-19h-43m-10s UTC integration manifest
09154b99a2f86c5ae5061f82dee7f1cc8953a847 drm/i915: Fixing eDP detection on certain platforms
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: ✗ Fi.CI.BAT: failure for drm/i915: Fixing eDP detection on certain platforms (rev4)
2016-04-12 8:16 ` ✗ Fi.CI.BAT: failure for drm/i915: Fixing eDP detection on certain platforms (rev4) Patchwork
@ 2016-04-13 9:13 ` Tvrtko Ursulin
0 siblings, 0 replies; 9+ messages in thread
From: Tvrtko Ursulin @ 2016-04-13 9:13 UTC (permalink / raw)
To: intel-gfx, Shubhangi Shrivastava
On 12/04/16 09:16, Patchwork wrote:
> == Series Details ==
>
> Series: drm/i915: Fixing eDP detection on certain platforms (rev4)
> URL : https://patchwork.freedesktop.org/series/5408/
> State : failure
>
> == Summary ==
>
> Series 5408v4 drm/i915: Fixing eDP detection on certain platforms
> http://patchwork.freedesktop.org/api/1.0/series/5408/revisions/4/mbox/
>
> Test drv_module_reload_basic:
> pass -> INCOMPLETE (snb-dellxps)
Don't know what to think of this - resend? Or this machine generally has
issues?
> Test gem_basic:
> Subgroup create-fd-close:
> incomplete -> PASS (bsw-nuc-2)
> Test gem_ctx_param_basic:
> Subgroup invalid-param-get:
> incomplete -> PASS (bsw-nuc-2)
> Test gem_exec_basic:
> Subgroup basic-bsd1:
> incomplete -> SKIP (bsw-nuc-2)
> Test gem_exec_store:
> Subgroup basic-bsd1:
> incomplete -> SKIP (bsw-nuc-2)
> Subgroup basic-bsd2:
> incomplete -> SKIP (bsw-nuc-2)
> Test gem_ringfill:
> Subgroup basic-default-hang:
> dmesg-warn -> PASS (bsw-nuc-2)
> Test gem_storedw_loop:
> Subgroup basic-bsd2:
> incomplete -> SKIP (bsw-nuc-2)
> Test kms_addfb_basic:
> Subgroup bad-pitch-1024:
> dmesg-warn -> PASS (bsw-nuc-2)
> Subgroup basic-y-tiled:
> incomplete -> PASS (bsw-nuc-2)
> Subgroup small-bo:
> incomplete -> PASS (bsw-nuc-2)
> Subgroup unused-handle:
> incomplete -> PASS (bsw-nuc-2)
> Test kms_flip:
> Subgroup basic-flip-vs-dpms:
> pass -> DMESG-WARN (ilk-hp8440p) UNSTABLE
FIFO underrun on ILK: https://bugs.freedesktop.org/show_bug.cgi?id=93787
> Subgroup basic-flip-vs-wf_vblank:
> pass -> FAIL (bsw-nuc-2)
Another know unrelated: https://bugs.freedesktop.org/show_bug.cgi?id=94294
> Test kms_pipe_crc_basic:
> Subgroup read-crc-pipe-a:
> incomplete -> SKIP (bsw-nuc-2)
> Subgroup read-crc-pipe-b:
> incomplete -> SKIP (bsw-nuc-2)
> Test pm_rpm:
> Subgroup basic-pci-d3-state:
> pass -> DMESG-WARN (byt-nuc)
Unclaimed access prior to suspending:
https://bugs.freedesktop.org/show_bug.cgi?id=94164
> Test prime_self_import:
> Subgroup basic-with_one_bo:
> incomplete -> PASS (bsw-nuc-2)
> Subgroup basic-with_two_bos:
> incomplete -> PASS (bsw-nuc-2)
>
> bdw-nuci7 total:202 pass:190 dwarn:0 dfail:0 fail:0 skip:12
> bdw-ultra total:202 pass:179 dwarn:0 dfail:0 fail:0 skip:23
> bsw-nuc-2 total:201 pass:161 dwarn:0 dfail:0 fail:1 skip:39
> byt-nuc total:201 pass:162 dwarn:1 dfail:0 fail:0 skip:38
> hsw-brixbox total:202 pass:178 dwarn:0 dfail:0 fail:0 skip:24
> ilk-hp8440p total:202 pass:133 dwarn:1 dfail:0 fail:0 skip:68
> ivb-t430s total:202 pass:174 dwarn:0 dfail:0 fail:0 skip:28
> skl-i7k-2 total:202 pass:177 dwarn:0 dfail:0 fail:0 skip:25
> snb-dellxps total:75 pass:59 dwarn:0 dfail:0 fail:1 skip:14
> snb-x220t total:202 pass:164 dwarn:0 dfail:0 fail:1 skip:37
>
> Results at /archive/results/CI_IGT_test/Patchwork_1867/
>
> dc5380b5263ebb0bf251bb09db542585702b528b drm-intel-nightly: 2016y-04m-11d-19h-43m-10s UTC integration manifest
> 09154b99a2f86c5ae5061f82dee7f1cc8953a847 drm/i915: Fixing eDP detection on certain platforms
Regards,
Tvrtko
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] drm/i915: Fixing eDP detection on certain platforms
@ 2016-04-07 11:42 Shubhangi Shrivastava
2016-04-07 12:13 ` Tvrtko Ursulin
0 siblings, 1 reply; 9+ messages in thread
From: Shubhangi Shrivastava @ 2016-04-07 11:42 UTC (permalink / raw)
To: intel-gfx; +Cc: Shubhangi Shrivastava
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.
Fixes: 30d9aa4265fe ("drm/i915: Read sink_count dpcd always")
Cc: Ander Conselvan De Oliveira <conselvan2@gmail.com>
Cc: Jani Nikula <jani.nikula@linux.intel.com>
Reported-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@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 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;
--
2.6.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] drm/i915: Fixing eDP detection on certain platforms
2016-04-07 11:42 [PATCH] drm/i915: Fixing eDP detection on certain platforms Shubhangi Shrivastava
@ 2016-04-07 12:13 ` Tvrtko Ursulin
0 siblings, 0 replies; 9+ messages in thread
From: Tvrtko Ursulin @ 2016-04-07 12:13 UTC (permalink / raw)
To: Shubhangi Shrivastava, intel-gfx
On 07/04/16 12:42, 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.
>
> Fixes: 30d9aa4265fe ("drm/i915: Read sink_count dpcd always")
> Cc: Ander Conselvan De Oliveira <conselvan2@gmail.com>
> Cc: Jani Nikula <jani.nikula@linux.intel.com>
> Reported-by: Tvrtko Ursulin <tvrtko.ursulin@linux.intel.com>
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
> Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
Tested-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
Thanks for the patch!
Regards,
Tvrtko
> ---
> 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;
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] drm/i915: Fixing eDP detection on certain platforms
@ 2016-04-07 10:33 Shubhangi Shrivastava
2016-04-07 11:12 ` Ander Conselvan De Oliveira
0 siblings, 1 reply; 9+ messages in thread
From: Shubhangi Shrivastava @ 2016-04-07 10:33 UTC (permalink / raw)
To: intel-gfx; +Cc: Shubhangi Shrivastava
Sink count was read for eDP as well as DP. But in some cases
the sink count for eDP is received as zero, as against the
expected non zero value. This is seen in:
commit 30d9aa4265fe4b2b28239934770b2c2d59858df3
Author: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
Date: Wed Mar 30 18:05:25 2016 +0530
drm/i915: Read sink_count dpcd always
This patch fixes the issue by removing the sink count check
for both DP and eDP and allows it to be checked only for DP.
Fixes: 30d9aa4265fe ("drm/i915: Read sink_count dpcd always")
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index da0c3d2..bd5287b 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 */
@@ -4345,7 +4345,8 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
/* If we're HPD-aware, SINK_COUNT changes dynamically */
if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 &&
- intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) {
+ intel_dp->downstream_ports[0] & DP_DS_PORT_HPD &&
+ !is_edp(intel_dp)) {
return intel_dp->sink_count ?
connector_status_connected : connector_status_disconnected;
--
2.6.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] drm/i915: Fixing eDP detection on certain platforms
2016-04-07 10:33 Shubhangi Shrivastava
@ 2016-04-07 11:12 ` Ander Conselvan De Oliveira
0 siblings, 0 replies; 9+ messages in thread
From: Ander Conselvan De Oliveira @ 2016-04-07 11:12 UTC (permalink / raw)
To: Shubhangi Shrivastava, intel-gfx, Tvrtko Ursulin
On Thu, 2016-04-07 at 16:03 +0530, Shubhangi Shrivastava wrote:
> Sink count was read for eDP as well as DP. But in some cases
> the sink count for eDP is received as zero, as against the
> expected non zero value. This is seen in:
>
> commit 30d9aa4265fe4b2b28239934770b2c2d59858df3
> Author: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
> Date: Wed Mar 30 18:05:25 2016 +0530
> drm/i915: Read sink_count dpcd always
>
> This patch fixes the issue by removing the sink count check
> for both DP and eDP and allows it to be checked only for DP.
I found that commit message a bit confusing. How about the following instead?
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.
> Fixes: 30d9aa4265fe ("drm/i915: Read sink_count dpcd always")
> Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
> Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
> ---
> drivers/gpu/drm/i915/intel_dp.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
> index da0c3d2..bd5287b 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 */
> @@ -4345,7 +4345,8 @@ intel_dp_detect_dpcd(struct intel_dp *intel_dp)
>
> /* If we're HPD-aware, SINK_COUNT changes dynamically */
> if (intel_dp->dpcd[DP_DPCD_REV] >= 0x11 &&
> - intel_dp->downstream_ports[0] & DP_DS_PORT_HPD) {
> + intel_dp->downstream_ports[0] & DP_DS_PORT_HPD &&
> + !is_edp(intel_dp)) {
Is there such an eDP panel that would have downstream facing ports? I don't
think this code could be reached otherwise. Anyway, it is probably better to be
paranoid when it comes to this.
Reviewed-by: Ander Conselvan de Oliveira <conselvan2@gmail.com>
Tvrtko, can you confirm this fixes the problem for you?
>
> return intel_dp->sink_count ?
> connector_status_connected : connector_status_disconnected;
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH] drm/i915: Fixing eDP detection on certain platforms
@ 2016-04-07 10:08 Shubhangi Shrivastava
0 siblings, 0 replies; 9+ messages in thread
From: Shubhangi Shrivastava @ 2016-04-07 10:08 UTC (permalink / raw)
To: intel-gfx; +Cc: Shubhangi Shrivastava
Sink count was read for eDP as well as DP. But in some cases
the sink count for eDP is received as zero, as against the
expected non zero value. This is seen in:
commit 30d9aa4265fe4b2b28239934770b2c2d59858df3
Author: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
Date: Wed Mar 30 18:05:25 2016 +0530
drm/i915: Read sink_count dpcd always
This patch fixes the issue by removing the sink count check
for both DP and eDP and allows it to be checked only for DP.
Fixes: 30d9aa4265fe ("drm/i915: Read sink_count dpcd always")
Signed-off-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>
Signed-off-by: Shubhangi Shrivastava <shubhangi.shrivastava@intel.com>
---
drivers/gpu/drm/i915/intel_dp.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index da0c3d2..8cf5db3 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 */
--
2.6.1
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 9+ messages in thread
end of thread, other threads:[~2016-04-13 9:13 UTC | newest]
Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-12 6:53 [PATCH] drm/i915: Fixing eDP detection on certain platforms Shubhangi Shrivastava
2016-04-12 7:09 ` Ander Conselvan De Oliveira
2016-04-12 8:16 ` ✗ Fi.CI.BAT: failure for drm/i915: Fixing eDP detection on certain platforms (rev4) Patchwork
2016-04-13 9:13 ` Tvrtko Ursulin
-- strict thread matches above, loose matches on Subject: below --
2016-04-07 11:42 [PATCH] drm/i915: Fixing eDP detection on certain platforms Shubhangi Shrivastava
2016-04-07 12:13 ` Tvrtko Ursulin
2016-04-07 10:33 Shubhangi Shrivastava
2016-04-07 11:12 ` Ander Conselvan De Oliveira
2016-04-07 10:08 Shubhangi Shrivastava
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox