Skip to contentSkip to conversation

drm/i915: Disable DRRS when PSR is enabled

PATCH Superseded Radhakrishna Sripada 4 participants 7 messages Aug 31, 2017 – Sep 11, 2017

Subsystems (2)

v1 of 3 Superseded Latest is v3 →

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 drm/i915: Disable DRRS when PSR is enabled

Some platforms donot support PSR and DRRS simultaneously. Deferring to PSR when both PSR and DRRS are supported by the panel.

Cc Nicholas Stommel <[email protected]>
Cc Dhinakaran Pandiyan <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Clinton Taylor <[email protected]>
Cc Rodrigo Vivi <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/gpu/drm/i915/intel_dp.c +5 -5
index d3e5fdf0d2fa..dc7a6721e0dd 100644
@@ -5469,11 +5469,6 @@ static void intel_dp_set_drrs_state(struct drm_i915_private *dev_priv,
 		return;
 	}
 
-	/*
-	 * FIXME: This needs proper synchronization with psr state for some
-	 * platforms that cannot have PSR and DRRS enabled at the same time.
-	 */
-
 	dig_port = dp_to_dig_port(intel_dp);
 	encoder = &dig_port->base;
 	intel_crtc = to_intel_crtc(encoder->base.crtc);
@@ -5557,6 +5552,11 @@ void intel_edp_drrs_enable(struct intel_dp *intel_dp,
 		return;
 	}
 
