All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/2] drm/i915/psr2: Fix max resolution supported.
@ 2018-02-14  0:29 Rodrigo Vivi
  2018-02-14  0:29 ` [PATCH 2/2] drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met Rodrigo Vivi
                   ` (5 more replies)
  0 siblings, 6 replies; 9+ messages in thread
From: Rodrigo Vivi @ 2018-02-14  0:29 UTC (permalink / raw)
  To: intel-gfx; +Cc: Dhinakaran Pandiyan, Rodrigo Vivi

According to spec:
"PSR2 is supported for pipe active sizes up to
3640 pixels wide and 2304 lines tall."

BSpec: 7713

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/intel_psr.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index 7cd4b82c6a75..3d341a44e720 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -413,9 +413,9 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
 		return;
 	}
 
-	/* PSR2 is restricted to work with panel resolutions upto 3200x2000 */
-	if (adjusted_mode->crtc_hdisplay > 3200 ||
-	    adjusted_mode->crtc_vdisplay > 2000) {
+	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
+	if (adjusted_mode->crtc_hdisplay > 3640 ||
+	    adjusted_mode->crtc_vdisplay > 2304) {
 		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");
 		return;
 	}
-- 
2.13.6

_______________________________________________
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

* [PATCH 2/2] drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met.
  2018-02-14  0:29 [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Rodrigo Vivi
@ 2018-02-14  0:29 ` Rodrigo Vivi
  2018-02-14 16:03   ` [PATCH] " Rodrigo Vivi
  2018-02-14  0:33 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/psr2: Fix max resolution supported Patchwork
                   ` (4 subsequent siblings)
  5 siblings, 1 reply; 9+ messages in thread
From: Rodrigo Vivi @ 2018-02-14  0:29 UTC (permalink / raw)
  To: intel-gfx; +Cc: Dhinakaran Pandiyan, Rodrigo Vivi

We can still use PSR1 when PSR2 conditions are not met.

So, let's split the check in a way that we make sure has_psr
gets set independently of PSR2 criteria.

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/intel_psr.c | 53 ++++++++++++++++++++--------------------
 1 file changed, 26 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index 3d341a44e720..626d62d7d567 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -341,6 +341,31 @@ static void hsw_psr_activate(struct intel_dp *intel_dp)
 		hsw_activate_psr1(intel_dp);
 }
 
+static void intel_psr2_conditions(struct intel_dp *intel_dp,
+				  struct intel_crtc_state *crtc_state)
+{
+	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
+	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
+	const struct drm_display_mode *adjusted_mode =
+		&crtc_state->base.adjusted_mode;
+
+	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
+	if (adjusted_mode->crtc_hdisplay > 3640 ||
+	    adjusted_mode->crtc_vdisplay > 2304) {
+		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");
+		return;
+	}
+
+	/*
+	 * FIXME:enable psr2 only for y-cordinate psr2 panels
+	 * After gtc implementation , remove this restriction.
+	 */
+	if (!dev_priv->psr.y_cord_support) {
+		DRM_DEBUG_KMS("PSR2 disabled, panel does not support Y coordinate\n");
+		return;
+	}
+}
+
 void intel_psr_compute_config(struct intel_dp *intel_dp,
 			      struct intel_crtc_state *crtc_state)
 {
@@ -403,34 +428,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
 		return;
 	}
 
-	/*
-	 * FIXME psr2_support is messed up. It's both computed
-	 * dynamically during PSR enable, and extracted from sink
-	 * caps during eDP detection.
-	 */
-	if (!dev_priv->psr.psr2_support) {
-		crtc_state->has_psr = true;
-		return;
-	}
-
-	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
-	if (adjusted_mode->crtc_hdisplay > 3640 ||
-	    adjusted_mode->crtc_vdisplay > 2304) {
-		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");
-		return;
-	}
-
-	/*
-	 * FIXME:enable psr2 only for y-cordinate psr2 panels
-	 * After gtc implementation , remove this restriction.
-	 */
-	if (!dev_priv->psr.y_cord_support) {
-		DRM_DEBUG_KMS("PSR2 disabled, panel does not support Y coordinate\n");
-		return;
-	}
-
 	crtc_state->has_psr = true;
-	crtc_state->has_psr2 = true;
+	crtc_state->has_psr2 = intel_psr2_conditions(intel_dp, crtc_state);
 }
 
 static void intel_psr_activate(struct intel_dp *intel_dp)
-- 
2.13.6

_______________________________________________
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

* ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/psr2: Fix max resolution supported.
  2018-02-14  0:29 [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Rodrigo Vivi
  2018-02-14  0:29 ` [PATCH 2/2] drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met Rodrigo Vivi
@ 2018-02-14  0:33 ` Patchwork
  2018-02-14 17:03 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2) Patchwork
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-02-14  0:33 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/psr2: Fix max resolution supported.
URL   : https://patchwork.freedesktop.org/series/38200/
State : failure

== Summary ==

  CHK     include/config/kernel.release
  CHK     include/generated/uapi/linux/version.h
  CHK     include/generated/utsrelease.h
  CHK     include/generated/bounds.h
  CHK     include/generated/timeconst.h
  CHK     include/generated/asm-offsets.h
  CALL    scripts/checksyscalls.sh
  DESCEND  objtool
  CHK     scripts/mod/devicetable-offsets.h
  CHK     include/generated/compile.h
  CHK     kernel/config_data.h
  CC [M]  drivers/gpu/drm/i915/intel_psr.o
drivers/gpu/drm/i915/intel_psr.c: In function ‘intel_psr_compute_config’:
drivers/gpu/drm/i915/intel_psr.c:432:23: error: void value not ignored as it ought to be
  crtc_state->has_psr2 = intel_psr2_conditions(intel_dp, crtc_state);
                       ^
scripts/Makefile.build:316: recipe for target 'drivers/gpu/drm/i915/intel_psr.o' failed
make[4]: *** [drivers/gpu/drm/i915/intel_psr.o] Error 1
scripts/Makefile.build:575: recipe for target 'drivers/gpu/drm/i915' failed
make[3]: *** [drivers/gpu/drm/i915] Error 2
scripts/Makefile.build:575: recipe for target 'drivers/gpu/drm' failed
make[2]: *** [drivers/gpu/drm] Error 2
scripts/Makefile.build:575: recipe for target 'drivers/gpu' failed
make[1]: *** [drivers/gpu] Error 2
Makefile:1048: recipe for target 'drivers' failed
make: *** [drivers] Error 2

_______________________________________________
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/psr: Don't avoid PSR when PSR2 conditions are not met.
  2018-02-14  0:29 ` [PATCH 2/2] drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met Rodrigo Vivi
@ 2018-02-14 16:03   ` Rodrigo Vivi
  2018-02-23  1:25     ` [PATCH] drm/i915/psr: Don't avoid PSR when PSR2 Pandiyan, Dhinakaran
  0 siblings, 1 reply; 9+ messages in thread
From: Rodrigo Vivi @ 2018-02-14 16:03 UTC (permalink / raw)
  To: intel-gfx; +Cc: Dhinakaran Pandiyan, Rodrigo Vivi

We can still use PSR1 when PSR2 conditions are not met.

So, let's split the check in a way that we make sure has_psr
gets set independently of PSR2 criteria.

v2: Duh! Handle proper return to avoid breaking PSR2.

Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
---
 drivers/gpu/drm/i915/intel_psr.c | 55 ++++++++++++++++++++--------------------
 1 file changed, 28 insertions(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
index 200c085ba644..56e7050f9042 100644
--- a/drivers/gpu/drm/i915/intel_psr.c
+++ b/drivers/gpu/drm/i915/intel_psr.c
@@ -341,6 +341,33 @@ static void hsw_psr_activate(struct intel_dp *intel_dp)
 		hsw_activate_psr1(intel_dp);
 }
 
+static bool intel_psr2_conditions(struct intel_dp *intel_dp,
+				  struct intel_crtc_state *crtc_state)
+{
+	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
+	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
+	const struct drm_display_mode *adjusted_mode =
+		&crtc_state->base.adjusted_mode;
+
+	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
+	if (adjusted_mode->crtc_hdisplay > 3640 ||
+	    adjusted_mode->crtc_vdisplay > 2304) {
+		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");
+		return false;
+	}
+
+	/*
+	 * FIXME:enable psr2 only for y-cordinate psr2 panels
+	 * After gtc implementation , remove this restriction.
+	 */
+	if (!dev_priv->psr.y_cord_support) {
+		DRM_DEBUG_KMS("PSR2 disabled, panel does not support Y coordinate\n");
+		return false;
+	}
+
+	return true;
+}
+
 void intel_psr_compute_config(struct intel_dp *intel_dp,
 			      struct intel_crtc_state *crtc_state)
 {
@@ -403,34 +430,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
 		return;
 	}
 
-	/*
-	 * FIXME psr2_support is messed up. It's both computed
-	 * dynamically during PSR enable, and extracted from sink
-	 * caps during eDP detection.
-	 */
-	if (!dev_priv->psr.psr2_support) {
-		crtc_state->has_psr = true;
-		return;
-	}
-
-	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
-	if (adjusted_mode->crtc_hdisplay > 3640 ||
-	    adjusted_mode->crtc_vdisplay > 2304) {
-		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");
-		return;
-	}
-
-	/*
-	 * FIXME:enable psr2 only for y-cordinate psr2 panels
-	 * After gtc implementation , remove this restriction.
-	 */
-	if (!dev_priv->psr.y_cord_support) {
-		DRM_DEBUG_KMS("PSR2 disabled, panel does not support Y coordinate\n");
-		return;
-	}
-
 	crtc_state->has_psr = true;
-	crtc_state->has_psr2 = true;
+	crtc_state->has_psr2 = intel_psr2_conditions(intel_dp, crtc_state);
 }
 
 static void intel_psr_activate(struct intel_dp *intel_dp)
-- 
2.13.6

_______________________________________________
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

* ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2)
  2018-02-14  0:29 [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Rodrigo Vivi
  2018-02-14  0:29 ` [PATCH 2/2] drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met Rodrigo Vivi
  2018-02-14  0:33 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/psr2: Fix max resolution supported Patchwork
@ 2018-02-14 17:03 ` Patchwork
  2018-02-14 17:18 ` ✓ Fi.CI.BAT: success " Patchwork
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-02-14 17:03 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2)
URL   : https://patchwork.freedesktop.org/series/38200/
State : warning

== Summary ==

$ dim checkpatch origin/drm-tip
76b4f49764d8 drm/i915/psr2: Fix max resolution supported.
4a7e2de20339 drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met.
-:45: WARNING: line over 80 characters
#45: FILE: drivers/gpu/drm/i915/intel_psr.c:364:
+		DRM_DEBUG_KMS("PSR2 disabled, panel does not support Y coordinate\n");

total: 0 errors, 1 warnings, 0 checks, 68 lines checked

_______________________________________________
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: success for series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2)
  2018-02-14  0:29 [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Rodrigo Vivi
                   ` (2 preceding siblings ...)
  2018-02-14 17:03 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2) Patchwork
@ 2018-02-14 17:18 ` Patchwork
  2018-02-14 23:45 ` ✓ Fi.CI.IGT: " Patchwork
  2018-02-23  0:53 ` [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Pandiyan, Dhinakaran
  5 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-02-14 17:18 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2)
URL   : https://patchwork.freedesktop.org/series/38200/
State : success

== Summary ==

Series 38200v2 series starting with [1/2] drm/i915/psr2: Fix max resolution supported.
https://patchwork.freedesktop.org/api/1.0/series/38200/revisions/2/mbox/

fi-bdw-5557u     total:288  pass:267  dwarn:0   dfail:0   fail:0   skip:21  time:419s
fi-bdw-gvtdvm    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:424s
fi-blb-e6850     total:288  pass:223  dwarn:1   dfail:0   fail:0   skip:64  time:375s
fi-bsw-n3050     total:288  pass:242  dwarn:0   dfail:0   fail:0   skip:46  time:491s
fi-bwr-2160      total:288  pass:183  dwarn:0   dfail:0   fail:0   skip:105 time:287s
fi-bxt-dsi       total:288  pass:258  dwarn:0   dfail:0   fail:0   skip:30  time:482s
fi-bxt-j4205     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:484s
fi-byt-j1900     total:288  pass:253  dwarn:0   dfail:0   fail:0   skip:35  time:468s
fi-byt-n2820     total:288  pass:249  dwarn:0   dfail:0   fail:0   skip:39  time:459s
fi-cfl-s2        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:573s
fi-cnl-y3        total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:572s
fi-elk-e7500     total:288  pass:229  dwarn:0   dfail:0   fail:0   skip:59  time:411s
fi-gdg-551       total:288  pass:179  dwarn:0   dfail:0   fail:1   skip:108 time:283s
fi-glk-1         total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:518s
fi-hsw-4770      total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:391s
fi-ilk-650       total:288  pass:228  dwarn:0   dfail:0   fail:0   skip:60  time:410s
fi-ivb-3520m     total:288  pass:259  dwarn:0   dfail:0   fail:0   skip:29  time:459s
fi-ivb-3770      total:288  pass:255  dwarn:0   dfail:0   fail:0   skip:33  time:419s
fi-kbl-7500u     total:288  pass:263  dwarn:1   dfail:0   fail:0   skip:24  time:458s
fi-kbl-7560u     total:288  pass:269  dwarn:0   dfail:0   fail:0   skip:19  time:498s
fi-kbl-r         total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:502s
fi-pnv-d510      total:288  pass:222  dwarn:1   dfail:0   fail:0   skip:65  time:600s
fi-skl-6260u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:424s
fi-skl-6600u     total:288  pass:261  dwarn:0   dfail:0   fail:0   skip:27  time:509s
fi-skl-6700hq    total:288  pass:262  dwarn:0   dfail:0   fail:0   skip:26  time:529s
fi-skl-6700k2    total:288  pass:264  dwarn:0   dfail:0   fail:0   skip:24  time:484s
fi-skl-6770hq    total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:481s
fi-skl-guc       total:288  pass:260  dwarn:0   dfail:0   fail:0   skip:28  time:414s
fi-skl-gvtdvm    total:288  pass:265  dwarn:0   dfail:0   fail:0   skip:23  time:429s
fi-snb-2520m     total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:516s
fi-snb-2600      total:288  pass:248  dwarn:0   dfail:0   fail:0   skip:40  time:395s
Blacklisted hosts:
fi-glk-dsi       total:117  pass:104  dwarn:0   dfail:0   fail:0   skip:12 
fi-kbl-7567u     total:288  pass:268  dwarn:0   dfail:0   fail:0   skip:20  time:460s

5ad7866768dcc5d993f1bba687a80fced1070635 drm-tip: 2018y-02m-14d-15h-14m-50s UTC integration manifest
4a7e2de20339 drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met.
76b4f49764d8 drm/i915/psr2: Fix max resolution supported.

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8024/issues.html
_______________________________________________
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.IGT: success for series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2)
  2018-02-14  0:29 [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Rodrigo Vivi
                   ` (3 preceding siblings ...)
  2018-02-14 17:18 ` ✓ Fi.CI.BAT: success " Patchwork
@ 2018-02-14 23:45 ` Patchwork
  2018-02-23  0:53 ` [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Pandiyan, Dhinakaran
  5 siblings, 0 replies; 9+ messages in thread
From: Patchwork @ 2018-02-14 23:45 UTC (permalink / raw)
  To: Rodrigo Vivi; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2)
URL   : https://patchwork.freedesktop.org/series/38200/
State : success

== Summary ==

Test gem_softpin:
        Subgroup noreloc-s3:
                pass       -> SKIP       (shard-snb) fdo#103375
                incomplete -> PASS       (shard-hsw) fdo#103540
Test kms_frontbuffer_tracking:
        Subgroup fbc-rgb101010-draw-mmap-wc:
                pass       -> SKIP       (shard-snb) fdo#103167
Test perf:
        Subgroup polling:
                pass       -> FAIL       (shard-hsw) fdo#102252
        Subgroup oa-exponents:
                fail       -> PASS       (shard-apl) fdo#102254
Test kms_setmode:
        Subgroup basic:
                fail       -> PASS       (shard-hsw) fdo#99912
Test kms_vblank:
        Subgroup crtc-id:
                skip       -> PASS       (shard-snb)
        Subgroup pipe-a-ts-continuation-modeset:
                skip       -> PASS       (shard-snb)

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

shard-apl        total:3346 pass:1738 dwarn:1   dfail:0   fail:20  skip:1586 time:14080s
shard-hsw        total:3427 pass:1758 dwarn:1   dfail:0   fail:11  skip:1656 time:14677s
shard-snb        total:3427 pass:1347 dwarn:1   dfail:0   fail:10  skip:2069 time:7539s
Blacklisted hosts:
shard-kbl        total:3427 pass:1906 dwarn:1   dfail:0   fail:21  skip:1499 time:11114s

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_8024/shards.html
_______________________________________________
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: [PATCH 1/2] drm/i915/psr2: Fix max resolution supported.
  2018-02-14  0:29 [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Rodrigo Vivi
                   ` (4 preceding siblings ...)
  2018-02-14 23:45 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-02-23  0:53 ` Pandiyan, Dhinakaran
  5 siblings, 0 replies; 9+ messages in thread
From: Pandiyan, Dhinakaran @ 2018-02-23  0:53 UTC (permalink / raw)
  To: Vivi, Rodrigo; +Cc: intel-gfx

On Tue, 2018-02-13 at 16:29 -0800, Rodrigo Vivi wrote:
> According to spec:
> "PSR2 is supported for pipe active sizes up to
> 3640 pixels wide and 2304 lines tall."
> 
> BSpec: 7713
> 
> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
> index 7cd4b82c6a75..3d341a44e720 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -413,9 +413,9 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
>  		return;
>  	}
>  
> -	/* PSR2 is restricted to work with panel resolutions upto 3200x2000 */
> -	if (adjusted_mode->crtc_hdisplay > 3200 ||
> -	    adjusted_mode->crtc_vdisplay > 2000) {
> +	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
> +	if (adjusted_mode->crtc_hdisplay > 3640 ||
> +	    adjusted_mode->crtc_vdisplay > 2304) {
>  		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");

How about changing this to 
DRM_DEBUG_KMS("PSR2 cannot be enabled, resolution > 3640x2304\n");


1) We aren't disabling PSR if it wasn't enabled in the first place.
2) Max resolution is platform specific, might be worth to debug log.

Either way,
Reviewed-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>


>  		return;
>  	}
_______________________________________________
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: [PATCH] drm/i915/psr: Don't avoid PSR when PSR2
  2018-02-14 16:03   ` [PATCH] " Rodrigo Vivi
@ 2018-02-23  1:25     ` Pandiyan, Dhinakaran
  0 siblings, 0 replies; 9+ messages in thread
From: Pandiyan, Dhinakaran @ 2018-02-23  1:25 UTC (permalink / raw)
  To: Vivi, Rodrigo; +Cc: intel-gfx

On Wed, 2018-02-14 at 08:03 -0800, Rodrigo Vivi wrote:
> We can still use PSR1 when PSR2 conditions are not met.
> 
> So, let's split the check in a way that we make sure has_psr
> gets set independently of PSR2 criteria.
> 
> v2: Duh! Handle proper return to avoid breaking PSR2.
> 
> Cc: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_psr.c | 55 ++++++++++++++++++++--------------------
>  1 file changed, 28 insertions(+), 27 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_psr.c b/drivers/gpu/drm/i915/intel_psr.c
> index 200c085ba644..56e7050f9042 100644
> --- a/drivers/gpu/drm/i915/intel_psr.c
> +++ b/drivers/gpu/drm/i915/intel_psr.c
> @@ -341,6 +341,33 @@ static void hsw_psr_activate(struct intel_dp *intel_dp)
>  		hsw_activate_psr1(intel_dp);
>  }
>  
> +static bool intel_psr2_conditions(struct intel_dp *intel_dp,
> +				  struct intel_crtc_state *crtc_state)

nit: static bool psr2_config_check()/psr2_config_valid()
> +{
> +	struct intel_digital_port *dig_port = dp_to_dig_port(intel_dp);
> +	struct drm_i915_private *dev_priv = to_i915(dig_port->base.base.dev);
> +	const struct drm_display_mode *adjusted_mode =
> +		&crtc_state->base.adjusted_mode;
> +
> +	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
> +	if (adjusted_mode->crtc_hdisplay > 3640 ||
> +	    adjusted_mode->crtc_vdisplay > 2304) {
> +		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");
> +		return false;
> +	}
> +
> +	/*
> +	 * FIXME:enable psr2 only for y-cordinate psr2 panels
> +	 * After gtc implementation , remove this restriction.
> +	 */
> +	if (!dev_priv->psr.y_cord_support) {
> +		DRM_DEBUG_KMS("PSR2 disabled, panel does not support Y coordinate\n");
> +		return false;
> +	}
> +
> +	return true;
> +}
> +
>  void intel_psr_compute_config(struct intel_dp *intel_dp,
>  			      struct intel_crtc_state *crtc_state)
>  {
> @@ -403,34 +430,8 @@ void intel_psr_compute_config(struct intel_dp *intel_dp,
>  		return;
>  	}
>  
> -	/*
> -	 * FIXME psr2_support is messed up. It's both computed
> -	 * dynamically during PSR enable, and extracted from sink
> -	 * caps during eDP detection.
> -	 */

1) edp_init_dpcd sets dev_priv->psr.psr2_support if sink supports psr2
2) compute_config sets crtc_state.has_psr2 if configuration can support
psr2
3) psr_enable copies crtc_state.has_psr2 to dev_priv->psr.psr2_support.
4) psr_activate, enable_source, enable_sink etc check
dev_priv->psr.psr2_support.

In summary, dev_priv->psr.psr2_support means different things at
different points of time. This is still messed up IMHO, we should retain
the comment at the least.


> -	if (!dev_priv->psr.psr2_support) {
> -		crtc_state->has_psr = true;
> -		return;
> -	}
psr.psr2_support is set if sink supports psr2, what is the reason to
remove this?

> -
> -	/* PSR2 is restricted to work with panel resolutions up to 3640x2304 */
> -	if (adjusted_mode->crtc_hdisplay > 3640 ||
> -	    adjusted_mode->crtc_vdisplay > 2304) {
> -		DRM_DEBUG_KMS("PSR2 disabled, panel resolution too big\n");
> -		return;
> -	}
> -
> -	/*
> -	 * FIXME:enable psr2 only for y-cordinate psr2 panels
> -	 * After gtc implementation , remove this restriction.
> -	 */
> -	if (!dev_priv->psr.y_cord_support) {
> -		DRM_DEBUG_KMS("PSR2 disabled, panel does not support Y coordinate\n");
> -		return;
> -	}
> -
>  	crtc_state->has_psr = true;
> -	crtc_state->has_psr2 = true;
> +	crtc_state->has_psr2 = intel_psr2_conditions(intel_dp, crtc_state);

We should debug log whether psr1 or psr2 is being enabled, especially
now that psr1 can be enabled on a psr2 panel.


>  }
>  
>  static void intel_psr_activate(struct intel_dp *intel_dp)
_______________________________________________
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

end of thread, other threads:[~2018-02-23  1:25 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-02-14  0:29 [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Rodrigo Vivi
2018-02-14  0:29 ` [PATCH 2/2] drm/i915/psr: Don't avoid PSR when PSR2 conditions are not met Rodrigo Vivi
2018-02-14 16:03   ` [PATCH] " Rodrigo Vivi
2018-02-23  1:25     ` [PATCH] drm/i915/psr: Don't avoid PSR when PSR2 Pandiyan, Dhinakaran
2018-02-14  0:33 ` ✗ Fi.CI.BAT: failure for series starting with [1/2] drm/i915/psr2: Fix max resolution supported Patchwork
2018-02-14 17:03 ` ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/2] drm/i915/psr2: Fix max resolution supported. (rev2) Patchwork
2018-02-14 17:18 ` ✓ Fi.CI.BAT: success " Patchwork
2018-02-14 23:45 ` ✓ Fi.CI.IGT: " Patchwork
2018-02-23  0:53 ` [PATCH 1/2] drm/i915/psr2: Fix max resolution supported Pandiyan, Dhinakaran

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.