* [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.