+	if (dev_priv->psr.enabled != NULL) {
+		DRM_DEBUG_KMS("PSR active. Disabling DRRS.\n");
+		return;
+	}
+
 	mutex_lock(&dev_priv->drrs.mutex);
 	if (WARN_ON(dev_priv->drrs.dp)) {
 		DRM_ERROR("DRRS already enabled\n");
Signature · 6 lines
2.9.3

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
maintainer
#1 lore raw
Quoted 4 lines · Radhakrishna Sripada

Some platforms donot support PSR and DRRS simultaneously. Deferring to PSR when both PSR and DRRS are supported by the panel.

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101111

"Fixes: <commit>" is only used to -fixes cherry-picks. Not a case for this patch.

Quoted 27 lines
Cc Nicholas Stommel <[email protected]>
Cc Dhinakaran Pandiyan <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Clinton Taylor <[email protected]>
Cc Rodrigo Vivi <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
drivers/gpu/drm/i915/intel_dp.c +0 -5
index d3e5fdf0d2fa..dc7a6721e0dd 100644
@@ -5469,11 +5469,6 @@ static void intel_dp_set_drrs_state(struct drm_i915_private *dev_priv,
 		return;
 	}
 
-	/*
-	 * FIXME: This needs proper synchronization with psr state for some
-	 * platforms that cannot have PSR and DRRS enabled at the same time.
-	 */
-
 	dig_port = dp_to_dig_port(intel_dp);
 	encoder = &dig_port->base;
 	intel_crtc = to_intel_crtc(encoder->base.crtc);

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5555

Quoted 4 lines
drivers/gpu/drm/i915/intel_dp.c +1 -0
@@ -5557,6 +5552,11 @@ void intel_edp_drrs_enable(struct intel_dp *intel_dp,
 		return;
 	}
 
+	if (dev_priv->psr.enabled != NULL) {
	if (dev_priv->psr.enabled) {

?

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5562

Quoted 7 lines
drivers/gpu/drm/i915/intel_dp.c +4 -0
+		DRM_DEBUG_KMS("PSR active. Disabling DRRS.\n");
+		return;
+	}
+
 	mutex_lock(&dev_priv->drrs.mutex);
 	if (WARN_ON(dev_priv->drrs.dp)) {
 		DRM_ERROR("DRRS already enabled\n");

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#2 lore raw
Quoted 15 lines

-----Original Message-----
From: Vivi, Rodrigo
Sent: Wednesday, August 30, 2017 5:59 PM
To: Sripada, Radhakrishna <[email protected]>
Cc: [email protected]; Pandiyan, Dhinakaran <[email protected]>; Nikula, Jani <[email protected]>; Taylor, Clinton A <[email protected]>; [email protected]
Subject: Re: [PATCH] drm/i915: Disable DRRS when PSR is enabled

Quoted 3 lines · Radhakrishna Sripada

Some platforms donot support PSR and DRRS simultaneously. Deferring to PSR when both PSR and DRRS are supported by the panel.

Quoted 6 lines
Quoted 1 line

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101111

"Fixes: <commit>" is only used to -fixes cherry-picks. Not a case for this patch.

Got it. Will update in the next revision of the patch.

Quoted 32 lines

drivers/gpu/drm/i915/intel_dp.c static void intel_dp_set_drrs_state(struct

Quoted 17 lines
Cc Nicholas Stommel <[email protected]>
Cc Dhinakaran Pandiyan <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Clinton Taylor <[email protected]>
Cc Rodrigo Vivi <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
(quoted diff) +0 -0

b/drivers/gpu/drm/i915/intel_dp.c index d3e5fdf0d2fa..dc7a6721e0dd 100644

drivers/gpu/drm/i915/intel_dp.c +0 -0
@@ -5469,11 +5469,6 @@ static void intel_dp_set_drrs_state(struct

drm_i915_private *dev_priv,

drivers/gpu/drm/i915/intel_dp.c static void intel_dp_set_drrs_state(struct drm_i915_private *dev_priv,

Quoted 6 lines
drivers/gpu/drm/i915/intel_dp.c +0 -3
 		return;
 	}
 
-	/*
-	 * FIXME: This needs proper synchronization with psr state for some
-	 * platforms that cannot have PSR and DRRS enabled at the same

time.

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp

Quoted 6 lines
drivers/gpu/drm/i915/intel_dp.c +0 -2
-	 */
-
 	dig_port = dp_to_dig_port(intel_dp);
 	encoder = &dig_port->base;
 	intel_crtc = to_intel_crtc(encoder->base.crtc);
@@ -5557,6 +5552,11 @@ void intel_edp_drrs_enable(struct intel_dp

*intel_dp,

Quoted 7 lines

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5555

Quoted 4 lines
drivers/gpu/drm/i915/intel_dp.c +1 -0
 		return;
 	}
 
+	if (dev_priv->psr.enabled != NULL) {
	if (dev_priv->psr.enabled) {

?

This looks cleaner will use this in the follow up patch.

Quoted 8 lines

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5562

Quoted 8 lines
drivers/gpu/drm/i915/intel_dp.c +4 -0
+		DRM_DEBUG_KMS("PSR active. Disabling DRRS.\n");
+		return;
+	}
+
 	mutex_lock(&dev_priv->drrs.mutex);
 	if (WARN_ON(dev_priv->drrs.dp)) {
 		DRM_ERROR("DRRS already enabled\n");

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#3 lore raw
Quoted 15 lines · Radhakrishna
Quoted 15 lines

-----Original Message-----
From: Vivi, Rodrigo
Sent: Wednesday, August 30, 2017 5:59 PM
To: Sripada, Radhakrishna <[email protected]>
Cc: [email protected]; Pandiyan, Dhinakaran <[email protected]>; Nikula, Jani <[email protected]>; Taylor, Clinton A <[email protected]>; [email protected]
Subject: Re: [PATCH] drm/i915: Disable DRRS when PSR is enabled

Quoted 3 lines · Radhakrishna Sripada

Some platforms donot support PSR and DRRS simultaneously. Deferring to PSR when both PSR and DRRS are supported by the panel.

Quoted 7 lines
Quoted 6 lines
Quoted 1 line

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101111

"Fixes: <commit>" is only used to -fixes cherry-picks. Not a case for this patch.

Got it. Will update in the next revision of the patch.

Did you check igt coverage for this and make sure those platforms do blow up somewhere?

We currently don't yet run the full panel tests (psr, drrs) in CI, but we're slowly working on that problem too. Would be good to have the testsuite ready already.
-Daniel

Quoted 53 lines
Quoted 32 lines

drivers/gpu/drm/i915/intel_dp.c static void intel_dp_set_drrs_state(struct

Quoted 17 lines
Cc Nicholas Stommel <[email protected]>
Cc Dhinakaran Pandiyan <[email protected]>
Cc Jani Nikula <[email protected]>
Cc Clinton Taylor <[email protected]>
Cc Rodrigo Vivi <[email protected]>
---
 drivers/gpu/drm/i915/intel_dp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
(quoted diff) +0 -0

b/drivers/gpu/drm/i915/intel_dp.c index d3e5fdf0d2fa..dc7a6721e0dd 100644

drivers/gpu/drm/i915/intel_dp.c +0 -0
@@ -5469,11 +5469,6 @@ static void intel_dp_set_drrs_state(struct

drm_i915_private *dev_priv,

drivers/gpu/drm/i915/intel_dp.c static void intel_dp_set_drrs_state(struct drm_i915_private *dev_priv,

Quoted 6 lines
drivers/gpu/drm/i915/intel_dp.c +0 -3
 		return;
 	}
 
-	/*
-	 * FIXME: This needs proper synchronization with psr state for some
-	 * platforms that cannot have PSR and DRRS enabled at the same

time.

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp

Quoted 6 lines
drivers/gpu/drm/i915/intel_dp.c +0 -2
-	 */
-
 	dig_port = dp_to_dig_port(intel_dp);
 	encoder = &dig_port->base;
 	intel_crtc = to_intel_crtc(encoder->base.crtc);
@@ -5557,6 +5552,11 @@ void intel_edp_drrs_enable(struct intel_dp

*intel_dp,

Quoted 7 lines

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5555

Quoted 4 lines
drivers/gpu/drm/i915/intel_dp.c +1 -0
 		return;
 	}
 
+	if (dev_priv->psr.enabled != NULL) {
	if (dev_priv->psr.enabled) {

?

This looks cleaner will use this in the follow up patch.

Quoted 8 lines

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5562

Quoted 8 lines
drivers/gpu/drm/i915/intel_dp.c +4 -0
+		DRM_DEBUG_KMS("PSR active. Disabling DRRS.\n");
+		return;
+	}
+
 	mutex_lock(&dev_priv->drrs.mutex);
 	if (WARN_ON(dev_priv->drrs.dp)) {
 		DRM_ERROR("DRRS already enabled\n");

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Signature · 7 lines
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
#4 lore raw
Quoted 32 lines

-----Original Message-----
From: Daniel Vetter [mailto:[email protected]] On Behalf Of Daniel Vetter
Sent: Monday, September 4, 2017 1:14 AM
To: Sripada, Radhakrishna <[email protected]>
Cc: Vivi, Rodrigo <[email protected]>; Nikula, Jani <[email protected]>; [email protected]; Pandiyan, Dhinakaran <[email protected]>; [email protected]
Subject: Re: [Intel-gfx] [PATCH] drm/i915: Disable DRRS when PSR is enabled

Quoted 18 lines · Radhakrishna
Quoted 18 lines

-----Original Message-----
From: Vivi, Rodrigo
Sent: Wednesday, August 30, 2017 5:59 PM
To: Sripada, Radhakrishna <[email protected]>
Cc: [email protected]; Pandiyan, Dhinakaran <[email protected]>; Nikula, Jani <[email protected]>; Taylor, Clinton A <[email protected]>; [email protected]
Subject: Re: [PATCH] drm/i915: Disable DRRS when PSR is enabled

Quoted 4 lines · Radhakrishna Sripada

Some platforms donot support PSR and DRRS simultaneously. Deferring to PSR when both PSR and DRRS are supported by the panel.

Quoted 8 lines
Quoted 5 lines
Quoted 4 lines

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=101111

"Fixes: <commit>" is only used to -fixes cherry-picks. Not a case for this patch.

Got it. Will update in the next revision of the patch.

Did you check igt coverage for this and make sure those platforms do blow up somewhere?

Currently there is no igt test coverage to check if both psr and drrs are enabled at the same time. I will add it as a subtest in tests/kms_psr_sink_crc if you prefer. -Radhakrishna

Quoted 61 lines

We currently don't yet run the full panel tests (psr, drrs) in CI, but we're slowly working on that problem too. Would be good to have the testsuite ready already.
-Daniel

Quoted 42 lines
Quoted 33 lines

drivers/gpu/drm/i915/intel_dp.c static void intel_dp_set_drrs_state(struct

Quoted 18 lines

Cc: Nicholas Stommel <[email protected]>
Cc: Dhinakaran Pandiyan <[email protected]>
Cc: Jani Nikula <[email protected]>
Cc: Clinton Taylor <[email protected]>
Cc: Rodrigo Vivi <[email protected]>
Signed-off-by: Radhakrishna Sripada <[email protected]>

---
 drivers/gpu/drm/i915/intel_dp.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)
(quoted diff) +0 -0

b/drivers/gpu/drm/i915/intel_dp.c index d3e5fdf0d2fa..dc7a6721e0dd 100644

drivers/gpu/drm/i915/intel_dp.c +0 -0
@@ -5469,11 +5469,6 @@ static void intel_dp_set_drrs_state(struct

drm_i915_private *dev_priv,

drivers/gpu/drm/i915/intel_dp.c static void intel_dp_set_drrs_state(struct drm_i915_private *dev_priv,

Quoted 6 lines
drivers/gpu/drm/i915/intel_dp.c +0 -3
 		return;
 	}
 
-	/*
-	 * FIXME: This needs proper synchronization with psr state for some
-	 * platforms that cannot have PSR and DRRS enabled at the same

time.

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp

Quoted 6 lines
drivers/gpu/drm/i915/intel_dp.c +0 -2
-	 */
-
 	dig_port = dp_to_dig_port(intel_dp);
 	encoder = &dig_port->base;
 	intel_crtc = to_intel_crtc(encoder->base.crtc);
@@ -5557,6 +5552,11 @@ void intel_edp_drrs_enable(struct intel_dp

*intel_dp,

Quoted 7 lines

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5555

Quoted 4 lines
drivers/gpu/drm/i915/intel_dp.c +1 -0
 		return;
 	}
 
+	if (dev_priv->psr.enabled != NULL) {
	if (dev_priv->psr.enabled) {

?

This looks cleaner will use this in the follow up patch.

Quoted 1 line
Quoted 12 lines
Quoted 7 lines

drivers/gpu/drm/i915/intel_dp.c void intel_edp_drrs_enable(struct intel_dp *intel_dp, · line 5562

Quoted 7 lines
drivers/gpu/drm/i915/intel_dp.c +4 -0
+		DRM_DEBUG_KMS("PSR active. Disabling DRRS.\n");
+		return;
+	}
+
 	mutex_lock(&dev_priv->drrs.mutex);
 	if (WARN_ON(dev_priv->drrs.dp)) {
 		DRM_ERROR("DRRS already enabled\n");

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

Quoted 4 lines

--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch

_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#5 lore raw

✓ Fi.CI.BAT: success for drm/i915: Disable DRRS when PSR is enabled

In reply to Radhakrishna Sripada
== Series Details ==

== Series Details ==

Series: drm/i915: Disable DRRS when PSR is enabled
URL : https://patchwork.freedesktop.org/series/29577/
State : success

== Summary ==

Series 29577v1 drm/i915: Disable DRRS when PSR is enabled
https://patchwork.freedesktop.org/api/1.0/series/29577/revisions/1/mbox/

Test kms_cursor_legacy:

        Subgroup basic-busy-flip-before-cursor-legacy:
                fail       -> PASS       (fi-snb-2600) fdo#100215
        Subgroup basic-flip-after-cursor-varying-size:
                pass       -> FAIL       (fi-hsw-4770) fdo#102402 +1

fdo#100215 https://bugs.freedesktop.org/show_bug.cgi?id=100215
fdo#102402 https://bugs.freedesktop.org/show_bug.cgi?id=102402

fi-bdw-5557u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:457s
fi-bdw-gvtdvm    total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:443s
fi-blb-e6850     total:288  pass:224  dwarn:1   dfail:0   fail:0   skip:63  time:360s
fi-bsw-n3050     total:288  pass:243  dwarn:0   dfail:0   fail:0   skip:45  time:561s
fi-bwr-2160      total:288  pass:184  dwarn:0   dfail:0   fail:0   skip:104 time:255s
fi-bxt-j4205     total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:518s
fi-byt-j1900     total:288  pass:254  dwarn:1   dfail:0   fail:0   skip:33  time:515s
fi-elk-e7500     total:288  pass:230  dwarn:0   dfail:0   fail:0   skip:58  time:429s
fi-glk-2a        total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:615s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:2   skip:25  time:464s
fi-hsw-4770r     total:288  pass:263  dwarn:0   dfail:0   fail:0   skip:25  time:425s
fi-ilk-650       total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  time:424s
fi-ivb-3520m     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:509s
fi-ivb-3770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:476s
fi-kbl-7500u     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:475s
fi-kbl-7560u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:598s
fi-kbl-r         total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:590s
fi-pnv-d510      total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:528s
fi-skl-6260u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:462s
fi-skl-6700k     total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:533s
fi-skl-6770hq    total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:491s
fi-skl-gvtdvm    total:288  pass:266  dwarn:0   dfail:0   fail:0   skip:22  time:446s
fi-skl-x1585l    total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:488s
fi-snb-2520m     total:288  pass:251  dwarn:0   dfail:0   fail:0   skip:37  time:551s
fi-snb-2600      total:288  pass:250  dwarn:0   dfail:0   fail:0   skip:38  time:404s

fi-byt-n2820 failed to connect after reboot

c399d43adc55a49d028d24ce7cdacc1823a4f159 drm-tip: 2017y-08m-31d-07h-25m-28s UTC integration manifest 948d3af7dff5 drm/i915: Disable DRRS when PSR is enabled

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5546/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

#6 lore raw

✓ Fi.CI.IGT: success for drm/i915: Disable DRRS when PSR is enabled

In reply to Radhakrishna Sripada
== Series Details ==

== Series Details ==

Series: drm/i915: Disable DRRS when PSR is enabled
URL : https://patchwork.freedesktop.org/series/29577/
State : success

== Summary ==

Test kms_setmode:

        Subgroup basic:
                pass       -> FAIL       (shard-hsw) fdo#99912
Test perf:
        Subgroup blocking:
                pass       -> FAIL       (shard-hsw) fdo#102252

fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252

shard-hsw total:2175 pass:1185 dwarn:0 dfail:0 fail:19 skip:971 time:9455s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_5546/shards.html
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx