drm/i915: Avoid PPS HW/SW state mismatch due to rounding
Subsystems (2)
PATCH 1/1 drm/i915: Avoid PPS HW/SW state mismatch due to rounding
We store a SW state of the t11_t12 timing in 100usec units but have to program it in 100msec as required by HW. The rounding used during programming means there will be a mismatch between the SW and HW states of this value triggering a "PPS state mismatch" error. Avoid this by storing the already rounded-up value in the SW state.
Note that we still calculate panel_power_cycle_delay with the finer 100usec granularity to avoid any needless waits using that version of the delay.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103903
--- drivers/gpu/drm/i915/intel_dp.c | 6 ++++++ 1 file changed, 6 insertions(+)
drivers/gpu/drm/i915/intel_dp.c +6 -0
@@ -5355,6 +5355,12 @@ intel_dp_init_panel_power_sequencer(struct intel_dp *intel_dp)*/ final->t8 =1 ; final->t9 =1 ; + +/* +* HW has only a 100msec granularity for t11_t12 so round it up +* accordingly. +*/ + final->t11_t12 =roundup (final->t11_t12,100 *10 ); } static void
Signature · 6 lines
2.13.2 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 22 lines · Imre Deak
We store a SW state of the
t11_t12timing in 100usec units but have to program it in 100msec as required by HW. The rounding used during programming means there will be a mismatch between the SW and HW states of this value triggering a "PPS state mismatch" error. Avoid this by storing the already rounded-up value in the SW state.Note that we still calculate
panel_power_cycle_delaywith the finer 100usec granularity to avoid any needless waits using that version of the delay.Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103903
Cc joks <[email protected]>Signed-off-by Imre Deak <[email protected]>--- drivers/gpu/drm/i915/intel_dp.c | 6 ++++++ 1 file changed, 6 insertions(+)drivers/gpu/drm/i915/intel_dp.c +0
-0
drivers/gpu/drm/i915/intel_dp.c intel_dp_init_panel_power_sequencer(struct intel_dp *intel_dp) · line 5363
Quoted 9 lines
drivers/gpu/drm/i915/intel_dp.c +6
-0@@ -5355,6 +5355,12 @@ intel_dp_init_panel_power_sequencer(struct intel_dp *intel_dp)*/ final->t8 =1 ; final->t9 =1 ; + +/* +* HW has only a 100msec granularity for t11_t12 so round it up +* accordingly. +*/ + final->t11_t12 =roundup (final->t11_t12,100 *10 );
As a micro-optimization I guess we might want to move the division here as well. But maybe that would cause more confusion since all the other timings are in 100usec units. Dunno.
Quoted 10 lines
drivers/gpu/drm/i915/intel_dp.c +0
-0} static voidSignature · 6 lines
2.13.2 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Signature · 6 lines
Ville Syrjälä Intel OTC _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Quoted 35 lines · Ville Syrjälä
Quoted 22 lines · Imre Deak
We store a SW state of the
t11_t12timing in 100usec units but have to program it in 100msec as required by HW. The rounding used during programming means there will be a mismatch between the SW and HW states of this value triggering a "PPS state mismatch" error. Avoid this by storing the already rounded-up value in the SW state.Note that we still calculate
panel_power_cycle_delaywith the finer 100usec granularity to avoid any needless waits using that version of the delay.Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103903
Cc joks <[email protected]>Signed-off-by Imre Deak <[email protected]>--- drivers/gpu/drm/i915/intel_dp.c | 6 ++++++ 1 file changed, 6 insertions(+)drivers/gpu/drm/i915/intel_dp.c +0
-0drivers/gpu/drm/i915/intel_dp.c intel_dp_init_panel_power_sequencer(struct intel_dp *intel_dp) · line 5363
Quoted 9 lines
drivers/gpu/drm/i915/intel_dp.c +6
-0@@ -5355,6 +5355,12 @@ intel_dp_init_panel_power_sequencer(struct intel_dp *intel_dp)*/ final->t8 =1 ; final->t9 =1 ; + +/* +* HW has only a 100msec granularity for t11_t12 so round it up +* accordingly. +*/ + final->t11_t12 =roundup (final->t11_t12,100 *10 );Reviewed-by Ville Syrjälä <[email protected]>
Quoted 3 lines
As a micro-optimization I guess we might want to move the division here as well. But maybe that would cause more confusion since all the other timings are in 100usec units. Dunno.
Yep, had v1 like that with the same dilemma. In any case that could be done separately imo to keep this minimal in case someone wants to backport it.
Quoted 15 lines
Quoted 11 lines
drivers/gpu/drm/i915/intel_dp.c +0
-0} static voidSignature · 6 lines
2.13.2 _______________________________________________ Intel-gfx mailing list [email protected] https://lists.freedesktop.org/mailman/listinfo/intel-gfxSignature · 2 lines
Ville Syrjälä Intel OTC
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✗ Fi.CI.BAT: failure for drm/i915: Avoid PPS HW/SW state mismatch due to rounding
In reply to Imre Deak== Series Details ==
== Series Details ==
Series: drm/i915: Avoid PPS HW/SW state mismatch due to rounding
URL : https://patchwork.freedesktop.org/series/34646/
State : failure
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✓ Fi.CI.BAT: success for drm/i915: Avoid PPS HW/SW state mismatch due to rounding
In reply to Imre Deak== Series Details ==
== Series Details ==
Series: drm/i915: Avoid PPS HW/SW state mismatch due to rounding
URL : https://patchwork.freedesktop.org/series/34646/
State : success
== Summary ==
Series 34646v1 drm/i915: Avoid PPS HW/SW state mismatch due to rounding
https://patchwork.freedesktop.org/api/1.0/series/34646/revisions/1/mbox/
Test debugfs_test:
Subgroup read_all_entries:
dmesg-warn -> PASS (fi-bdw-gvtdvm) fdo#103938 +1
Test gem_exec_reloc:
Subgroup basic-write-gtt-active:
fail -> PASS (fi-gdg-551) fdo#102582 +1fdo#103938 https://bugs.freedesktop.org/show_bug.cgi?id=103938
fdo#102582 https://bugs.freedesktop.org/show_bug.cgi?id=102582
fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:440s fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:446s fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:386s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:516s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:282s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:501s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:505s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:486s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:476s fi-elk-e7500 total:224 pass:162 dwarn:16 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:272s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:534s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:369s fi-hsw-4770r total:288 pass:224 dwarn:0 dfail:0 fail:0 skip:64 time:258s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:394s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:471s fi-ivb-3770 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:444s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:488s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:526s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:477s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:535s fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:593s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:454s fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:538s fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:565s fi-skl-6700k total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:517s fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:493s fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:450s fi-snb-2520m total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:545s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:417s Blacklisted hosts: fi-cfl-s2 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:619s fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:496s
a19f73d6fe96a9aaa7f71d25bbe9f897dc5e9ee1 drm-tip: 2017y-11m-30d-08h-12m-27s UTC integration manifest e18c015bdcc2 drm/i915: Avoid PPS HW/SW state mismatch due to rounding
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7362/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Re: ✓ Fi.CI.BAT: success for drm/i915: Avoid PPS HW/SW state mismatch due to rounding
Quoted 5 lines · Patchwork
== Series Details ==
Series: drm/i915: Avoid PPS HW/SW state mismatch due to rounding
URL : https://patchwork.freedesktop.org/series/34646/
State : success
Thanks for the review, pushed to drm-tip.
Quoted 50 lines
== Summary ==
Series 34646v1 drm/i915: Avoid PPS HW/SW state mismatch due to rounding
https://patchwork.freedesktop.org/api/1.0/series/34646/revisions/1/mbox/Test
debugfs_test:Subgroup read_all_entries: dmesg-warn -> PASS (fi-bdw-gvtdvm) fdo#103938 +1 Test gem_exec_reloc: Subgroup basic-write-gtt-active: fail -> PASS (fi-gdg-551) fdo#102582 +1fdo#103938 https://bugs.freedesktop.org/show_bug.cgi?id=103938
fdo#102582 https://bugs.freedesktop.org/show_bug.cgi?id=102582fi-bdw-5557u total:288 pass:267 dwarn:0 dfail:0 fail:0 skip:21 time:440s fi-bdw-gvtdvm total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:446s fi-blb-e6850 total:288 pass:223 dwarn:1 dfail:0 fail:0 skip:64 time:386s fi-bsw-n3050 total:288 pass:242 dwarn:0 dfail:0 fail:0 skip:46 time:516s fi-bwr-2160 total:288 pass:183 dwarn:0 dfail:0 fail:0 skip:105 time:282s fi-bxt-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:501s fi-bxt-j4205 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:505s fi-byt-j1900 total:288 pass:253 dwarn:0 dfail:0 fail:0 skip:35 time:486s fi-byt-n2820 total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:476s fi-elk-e7500 total:224 pass:162 dwarn:16 dfail:0 fail:0 skip:45 fi-gdg-551 total:288 pass:178 dwarn:1 dfail:0 fail:1 skip:108 time:272s fi-glk-1 total:288 pass:260 dwarn:0 dfail:0 fail:0 skip:28 time:534s fi-hsw-4770 total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:369s fi-hsw-4770r total:288 pass:224 dwarn:0 dfail:0 fail:0 skip:64 time:258s fi-ilk-650 total:288 pass:228 dwarn:0 dfail:0 fail:0 skip:60 time:394s fi-ivb-3520m total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:471s fi-ivb-3770 total:288 pass:259 dwarn:0 dfail:0 fail:0 skip:29 time:444s fi-kbl-7500u total:288 pass:263 dwarn:1 dfail:0 fail:0 skip:24 time:488s fi-kbl-7560u total:288 pass:269 dwarn:0 dfail:0 fail:0 skip:19 time:526s fi-kbl-7567u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:477s fi-kbl-r total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:535s fi-pnv-d510 total:288 pass:222 dwarn:1 dfail:0 fail:0 skip:65 time:593s fi-skl-6260u total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:454s fi-skl-6600u total:288 pass:261 dwarn:0 dfail:0 fail:0 skip:27 time:538s fi-skl-6700hq total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:565s fi-skl-6700k total:288 pass:264 dwarn:0 dfail:0 fail:0 skip:24 time:517s fi-skl-6770hq total:288 pass:268 dwarn:0 dfail:0 fail:0 skip:20 time:493s fi-skl-gvtdvm total:288 pass:265 dwarn:0 dfail:0 fail:0 skip:23 time:450s fi-snb-2520m total:288 pass:249 dwarn:0 dfail:0 fail:0 skip:39 time:545s fi-snb-2600 total:288 pass:248 dwarn:0 dfail:0 fail:0 skip:40 time:417s Blacklisted hosts: fi-cfl-s2 total:288 pass:262 dwarn:0 dfail:0 fail:0 skip:26 time:619s fi-glk-dsi total:288 pass:258 dwarn:0 dfail:0 fail:0 skip:30 time:496s
Quoted 6 lines
a19f73d6fe96a9aaa7f71d25bbe9f897dc5e9ee1drm-tip: 2017y-11m-30d-08h-12m-27s UTC integration manifeste18c015bdcc2drm/i915: Avoid PPS HW/SW state mismatch due to rounding== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7362/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✓ Fi.CI.IGT: success for drm/i915: Avoid PPS HW/SW state mismatch due to rounding
In reply to Imre Deak== Series Details ==
== Series Details ==
Series: drm/i915: Avoid PPS HW/SW state mismatch due to rounding
URL : https://patchwork.freedesktop.org/series/34646/
State : success
== Summary ==
Test gem_busy:
Subgroup close-race:
fail -> PASS (shard-snb) fdo#103829
Test perf:
Subgroup blocking:
fail -> PASS (shard-hsw) fdo#102252 +1
Test kms_vblank:
Subgroup accuracy-idle:
fail -> PASS (shard-hsw) fdo#102583
Test kms_setmode:
Subgroup basic:
pass -> FAIL (shard-hsw) fdo#99912
Test kms_flip:
Subgroup modeset-vs-vblank-race:
pass -> FAIL (shard-hsw) fdo#103060fdo#103829 https://bugs.freedesktop.org/show_bug.cgi?id=103829
fdo#102252 https://bugs.freedesktop.org/show_bug.cgi?id=102252
fdo#102583 https://bugs.freedesktop.org/show_bug.cgi?id=102583
fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
shard-hsw total:2609 pass:1504 dwarn:1 dfail:0 fail:12 skip:1091 time:9049s shard-snb total:2661 pass:1307 dwarn:1 dfail:0 fail:11 skip:1342 time:8114s
Blacklisted hosts:
shard-apl total:2661 pass:1686 dwarn:1 dfail:0 fail:25 skip:949 time:13758s
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7362/shards.html
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Patchwork
CI✗ Fi.CI.BAT: failure for drm/i915: Avoid PPS HW/SW state mismatch due to rounding
In reply to Imre Deak== Series Details ==
== Series Details ==
Series: drm/i915: Avoid PPS HW/SW state mismatch due to rounding
URL : https://patchwork.freedesktop.org/series/34646/
State : failure
== Summary ==
Applying: drm/i915: Avoid PPS HW/SW state mismatch due to rounding Using index info to reconstruct a base tree...
M drivers/gpu/drm/i915/intel_dp.c
Falling back to patching base and 3-way merge...
No changes -- Patch already applied.
== Logs ==
For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_7362/
_______________________________________________
Intel-gfx mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/intel-gfx