* [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence
@ 2020-11-18 12:40 Hans de Goede
2020-11-18 13:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork
` (3 more replies)
0 siblings, 4 replies; 6+ messages in thread
From: Hans de Goede @ 2020-11-18 12:40 UTC (permalink / raw)
To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi,
Ville Syrjälä
Cc: intel-gfx, dri-devel
Commit 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode")
added an intel_dsi_msleep() helper which skips sleeping if the
MIPI-sequences have a version of 3 or newer and the panel is in vid-mode;
and it moved a bunch of msleep-s over to this new helper.
This was based on my reading of the big comment around line 730 which
starts with "Panel enable/disable sequences from the VBT spec.",
where the "v3 video mode seq" column does not have any wait t# entries.
Given that this code has been used on a lot of different devices without
issues until now, it seems that my interpretation of the spec here is
mostly correct.
But now I have encountered one device, an Acer Aspire Switch 10 E
SW3-016, where the panel will not light up unless we do actually honor the
panel_on_delay after exexuting the MIPI_SEQ_PANEL_ON sequence.
What seems to set this model apart is that it is lacking a
MIPI_SEQ_DEASSERT_RESET sequence, which is where the power-on
delay usually happens.
Fix the panel not lighting up on this model by using an unconditional
msleep(panel_on_delay) instead of intel_dsi_msleep() when there is
no MIPI_SEQ_DEASSERT_RESET sequence.
Fixes: 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode")
Signed-off-by: Hans de Goede <hdegoede@redhat.com>
---
drivers/gpu/drm/i915/display/vlv_dsi.c | 10 +++++++---
1 file changed, 7 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c
index 194c239ab6b1..ef673277b36d 100644
--- a/drivers/gpu/drm/i915/display/vlv_dsi.c
+++ b/drivers/gpu/drm/i915/display/vlv_dsi.c
@@ -816,10 +816,14 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state,
intel_dsi_prepare(encoder, pipe_config);
intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON);
- intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay);
- /* Deassert reset */
- intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET);
+ if (dev_priv->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET]) {
+ intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay);
+ /* Deassert reset */
+ intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET);
+ } else {
+ msleep(intel_dsi->panel_on_delay);
+ }
if (IS_GEMINILAKE(dev_priv)) {
glk_cold_boot = glk_dsi_enable_io(encoder);
--
2.28.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 6+ messages in thread* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence 2020-11-18 12:40 [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence Hans de Goede @ 2020-11-18 13:21 ` Patchwork 2020-11-18 20:07 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork ` (2 subsequent siblings) 3 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2020-11-18 13:21 UTC (permalink / raw) To: Hans de Goede; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 7318 bytes --] == Series Details == Series: drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence URL : https://patchwork.freedesktop.org/series/84017/ State : success == Summary == CI Bug Log - changes from CI_DRM_9351 -> Patchwork_18933 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/index.html New tests --------- New tests have been introduced between CI_DRM_9351 and Patchwork_18933: ### New CI tests (1) ### * boot: - Statuses : 39 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18933 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_mmap_gtt@basic: - fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-tgl-y/igt@gem_mmap_gtt@basic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-tgl-y/igt@gem_mmap_gtt@basic.html * igt@i915_module_load@reload: - fi-bxt-dsi: [PASS][3] -> [DMESG-WARN][4] ([i915#1635] / [i915#1982]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-bxt-dsi/igt@i915_module_load@reload.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-bxt-dsi/igt@i915_module_load@reload.html - fi-icl-y: [PASS][5] -> [DMESG-WARN][6] ([i915#1982]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-icl-y/igt@i915_module_load@reload.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-icl-y/igt@i915_module_load@reload.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-bsw-n3050: [PASS][7] -> [DMESG-WARN][8] ([i915#1982]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-bsw-n3050/igt@i915_pm_rpm@basic-pci-d3-state.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-bsw-n3050/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_pm_rpm@module-reload: - fi-byt-j1900: [PASS][9] -> [DMESG-WARN][10] ([i915#1982]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-byt-j1900/igt@i915_pm_rpm@module-reload.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-byt-j1900/igt@i915_pm_rpm@module-reload.html * igt@kms_cursor_legacy@basic-flip-before-cursor-legacy: - fi-icl-u2: [PASS][11] -> [DMESG-WARN][12] ([i915#1982]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html * igt@kms_pipe_crc_basic@read-crc-pipe-c: - fi-tgl-y: [PASS][13] -> [DMESG-WARN][14] ([i915#1982]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-tgl-y/igt@kms_pipe_crc_basic@read-crc-pipe-c.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-tgl-y/igt@kms_pipe_crc_basic@read-crc-pipe-c.html #### Possible fixes #### * igt@i915_getparams_basic@basic-subslice-total: - fi-tgl-y: [DMESG-WARN][15] ([i915#402]) -> [PASS][16] +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-tgl-y/igt@i915_getparams_basic@basic-subslice-total.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-bsw-kefka: [DMESG-WARN][17] ([i915#1982]) -> [PASS][18] [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-bsw-kefka/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_chamelium@dp-crc-fast: - fi-kbl-7500u: [FAIL][19] ([i915#1161] / [i915#262]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-kbl-7500u/igt@kms_chamelium@dp-crc-fast.html * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic: - fi-icl-u2: [DMESG-WARN][21] ([i915#1982]) -> [PASS][22] +2 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html #### Warnings #### * igt@gem_exec_suspend@basic-s3: - fi-tgl-y: [DMESG-WARN][23] ([i915#2411] / [i915#402]) -> [DMESG-WARN][24] ([i915#2411]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html * igt@i915_pm_rpm@basic-pci-d3-state: - fi-tgl-y: [DMESG-WARN][25] ([i915#1982] / [i915#2411]) -> [DMESG-WARN][26] ([i915#2411]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-tgl-y/igt@i915_pm_rpm@basic-pci-d3-state.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-tgl-y/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@i915_selftest@live@gt_heartbeat: - fi-kbl-soraka: [INCOMPLETE][27] -> [DMESG-FAIL][28] ([i915#541]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1161]: https://gitlab.freedesktop.org/drm/intel/issues/1161 [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2411]: https://gitlab.freedesktop.org/drm/intel/issues/2411 [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 [i915#541]: https://gitlab.freedesktop.org/drm/intel/issues/541 [k.org#205379]: https://bugzilla.kernel.org/show_bug.cgi?id=205379 Participating hosts (41 -> 39) ------------------------------ Additional (3): fi-hsw-4770 fi-blb-e6850 fi-tgl-u2 Missing (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-bdw-samus Build changes ------------- * Linux: CI_DRM_9351 -> Patchwork_18933 CI-20190529: 20190529 CI_DRM_9351: b676373b31de969a7296a8eaecc8ceab600dd655 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5856: d9b09131eaeed3f3bf5b68d8b5f18516b1659b1d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18933: 31e63b145cf34c8accc66ebbafb2ec6089d9cf9f @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 31e63b145cf3 drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/index.html [-- Attachment #1.2: Type: text/html, Size: 9108 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence 2020-11-18 12:40 [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence Hans de Goede 2020-11-18 13:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork @ 2020-11-18 20:07 ` Patchwork 2020-11-24 9:01 ` [Intel-gfx] [PATCH] " Hans de Goede 2020-11-24 15:49 ` Ville Syrjälä 3 siblings, 0 replies; 6+ messages in thread From: Patchwork @ 2020-11-18 20:07 UTC (permalink / raw) To: Hans de Goede; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 21561 bytes --] == Series Details == Series: drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence URL : https://patchwork.freedesktop.org/series/84017/ State : success == Summary == CI Bug Log - changes from CI_DRM_9351_full -> Patchwork_18933_full ==================================================== Summary ------- **SUCCESS** No regressions found. New tests --------- New tests have been introduced between CI_DRM_9351_full and Patchwork_18933_full: ### New CI tests (1) ### * boot: - Statuses : 199 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18933_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gen9_exec_parse@allowed-single: - shard-skl: [PASS][1] -> [DMESG-WARN][2] ([i915#1436] / [i915#716]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl1/igt@gen9_exec_parse@allowed-single.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl4/igt@gen9_exec_parse@allowed-single.html * igt@i915_selftest@live@execlists: - shard-iclb: [PASS][3] -> [INCOMPLETE][4] ([i915#1037] / [i915#2089] / [i915#2276]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb5/igt@i915_selftest@live@execlists.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb3/igt@i915_selftest@live@execlists.html * igt@i915_suspend@forcewake: - shard-kbl: [PASS][5] -> [DMESG-WARN][6] ([i915#180]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-kbl1/igt@i915_suspend@forcewake.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-kbl4/igt@i915_suspend@forcewake.html * igt@kms_color@pipe-b-degamma: - shard-kbl: [PASS][7] -> [FAIL][8] ([i915#71]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-kbl7/igt@kms_color@pipe-b-degamma.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-kbl2/igt@kms_color@pipe-b-degamma.html - shard-apl: [PASS][9] -> [FAIL][10] ([i915#1635] / [i915#71]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-apl6/igt@kms_color@pipe-b-degamma.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-apl7/igt@kms_color@pipe-b-degamma.html - shard-skl: [PASS][11] -> [FAIL][12] ([i915#71]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl1/igt@kms_color@pipe-b-degamma.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl5/igt@kms_color@pipe-b-degamma.html - shard-glk: [PASS][13] -> [FAIL][14] ([i915#71]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk9/igt@kms_color@pipe-b-degamma.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-glk1/igt@kms_color@pipe-b-degamma.html * igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen: - shard-skl: [PASS][15] -> [FAIL][16] ([i915#54]) +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl8/igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl6/igt@kms_cursor_crc@pipe-a-cursor-256x85-offscreen.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions: - shard-skl: [PASS][17] -> [FAIL][18] ([i915#2346]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions.html * igt@kms_cursor_legacy@pipe-b-single-bo: - shard-hsw: [PASS][19] -> [DMESG-WARN][20] ([i915#1982]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-hsw6/igt@kms_cursor_legacy@pipe-b-single-bo.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-hsw1/igt@kms_cursor_legacy@pipe-b-single-bo.html * igt@kms_flip@blocking-absolute-wf_vblank-interruptible@a-dp1: - shard-apl: [PASS][21] -> [DMESG-WARN][22] ([i915#1635] / [i915#1982]) +1 similar issue [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-apl1/igt@kms_flip@blocking-absolute-wf_vblank-interruptible@a-dp1.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-apl1/igt@kms_flip@blocking-absolute-wf_vblank-interruptible@a-dp1.html * igt@kms_flip@dpms-vs-vblank-race-interruptible@a-hdmi-a1: - shard-glk: [PASS][23] -> [DMESG-WARN][24] ([i915#1982]) +2 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk1/igt@kms_flip@dpms-vs-vblank-race-interruptible@a-hdmi-a1.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-glk4/igt@kms_flip@dpms-vs-vblank-race-interruptible@a-hdmi-a1.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1: - shard-tglb: [PASS][25] -> [FAIL][26] ([i915#79]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-tglb8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-tglb8/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html * igt@kms_flip@flip-vs-expired-vblank@b-edp1: - shard-skl: [PASS][27] -> [FAIL][28] ([i915#79]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl10/igt@kms_flip@flip-vs-expired-vblank@b-edp1.html * igt@kms_hdr@bpc-switch-dpms: - shard-skl: [PASS][29] -> [FAIL][30] ([i915#1188]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl10/igt@kms_hdr@bpc-switch-dpms.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl1/igt@kms_hdr@bpc-switch-dpms.html * igt@kms_plane@plane-panning-bottom-right-pipe-a-planes: - shard-iclb: [PASS][31] -> [DMESG-WARN][32] ([i915#1982]) +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb5/igt@kms_plane@plane-panning-bottom-right-pipe-a-planes.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb3/igt@kms_plane@plane-panning-bottom-right-pipe-a-planes.html * igt@kms_plane_cursor@pipe-b-overlay-size-128: - shard-skl: [PASS][33] -> [DMESG-WARN][34] ([i915#1982]) +6 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl9/igt@kms_plane_cursor@pipe-b-overlay-size-128.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl2/igt@kms_plane_cursor@pipe-b-overlay-size-128.html * igt@kms_psr2_su@frontbuffer: - shard-iclb: [PASS][35] -> [SKIP][36] ([fdo#109642] / [fdo#111068]) +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb2/igt@kms_psr2_su@frontbuffer.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb7/igt@kms_psr2_su@frontbuffer.html * igt@kms_psr@psr2_sprite_mmap_gtt: - shard-iclb: [PASS][37] -> [SKIP][38] ([fdo#109441]) +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb7/igt@kms_psr@psr2_sprite_mmap_gtt.html * igt@kms_vblank@pipe-c-wait-idle: - shard-kbl: [PASS][39] -> [DMESG-WARN][40] ([i915#1982]) [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-kbl2/igt@kms_vblank@pipe-c-wait-idle.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-kbl3/igt@kms_vblank@pipe-c-wait-idle.html * igt@perf@blocking: - shard-skl: [PASS][41] -> [FAIL][42] ([i915#1542]) [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl3/igt@perf@blocking.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl4/igt@perf@blocking.html #### Possible fixes #### * igt@gem_exec_whisper@basic-queues-priority: - shard-glk: [DMESG-WARN][43] ([i915#118] / [i915#95]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk4/igt@gem_exec_whisper@basic-queues-priority.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-glk1/igt@gem_exec_whisper@basic-queues-priority.html * igt@i915_module_load@reload: - shard-hsw: [DMESG-WARN][45] ([i915#1982]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-hsw8/igt@i915_module_load@reload.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-hsw4/igt@i915_module_load@reload.html * igt@kms_big_fb@y-tiled-8bpp-rotate-0: - shard-kbl: [DMESG-WARN][47] ([i915#1982]) -> [PASS][48] +1 similar issue [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-kbl7/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-kbl2/igt@kms_big_fb@y-tiled-8bpp-rotate-0.html * igt@kms_color@pipe-c-ctm-max: - shard-kbl: [DMESG-WARN][49] ([i915#165]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-kbl2/igt@kms_color@pipe-c-ctm-max.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-kbl6/igt@kms_color@pipe-c-ctm-max.html * igt@kms_cursor_crc@pipe-c-cursor-64x21-random: - shard-skl: [FAIL][51] ([i915#54]) -> [PASS][52] +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl7/igt@kms_cursor_crc@pipe-c-cursor-64x21-random.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl8/igt@kms_cursor_crc@pipe-c-cursor-64x21-random.html * igt@kms_cursor_edge_walk@pipe-a-64x64-top-edge: - shard-glk: [DMESG-WARN][53] ([i915#1982]) -> [PASS][54] +2 similar issues [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk4/igt@kms_cursor_edge_walk@pipe-a-64x64-top-edge.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-glk1/igt@kms_cursor_edge_walk@pipe-a-64x64-top-edge.html * igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge: - shard-skl: [DMESG-WARN][55] ([i915#1982]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl3/igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl7/igt@kms_cursor_edge_walk@pipe-c-128x128-right-edge.html * igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge: - shard-apl: [DMESG-WARN][57] ([i915#1635] / [i915#1982]) -> [PASS][58] +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-apl4/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-apl4/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html * igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy: - shard-hsw: [FAIL][59] ([i915#96]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-hsw1/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-hsw7/igt@kms_cursor_legacy@2x-long-cursor-vs-flip-legacy.html * igt@kms_dp_aux_dev: - shard-iclb: [DMESG-WARN][61] ([i915#262]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb7/igt@kms_dp_aux_dev.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb6/igt@kms_dp_aux_dev.html * igt@kms_flip@2x-plain-flip-ts-check-interruptible@bc-hdmi-a1-hdmi-a2: - shard-glk: [FAIL][63] ([i915#2122]) -> [PASS][64] [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk2/igt@kms_flip@2x-plain-flip-ts-check-interruptible@bc-hdmi-a1-hdmi-a2.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-glk2/igt@kms_flip@2x-plain-flip-ts-check-interruptible@bc-hdmi-a1-hdmi-a2.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1: - shard-skl: [FAIL][65] ([i915#79]) -> [PASS][66] [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl1/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-tglb: [FAIL][67] ([i915#2598]) -> [PASS][68] +1 similar issue [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-tglb1/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-tglb3/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_flip@flip-vs-suspend-interruptible@c-edp1: - shard-skl: [INCOMPLETE][69] -> [PASS][70] [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl4/igt@kms_flip@flip-vs-suspend-interruptible@c-edp1.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl9/igt@kms_flip@flip-vs-suspend-interruptible@c-edp1.html * igt@kms_hdr@bpc-switch: - shard-skl: [FAIL][71] ([i915#1188]) -> [PASS][72] [71]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl4/igt@kms_hdr@bpc-switch.html [72]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl5/igt@kms_hdr@bpc-switch.html * igt@kms_plane_alpha_blend@pipe-a-coverage-7efc: - shard-skl: [FAIL][73] ([fdo#108145] / [i915#265]) -> [PASS][74] [73]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl8/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html [74]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl6/igt@kms_plane_alpha_blend@pipe-a-coverage-7efc.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [DMESG-FAIL][75] ([fdo#108145] / [i915#1982]) -> [PASS][76] [75]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [76]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_psr@psr2_sprite_mmap_cpu: - shard-iclb: [SKIP][77] ([fdo#109441]) -> [PASS][78] [77]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb1/igt@kms_psr@psr2_sprite_mmap_cpu.html [78]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html * igt@perf_pmu@module-unload: - shard-iclb: [DMESG-WARN][79] ([i915#1982] / [i915#262]) -> [PASS][80] [79]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb8/igt@perf_pmu@module-unload.html [80]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb7/igt@perf_pmu@module-unload.html #### Warnings #### * igt@i915_pm_dc@dc3co-vpb-simulation: - shard-iclb: [SKIP][81] ([i915#658]) -> [SKIP][82] ([i915#588]) [81]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb8/igt@i915_pm_dc@dc3co-vpb-simulation.html [82]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html * igt@kms_content_protection@srm: - shard-apl: [FAIL][83] ([fdo#110321] / [i915#1635]) -> [TIMEOUT][84] ([i915#1319] / [i915#1635]) [83]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-apl8/igt@kms_content_protection@srm.html [84]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-apl1/igt@kms_content_protection@srm.html * igt@kms_plane_alpha_blend@pipe-b-alpha-basic: - shard-apl: [FAIL][85] ([fdo#108145] / [i915#1635] / [i915#265]) -> [DMESG-FAIL][86] ([fdo#108145] / [i915#1635] / [i915#1982]) [85]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-apl6/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html [86]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-apl7/igt@kms_plane_alpha_blend@pipe-b-alpha-basic.html * igt@runner@aborted: - shard-iclb: [FAIL][87] ([i915#2295] / [i915#2439] / [i915#483]) -> ([FAIL][88], [FAIL][89]) ([i915#1580] / [i915#2295] / [i915#2426] / [i915#2439] / [i915#483]) [87]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-iclb8/igt@runner@aborted.html [88]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb3/igt@runner@aborted.html [89]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-iclb8/igt@runner@aborted.html - shard-glk: ([FAIL][90], [FAIL][91], [FAIL][92]) ([i915#1611] / [i915#1814] / [i915#2295] / [i915#2439] / [i915#483] / [k.org#202321]) -> ([FAIL][93], [FAIL][94]) ([i915#1611] / [i915#2295] / [i915#2439] / [k.org#202321]) [90]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk8/igt@runner@aborted.html [91]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk7/igt@runner@aborted.html [92]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-glk8/igt@runner@aborted.html [93]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-glk6/igt@runner@aborted.html [94]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-glk8/igt@runner@aborted.html - shard-tglb: ([FAIL][95], [FAIL][96]) ([i915#1814] / [i915#2295] / [i915#2426] / [i915#2439]) -> [FAIL][97] ([i915#2295] / [i915#2439]) [95]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-tglb7/igt@runner@aborted.html [96]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9351/shard-tglb6/igt@runner@aborted.html [97]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/shard-tglb3/igt@runner@aborted.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#110321]: https://bugs.freedesktop.org/show_bug.cgi?id=110321 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [i915#1037]: https://gitlab.freedesktop.org/drm/intel/issues/1037 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188 [i915#1319]: https://gitlab.freedesktop.org/drm/intel/issues/1319 [i915#1436]: https://gitlab.freedesktop.org/drm/intel/issues/1436 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#1580]: https://gitlab.freedesktop.org/drm/intel/issues/1580 [i915#1611]: https://gitlab.freedesktop.org/drm/intel/issues/1611 [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2089]: https://gitlab.freedesktop.org/drm/intel/issues/2089 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2276]: https://gitlab.freedesktop.org/drm/intel/issues/2276 [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426 [i915#2439]: https://gitlab.freedesktop.org/drm/intel/issues/2439 [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521 [i915#2598]: https://gitlab.freedesktop.org/drm/intel/issues/2598 [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#588]: https://gitlab.freedesktop.org/drm/intel/issues/588 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#71]: https://gitlab.freedesktop.org/drm/intel/issues/71 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 [i915#96]: https://gitlab.freedesktop.org/drm/intel/issues/96 [k.org#202321]: https://bugzilla.kernel.org/show_bug.cgi?id=202321 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * Linux: CI_DRM_9351 -> Patchwork_18933 CI-20190529: 20190529 CI_DRM_9351: b676373b31de969a7296a8eaecc8ceab600dd655 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5856: d9b09131eaeed3f3bf5b68d8b5f18516b1659b1d @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18933: 31e63b145cf34c8accc66ebbafb2ec6089d9cf9f @ git://anongit.freedesktop.org/gfx-ci/linux piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18933/index.html [-- Attachment #1.2: Type: text/html, Size: 26674 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence 2020-11-18 12:40 [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence Hans de Goede 2020-11-18 13:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork 2020-11-18 20:07 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork @ 2020-11-24 9:01 ` Hans de Goede 2020-11-24 15:49 ` Ville Syrjälä 3 siblings, 0 replies; 6+ messages in thread From: Hans de Goede @ 2020-11-24 9:01 UTC (permalink / raw) To: Jani Nikula, Joonas Lahtinen, Rodrigo Vivi, Ville Syrjälä Cc: intel-gfx, dri-devel Hi, On 11/18/20 1:40 PM, Hans de Goede wrote: > Commit 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode") > added an intel_dsi_msleep() helper which skips sleeping if the > MIPI-sequences have a version of 3 or newer and the panel is in vid-mode; > and it moved a bunch of msleep-s over to this new helper. > > This was based on my reading of the big comment around line 730 which > starts with "Panel enable/disable sequences from the VBT spec.", > where the "v3 video mode seq" column does not have any wait t# entries. > > Given that this code has been used on a lot of different devices without > issues until now, it seems that my interpretation of the spec here is > mostly correct. > > But now I have encountered one device, an Acer Aspire Switch 10 E > SW3-016, where the panel will not light up unless we do actually honor the > panel_on_delay after exexuting the MIPI_SEQ_PANEL_ON sequence. > > What seems to set this model apart is that it is lacking a > MIPI_SEQ_DEASSERT_RESET sequence, which is where the power-on > delay usually happens. > > Fix the panel not lighting up on this model by using an unconditional > msleep(panel_on_delay) instead of intel_dsi_msleep() when there is > no MIPI_SEQ_DEASSERT_RESET sequence. > > Fixes: 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode") > Signed-off-by: Hans de Goede <hdegoede@redhat.com> Ping can I get a review/ack for this please? Regards, Hans > --- > drivers/gpu/drm/i915/display/vlv_dsi.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c > index 194c239ab6b1..ef673277b36d 100644 > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c > @@ -816,10 +816,14 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state, > intel_dsi_prepare(encoder, pipe_config); > > intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); > - intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); > > - /* Deassert reset */ > - intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); > + if (dev_priv->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET]) { > + intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); > + /* Deassert reset */ > + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); > + } else { > + msleep(intel_dsi->panel_on_delay); > + } > > if (IS_GEMINILAKE(dev_priv)) { > glk_cold_boot = glk_dsi_enable_io(encoder); > _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence 2020-11-18 12:40 [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence Hans de Goede ` (2 preceding siblings ...) 2020-11-24 9:01 ` [Intel-gfx] [PATCH] " Hans de Goede @ 2020-11-24 15:49 ` Ville Syrjälä 2021-01-07 11:04 ` Hans de Goede 3 siblings, 1 reply; 6+ messages in thread From: Ville Syrjälä @ 2020-11-24 15:49 UTC (permalink / raw) To: Hans de Goede; +Cc: intel-gfx, dri-devel On Wed, Nov 18, 2020 at 01:40:58PM +0100, Hans de Goede wrote: > Commit 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode") > added an intel_dsi_msleep() helper which skips sleeping if the > MIPI-sequences have a version of 3 or newer and the panel is in vid-mode; > and it moved a bunch of msleep-s over to this new helper. > > This was based on my reading of the big comment around line 730 which > starts with "Panel enable/disable sequences from the VBT spec.", > where the "v3 video mode seq" column does not have any wait t# entries. > > Given that this code has been used on a lot of different devices without > issues until now, it seems that my interpretation of the spec here is > mostly correct. > > But now I have encountered one device, an Acer Aspire Switch 10 E > SW3-016, where the panel will not light up unless we do actually honor the > panel_on_delay after exexuting the MIPI_SEQ_PANEL_ON sequence. > > What seems to set this model apart is that it is lacking a > MIPI_SEQ_DEASSERT_RESET sequence, which is where the power-on > delay usually happens. > > Fix the panel not lighting up on this model by using an unconditional > msleep(panel_on_delay) instead of intel_dsi_msleep() when there is > no MIPI_SEQ_DEASSERT_RESET sequence. > > Fixes: 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode") > Signed-off-by: Hans de Goede <hdegoede@redhat.com> > --- > drivers/gpu/drm/i915/display/vlv_dsi.c | 10 +++++++--- > 1 file changed, 7 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c > index 194c239ab6b1..ef673277b36d 100644 > --- a/drivers/gpu/drm/i915/display/vlv_dsi.c > +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c > @@ -816,10 +816,14 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state, > intel_dsi_prepare(encoder, pipe_config); > > intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); > - intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); > > - /* Deassert reset */ > - intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); > + if (dev_priv->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET]) { > + intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); > + /* Deassert reset */ > + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); > + } else { > + msleep(intel_dsi->panel_on_delay); > + } Could perhaps use a comment ot explain to the reader what's going on. Looks sane enough to me, and if we get this wrong we just get a bigger delay than necessary I guess. So mostly harmless. Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > > if (IS_GEMINILAKE(dev_priv)) { > glk_cold_boot = glk_dsi_enable_io(encoder); > -- > 2.28.0 -- Ville Syrjälä Intel _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence 2020-11-24 15:49 ` Ville Syrjälä @ 2021-01-07 11:04 ` Hans de Goede 0 siblings, 0 replies; 6+ messages in thread From: Hans de Goede @ 2021-01-07 11:04 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx, dri-devel Hi, On 11/24/20 4:49 PM, Ville Syrjälä wrote: > On Wed, Nov 18, 2020 at 01:40:58PM +0100, Hans de Goede wrote: >> Commit 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode") >> added an intel_dsi_msleep() helper which skips sleeping if the >> MIPI-sequences have a version of 3 or newer and the panel is in vid-mode; >> and it moved a bunch of msleep-s over to this new helper. >> >> This was based on my reading of the big comment around line 730 which >> starts with "Panel enable/disable sequences from the VBT spec.", >> where the "v3 video mode seq" column does not have any wait t# entries. >> >> Given that this code has been used on a lot of different devices without >> issues until now, it seems that my interpretation of the spec here is >> mostly correct. >> >> But now I have encountered one device, an Acer Aspire Switch 10 E >> SW3-016, where the panel will not light up unless we do actually honor the >> panel_on_delay after exexuting the MIPI_SEQ_PANEL_ON sequence. >> >> What seems to set this model apart is that it is lacking a >> MIPI_SEQ_DEASSERT_RESET sequence, which is where the power-on >> delay usually happens. >> >> Fix the panel not lighting up on this model by using an unconditional >> msleep(panel_on_delay) instead of intel_dsi_msleep() when there is >> no MIPI_SEQ_DEASSERT_RESET sequence. >> >> Fixes: 25b4620ee822 ("drm/i915/dsi: Skip delays for v3 VBTs in vid-mode") >> Signed-off-by: Hans de Goede <hdegoede@redhat.com> >> --- >> drivers/gpu/drm/i915/display/vlv_dsi.c | 10 +++++++--- >> 1 file changed, 7 insertions(+), 3 deletions(-) >> >> diff --git a/drivers/gpu/drm/i915/display/vlv_dsi.c b/drivers/gpu/drm/i915/display/vlv_dsi.c >> index 194c239ab6b1..ef673277b36d 100644 >> --- a/drivers/gpu/drm/i915/display/vlv_dsi.c >> +++ b/drivers/gpu/drm/i915/display/vlv_dsi.c >> @@ -816,10 +816,14 @@ static void intel_dsi_pre_enable(struct intel_atomic_state *state, >> intel_dsi_prepare(encoder, pipe_config); >> >> intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_POWER_ON); >> - intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); >> >> - /* Deassert reset */ >> - intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); >> + if (dev_priv->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET]) { >> + intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); >> + /* Deassert reset */ >> + intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); >> + } else { >> + msleep(intel_dsi->panel_on_delay); >> + } > > Could perhaps use a comment ot explain to the reader what's going on. > > Looks sane enough to me, and if we get this wrong we just get a bigger > delay than necessary I guess. So mostly harmless. > > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Thank you, and sorry for being slow with getting around to pushing this to drm-intel-next. I've just pushed it to drm-intel-next with a comment added above the if (and dropped the single line comment inside the if), so this now looks like this: /* * Give the panel time to power-on and then deassert its reset. * Depending on the VBT MIPI sequences version the deassert-seq * may contain the necessary delay, intel_dsi_msleep() will skip * the delay in that case. If there is no deassert-seq, then an * unconditional msleep is used to give the panel time to power-on. */ if (dev_priv->vbt.dsi.sequence[MIPI_SEQ_DEASSERT_RESET]) { intel_dsi_msleep(intel_dsi, intel_dsi->panel_on_delay); intel_dsi_vbt_exec_sequence(intel_dsi, MIPI_SEQ_DEASSERT_RESET); } else { msleep(intel_dsi->panel_on_delay); } (the code is unchanged from when you reviewed it). Regards, Hans _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2021-01-07 11:04 UTC | newest] Thread overview: 6+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2020-11-18 12:40 [Intel-gfx] [PATCH] drm/i915/dsi: Use unconditional msleep for the panel_on_delay when there is no reset-deassert MIPI-sequence Hans de Goede 2020-11-18 13:21 ` [Intel-gfx] ✓ Fi.CI.BAT: success for " Patchwork 2020-11-18 20:07 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2020-11-24 9:01 ` [Intel-gfx] [PATCH] " Hans de Goede 2020-11-24 15:49 ` Ville Syrjälä 2021-01-07 11:04 ` Hans de Goede
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox