* [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging @ 2020-11-23 14:55 Chris Wilson 2020-11-23 15:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork ` (15 more replies) 0 siblings, 16 replies; 30+ messages in thread From: Chris Wilson @ 2020-11-23 14:55 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 46 +++++++++++++++++++ .../drm/i915/display/intel_display_types.h | 6 +++ drivers/gpu/drm/i915/display/intel_sprite.c | 26 ++++++++--- 3 files changed, 71 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..aa7a2a679138 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -865,6 +865,50 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl_times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (crtc->debug.vbl_times[h] > max) + max = crtc->debug.vbl_times[h]; + count += crtc->debug.vbl_times[h]; + } + seq_printf(m, "\tUpdates: %llu\n", count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + + max = ilog2(max); + for (row = max - 1; row--; ) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (ilog2(crtc->debug.vbl_times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "\t |%s|\n", buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + seq_printf(m, "\t 1us (log) 1ms\n"); + + seq_printf(m, "\tMin update: %lluns\n", crtc->debug.min_vbl_time); + seq_printf(m, "\tMax update: %lluns\n", crtc->debug.max_vbl_time); + seq_printf(m, "\tAverage update: %lluns\n", + div64_u64(crtc->debug.sum_vbl_time, count)); +} +#else +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) {} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +951,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_vblank_info(m, crtc); } static int i915_display_info(struct seq_file *m, void *unused) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..01214636be56 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,12 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + u64 min_vbl_time; + u64 max_vbl_time; + u64 sum_vbl_time; + unsigned int vbl_times[20]; /* [1us, 1ms] */ +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..fdb54a569224 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -250,13 +250,25 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.scanline_start, scanline_end); } #ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); + { + unsigned int h; + u64 delta; + + delta = ktime_to_ns(ktime_sub(end_vbl_time, + crtc->debug.start_vbl_time)); + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl_times)) + h = ARRAY_SIZE(crtc->debug.vbl_times) - 1; + crtc->debug.vbl_times[h]++; + + crtc->debug.sum_vbl_time += delta; + if (!crtc->debug.min_vbl_time || + delta < crtc->debug.min_vbl_time) + crtc->debug.min_vbl_time = delta; + if (delta > crtc->debug.max_vbl_time) + crtc->debug.max_vbl_time = delta; + } #endif } -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson @ 2020-11-23 15:55 ` Patchwork 2020-11-23 16:25 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork ` (14 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-23 15:55 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/display: Record the plane update times for debugging URL : https://patchwork.freedesktop.org/series/84174/ State : warning == Summary == $ dim checkpatch origin/drm-tip b17790555707 drm/i915/display: Record the plane update times for debugging -:65: WARNING:PREFER_SEQ_PUTS: Prefer seq_puts to seq_printf #65: FILE: drivers/gpu/drm/i915/display/intel_display_debugfs.c:901: + seq_printf(m, "\t 1us (log) 1ms\n"); total: 0 errors, 1 warnings, 0 checks, 102 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BAT: failure for drm/i915/display: Record the plane update times for debugging 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson 2020-11-23 15:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork @ 2020-11-23 16:25 ` Patchwork 2020-11-23 16:27 ` [Intel-gfx] [PATCH v2] " Chris Wilson ` (13 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-23 16:25 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 5823 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging URL : https://patchwork.freedesktop.org/series/84174/ State : failure == Summary == CI Bug Log - changes from CI_DRM_9376 -> Patchwork_18958 ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_18958 absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_18958, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/index.html Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_18958: ### IGT changes ### #### Possible regressions #### * igt@core_hotunplug@unbind-rebind: - fi-kbl-7500u: [PASS][1] -> [DMESG-WARN][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-kbl-7500u/igt@core_hotunplug@unbind-rebind.html New tests --------- New tests have been introduced between CI_DRM_9376 and Patchwork_18958: ### New CI tests (1) ### * boot: - Statuses : 39 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18958 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_suspend@basic-s0: - fi-apl-guc: [PASS][3] -> [DMESG-WARN][4] ([i915#1635] / [i915#62]) +1 similar issue [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-apl-guc/igt@gem_exec_suspend@basic-s0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-apl-guc/igt@gem_exec_suspend@basic-s0.html #### Possible fixes #### * igt@gem_exec_suspend@basic-s0: - fi-cfl-8109u: [DMESG-WARN][5] ([i915#165] / [i915#262]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-tgl-y: [DMESG-WARN][7] ([i915#1982]) -> [PASS][8] +2 similar issues [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-bsw-n3050: [DMESG-WARN][9] ([i915#1982]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-kbl-soraka: [DMESG-WARN][11] ([i915#1982]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-apl-guc: [DMESG-WARN][13] ([i915#1635] / [i915#1982]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic: - fi-icl-u2: [DMESG-WARN][15] ([i915#1982]) -> [PASS][16] +2 similar issues [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/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][17] ([i915#2411] / [i915#402]) -> [DMESG-WARN][18] ([i915#2411]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [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#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 Participating hosts (45 -> 39) ------------------------------ Missing (6): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-bwr-2160 fi-bsw-kefka fi-bdw-samus Build changes ------------- * Linux: CI_DRM_9376 -> Patchwork_18958 CI-20190529: 20190529 CI_DRM_9376: d08ea807a6466f311fe921872bc18cfc384ae281 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5865: 76b7d1ecf6a3c0a5a538146bb055d0eb5fe232d0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18958: b17790555707a07eccd3bbb7445a24ce24f35877 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == b17790555707 drm/i915/display: Record the plane update times for debugging == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18958/index.html [-- Attachment #1.2: Type: text/html, Size: 7036 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] 30+ messages in thread
* [Intel-gfx] [PATCH v2] drm/i915/display: Record the plane update times for debugging 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson 2020-11-23 15:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2020-11-23 16:25 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork @ 2020-11-23 16:27 ` Chris Wilson 2020-11-24 21:38 ` [Intel-gfx] [PATCH] " Chris Wilson 2020-11-23 16:58 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev2) Patchwork ` (12 subsequent siblings) 15 siblings, 1 reply; 30+ messages in thread From: Chris Wilson @ 2020-11-23 16:27 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 46 +++++++++++++++++++ .../drm/i915/display/intel_display_types.h | 7 +++ drivers/gpu/drm/i915/display/intel_sprite.c | 29 +++++++++--- 3 files changed, 75 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..d4bcf4971558 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -865,6 +865,50 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl_times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (crtc->debug.vbl_times[h] > max) + max = crtc->debug.vbl_times[h]; + count += crtc->debug.vbl_times[h]; + } + seq_printf(m, "\tUpdates: %llu\n", count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + + for (row = ilog2(max) - 1; row; row--) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (ilog2(crtc->debug.vbl_times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "\t |%s|\n", buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + seq_printf(m, "\t 1us (log) 1ms\n"); + + seq_printf(m, "\tMin update: %lluns\n", crtc->debug.min_vbl_time); + seq_printf(m, "\tMax update: %lluns\n", crtc->debug.max_vbl_time); + seq_printf(m, "\tAverage update: %lluns\n", + div64_u64(crtc->debug.sum_vbl_time, count)); + seq_printf(m, "\tOverflows: %lu\n", crtc->debug.over_vbl_time); +} +#else +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) {} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +951,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_vblank_info(m, crtc); } static int i915_display_info(struct seq_file *m, void *unused) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..efbb7c61e6fb 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,13 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + u64 min_vbl_time; + u64 max_vbl_time; + u64 sum_vbl_time; + unsigned int vbl_times[21]; /* [1us, 1ms] */ + unsigned long over_vbl_time; +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..661cbaf4cc38 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -250,13 +250,28 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.scanline_start, scanline_end); } #ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); + { + unsigned int h; + u64 delta; + + delta = ktime_to_ns(ktime_sub(end_vbl_time, + crtc->debug.start_vbl_time)); + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl_times)) + h = ARRAY_SIZE(crtc->debug.vbl_times) - 1; + crtc->debug.vbl_times[h]++; + + crtc->debug.sum_vbl_time += delta; + if (!crtc->debug.min_vbl_time || + delta < crtc->debug.min_vbl_time) + crtc->debug.min_vbl_time = delta; + if (delta > crtc->debug.max_vbl_time) + crtc->debug.max_vbl_time = delta; + + if (delta > 1000 * VBLANK_EVASION_TIME_US) + crtc->debug.over_vbl_time++; + } #endif } -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging 2020-11-23 16:27 ` [Intel-gfx] [PATCH v2] " Chris Wilson @ 2020-11-24 21:38 ` Chris Wilson 2020-11-25 16:14 ` Chris Wilson 2020-11-26 21:13 ` Chris Wilson 0 siblings, 2 replies; 30+ messages in thread From: Chris Wilson @ 2020-11-24 21:38 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 47 +++++++++++++++++++ .../drm/i915/display/intel_display_types.h | 7 +++ drivers/gpu/drm/i915/display/intel_sprite.c | 29 +++++++++--- 3 files changed, 76 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..b29136208d56 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -865,6 +865,51 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl_times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (crtc->debug.vbl_times[h] > max) + max = crtc->debug.vbl_times[h]; + count += crtc->debug.vbl_times[h]; + } + seq_printf(m, "\tUpdates: %llu\n", count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + + for (row = ilog2(max) - 1; row; row--) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (ilog2(crtc->debug.vbl_times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "\t |%s|\n", buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + seq_printf(m, "\t 1us (log) 1ms\n"); + + seq_printf(m, "\tMin update: %lluns\n", crtc->debug.min_vbl_time); + seq_printf(m, "\tMax update: %lluns\n", crtc->debug.max_vbl_time); + seq_printf(m, "\tAverage update: %lluns\n", + div64_u64(crtc->debug.sum_vbl_time, count)); + seq_printf(m, "\tOverruns > %uus: %lu\n", + VBLANK_EVASION_TIME_US, crtc->debug.over_vbl_time); +} +#else +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) {} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +952,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_vblank_info(m, crtc); } static int i915_display_info(struct seq_file *m, void *unused) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..efbb7c61e6fb 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,13 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + u64 min_vbl_time; + u64 max_vbl_time; + u64 sum_vbl_time; + unsigned int vbl_times[21]; /* [1us, 1ms] */ + unsigned long over_vbl_time; +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..661cbaf4cc38 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -250,13 +250,28 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.scanline_start, scanline_end); } #ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); + { + unsigned int h; + u64 delta; + + delta = ktime_to_ns(ktime_sub(end_vbl_time, + crtc->debug.start_vbl_time)); + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl_times)) + h = ARRAY_SIZE(crtc->debug.vbl_times) - 1; + crtc->debug.vbl_times[h]++; + + crtc->debug.sum_vbl_time += delta; + if (!crtc->debug.min_vbl_time || + delta < crtc->debug.min_vbl_time) + crtc->debug.min_vbl_time = delta; + if (delta > crtc->debug.max_vbl_time) + crtc->debug.max_vbl_time = delta; + + if (delta > 1000 * VBLANK_EVASION_TIME_US) + crtc->debug.over_vbl_time++; + } #endif } -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging 2020-11-24 21:38 ` [Intel-gfx] [PATCH] " Chris Wilson @ 2020-11-25 16:14 ` Chris Wilson 2020-11-26 21:13 ` Chris Wilson 1 sibling, 0 replies; 30+ messages in thread From: Chris Wilson @ 2020-11-25 16:14 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 48 +++++++++++++++++++ .../drm/i915/display/intel_display_types.h | 7 +++ drivers/gpu/drm/i915/display/intel_sprite.c | 37 ++++++++------ drivers/gpu/drm/i915/display/intel_sprite.h | 10 ++++ 4 files changed, 87 insertions(+), 15 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..d61fafa416b0 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -18,6 +18,7 @@ #include "intel_pm.h" #include "intel_psr.h" #include "intel_sideband.h" +#include "intel_sprite.h" static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) { @@ -865,6 +866,51 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl_times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (crtc->debug.vbl_times[h] > max) + max = crtc->debug.vbl_times[h]; + count += crtc->debug.vbl_times[h]; + } + seq_printf(m, "\tUpdates: %llu\n", count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + + for (row = ilog2(max) - 1; row; row--) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (ilog2(crtc->debug.vbl_times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "\t |%s|\n", buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + seq_printf(m, "\t 1us (log) 1ms\n"); + + seq_printf(m, "\tMin update: %lluns\n", crtc->debug.min_vbl_time); + seq_printf(m, "\tMax update: %lluns\n", crtc->debug.max_vbl_time); + seq_printf(m, "\tAverage update: %lluns\n", + div64_u64(crtc->debug.sum_vbl_time, count)); + seq_printf(m, "\tOverruns > %uus: %lu\n", + VBLANK_EVASION_TIME_US, crtc->debug.over_vbl_time); +} +#else +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) {} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +953,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_vblank_info(m, crtc); } static int i915_display_info(struct seq_file *m, void *unused) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..efbb7c61e6fb 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,13 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + u64 min_vbl_time; + u64 max_vbl_time; + u64 sum_vbl_time; + unsigned int vbl_times[21]; /* [1us, 1ms] */ + unsigned long over_vbl_time; +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..5f6fc3b93afa 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -61,14 +61,6 @@ int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, 1000 * adjusted_mode->crtc_htotal); } -/* FIXME: We should instead only take spinlocks once for the entire update - * instead of once per mmio. */ -#if IS_ENABLED(CONFIG_PROVE_LOCKING) -#define VBLANK_EVASION_TIME_US 250 -#else -#define VBLANK_EVASION_TIME_US 100 -#endif - /** * intel_pipe_update_start() - start update of a set of display registers * @new_crtc_state: the new crtc state @@ -250,13 +242,28 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.scanline_start, scanline_end); } #ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); + { + unsigned int h; + u64 delta; + + delta = ktime_to_ns(ktime_sub(end_vbl_time, + crtc->debug.start_vbl_time)); + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl_times)) + h = ARRAY_SIZE(crtc->debug.vbl_times) - 1; + crtc->debug.vbl_times[h]++; + + crtc->debug.sum_vbl_time += delta; + if (!crtc->debug.min_vbl_time || + delta < crtc->debug.min_vbl_time) + crtc->debug.min_vbl_time = delta; + if (delta > crtc->debug.max_vbl_time) + crtc->debug.max_vbl_time = delta; + + if (delta > 1000 * VBLANK_EVASION_TIME_US) + crtc->debug.over_vbl_time++; + } #endif } diff --git a/drivers/gpu/drm/i915/display/intel_sprite.h b/drivers/gpu/drm/i915/display/intel_sprite.h index cd2104ba1ca1..76126dd8d584 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.h +++ b/drivers/gpu/drm/i915/display/intel_sprite.h @@ -17,6 +17,16 @@ struct drm_i915_private; struct intel_crtc_state; struct intel_plane_state; +/* + * FIXME: We should instead only take spinlocks once for the entire update + * instead of once per mmio. + */ +#if IS_ENABLED(CONFIG_PROVE_LOCKING) +#define VBLANK_EVASION_TIME_US 250 +#else +#define VBLANK_EVASION_TIME_US 100 +#endif + int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, int usecs); struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv, -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging 2020-11-24 21:38 ` [Intel-gfx] [PATCH] " Chris Wilson 2020-11-25 16:14 ` Chris Wilson @ 2020-11-26 21:13 ` Chris Wilson 2020-11-26 21:14 ` Chris Wilson ` (2 more replies) 1 sibling, 3 replies; 30+ messages in thread From: Chris Wilson @ 2020-11-26 21:13 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 48 +++++++++++++++++++ .../drm/i915/display/intel_display_types.h | 7 +++ drivers/gpu/drm/i915/display/intel_sprite.c | 44 ++++++++++------- drivers/gpu/drm/i915/display/intel_sprite.h | 10 ++++ 4 files changed, 92 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..fd1a97b9e653 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -18,6 +18,7 @@ #include "intel_pm.h" #include "intel_psr.h" #include "intel_sideband.h" +#include "intel_sprite.h" static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) { @@ -865,6 +866,51 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl_times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (crtc->debug.vbl_times[h] > max) + max = crtc->debug.vbl_times[h]; + count += crtc->debug.vbl_times[h]; + } + seq_printf(m, "\tUpdates: %llu\n", count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + + for (row = ilog2(max) - 1; row; row--) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (ilog2(crtc->debug.vbl_times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "\t |%s|\n", buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + seq_printf(m, "\t 1us (log) 1ms\n"); + + seq_printf(m, "\tMin update: %lluns\n", crtc->debug.min_vbl_time); + seq_printf(m, "\tMax update: %lluns\n", crtc->debug.max_vbl_time); + seq_printf(m, "\tAverage update: %lluns\n", + div64_u64(crtc->debug.sum_vbl_time, count)); + seq_printf(m, "\tOverruns > %uus: %lu\n", + VBLANK_EVASION_TIME_US, crtc->debug.over_vbl_time); +} +#else +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) {} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +953,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_vblank_info(m, crtc); } static int i915_display_info(struct seq_file *m, void *unused) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..eef3b1fa7e92 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,13 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + u64 min_vbl_time; + u64 max_vbl_time; + u64 sum_vbl_time; + unsigned long over_vbl_time; + unsigned int vbl_times[21]; /* [1us, 1ms] */ +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..7c6d95167e56 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -61,14 +61,6 @@ int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, 1000 * adjusted_mode->crtc_htotal); } -/* FIXME: We should instead only take spinlocks once for the entire update - * instead of once per mmio. */ -#if IS_ENABLED(CONFIG_PROVE_LOCKING) -#define VBLANK_EVASION_TIME_US 250 -#else -#define VBLANK_EVASION_TIME_US 100 -#endif - /** * intel_pipe_update_start() - start update of a set of display registers * @new_crtc_state: the new crtc state @@ -187,6 +179,31 @@ void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state) local_irq_disable(); } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) +{ + u64 delta = ktime_to_ns(ktime_sub(end, crtc->debug.start_vbl_time)); + unsigned int h; + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl_times)) + h = ARRAY_SIZE(crtc->debug.vbl_times) - 1; + crtc->debug.vbl_times[h]++; + + crtc->debug.sum_vbl_time += delta; + if (!crtc->debug.min_vbl_time || + delta < crtc->debug.min_vbl_time) + crtc->debug.min_vbl_time = delta; + if (delta > crtc->debug.max_vbl_time) + crtc->debug.max_vbl_time = delta; + + if (delta > 1000 * VBLANK_EVASION_TIME_US) + crtc->debug.over_vbl_time++; +} +#else +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) {} +#endif + /** * intel_pipe_update_end() - end update of a set of display registers * @new_crtc_state: the new crtc state @@ -249,15 +266,8 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.min_vbl, crtc->debug.max_vbl, crtc->debug.scanline_start, scanline_end); } -#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); -#endif + + dbg_vblank_evade(crtc, end_vbl_time); } int intel_plane_check_stride(const struct intel_plane_state *plane_state) diff --git a/drivers/gpu/drm/i915/display/intel_sprite.h b/drivers/gpu/drm/i915/display/intel_sprite.h index cd2104ba1ca1..76126dd8d584 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.h +++ b/drivers/gpu/drm/i915/display/intel_sprite.h @@ -17,6 +17,16 @@ struct drm_i915_private; struct intel_crtc_state; struct intel_plane_state; +/* + * FIXME: We should instead only take spinlocks once for the entire update + * instead of once per mmio. + */ +#if IS_ENABLED(CONFIG_PROVE_LOCKING) +#define VBLANK_EVASION_TIME_US 250 +#else +#define VBLANK_EVASION_TIME_US 100 +#endif + int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, int usecs); struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv, -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging 2020-11-26 21:13 ` Chris Wilson @ 2020-11-26 21:14 ` Chris Wilson 2020-11-27 1:02 ` kernel test robot 2020-11-27 1:47 ` kernel test robot 2020-11-27 11:30 ` Chris Wilson 2020-11-27 16:18 ` [Intel-gfx] [PATCH v2] " Chris Wilson 2 siblings, 2 replies; 30+ messages in thread From: Chris Wilson @ 2020-11-26 21:14 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 48 ++++++++++++++++++ .../drm/i915/display/intel_display_types.h | 7 +++ drivers/gpu/drm/i915/display/intel_sprite.c | 49 ++++++++++++------- drivers/gpu/drm/i915/display/intel_sprite.h | 10 ++++ 4 files changed, 97 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..fd1a97b9e653 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -18,6 +18,7 @@ #include "intel_pm.h" #include "intel_psr.h" #include "intel_sideband.h" +#include "intel_sprite.h" static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) { @@ -865,6 +866,51 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl_times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (crtc->debug.vbl_times[h] > max) + max = crtc->debug.vbl_times[h]; + count += crtc->debug.vbl_times[h]; + } + seq_printf(m, "\tUpdates: %llu\n", count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + + for (row = ilog2(max) - 1; row; row--) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (ilog2(crtc->debug.vbl_times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "\t |%s|\n", buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + seq_printf(m, "\t 1us (log) 1ms\n"); + + seq_printf(m, "\tMin update: %lluns\n", crtc->debug.min_vbl_time); + seq_printf(m, "\tMax update: %lluns\n", crtc->debug.max_vbl_time); + seq_printf(m, "\tAverage update: %lluns\n", + div64_u64(crtc->debug.sum_vbl_time, count)); + seq_printf(m, "\tOverruns > %uus: %lu\n", + VBLANK_EVASION_TIME_US, crtc->debug.over_vbl_time); +} +#else +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) {} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +953,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_vblank_info(m, crtc); } static int i915_display_info(struct seq_file *m, void *unused) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..eef3b1fa7e92 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,13 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + u64 min_vbl_time; + u64 max_vbl_time; + u64 sum_vbl_time; + unsigned long over_vbl_time; + unsigned int vbl_times[21]; /* [1us, 1ms] */ +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..f6e1861f3c31 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -61,14 +61,6 @@ int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, 1000 * adjusted_mode->crtc_htotal); } -/* FIXME: We should instead only take spinlocks once for the entire update - * instead of once per mmio. */ -#if IS_ENABLED(CONFIG_PROVE_LOCKING) -#define VBLANK_EVASION_TIME_US 250 -#else -#define VBLANK_EVASION_TIME_US 100 -#endif - /** * intel_pipe_update_start() - start update of a set of display registers * @new_crtc_state: the new crtc state @@ -187,6 +179,36 @@ void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state) local_irq_disable(); } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) +{ + u64 delta = ktime_to_ns(ktime_sub(end, crtc->debug.start_vbl_time)); + unsigned int h; + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl_times)) + h = ARRAY_SIZE(crtc->debug.vbl_times) - 1; + crtc->debug.vbl_times[h]++; + + crtc->debug.sum_vbl_time += delta; + if (!crtc->debug.min_vbl_time || + delta < crtc->debug.min_vbl_time) + crtc->debug.min_vbl_time = delta; + if (delta > crtc->debug.max_vbl_time) + crtc->debug.max_vbl_time = delta; + + if (delta > 1000 * VBLANK_EVASION_TIME_US) { + drm_dbg_kms("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", + pipe_name(crtc->pipe), + div_u64(delta, 1000), + VBLANK_EVASION_TIME_US); + crtc->debug.over_vbl_time++; + } +} +#else +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) {} +#endif + /** * intel_pipe_update_end() - end update of a set of display registers * @new_crtc_state: the new crtc state @@ -249,15 +271,8 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.min_vbl, crtc->debug.max_vbl, crtc->debug.scanline_start, scanline_end); } -#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); -#endif + + dbg_vblank_evade(crtc, end_vbl_time); } int intel_plane_check_stride(const struct intel_plane_state *plane_state) diff --git a/drivers/gpu/drm/i915/display/intel_sprite.h b/drivers/gpu/drm/i915/display/intel_sprite.h index cd2104ba1ca1..76126dd8d584 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.h +++ b/drivers/gpu/drm/i915/display/intel_sprite.h @@ -17,6 +17,16 @@ struct drm_i915_private; struct intel_crtc_state; struct intel_plane_state; +/* + * FIXME: We should instead only take spinlocks once for the entire update + * instead of once per mmio. + */ +#if IS_ENABLED(CONFIG_PROVE_LOCKING) +#define VBLANK_EVASION_TIME_US 250 +#else +#define VBLANK_EVASION_TIME_US 100 +#endif + int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, int usecs); struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv, -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging 2020-11-26 21:14 ` Chris Wilson @ 2020-11-27 1:02 ` kernel test robot 2020-11-27 1:47 ` kernel test robot 1 sibling, 0 replies; 30+ messages in thread From: kernel test robot @ 2020-11-27 1:02 UTC (permalink / raw) To: Chris Wilson, intel-gfx; +Cc: kbuild-all, Chris Wilson [-- Attachment #1: Type: text/plain, Size: 3430 bytes --] Hi Chris, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm-intel/for-linux-next] [also build test WARNING on drm-tip/drm-tip v5.10-rc5 next-20201126] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: x86_64-allyesconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/7507dad86ddaa800a17665609a0171e9b958b451 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 git checkout 7507dad86ddaa800a17665609a0171e9b958b451 # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): In file included from include/drm/drm_mm.h:49, from include/drm/drm_vma_manager.h:26, from include/drm/drm_gem.h:40, from drivers/gpu/drm/i915/i915_drv.h:55, from drivers/gpu/drm/i915/display/intel_sprite.c:42: drivers/gpu/drm/i915/display/intel_sprite.c: In function 'dbg_vblank_evade': include/drm/drm_print.h:450:19: error: request for member 'dev' in something not a structure or union 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~ drivers/gpu/drm/i915/display/intel_sprite.c:201:3: note: in expansion of macro 'drm_dbg_kms' 201 | drm_dbg_kms("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", | ^~~~~~~~~~~ >> drivers/gpu/drm/i915/display/intel_display.h:96:27: warning: passing argument 3 of 'drm_dev_dbg' makes pointer from integer without a cast [-Wint-conversion] 96 | #define pipe_name(p) ((p) + 'A') | ~~~~~^~~~~~ | | | int include/drm/drm_print.h:450:38: note: in definition of macro 'drm_dbg_kms' 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~~ drivers/gpu/drm/i915/display/intel_sprite.c:202:8: note: in expansion of macro 'pipe_name' 202 | pipe_name(crtc->pipe), | ^~~~~~~~~ include/drm/drm_print.h:338:16: note: expected 'const char *' but argument is of type 'int' 338 | const char *format, ...); | ~~~~~~~~~~~~^~~~~~ vim +/drm_dev_dbg +96 drivers/gpu/drm/i915/display/intel_display.h 09a28bd9e8024d1 drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 95 09a28bd9e8024d1 drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 @96 #define pipe_name(p) ((p) + 'A') 09a28bd9e8024d1 drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 97 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 76989 bytes --] [-- Attachment #3: 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] 30+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging @ 2020-11-27 1:02 ` kernel test robot 0 siblings, 0 replies; 30+ messages in thread From: kernel test robot @ 2020-11-27 1:02 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 3495 bytes --] Hi Chris, Thank you for the patch! Perhaps something to improve: [auto build test WARNING on drm-intel/for-linux-next] [also build test WARNING on drm-tip/drm-tip v5.10-rc5 next-20201126] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: x86_64-allyesconfig (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/7507dad86ddaa800a17665609a0171e9b958b451 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 git checkout 7507dad86ddaa800a17665609a0171e9b958b451 # save the attached .config to linux build tree make W=1 ARCH=x86_64 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All warnings (new ones prefixed by >>): In file included from include/drm/drm_mm.h:49, from include/drm/drm_vma_manager.h:26, from include/drm/drm_gem.h:40, from drivers/gpu/drm/i915/i915_drv.h:55, from drivers/gpu/drm/i915/display/intel_sprite.c:42: drivers/gpu/drm/i915/display/intel_sprite.c: In function 'dbg_vblank_evade': include/drm/drm_print.h:450:19: error: request for member 'dev' in something not a structure or union 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~ drivers/gpu/drm/i915/display/intel_sprite.c:201:3: note: in expansion of macro 'drm_dbg_kms' 201 | drm_dbg_kms("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", | ^~~~~~~~~~~ >> drivers/gpu/drm/i915/display/intel_display.h:96:27: warning: passing argument 3 of 'drm_dev_dbg' makes pointer from integer without a cast [-Wint-conversion] 96 | #define pipe_name(p) ((p) + 'A') | ~~~~~^~~~~~ | | | int include/drm/drm_print.h:450:38: note: in definition of macro 'drm_dbg_kms' 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~~ drivers/gpu/drm/i915/display/intel_sprite.c:202:8: note: in expansion of macro 'pipe_name' 202 | pipe_name(crtc->pipe), | ^~~~~~~~~ include/drm/drm_print.h:338:16: note: expected 'const char *' but argument is of type 'int' 338 | const char *format, ...); | ~~~~~~~~~~~~^~~~~~ vim +/drm_dev_dbg +96 drivers/gpu/drm/i915/display/intel_display.h 09a28bd9e8024d1 drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 95 09a28bd9e8024d1 drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 @96 #define pipe_name(p) ((p) + 'A') 09a28bd9e8024d1 drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 97 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 76989 bytes --] ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging 2020-11-26 21:14 ` Chris Wilson @ 2020-11-27 1:47 ` kernel test robot 2020-11-27 1:47 ` kernel test robot 1 sibling, 0 replies; 30+ messages in thread From: kernel test robot @ 2020-11-27 1:47 UTC (permalink / raw) To: Chris Wilson, intel-gfx; +Cc: kbuild-all, Chris Wilson [-- Attachment #1: Type: text/plain, Size: 3474 bytes --] Hi Chris, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on drm-tip/drm-tip v5.10-rc5 next-20201126] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: i386-randconfig-a004-20201127 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/7507dad86ddaa800a17665609a0171e9b958b451 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 git checkout 7507dad86ddaa800a17665609a0171e9b958b451 # save the attached .config to linux build tree make W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): In file included from include/drm/drm_mm.h:49, from include/drm/drm_vma_manager.h:26, from include/drm/drm_gem.h:40, from drivers/gpu/drm/i915/i915_drv.h:55, from drivers/gpu/drm/i915/display/intel_sprite.c:42: drivers/gpu/drm/i915/display/intel_sprite.c: In function 'dbg_vblank_evade': include/drm/drm_print.h:450:19: error: request for member 'dev' in something not a structure or union 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~ drivers/gpu/drm/i915/display/intel_sprite.c:201:3: note: in expansion of macro 'drm_dbg_kms' 201 | drm_dbg_kms("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", | ^~~~~~~~~~~ >> drivers/gpu/drm/i915/display/intel_display.h:96:27: error: passing argument 3 of 'drm_dev_dbg' makes pointer from integer without a cast [-Werror=int-conversion] 96 | #define pipe_name(p) ((p) + 'A') | ~~~~~^~~~~~ | | | int include/drm/drm_print.h:450:38: note: in definition of macro 'drm_dbg_kms' 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~~ drivers/gpu/drm/i915/display/intel_sprite.c:202:8: note: in expansion of macro 'pipe_name' 202 | pipe_name(crtc->pipe), | ^~~~~~~~~ include/drm/drm_print.h:338:16: note: expected 'const char *' but argument is of type 'int' 338 | const char *format, ...); | ~~~~~~~~~~~~^~~~~~ cc1: all warnings being treated as errors vim +/drm_dev_dbg +96 drivers/gpu/drm/i915/display/intel_display.h 09a28bd9e8024d drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 95 09a28bd9e8024d drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 @96 #define pipe_name(p) ((p) + 'A') 09a28bd9e8024d drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 97 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 36503 bytes --] [-- Attachment #3: 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] 30+ messages in thread
* Re: [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging @ 2020-11-27 1:47 ` kernel test robot 0 siblings, 0 replies; 30+ messages in thread From: kernel test robot @ 2020-11-27 1:47 UTC (permalink / raw) To: kbuild-all [-- Attachment #1: Type: text/plain, Size: 3540 bytes --] Hi Chris, Thank you for the patch! Yet something to improve: [auto build test ERROR on drm-intel/for-linux-next] [also build test ERROR on drm-tip/drm-tip v5.10-rc5 next-20201126] [If your patch is applied to the wrong git tree, kindly drop us a note. And when submitting patch, we suggest to use '--base' as documented in https://git-scm.com/docs/git-format-patch] url: https://github.com/0day-ci/linux/commits/Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 base: git://anongit.freedesktop.org/drm-intel for-linux-next config: i386-randconfig-a004-20201127 (attached as .config) compiler: gcc-9 (Debian 9.3.0-15) 9.3.0 reproduce (this is a W=1 build): # https://github.com/0day-ci/linux/commit/7507dad86ddaa800a17665609a0171e9b958b451 git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Chris-Wilson/drm-i915-display-Record-the-plane-update-times-for-debugging/20201127-052128 git checkout 7507dad86ddaa800a17665609a0171e9b958b451 # save the attached .config to linux build tree make W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@intel.com> All errors (new ones prefixed by >>): In file included from include/drm/drm_mm.h:49, from include/drm/drm_vma_manager.h:26, from include/drm/drm_gem.h:40, from drivers/gpu/drm/i915/i915_drv.h:55, from drivers/gpu/drm/i915/display/intel_sprite.c:42: drivers/gpu/drm/i915/display/intel_sprite.c: In function 'dbg_vblank_evade': include/drm/drm_print.h:450:19: error: request for member 'dev' in something not a structure or union 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~ drivers/gpu/drm/i915/display/intel_sprite.c:201:3: note: in expansion of macro 'drm_dbg_kms' 201 | drm_dbg_kms("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", | ^~~~~~~~~~~ >> drivers/gpu/drm/i915/display/intel_display.h:96:27: error: passing argument 3 of 'drm_dev_dbg' makes pointer from integer without a cast [-Werror=int-conversion] 96 | #define pipe_name(p) ((p) + 'A') | ~~~~~^~~~~~ | | | int include/drm/drm_print.h:450:38: note: in definition of macro 'drm_dbg_kms' 450 | drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) | ^~~ drivers/gpu/drm/i915/display/intel_sprite.c:202:8: note: in expansion of macro 'pipe_name' 202 | pipe_name(crtc->pipe), | ^~~~~~~~~ include/drm/drm_print.h:338:16: note: expected 'const char *' but argument is of type 'int' 338 | const char *format, ...); | ~~~~~~~~~~~~^~~~~~ cc1: all warnings being treated as errors vim +/drm_dev_dbg +96 drivers/gpu/drm/i915/display/intel_display.h 09a28bd9e8024d drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 95 09a28bd9e8024d drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 @96 #define pipe_name(p) ((p) + 'A') 09a28bd9e8024d drivers/gpu/drm/i915/intel_display.h Michal Wajdeczko 2017-12-21 97 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org [-- Attachment #2: config.gz --] [-- Type: application/gzip, Size: 36503 bytes --] ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging 2020-11-26 21:13 ` Chris Wilson 2020-11-26 21:14 ` Chris Wilson @ 2020-11-27 11:30 ` Chris Wilson 2020-11-27 16:18 ` [Intel-gfx] [PATCH v2] " Chris Wilson 2 siblings, 0 replies; 30+ messages in thread From: Chris Wilson @ 2020-11-27 11:30 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- .../drm/i915/display/intel_display_debugfs.c | 48 ++++++++++++++++++ .../drm/i915/display/intel_display_types.h | 7 +++ drivers/gpu/drm/i915/display/intel_sprite.c | 50 ++++++++++++------- drivers/gpu/drm/i915/display/intel_sprite.h | 10 ++++ 4 files changed, 98 insertions(+), 17 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..fd1a97b9e653 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -18,6 +18,7 @@ #include "intel_pm.h" #include "intel_psr.h" #include "intel_sideband.h" +#include "intel_sprite.h" static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) { @@ -865,6 +866,51 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl_times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (crtc->debug.vbl_times[h] > max) + max = crtc->debug.vbl_times[h]; + count += crtc->debug.vbl_times[h]; + } + seq_printf(m, "\tUpdates: %llu\n", count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + + for (row = ilog2(max) - 1; row; row--) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl_times); h++) { + if (ilog2(crtc->debug.vbl_times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "\t |%s|\n", buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "\t |%s|\n", buf); + seq_printf(m, "\t 1us (log) 1ms\n"); + + seq_printf(m, "\tMin update: %lluns\n", crtc->debug.min_vbl_time); + seq_printf(m, "\tMax update: %lluns\n", crtc->debug.max_vbl_time); + seq_printf(m, "\tAverage update: %lluns\n", + div64_u64(crtc->debug.sum_vbl_time, count)); + seq_printf(m, "\tOverruns > %uus: %lu\n", + VBLANK_EVASION_TIME_US, crtc->debug.over_vbl_time); +} +#else +static void crtc_vblank_info(struct seq_file *m, struct intel_crtc *crtc) {} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +953,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_vblank_info(m, crtc); } static int i915_display_info(struct seq_file *m, void *unused) diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..eef3b1fa7e92 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,13 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + u64 min_vbl_time; + u64 max_vbl_time; + u64 sum_vbl_time; + unsigned long over_vbl_time; + unsigned int vbl_times[21]; /* [1us, 1ms] */ +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..271bd124b98c 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -61,14 +61,6 @@ int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, 1000 * adjusted_mode->crtc_htotal); } -/* FIXME: We should instead only take spinlocks once for the entire update - * instead of once per mmio. */ -#if IS_ENABLED(CONFIG_PROVE_LOCKING) -#define VBLANK_EVASION_TIME_US 250 -#else -#define VBLANK_EVASION_TIME_US 100 -#endif - /** * intel_pipe_update_start() - start update of a set of display registers * @new_crtc_state: the new crtc state @@ -187,6 +179,37 @@ void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state) local_irq_disable(); } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) +{ + u64 delta = ktime_to_ns(ktime_sub(end, crtc->debug.start_vbl_time)); + unsigned int h; + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl_times)) + h = ARRAY_SIZE(crtc->debug.vbl_times) - 1; + crtc->debug.vbl_times[h]++; + + crtc->debug.sum_vbl_time += delta; + if (!crtc->debug.min_vbl_time || + delta < crtc->debug.min_vbl_time) + crtc->debug.min_vbl_time = delta; + if (delta > crtc->debug.max_vbl_time) + crtc->debug.max_vbl_time = delta; + + if (delta > 1000 * VBLANK_EVASION_TIME_US) { + drm_dbg_kms(crtc->base.dev, + "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", + pipe_name(crtc->pipe), + div_u64(delta, 1000), + VBLANK_EVASION_TIME_US); + crtc->debug.over_vbl_time++; + } +} +#else +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) {} +#endif + /** * intel_pipe_update_end() - end update of a set of display registers * @new_crtc_state: the new crtc state @@ -249,15 +272,8 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.min_vbl, crtc->debug.max_vbl, crtc->debug.scanline_start, scanline_end); } -#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); -#endif + + dbg_vblank_evade(crtc, end_vbl_time); } int intel_plane_check_stride(const struct intel_plane_state *plane_state) diff --git a/drivers/gpu/drm/i915/display/intel_sprite.h b/drivers/gpu/drm/i915/display/intel_sprite.h index cd2104ba1ca1..76126dd8d584 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.h +++ b/drivers/gpu/drm/i915/display/intel_sprite.h @@ -17,6 +17,16 @@ struct drm_i915_private; struct intel_crtc_state; struct intel_plane_state; +/* + * FIXME: We should instead only take spinlocks once for the entire update + * instead of once per mmio. + */ +#if IS_ENABLED(CONFIG_PROVE_LOCKING) +#define VBLANK_EVASION_TIME_US 250 +#else +#define VBLANK_EVASION_TIME_US 100 +#endif + int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, int usecs); struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv, -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* [Intel-gfx] [PATCH v2] drm/i915/display: Record the plane update times for debugging 2020-11-26 21:13 ` Chris Wilson 2020-11-26 21:14 ` Chris Wilson 2020-11-27 11:30 ` Chris Wilson @ 2020-11-27 16:18 ` Chris Wilson 2020-12-02 13:17 ` Chris Wilson 2020-12-02 19:24 ` Ville Syrjälä 2 siblings, 2 replies; 30+ messages in thread From: Chris Wilson @ 2020-11-27 16:18 UTC (permalink / raw) To: intel-gfx; +Cc: Chris Wilson Since we try and estimate how long we require to update the registers to perform a plane update, it is of vital importance that we measure the distribution of plane updates to better guide our estimate. If we underestimate how long it takes to perform the plane update, we may slip into the next scanout frame causing a tear. If we overestimate, we may unnecessarily delay the update to the next frame, causing visible jitter. Replace the warning that we exceed some arbitrary threshold for the vblank update with a histogram for debugfs. v2: Add a per-crtc debugfs entry so that the information is easier to extract when testing individual CRTC, and so that it can be reset before a test. Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> Cc: Jani Nikula <jani.nikula@linux.intel.com> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> --- drivers/gpu/drm/i915/display/intel_display.c | 10 +- .../drm/i915/display/intel_display_debugfs.c | 117 ++++++++++++++++++ .../drm/i915/display/intel_display_debugfs.h | 3 + .../drm/i915/display/intel_display_types.h | 9 ++ drivers/gpu/drm/i915/display/intel_sprite.c | 49 +++++--- drivers/gpu/drm/i915/display/intel_sprite.h | 10 ++ 6 files changed, 180 insertions(+), 18 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index ba26545392bc..9187a20a8aca 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -45,6 +45,7 @@ #include "display/intel_crt.h" #include "display/intel_ddi.h" +#include "display/intel_display_debugfs.h" #include "display/intel_dp.h" #include "display/intel_dp_mst.h" #include "display/intel_dpll_mgr.h" @@ -17266,6 +17267,12 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv, return ERR_PTR(ret); } +static int intel_crtc_late_register(struct drm_crtc *crtc) +{ + intel_crtc_debugfs_add(crtc); + return 0; +} + #define INTEL_CRTC_FUNCS \ .gamma_set = drm_atomic_helper_legacy_gamma_set, \ .set_config = drm_atomic_helper_set_config, \ @@ -17275,7 +17282,8 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv, .atomic_destroy_state = intel_crtc_destroy_state, \ .set_crc_source = intel_crtc_set_crc_source, \ .verify_crc_source = intel_crtc_verify_crc_source, \ - .get_crc_sources = intel_crtc_get_crc_sources + .get_crc_sources = intel_crtc_get_crc_sources, \ + .late_register = intel_crtc_late_register static const struct drm_crtc_funcs bdw_crtc_funcs = { INTEL_CRTC_FUNCS, diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c index ca41e8c00ad7..08db0ff022e0 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c @@ -18,6 +18,7 @@ #include "intel_pm.h" #include "intel_psr.h" #include "intel_sideband.h" +#include "intel_sprite.h" static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) { @@ -865,6 +866,103 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) } } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void crtc_updates_info(struct seq_file *m, + struct intel_crtc *crtc, + const char *hdr) +{ + char buf[ARRAY_SIZE(crtc->debug.vbl.times) + 1] = {}; + int h, row, max; + u64 count; + + max = 0; + count = 0; + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl.times); h++) { + if (crtc->debug.vbl.times[h] > max) + max = crtc->debug.vbl.times[h]; + count += crtc->debug.vbl.times[h]; + } + seq_printf(m, "%sUpdates: %llu\n", hdr, count); + if (!count) + return; + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "%s |%s|\n", hdr, buf); + + for (row = ilog2(max) - 1; row; row--) { + memset(buf, ' ', sizeof(buf) - 1); + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl.times); h++) { + if (ilog2(crtc->debug.vbl.times[h]) >= row) + buf[h] = '*'; + } + seq_printf(m, "%s |%s|\n", hdr, buf); + } + + memset(buf, '-', sizeof(buf) - 1); + seq_printf(m, "%s |%s|\n", hdr, buf); + seq_printf(m, "%s 1us (log) 1ms\n", hdr); + + seq_printf(m, "%sMin update: %lluns\n", + hdr, crtc->debug.vbl.min); + seq_printf(m, "%sMax update: %lluns\n", + hdr, crtc->debug.vbl.max); + seq_printf(m, "%sAverage update: %lluns\n", + hdr, div64_u64(crtc->debug.vbl.sum, count)); + seq_printf(m, "%sOverruns > %uus: %lu\n", + hdr, VBLANK_EVASION_TIME_US, crtc->debug.vbl.over); +} + +static int crtc_updates_show(struct seq_file *m, void *data) +{ + crtc_updates_info(m, m->private, ""); + return 0; +} + +static int crtc_updates_open(struct inode *inode, struct file *file) +{ + return single_open(file, crtc_updates_show, inode->i_private); +} + +static ssize_t crtc_updates_write(struct file *file, + const char __user *ubuf, + size_t len, loff_t *offp) +{ + struct seq_file *m = file->private_data; + struct intel_crtc *crtc = m->private; + + /* May race with an update. Meh. */ + memset(&crtc->debug.vbl, 0, sizeof(crtc->debug.vbl)); + + return len; +} + +static const struct file_operations crtc_updates_fops = { + .owner = THIS_MODULE, + .open = crtc_updates_open, + .read = seq_read, + .llseek = seq_lseek, + .release = single_release, + .write = crtc_updates_write +}; + +static void crtc_updates_add(struct drm_crtc *crtc) +{ + debugfs_create_file("i915_update_info", 0644, crtc->debugfs_entry, + to_intel_crtc(crtc), &crtc_updates_fops); +} + +#else +static void crtc_updates_info(struct seq_file *m, + struct intel_crtc *crtc, + const char *hdr) +{ +} + +static void crtc_updates_add(struct drm_crtc *crtc) +{ +} +#endif + static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) { struct drm_i915_private *dev_priv = node_to_i915(m->private); @@ -907,6 +1005,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", yesno(!crtc->cpu_fifo_underrun_disabled), yesno(!crtc->pch_fifo_underrun_disabled)); + + crtc_updates_info(m, crtc, "\t"); } static int i915_display_info(struct seq_file *m, void *unused) @@ -2278,3 +2378,20 @@ int intel_connector_debugfs_add(struct drm_connector *connector) return 0; } + +/** + * intel_crtc_debugfs_add - add i915 specific crtc debugfs files + * @crtc: pointer to a drm_crtc + * + * Returns 0 on success, negative error codes on error. + * + * Failure to add debugfs entries should generally be ignored. + */ +int intel_crtc_debugfs_add(struct drm_crtc *crtc) +{ + if (!crtc->debugfs_entry) + return -ENODEV; + + crtc_updates_add(crtc); + return 0; +} diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.h b/drivers/gpu/drm/i915/display/intel_display_debugfs.h index c922c1745bfe..557901f3eb90 100644 --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.h +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.h @@ -7,14 +7,17 @@ #define __INTEL_DISPLAY_DEBUGFS_H__ struct drm_connector; +struct drm_crtc; struct drm_i915_private; #ifdef CONFIG_DEBUG_FS void intel_display_debugfs_register(struct drm_i915_private *i915); int intel_connector_debugfs_add(struct drm_connector *connector); +int intel_crtc_debugfs_add(struct drm_crtc *crtc); #else static inline void intel_display_debugfs_register(struct drm_i915_private *i915) {} static inline int intel_connector_debugfs_add(struct drm_connector *connector) { return 0; } +static inline int intel_crtc_debugfs_add(struct drm_crtc *crtc) { return 0; } #endif #endif /* __INTEL_DISPLAY_DEBUGFS_H__ */ diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h index ce82d654d0f2..30c82bc5ca98 100644 --- a/drivers/gpu/drm/i915/display/intel_display_types.h +++ b/drivers/gpu/drm/i915/display/intel_display_types.h @@ -1186,6 +1186,15 @@ struct intel_crtc { ktime_t start_vbl_time; int min_vbl, max_vbl; int scanline_start; +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE + struct { + u64 min; + u64 max; + u64 sum; + unsigned long over; + unsigned int times[21]; /* [1us, 1ms] */ + } vbl; +#endif } debug; /* scalers available on this crtc */ diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c index 019a2d6d807a..b7e208816074 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.c +++ b/drivers/gpu/drm/i915/display/intel_sprite.c @@ -61,14 +61,6 @@ int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, 1000 * adjusted_mode->crtc_htotal); } -/* FIXME: We should instead only take spinlocks once for the entire update - * instead of once per mmio. */ -#if IS_ENABLED(CONFIG_PROVE_LOCKING) -#define VBLANK_EVASION_TIME_US 250 -#else -#define VBLANK_EVASION_TIME_US 100 -#endif - /** * intel_pipe_update_start() - start update of a set of display registers * @new_crtc_state: the new crtc state @@ -187,6 +179,36 @@ void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state) local_irq_disable(); } +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) +{ + u64 delta = ktime_to_ns(ktime_sub(end, crtc->debug.start_vbl_time)); + unsigned int h; + + h = ilog2(delta >> 9); + if (h >= ARRAY_SIZE(crtc->debug.vbl.times)) + h = ARRAY_SIZE(crtc->debug.vbl.times) - 1; + crtc->debug.vbl.times[h]++; + + crtc->debug.vbl.sum += delta; + if (!crtc->debug.vbl.min || delta < crtc->debug.vbl.min) + crtc->debug.vbl.min = delta; + if (delta > crtc->debug.vbl.max) + crtc->debug.vbl.max = delta; + + if (delta > 1000 * VBLANK_EVASION_TIME_US) { + drm_dbg_kms(crtc->base.dev, + "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", + pipe_name(crtc->pipe), + div_u64(delta, 1000), + VBLANK_EVASION_TIME_US); + crtc->debug.vbl.over++; + } +} +#else +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) {} +#endif + /** * intel_pipe_update_end() - end update of a set of display registers * @new_crtc_state: the new crtc state @@ -249,15 +271,8 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) crtc->debug.min_vbl, crtc->debug.max_vbl, crtc->debug.scanline_start, scanline_end); } -#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > - VBLANK_EVASION_TIME_US) - drm_warn(&dev_priv->drm, - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", - pipe_name(pipe), - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), - VBLANK_EVASION_TIME_US); -#endif + + dbg_vblank_evade(crtc, end_vbl_time); } int intel_plane_check_stride(const struct intel_plane_state *plane_state) diff --git a/drivers/gpu/drm/i915/display/intel_sprite.h b/drivers/gpu/drm/i915/display/intel_sprite.h index cd2104ba1ca1..76126dd8d584 100644 --- a/drivers/gpu/drm/i915/display/intel_sprite.h +++ b/drivers/gpu/drm/i915/display/intel_sprite.h @@ -17,6 +17,16 @@ struct drm_i915_private; struct intel_crtc_state; struct intel_plane_state; +/* + * FIXME: We should instead only take spinlocks once for the entire update + * instead of once per mmio. + */ +#if IS_ENABLED(CONFIG_PROVE_LOCKING) +#define VBLANK_EVASION_TIME_US 250 +#else +#define VBLANK_EVASION_TIME_US 100 +#endif + int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, int usecs); struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv, -- 2.20.1 _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply related [flat|nested] 30+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Record the plane update times for debugging 2020-11-27 16:18 ` [Intel-gfx] [PATCH v2] " Chris Wilson @ 2020-12-02 13:17 ` Chris Wilson 2020-12-02 19:24 ` Ville Syrjälä 1 sibling, 0 replies; 30+ messages in thread From: Chris Wilson @ 2020-12-02 13:17 UTC (permalink / raw) To: intel-gfx Quoting Chris Wilson (2020-11-27 16:18:41) > Since we try and estimate how long we require to update the registers to > perform a plane update, it is of vital importance that we measure the > distribution of plane updates to better guide our estimate. If we > underestimate how long it takes to perform the plane update, we may > slip into the next scanout frame causing a tear. If we overestimate, we > may unnecessarily delay the update to the next frame, causing visible > jitter. > > Replace the warning that we exceed some arbitrary threshold for the > vblank update with a histogram for debugfs. > > v2: Add a per-crtc debugfs entry so that the information is easier to > extract when testing individual CRTC, and so that it can be reset before > a test. With the per-crtc reset functionality, we can more easily detect errors under testing, e.g. https://patchwork.freedesktop.org/series/84359/ and suppress the warnings when no one is watching (but are flooding the CI results at present). Any one in favour? -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 30+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Record the plane update times for debugging 2020-11-27 16:18 ` [Intel-gfx] [PATCH v2] " Chris Wilson 2020-12-02 13:17 ` Chris Wilson @ 2020-12-02 19:24 ` Ville Syrjälä 2020-12-02 19:37 ` Chris Wilson 1 sibling, 1 reply; 30+ messages in thread From: Ville Syrjälä @ 2020-12-02 19:24 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx On Fri, Nov 27, 2020 at 04:18:41PM +0000, Chris Wilson wrote: > Since we try and estimate how long we require to update the registers to > perform a plane update, it is of vital importance that we measure the > distribution of plane updates to better guide our estimate. If we > underestimate how long it takes to perform the plane update, we may > slip into the next scanout frame causing a tear. If we overestimate, we > may unnecessarily delay the update to the next frame, causing visible > jitter. > > Replace the warning that we exceed some arbitrary threshold for the > vblank update with a histogram for debugfs. > > v2: Add a per-crtc debugfs entry so that the information is easier to > extract when testing individual CRTC, and so that it can be reset before > a test. > > Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/1982 > Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk> > Cc: Jani Nikula <jani.nikula@linux.intel.com> > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > --- > drivers/gpu/drm/i915/display/intel_display.c | 10 +- > .../drm/i915/display/intel_display_debugfs.c | 117 ++++++++++++++++++ > .../drm/i915/display/intel_display_debugfs.h | 3 + > .../drm/i915/display/intel_display_types.h | 9 ++ > drivers/gpu/drm/i915/display/intel_sprite.c | 49 +++++--- > drivers/gpu/drm/i915/display/intel_sprite.h | 10 ++ > 6 files changed, 180 insertions(+), 18 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index ba26545392bc..9187a20a8aca 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -45,6 +45,7 @@ > > #include "display/intel_crt.h" > #include "display/intel_ddi.h" > +#include "display/intel_display_debugfs.h" > #include "display/intel_dp.h" > #include "display/intel_dp_mst.h" > #include "display/intel_dpll_mgr.h" > @@ -17266,6 +17267,12 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv, > return ERR_PTR(ret); > } > > +static int intel_crtc_late_register(struct drm_crtc *crtc) > +{ > + intel_crtc_debugfs_add(crtc); > + return 0; > +} > + > #define INTEL_CRTC_FUNCS \ > .gamma_set = drm_atomic_helper_legacy_gamma_set, \ > .set_config = drm_atomic_helper_set_config, \ > @@ -17275,7 +17282,8 @@ intel_cursor_plane_create(struct drm_i915_private *dev_priv, > .atomic_destroy_state = intel_crtc_destroy_state, \ > .set_crc_source = intel_crtc_set_crc_source, \ > .verify_crc_source = intel_crtc_verify_crc_source, \ > - .get_crc_sources = intel_crtc_get_crc_sources > + .get_crc_sources = intel_crtc_get_crc_sources, \ > + .late_register = intel_crtc_late_register > > static const struct drm_crtc_funcs bdw_crtc_funcs = { > INTEL_CRTC_FUNCS, > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.c b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > index ca41e8c00ad7..08db0ff022e0 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.c > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.c > @@ -18,6 +18,7 @@ > #include "intel_pm.h" > #include "intel_psr.h" > #include "intel_sideband.h" > +#include "intel_sprite.h" > > static inline struct drm_i915_private *node_to_i915(struct drm_info_node *node) > { > @@ -865,6 +866,103 @@ static void intel_scaler_info(struct seq_file *m, struct intel_crtc *crtc) > } > } > > +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) > +static void crtc_updates_info(struct seq_file *m, > + struct intel_crtc *crtc, > + const char *hdr) > +{ > + char buf[ARRAY_SIZE(crtc->debug.vbl.times) + 1] = {}; > + int h, row, max; > + u64 count; > + > + max = 0; > + count = 0; > + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl.times); h++) { > + if (crtc->debug.vbl.times[h] > max) > + max = crtc->debug.vbl.times[h]; > + count += crtc->debug.vbl.times[h]; > + } > + seq_printf(m, "%sUpdates: %llu\n", hdr, count); > + if (!count) > + return; > + > + memset(buf, '-', sizeof(buf) - 1); > + seq_printf(m, "%s |%s|\n", hdr, buf); > + > + for (row = ilog2(max) - 1; row; row--) { row >= 0? > + memset(buf, ' ', sizeof(buf) - 1); > + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl.times); h++) { > + if (ilog2(crtc->debug.vbl.times[h]) >= row) > + buf[h] = '*'; > + } > + seq_printf(m, "%s |%s|\n", hdr, buf); > + } I have a feeling that putting the graph on its side would make it more readable since then we could easily label more (all even?) of the bins. Right now I'm having a hard time seeing what's what exactly. > + memset(buf, '-', sizeof(buf) - 1); > + seq_printf(m, "%s |%s|\n", hdr, buf); > + seq_printf(m, "%s 1us (log) 1ms\n", hdr); > + > + seq_printf(m, "%sMin update: %lluns\n", > + hdr, crtc->debug.vbl.min); > + seq_printf(m, "%sMax update: %lluns\n", > + hdr, crtc->debug.vbl.max); > + seq_printf(m, "%sAverage update: %lluns\n", > + hdr, div64_u64(crtc->debug.vbl.sum, count)); > + seq_printf(m, "%sOverruns > %uus: %lu\n", > + hdr, VBLANK_EVASION_TIME_US, crtc->debug.vbl.over); > +} > + > +static int crtc_updates_show(struct seq_file *m, void *data) > +{ > + crtc_updates_info(m, m->private, ""); > + return 0; > +} > + > +static int crtc_updates_open(struct inode *inode, struct file *file) > +{ > + return single_open(file, crtc_updates_show, inode->i_private); > +} > + > +static ssize_t crtc_updates_write(struct file *file, > + const char __user *ubuf, > + size_t len, loff_t *offp) > +{ > + struct seq_file *m = file->private_data; > + struct intel_crtc *crtc = m->private; > + > + /* May race with an update. Meh. */ > + memset(&crtc->debug.vbl, 0, sizeof(crtc->debug.vbl)); > + > + return len; > +} > + > +static const struct file_operations crtc_updates_fops = { > + .owner = THIS_MODULE, > + .open = crtc_updates_open, > + .read = seq_read, > + .llseek = seq_lseek, > + .release = single_release, > + .write = crtc_updates_write > +}; > + > +static void crtc_updates_add(struct drm_crtc *crtc) > +{ > + debugfs_create_file("i915_update_info", 0644, crtc->debugfs_entry, > + to_intel_crtc(crtc), &crtc_updates_fops); > +} > + > +#else > +static void crtc_updates_info(struct seq_file *m, > + struct intel_crtc *crtc, > + const char *hdr) > +{ > +} > + > +static void crtc_updates_add(struct drm_crtc *crtc) > +{ > +} > +#endif > + > static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) > { > struct drm_i915_private *dev_priv = node_to_i915(m->private); > @@ -907,6 +1005,8 @@ static void intel_crtc_info(struct seq_file *m, struct intel_crtc *crtc) > seq_printf(m, "\tunderrun reporting: cpu=%s pch=%s\n", > yesno(!crtc->cpu_fifo_underrun_disabled), > yesno(!crtc->pch_fifo_underrun_disabled)); > + > + crtc_updates_info(m, crtc, "\t"); > } > > static int i915_display_info(struct seq_file *m, void *unused) > @@ -2278,3 +2378,20 @@ int intel_connector_debugfs_add(struct drm_connector *connector) > > return 0; > } > + > +/** > + * intel_crtc_debugfs_add - add i915 specific crtc debugfs files > + * @crtc: pointer to a drm_crtc > + * > + * Returns 0 on success, negative error codes on error. > + * > + * Failure to add debugfs entries should generally be ignored. > + */ > +int intel_crtc_debugfs_add(struct drm_crtc *crtc) > +{ > + if (!crtc->debugfs_entry) > + return -ENODEV; > + > + crtc_updates_add(crtc); > + return 0; > +} > diff --git a/drivers/gpu/drm/i915/display/intel_display_debugfs.h b/drivers/gpu/drm/i915/display/intel_display_debugfs.h > index c922c1745bfe..557901f3eb90 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_debugfs.h > +++ b/drivers/gpu/drm/i915/display/intel_display_debugfs.h > @@ -7,14 +7,17 @@ > #define __INTEL_DISPLAY_DEBUGFS_H__ > > struct drm_connector; > +struct drm_crtc; > struct drm_i915_private; > > #ifdef CONFIG_DEBUG_FS > void intel_display_debugfs_register(struct drm_i915_private *i915); > int intel_connector_debugfs_add(struct drm_connector *connector); > +int intel_crtc_debugfs_add(struct drm_crtc *crtc); > #else > static inline void intel_display_debugfs_register(struct drm_i915_private *i915) {} > static inline int intel_connector_debugfs_add(struct drm_connector *connector) { return 0; } > +static inline int intel_crtc_debugfs_add(struct drm_crtc *crtc) { return 0; } > #endif > > #endif /* __INTEL_DISPLAY_DEBUGFS_H__ */ > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > index ce82d654d0f2..30c82bc5ca98 100644 > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > @@ -1186,6 +1186,15 @@ struct intel_crtc { > ktime_t start_vbl_time; > int min_vbl, max_vbl; > int scanline_start; > +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE > + struct { > + u64 min; > + u64 max; > + u64 sum; > + unsigned long over; Was there a particular reason for the long? The bins are ints so can't really see why this couldn't be an in too. Apart from those lgtm Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > + unsigned int times[21]; /* [1us, 1ms] */ > + } vbl; > +#endif > } debug; > > /* scalers available on this crtc */ > diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c > index 019a2d6d807a..b7e208816074 100644 > --- a/drivers/gpu/drm/i915/display/intel_sprite.c > +++ b/drivers/gpu/drm/i915/display/intel_sprite.c > @@ -61,14 +61,6 @@ int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, > 1000 * adjusted_mode->crtc_htotal); > } > > -/* FIXME: We should instead only take spinlocks once for the entire update > - * instead of once per mmio. */ > -#if IS_ENABLED(CONFIG_PROVE_LOCKING) > -#define VBLANK_EVASION_TIME_US 250 > -#else > -#define VBLANK_EVASION_TIME_US 100 > -#endif > - > /** > * intel_pipe_update_start() - start update of a set of display registers > * @new_crtc_state: the new crtc state > @@ -187,6 +179,36 @@ void intel_pipe_update_start(const struct intel_crtc_state *new_crtc_state) > local_irq_disable(); > } > > +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) > +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) > +{ > + u64 delta = ktime_to_ns(ktime_sub(end, crtc->debug.start_vbl_time)); > + unsigned int h; > + > + h = ilog2(delta >> 9); > + if (h >= ARRAY_SIZE(crtc->debug.vbl.times)) > + h = ARRAY_SIZE(crtc->debug.vbl.times) - 1; > + crtc->debug.vbl.times[h]++; > + > + crtc->debug.vbl.sum += delta; > + if (!crtc->debug.vbl.min || delta < crtc->debug.vbl.min) > + crtc->debug.vbl.min = delta; > + if (delta > crtc->debug.vbl.max) > + crtc->debug.vbl.max = delta; > + > + if (delta > 1000 * VBLANK_EVASION_TIME_US) { > + drm_dbg_kms(crtc->base.dev, > + "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", > + pipe_name(crtc->pipe), > + div_u64(delta, 1000), > + VBLANK_EVASION_TIME_US); > + crtc->debug.vbl.over++; > + } > +} > +#else > +static void dbg_vblank_evade(struct intel_crtc *crtc, ktime_t end) {} > +#endif > + > /** > * intel_pipe_update_end() - end update of a set of display registers > * @new_crtc_state: the new crtc state > @@ -249,15 +271,8 @@ void intel_pipe_update_end(struct intel_crtc_state *new_crtc_state) > crtc->debug.min_vbl, crtc->debug.max_vbl, > crtc->debug.scanline_start, scanline_end); > } > -#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE > - else if (ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time) > > - VBLANK_EVASION_TIME_US) > - drm_warn(&dev_priv->drm, > - "Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", > - pipe_name(pipe), > - ktime_us_delta(end_vbl_time, crtc->debug.start_vbl_time), > - VBLANK_EVASION_TIME_US); > -#endif > + > + dbg_vblank_evade(crtc, end_vbl_time); > } > > int intel_plane_check_stride(const struct intel_plane_state *plane_state) > diff --git a/drivers/gpu/drm/i915/display/intel_sprite.h b/drivers/gpu/drm/i915/display/intel_sprite.h > index cd2104ba1ca1..76126dd8d584 100644 > --- a/drivers/gpu/drm/i915/display/intel_sprite.h > +++ b/drivers/gpu/drm/i915/display/intel_sprite.h > @@ -17,6 +17,16 @@ struct drm_i915_private; > struct intel_crtc_state; > struct intel_plane_state; > > +/* > + * FIXME: We should instead only take spinlocks once for the entire update > + * instead of once per mmio. > + */ > +#if IS_ENABLED(CONFIG_PROVE_LOCKING) > +#define VBLANK_EVASION_TIME_US 250 > +#else > +#define VBLANK_EVASION_TIME_US 100 > +#endif > + > int intel_usecs_to_scanlines(const struct drm_display_mode *adjusted_mode, > int usecs); > struct intel_plane *intel_sprite_plane_create(struct drm_i915_private *dev_priv, > -- > 2.20.1 -- 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] 30+ messages in thread
* Re: [Intel-gfx] [PATCH v2] drm/i915/display: Record the plane update times for debugging 2020-12-02 19:24 ` Ville Syrjälä @ 2020-12-02 19:37 ` Chris Wilson 0 siblings, 0 replies; 30+ messages in thread From: Chris Wilson @ 2020-12-02 19:37 UTC (permalink / raw) To: Ville Syrjälä; +Cc: intel-gfx Quoting Ville Syrjälä (2020-12-02 19:24:33) > On Fri, Nov 27, 2020 at 04:18:41PM +0000, Chris Wilson wrote: > > +#if IS_ENABLED(CONFIG_DRM_I915_DEBUG_VBLANK_EVADE) > > +static void crtc_updates_info(struct seq_file *m, > > + struct intel_crtc *crtc, > > + const char *hdr) > > +{ > > + char buf[ARRAY_SIZE(crtc->debug.vbl.times) + 1] = {}; > > + int h, row, max; > > + u64 count; > > + > > + max = 0; > > + count = 0; > > + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl.times); h++) { > > + if (crtc->debug.vbl.times[h] > max) > > + max = crtc->debug.vbl.times[h]; > > + count += crtc->debug.vbl.times[h]; > > + } > > + seq_printf(m, "%sUpdates: %llu\n", hdr, count); > > + if (!count) > > + return; > > + > > + memset(buf, '-', sizeof(buf) - 1); > > + seq_printf(m, "%s |%s|\n", hdr, buf); > > + > > + for (row = ilog2(max) - 1; row; row--) { > > row >= 0? I skipped the last row, as the ilog2() would also catch all the empty bins. The alternative is s/>=/>/, but my gut feeling was because of the rounding down from ilog2, >= would be better. > > + memset(buf, ' ', sizeof(buf) - 1); > > + for (h = 0; h < ARRAY_SIZE(crtc->debug.vbl.times); h++) { > > + if (ilog2(crtc->debug.vbl.times[h]) >= row) > > + buf[h] = '*'; > > + } > > + seq_printf(m, "%s |%s|\n", hdr, buf); > > + } > > I have a feeling that putting the graph on its side would make it more > readable since then we could easily label more (all even?) of the bins. > Right now I'm having a hard time seeing what's what exactly. Ok, labelling the axis (axes if you are lucky) is a definite advantage. > > diff --git a/drivers/gpu/drm/i915/display/intel_display_types.h b/drivers/gpu/drm/i915/display/intel_display_types.h > > index ce82d654d0f2..30c82bc5ca98 100644 > > --- a/drivers/gpu/drm/i915/display/intel_display_types.h > > +++ b/drivers/gpu/drm/i915/display/intel_display_types.h > > @@ -1186,6 +1186,15 @@ struct intel_crtc { > > ktime_t start_vbl_time; > > int min_vbl, max_vbl; > > int scanline_start; > > +#ifdef CONFIG_DRM_I915_DEBUG_VBLANK_EVADE > > + struct { > > + u64 min; > > + u64 max; > > + u64 sum; > > + unsigned long over; > > Was there a particular reason for the long? The bins are > ints so can't really see why this couldn't be an in too. A touch of pessimism. -Chris _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev2) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (2 preceding siblings ...) 2020-11-23 16:27 ` [Intel-gfx] [PATCH v2] " Chris Wilson @ 2020-11-23 16:58 ` Patchwork 2020-11-23 17:27 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (11 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-23 16:58 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev2) URL : https://patchwork.freedesktop.org/series/84174/ State : warning == Summary == $ dim checkpatch origin/drm-tip 38fb4e810247 drm/i915/display: Record the plane update times for debugging -:64: WARNING:PREFER_SEQ_PUTS: Prefer seq_puts to seq_printf #64: FILE: drivers/gpu/drm/i915/display/intel_display_debugfs.c:900: + seq_printf(m, "\t 1us (log) 1ms\n"); total: 0 errors, 1 warnings, 0 checks, 106 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Record the plane update times for debugging (rev2) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (3 preceding siblings ...) 2020-11-23 16:58 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev2) Patchwork @ 2020-11-23 17:27 ` Patchwork 2020-11-23 20:23 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork ` (10 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-23 17:27 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 4913 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev2) URL : https://patchwork.freedesktop.org/series/84174/ State : success == Summary == CI Bug Log - changes from CI_DRM_9376 -> Patchwork_18959 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/index.html New tests --------- New tests have been introduced between CI_DRM_9376 and Patchwork_18959: ### New CI tests (1) ### * boot: - Statuses : 39 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18959 that come from known issues: ### IGT changes ### #### Possible fixes #### * igt@debugfs_test@read_all_entries: - fi-tgl-y: [DMESG-WARN][1] ([i915#402]) -> [PASS][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-tgl-y/igt@debugfs_test@read_all_entries.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/fi-tgl-y/igt@debugfs_test@read_all_entries.html * igt@gem_exec_suspend@basic-s0: - fi-cfl-8109u: [DMESG-WARN][3] ([i915#165] / [i915#262]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/fi-cfl-8109u/igt@gem_exec_suspend@basic-s0.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-tgl-y: [DMESG-WARN][5] ([i915#1982]) -> [PASS][6] +2 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-bsw-n3050: [DMESG-WARN][7] ([i915#1982]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-kbl-soraka: [DMESG-WARN][9] ([i915#1982]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-apl-guc: [DMESG-WARN][11] ([i915#1635] / [i915#1982]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic: - fi-icl-u2: [DMESG-WARN][13] ([i915#1982]) -> [PASS][14] +2 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/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][15] ([i915#2411] / [i915#402]) -> [DMESG-WARN][16] ([i915#2411]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/fi-tgl-y/igt@gem_exec_suspend@basic-s3.html [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [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 Participating hosts (45 -> 39) ------------------------------ Missing (6): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-bwr-2160 fi-bsw-kefka fi-bdw-samus Build changes ------------- * Linux: CI_DRM_9376 -> Patchwork_18959 CI-20190529: 20190529 CI_DRM_9376: d08ea807a6466f311fe921872bc18cfc384ae281 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5865: 76b7d1ecf6a3c0a5a538146bb055d0eb5fe232d0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18959: 38fb4e810247fd191cdd433426981245e7d3c5df @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 38fb4e810247 drm/i915/display: Record the plane update times for debugging == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/index.html [-- Attachment #1.2: Type: text/html, Size: 6092 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] 30+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Record the plane update times for debugging (rev2) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (4 preceding siblings ...) 2020-11-23 17:27 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2020-11-23 20:23 ` Patchwork 2020-11-24 22:32 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev3) Patchwork ` (9 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-23 20:23 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 16222 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev2) URL : https://patchwork.freedesktop.org/series/84174/ State : success == Summary == CI Bug Log - changes from CI_DRM_9376_full -> Patchwork_18959_full ==================================================== Summary ------- **SUCCESS** No regressions found. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_18959_full: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@kms_flip_tiling@flip-to-x-tiled@edp-1-pipe-c}: - shard-skl: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl4/igt@kms_flip_tiling@flip-to-x-tiled@edp-1-pipe-c.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl1/igt@kms_flip_tiling@flip-to-x-tiled@edp-1-pipe-c.html New tests --------- New tests have been introduced between CI_DRM_9376_full and Patchwork_18959_full: ### New CI tests (1) ### * boot: - Statuses : 175 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18959_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_whisper@basic-contexts-priority-all: - shard-glk: [PASS][3] -> [DMESG-WARN][4] ([i915#118] / [i915#95]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-glk8/igt@gem_exec_whisper@basic-contexts-priority-all.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-glk2/igt@gem_exec_whisper@basic-contexts-priority-all.html * igt@gem_workarounds@suspend-resume-fd: - shard-glk: [PASS][5] -> [INCOMPLETE][6] ([i915#2199] / [i915#2405]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-glk1/igt@gem_workarounds@suspend-resume-fd.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-glk9/igt@gem_workarounds@suspend-resume-fd.html * igt@kms_cursor_crc@pipe-c-cursor-64x64-onscreen: - shard-skl: [PASS][7] -> [FAIL][8] ([i915#54]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl5/igt@kms_cursor_crc@pipe-c-cursor-64x64-onscreen.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl10/igt@kms_cursor_crc@pipe-c-cursor-64x64-onscreen.html * igt@kms_cursor_legacy@flip-vs-cursor-toggle: - shard-tglb: [PASS][9] -> [FAIL][10] ([i915#2346]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-tglb3/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-tglb6/igt@kms_cursor_legacy@flip-vs-cursor-toggle.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1: - shard-skl: [PASS][11] -> [FAIL][12] ([i915#79]) +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl9/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible@b-edp1.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-tglb: [PASS][13] -> [FAIL][14] ([i915#2598]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-tglb6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-tglb8/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_flip@flip-vs-suspend@b-dp1: - shard-kbl: [PASS][15] -> [DMESG-WARN][16] ([i915#180]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-kbl1/igt@kms_flip@flip-vs-suspend@b-dp1.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-kbl6/igt@kms_flip@flip-vs-suspend@b-dp1.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [PASS][17] -> [FAIL][18] ([fdo#108145] / [i915#265]) +2 similar issues [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_psr@psr2_primary_page_flip: - shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109441]) [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-iclb2/igt@kms_psr@psr2_primary_page_flip.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-iclb7/igt@kms_psr@psr2_primary_page_flip.html * igt@kms_universal_plane@universal-plane-pipe-c-functional: - shard-skl: [PASS][21] -> [FAIL][22] ([i915#331]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl8/igt@kms_universal_plane@universal-plane-pipe-c-functional.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl9/igt@kms_universal_plane@universal-plane-pipe-c-functional.html - shard-kbl: [PASS][23] -> [FAIL][24] ([i915#331]) [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-kbl2/igt@kms_universal_plane@universal-plane-pipe-c-functional.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-kbl2/igt@kms_universal_plane@universal-plane-pipe-c-functional.html - shard-apl: [PASS][25] -> [FAIL][26] ([i915#1635] / [i915#331]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-apl4/igt@kms_universal_plane@universal-plane-pipe-c-functional.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-apl7/igt@kms_universal_plane@universal-plane-pipe-c-functional.html #### Possible fixes #### * igt@gem_eio@in-flight-contexts-10ms: - shard-skl: [DMESG-WARN][27] ([i915#1037] / [i915#1982]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl5/igt@gem_eio@in-flight-contexts-10ms.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl4/igt@gem_eio@in-flight-contexts-10ms.html * igt@i915_module_load@reload: - shard-iclb: [DMESG-WARN][29] ([i915#1982]) -> [PASS][30] +1 similar issue [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-iclb1/igt@i915_module_load@reload.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-iclb7/igt@i915_module_load@reload.html * {igt@kms_async_flips@alternate-sync-async-flip}: - shard-skl: [FAIL][31] ([i915#2521]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl4/igt@kms_async_flips@alternate-sync-async-flip.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl1/igt@kms_async_flips@alternate-sync-async-flip.html * {igt@kms_async_flips@test-time-stamp}: - shard-tglb: [FAIL][33] ([i915#2597]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-tglb1/igt@kms_async_flips@test-time-stamp.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-tglb3/igt@kms_async_flips@test-time-stamp.html * igt@kms_color@pipe-b-ctm-negative: - shard-skl: [DMESG-WARN][35] ([i915#1982]) -> [PASS][36] +60 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl3/igt@kms_color@pipe-b-ctm-negative.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl8/igt@kms_color@pipe-b-ctm-negative.html * igt@kms_cursor_crc@pipe-c-cursor-128x128-random: - shard-skl: [FAIL][37] ([i915#54]) -> [PASS][38] +4 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl4/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl7/igt@kms_cursor_crc@pipe-c-cursor-128x128-random.html * igt@kms_flip@flip-vs-expired-vblank@a-edp1: - shard-skl: [FAIL][39] ([i915#79]) -> [PASS][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl6/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl7/igt@kms_flip@flip-vs-expired-vblank@a-edp1.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1: - shard-skl: [FAIL][41] ([i915#2122]) -> [PASS][42] [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl10/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html * {igt@kms_flip_tiling@flip-to-x-tiled@dp-1-pipe-a}: - shard-kbl: [DMESG-WARN][43] ([i915#1982]) -> [PASS][44] +4 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-kbl3/igt@kms_flip_tiling@flip-to-x-tiled@dp-1-pipe-a.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-kbl4/igt@kms_flip_tiling@flip-to-x-tiled@dp-1-pipe-a.html * igt@kms_lease@page_flip_implicit_plane: - shard-apl: [DMESG-WARN][45] ([i915#1635] / [i915#1982]) -> [PASS][46] +2 similar issues [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-apl4/igt@kms_lease@page_flip_implicit_plane.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-apl7/igt@kms_lease@page_flip_implicit_plane.html * igt@kms_rmfb@rmfb-ioctl: - shard-glk: [DMESG-WARN][47] ([i915#1982]) -> [PASS][48] +3 similar issues [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-glk8/igt@kms_rmfb@rmfb-ioctl.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-glk4/igt@kms_rmfb@rmfb-ioctl.html * igt@kms_universal_plane@universal-plane-gen9-features-pipe-b: - shard-tglb: [DMESG-WARN][49] ([i915#1982]) -> [PASS][50] +4 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-tglb1/igt@kms_universal_plane@universal-plane-gen9-features-pipe-b.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-tglb3/igt@kms_universal_plane@universal-plane-gen9-features-pipe-b.html * igt@perf@blocking: - shard-skl: [FAIL][51] ([i915#1542]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl7/igt@perf@blocking.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl8/igt@perf@blocking.html #### Warnings #### * igt@gem_workarounds@suspend-resume: - shard-glk: [INCOMPLETE][53] ([i915#2635]) -> [DMESG-WARN][54] ([i915#2635]) [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-glk7/igt@gem_workarounds@suspend-resume.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-glk2/igt@gem_workarounds@suspend-resume.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-iclb: [WARN][55] ([i915#1804]) -> [FAIL][56] ([i915#2680]) [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-iclb7/igt@i915_pm_rc6_residency@rc6-idle.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-iclb7/igt@i915_pm_rc6_residency@rc6-idle.html * igt@kms_plane_alpha_blend@pipe-a-alpha-basic: - shard-apl: [DMESG-FAIL][57] ([fdo#108145] / [i915#1635] / [i915#1982]) -> [FAIL][58] ([fdo#108145] / [i915#1635] / [i915#265]) [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-apl3/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html - shard-skl: [DMESG-FAIL][59] ([fdo#108145] / [i915#1982]) -> [FAIL][60] ([fdo#108145] / [i915#265]) [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-skl9/igt@kms_plane_alpha_blend@pipe-a-alpha-basic.html * igt@runner@aborted: - shard-glk: ([FAIL][61], [FAIL][62]) ([i915#2295] / [i915#483] / [k.org#202321]) -> ([FAIL][63], [FAIL][64]) ([i915#2295] / [k.org#202321]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-glk7/igt@runner@aborted.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-glk9/igt@runner@aborted.html [63]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-glk1/igt@runner@aborted.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-glk2/igt@runner@aborted.html - shard-tglb: ([FAIL][65], [FAIL][66], [FAIL][67]) ([i915#1602] / [i915#1814] / [i915#2295] / [i915#2426]) -> ([FAIL][68], [FAIL][69]) ([i915#1602] / [i915#2295]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-tglb7/igt@runner@aborted.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-tglb6/igt@runner@aborted.html [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9376/shard-tglb2/igt@runner@aborted.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-tglb1/igt@runner@aborted.html [69]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18959/shard-tglb8/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 [i915#1037]: https://gitlab.freedesktop.org/drm/intel/issues/1037 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#1602]: https://gitlab.freedesktop.org/drm/intel/issues/1602 [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2199]: https://gitlab.freedesktop.org/drm/intel/issues/2199 [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2405]: https://gitlab.freedesktop.org/drm/intel/issues/2405 [i915#2426]: https://gitlab.freedesktop.org/drm/intel/issues/2426 [i915#2521]: https://gitlab.freedesktop.org/drm/intel/issues/2521 [i915#2597]: https://gitlab.freedesktop.org/drm/intel/issues/2597 [i915#2598]: https://gitlab.freedesktop.org/drm/intel/issues/2598 [i915#2635]: https://gitlab.freedesktop.org/drm/intel/issues/2635 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#2680]: https://gitlab.freedesktop.org/drm/intel/issues/2680 [i915#331]: https://gitlab.freedesktop.org/drm/intel/issues/331 [i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 [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_9376 -> Patchwork_18959 CI-20190529: 20190529 CI_DRM_9376: d08ea807a6466f311fe921872bc18cfc384ae281 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5865: 76b7d1ecf6a3c0a5a538146bb055d0eb5fe232d0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18959: 38fb4e810247fd191cdd433426981245e7d3c5df @ 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_18959/index.html [-- Attachment #1.2: Type: text/html, Size: 19626 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] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev3) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (5 preceding siblings ...) 2020-11-23 20:23 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork @ 2020-11-24 22:32 ` Patchwork 2020-11-25 16:35 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev4) Patchwork ` (8 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-24 22:32 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev3) URL : https://patchwork.freedesktop.org/series/84174/ State : failure == Summary == CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh DESCEND objtool CHK include/generated/compile.h CC [M] drivers/gpu/drm/i915/display/intel_display_debugfs.o drivers/gpu/drm/i915/display/intel_display_debugfs.c: In function ‘crtc_vblank_info’: drivers/gpu/drm/i915/display/intel_display_debugfs.c:907:6: error: ‘VBLANK_EVASION_TIME_US’ undeclared (first use in this function); did you mean ‘DMAR_OPERATION_TIMEOUT’? VBLANK_EVASION_TIME_US, crtc->debug.over_vbl_time); ^~~~~~~~~~~~~~~~~~~~~~ DMAR_OPERATION_TIMEOUT drivers/gpu/drm/i915/display/intel_display_debugfs.c:907:6: note: each undeclared identifier is reported only once for each function it appears in scripts/Makefile.build:283: recipe for target 'drivers/gpu/drm/i915/display/intel_display_debugfs.o' failed make[4]: *** [drivers/gpu/drm/i915/display/intel_display_debugfs.o] Error 1 scripts/Makefile.build:500: recipe for target 'drivers/gpu/drm/i915' failed make[3]: *** [drivers/gpu/drm/i915] Error 2 scripts/Makefile.build:500: recipe for target 'drivers/gpu/drm' failed make[2]: *** [drivers/gpu/drm] Error 2 scripts/Makefile.build:500: recipe for target 'drivers/gpu' failed make[1]: *** [drivers/gpu] Error 2 Makefile:1799: 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] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev4) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (6 preceding siblings ...) 2020-11-24 22:32 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev3) Patchwork @ 2020-11-25 16:35 ` Patchwork 2020-11-25 17:05 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (7 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-25 16:35 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev4) URL : https://patchwork.freedesktop.org/series/84174/ State : warning == Summary == $ dim checkpatch origin/drm-tip 9b0c89d666a5 drm/i915/display: Record the plane update times for debugging -:73: WARNING:PREFER_SEQ_PUTS: Prefer seq_puts to seq_printf #73: FILE: drivers/gpu/drm/i915/display/intel_display_debugfs.c:901: + seq_printf(m, "\t 1us (log) 1ms\n"); total: 0 errors, 1 warnings, 0 checks, 144 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Record the plane update times for debugging (rev4) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (7 preceding siblings ...) 2020-11-25 16:35 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev4) Patchwork @ 2020-11-25 17:05 ` Patchwork 2020-11-25 18:18 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork ` (6 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-25 17:05 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 5687 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev4) URL : https://patchwork.freedesktop.org/series/84174/ State : success == Summary == CI Bug Log - changes from CI_DRM_9389 -> Patchwork_18976 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/index.html New tests --------- New tests have been introduced between CI_DRM_9389 and Patchwork_18976: ### New CI tests (1) ### * boot: - Statuses : 39 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18976 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_create@basic: - fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) +1 similar issue [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-tgl-y/igt@gem_exec_create@basic.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-tgl-y/igt@gem_exec_create@basic.html * igt@i915_pm_rpm@module-reload: - fi-kbl-7500u: [PASS][3] -> [DMESG-WARN][4] ([i915#203]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-kbl-7500u/igt@i915_pm_rpm@module-reload.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-kbl-7500u/igt@i915_pm_rpm@module-reload.html #### Possible fixes #### * igt@kms_chamelium@dp-crc-fast: - fi-cml-u2: [DMESG-WARN][5] ([i915#1982]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-cml-u2/igt@kms_chamelium@dp-crc-fast.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-tgl-y: [DMESG-WARN][7] ([i915#1982]) -> [PASS][8] +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-bsw-n3050: [DMESG-WARN][9] ([i915#1982]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-byt-j1900: [DMESG-WARN][11] ([i915#1982]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-byt-j1900/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-byt-j1900/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-kbl-soraka: [DMESG-WARN][13] ([i915#1982]) -> [PASS][14] [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-apl-guc: [DMESG-WARN][15] ([i915#1635] / [i915#1982]) -> [PASS][16] [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-flip-before-cursor-atomic: - fi-icl-u2: [DMESG-WARN][17] ([i915#1982]) -> [PASS][18] +1 similar issue [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-icl-u2/igt@kms_cursor_legacy@basic-flip-before-cursor-atomic.html * igt@prime_self_import@basic-with_one_bo: - fi-tgl-y: [DMESG-WARN][19] ([i915#402]) -> [PASS][20] +1 similar issue [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/fi-tgl-y/igt@prime_self_import@basic-with_one_bo.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/fi-tgl-y/igt@prime_self_import@basic-with_one_bo.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#203]: https://gitlab.freedesktop.org/drm/intel/issues/203 [i915#2417]: https://gitlab.freedesktop.org/drm/intel/issues/2417 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (43 -> 39) ------------------------------ Additional (1): fi-bwr-2160 Missing (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-bsw-kefka fi-bdw-samus Build changes ------------- * Linux: CI_DRM_9389 -> Patchwork_18976 CI-20190529: 20190529 CI_DRM_9389: b0c2cf3ad04abd9e7a44abe12e736bb5ab587393 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5870: 08b13995b85df26a77212e4fb21fd772976ef33c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18976: 9b0c89d666a5af7da417f1ee4d9ed834f71203fe @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 9b0c89d666a5 drm/i915/display: Record the plane update times for debugging == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/index.html [-- Attachment #1.2: Type: text/html, Size: 6934 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] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.IGT: failure for drm/i915/display: Record the plane update times for debugging (rev4) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (8 preceding siblings ...) 2020-11-25 17:05 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2020-11-25 18:18 ` Patchwork 2020-11-27 8:23 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev6) Patchwork ` (5 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-25 18:18 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 14955 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev4) URL : https://patchwork.freedesktop.org/series/84174/ State : failure == Summary == CI Bug Log - changes from CI_DRM_9389_full -> Patchwork_18976_full ==================================================== Summary ------- **FAILURE** Serious unknown changes coming with Patchwork_18976_full absolutely need to be verified manually. If you think the reported changes have nothing to do with the changes introduced in Patchwork_18976_full, please notify your bug team to allow them to document this new failure mode, which will reduce false positives in CI. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_18976_full: ### IGT changes ### #### Possible regressions #### * igt@gem_exec_whisper@basic-queues-forked-all: - shard-iclb: [PASS][1] -> [INCOMPLETE][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-iclb6/igt@gem_exec_whisper@basic-queues-forked-all.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-iclb7/igt@gem_exec_whisper@basic-queues-forked-all.html * igt@i915_selftest@live@gem_contexts: - shard-skl: NOTRUN -> [INCOMPLETE][3] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl3/igt@i915_selftest@live@gem_contexts.html New tests --------- New tests have been introduced between CI_DRM_9389_full and Patchwork_18976_full: ### New CI tests (1) ### * boot: - Statuses : 200 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18976_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_pm_rc6_residency@rc6-fence: - shard-hsw: [PASS][4] -> [WARN][5] ([i915#1519]) [4]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-hsw1/igt@i915_pm_rc6_residency@rc6-fence.html [5]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-hsw5/igt@i915_pm_rc6_residency@rc6-fence.html * igt@kms_cursor_crc@pipe-a-cursor-256x85-onscreen: - shard-skl: [PASS][6] -> [FAIL][7] ([i915#54]) +1 similar issue [6]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl4/igt@kms_cursor_crc@pipe-a-cursor-256x85-onscreen.html [7]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl1/igt@kms_cursor_crc@pipe-a-cursor-256x85-onscreen.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic: - shard-skl: [PASS][8] -> [FAIL][9] ([i915#2346]) [8]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html [9]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-varying-size: - shard-tglb: [PASS][10] -> [FAIL][11] ([i915#2346]) [10]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-tglb2/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html [11]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-tglb7/igt@kms_cursor_legacy@flip-vs-cursor-varying-size.html * igt@kms_flip@flip-vs-suspend@c-dp1: - shard-kbl: [PASS][12] -> [INCOMPLETE][13] ([i915#636]) [12]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-kbl4/igt@kms_flip@flip-vs-suspend@c-dp1.html [13]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-kbl6/igt@kms_flip@flip-vs-suspend@c-dp1.html * igt@kms_flip@flip-vs-suspend@c-edp1: - shard-skl: [PASS][14] -> [INCOMPLETE][15] ([i915#198]) [14]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl10/igt@kms_flip@flip-vs-suspend@c-edp1.html [15]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl7/igt@kms_flip@flip-vs-suspend@c-edp1.html * igt@kms_psr@psr2_cursor_plane_onoff: - shard-iclb: [PASS][16] -> [SKIP][17] ([fdo#109441]) +1 similar issue [16]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-iclb2/igt@kms_psr@psr2_cursor_plane_onoff.html [17]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-iclb5/igt@kms_psr@psr2_cursor_plane_onoff.html * igt@sysfs_timeslice_duration@timeout@vecs0: - shard-skl: [PASS][18] -> [FAIL][19] ([i915#1732]) [18]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl6/igt@sysfs_timeslice_duration@timeout@vecs0.html [19]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl5/igt@sysfs_timeslice_duration@timeout@vecs0.html #### Possible fixes #### * igt@gem_exec_whisper@basic-fds-forked: - shard-glk: [DMESG-WARN][20] ([i915#118] / [i915#95]) -> [PASS][21] [20]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-glk4/igt@gem_exec_whisper@basic-fds-forked.html [21]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-glk2/igt@gem_exec_whisper@basic-fds-forked.html * igt@kms_busy@basic-modeset-pipe-c: - shard-hsw: [DMESG-WARN][22] ([i915#44]) -> [PASS][23] [22]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-hsw4/igt@kms_busy@basic-modeset-pipe-c.html [23]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-hsw7/igt@kms_busy@basic-modeset-pipe-c.html * igt@kms_cursor_crc@pipe-b-cursor-64x64-offscreen: - shard-skl: [FAIL][24] ([i915#54]) -> [PASS][25] +2 similar issues [24]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl6/igt@kms_cursor_crc@pipe-b-cursor-64x64-offscreen.html [25]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-64x64-offscreen.html * igt@kms_cursor_edge_walk@pipe-c-256x256-left-edge: - shard-apl: [DMESG-WARN][26] ([i915#1635] / [i915#1982]) -> [PASS][27] +4 similar issues [26]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-apl3/igt@kms_cursor_edge_walk@pipe-c-256x256-left-edge.html [27]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-apl3/igt@kms_cursor_edge_walk@pipe-c-256x256-left-edge.html * igt@kms_cursor_legacy@basic-flip-before-cursor-legacy: - shard-glk: [DMESG-WARN][28] ([i915#1982]) -> [PASS][29] +4 similar issues [28]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-glk1/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html [29]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-glk7/igt@kms_cursor_legacy@basic-flip-before-cursor-legacy.html * igt@kms_cursor_legacy@cursor-vs-flip-atomic: - shard-skl: [DMESG-WARN][30] ([i915#1982] / [i915#2295]) -> [PASS][31] [30]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl1/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html [31]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl9/igt@kms_cursor_legacy@cursor-vs-flip-atomic.html * igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic: - shard-skl: [FAIL][32] ([i915#2346]) -> [PASS][33] [32]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl1/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic.html [33]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-busy-crc-atomic.html * igt@kms_fbcon_fbt@fbc: - shard-glk: [FAIL][34] ([i915#64]) -> [PASS][35] [34]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-glk6/igt@kms_fbcon_fbt@fbc.html [35]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-glk7/igt@kms_fbcon_fbt@fbc.html * igt@kms_flip@flip-vs-expired-vblank@c-edp1: - shard-skl: [FAIL][36] ([i915#79]) -> [PASS][37] [36]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl4/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html [37]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl1/igt@kms_flip@flip-vs-expired-vblank@c-edp1.html * igt@kms_flip@flip-vs-rmfb-interruptible@c-dp1: - shard-kbl: [DMESG-WARN][38] ([i915#62]) -> [PASS][39] [38]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-kbl2/igt@kms_flip@flip-vs-rmfb-interruptible@c-dp1.html [39]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-kbl7/igt@kms_flip@flip-vs-rmfb-interruptible@c-dp1.html * {igt@kms_flip_tiling@flip-to-yf-tiled@edp-1-pipe-a}: - shard-skl: [DMESG-WARN][40] ([i915#1982]) -> [PASS][41] +82 similar issues [40]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl1/igt@kms_flip_tiling@flip-to-yf-tiled@edp-1-pipe-a.html [41]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl9/igt@kms_flip_tiling@flip-to-yf-tiled@edp-1-pipe-a.html * igt@kms_frontbuffer_tracking@fbc-stridechange: - shard-tglb: [DMESG-WARN][42] ([i915#1982]) -> [PASS][43] +2 similar issues [42]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-stridechange.html [43]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-stridechange.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes: - shard-skl: [INCOMPLETE][44] ([i915#198]) -> [PASS][45] [44]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl5/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html [45]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl10/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [FAIL][46] ([fdo#108145] / [i915#265]) -> [PASS][47] +1 similar issue [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl2/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_psr@psr2_sprite_plane_move: - shard-iclb: [SKIP][48] ([fdo#109441]) -> [PASS][49] +1 similar issue [48]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-iclb4/igt@kms_psr@psr2_sprite_plane_move.html [49]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-iclb2/igt@kms_psr@psr2_sprite_plane_move.html * igt@kms_vblank@pipe-b-wait-forked-busy: - shard-kbl: [DMESG-WARN][50] ([i915#1982]) -> [PASS][51] +5 similar issues [50]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-kbl1/igt@kms_vblank@pipe-b-wait-forked-busy.html [51]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-kbl2/igt@kms_vblank@pipe-b-wait-forked-busy.html * igt@perf_pmu@module-unload: - shard-apl: [DMESG-WARN][52] ([i915#1635] / [i915#1982] / [i915#262]) -> [PASS][53] [52]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-apl3/igt@perf_pmu@module-unload.html [53]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-apl3/igt@perf_pmu@module-unload.html - shard-skl: [DMESG-WARN][54] ([i915#1982] / [i915#262]) -> [PASS][55] [54]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl8/igt@perf_pmu@module-unload.html [55]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl8/igt@perf_pmu@module-unload.html * igt@sysfs_heartbeat_interval@mixed@vcs0: - shard-skl: [FAIL][56] ([i915#1731]) -> [PASS][57] [56]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-skl2/igt@sysfs_heartbeat_interval@mixed@vcs0.html [57]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-skl9/igt@sysfs_heartbeat_interval@mixed@vcs0.html #### Warnings #### * igt@i915_pm_dc@dc3co-vpb-simulation: - shard-iclb: [SKIP][58] ([i915#588]) -> [SKIP][59] ([i915#658]) [58]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-iclb2/igt@i915_pm_dc@dc3co-vpb-simulation.html [59]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-iclb4/igt@i915_pm_dc@dc3co-vpb-simulation.html * igt@i915_pm_rc6_residency@rc6-idle: - shard-iclb: [WARN][60] ([i915#2681]) -> [WARN][61] ([i915#1804]) [60]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9389/shard-iclb1/igt@i915_pm_rc6_residency@rc6-idle.html [61]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18976/shard-iclb3/igt@i915_pm_rc6_residency@rc6-idle.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 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1519]: https://gitlab.freedesktop.org/drm/intel/issues/1519 [i915#1635]: https://gitlab.freedesktop.org/drm/intel/issues/1635 [i915#1731]: https://gitlab.freedesktop.org/drm/intel/issues/1731 [i915#1732]: https://gitlab.freedesktop.org/drm/intel/issues/1732 [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804 [i915#198]: https://gitlab.freedesktop.org/drm/intel/issues/198 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#262]: https://gitlab.freedesktop.org/drm/intel/issues/262 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#2681]: https://gitlab.freedesktop.org/drm/intel/issues/2681 [i915#44]: https://gitlab.freedesktop.org/drm/intel/issues/44 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#588]: https://gitlab.freedesktop.org/drm/intel/issues/588 [i915#62]: https://gitlab.freedesktop.org/drm/intel/issues/62 [i915#636]: https://gitlab.freedesktop.org/drm/intel/issues/636 [i915#64]: https://gitlab.freedesktop.org/drm/intel/issues/64 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * Linux: CI_DRM_9389 -> Patchwork_18976 CI-20190529: 20190529 CI_DRM_9389: b0c2cf3ad04abd9e7a44abe12e736bb5ab587393 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5870: 08b13995b85df26a77212e4fb21fd772976ef33c @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18976: 9b0c89d666a5af7da417f1ee4d9ed834f71203fe @ 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_18976/index.html [-- Attachment #1.2: Type: text/html, Size: 17315 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] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev6) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (9 preceding siblings ...) 2020-11-25 18:18 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork @ 2020-11-27 8:23 ` Patchwork 2020-11-27 14:20 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev7) Patchwork ` (4 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-27 8:23 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev6) URL : https://patchwork.freedesktop.org/series/84174/ State : failure == Summary == CALL scripts/checksyscalls.sh CALL scripts/atomic/check-atomics.sh DESCEND objtool CHK include/generated/compile.h CC [M] drivers/gpu/drm/i915/display/intel_sprite.o In file included from ./include/drm/drm_mm.h:49, from ./include/drm/drm_vma_manager.h:26, from ./include/drm/drm_gem.h:40, from ./drivers/gpu/drm/i915/i915_drv.h:55, from drivers/gpu/drm/i915/display/intel_sprite.c:42: drivers/gpu/drm/i915/display/intel_sprite.c: In function ‘dbg_vblank_evade’: ./include/drm/drm_print.h:450:19: error: request for member ‘dev’ in something not a structure or union drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) ^~ drivers/gpu/drm/i915/display/intel_sprite.c:201:3: note: in expansion of macro ‘drm_dbg_kms’ drm_dbg_kms("Atomic update on pipe (%c) took %lld us, max time under evasion is %u us\n", ^~~~~~~~~~~ ./drivers/gpu/drm/i915/display/intel_display.h:96:27: error: passing argument 3 of ‘drm_dev_dbg’ makes pointer from integer without a cast [-Werror=int-conversion] #define pipe_name(p) ((p) + 'A') ~~~~~^~~~~~ ./include/drm/drm_print.h:450:38: note: in definition of macro ‘drm_dbg_kms’ drm_dev_dbg((drm)->dev, DRM_UT_KMS, fmt, ##__VA_ARGS__) ^~~ drivers/gpu/drm/i915/display/intel_sprite.c:202:8: note: in expansion of macro ‘pipe_name’ pipe_name(crtc->pipe), ^~~~~~~~~ ./include/drm/drm_print.h:338:16: note: expected ‘const char *’ but argument is of type ‘int’ const char *format, ...); ~~~~~~~~~~~~^~~~~~ cc1: all warnings being treated as errors scripts/Makefile.build:283: recipe for target 'drivers/gpu/drm/i915/display/intel_sprite.o' failed make[4]: *** [drivers/gpu/drm/i915/display/intel_sprite.o] Error 1 scripts/Makefile.build:500: recipe for target 'drivers/gpu/drm/i915' failed make[3]: *** [drivers/gpu/drm/i915] Error 2 scripts/Makefile.build:500: recipe for target 'drivers/gpu/drm' failed make[2]: *** [drivers/gpu/drm] Error 2 scripts/Makefile.build:500: recipe for target 'drivers/gpu' failed make[1]: *** [drivers/gpu] Error 2 Makefile:1799: 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] 30+ messages in thread
* [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev7) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (10 preceding siblings ...) 2020-11-27 8:23 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev6) Patchwork @ 2020-11-27 14:20 ` Patchwork 2020-11-27 14:50 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork ` (3 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-27 14:20 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev7) URL : https://patchwork.freedesktop.org/series/84174/ State : warning == Summary == $ dim checkpatch origin/drm-tip 36f4f615f69a drm/i915/display: Record the plane update times for debugging -:73: WARNING:PREFER_SEQ_PUTS: Prefer seq_puts to seq_printf #73: FILE: drivers/gpu/drm/i915/display/intel_display_debugfs.c:901: + seq_printf(m, "\t 1us (log) 1ms\n"); total: 0 errors, 1 warnings, 0 checks, 163 lines checked _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 30+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Record the plane update times for debugging (rev7) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (11 preceding siblings ...) 2020-11-27 14:20 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev7) Patchwork @ 2020-11-27 14:50 ` Patchwork 2020-11-27 16:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork ` (2 subsequent siblings) 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-27 14:50 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 5689 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev7) URL : https://patchwork.freedesktop.org/series/84174/ State : success == Summary == CI Bug Log - changes from CI_DRM_9398 -> Patchwork_18998 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/index.html New tests --------- New tests have been introduced between CI_DRM_9398 and Patchwork_18998: ### New CI tests (1) ### * boot: - Statuses : 39 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18998 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_flink_basic@bad-open: - fi-tgl-y: [PASS][1] -> [DMESG-WARN][2] ([i915#402]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-tgl-y/igt@gem_flink_basic@bad-open.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-tgl-y/igt@gem_flink_basic@bad-open.html * igt@i915_selftest@live@gt_heartbeat: - fi-tgl-y: [PASS][3] -> [DMESG-FAIL][4] ([i915#2601]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-tgl-y/igt@i915_selftest@live@gt_heartbeat.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-tgl-y/igt@i915_selftest@live@gt_heartbeat.html #### Possible fixes #### * igt@gem_flink_basic@bad-flink: - fi-tgl-y: [DMESG-WARN][5] ([i915#402]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-tgl-y/igt@gem_flink_basic@bad-flink.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-tgl-y/igt@gem_flink_basic@bad-flink.html * igt@i915_pm_rpm@basic-pci-d3-state: - {fi-ehl-1}: [DMESG-WARN][7] ([i915#1982]) -> [PASS][8] [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-ehl-1/igt@i915_pm_rpm@basic-pci-d3-state.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-ehl-1/igt@i915_pm_rpm@basic-pci-d3-state.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-tgl-y: [DMESG-WARN][9] ([i915#1982]) -> [PASS][10] +1 similar issue [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-tgl-y/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-bsw-n3050: [DMESG-WARN][11] ([i915#1982]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-kbl-soraka: [DMESG-WARN][13] ([i915#1982]) -> [PASS][14] +1 similar issue [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-apl-guc: [DMESG-WARN][15] ([i915#1982]) -> [PASS][16] +1 similar issue [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy: - fi-icl-u2: [DMESG-WARN][17] ([i915#1982]) -> [PASS][18] +1 similar issue [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-legacy.html * igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b: - fi-cfl-8109u: [DMESG-WARN][19] ([i915#165]) -> [PASS][20] +15 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/fi-cfl-8109u/igt@kms_pipe_crc_basic@compare-crc-sanitycheck-pipe-b.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2601]: https://gitlab.freedesktop.org/drm/intel/issues/2601 [i915#402]: https://gitlab.freedesktop.org/drm/intel/issues/402 Participating hosts (43 -> 39) ------------------------------ Additional (1): fi-cml-u2 Missing (5): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-bsw-kefka fi-bdw-samus Build changes ------------- * Linux: CI_DRM_9398 -> Patchwork_18998 CI-20190529: 20190529 CI_DRM_9398: 31a04133814ab8f7b3aab042517e3f104df5ee2d @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5873: b6321b58dcaa41ba1d28aced42d6b15dc3d49ca2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18998: 36f4f615f69a40e466e88c3f5ba77898cb10ca23 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 36f4f615f69a drm/i915/display: Record the plane update times for debugging == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/index.html [-- Attachment #1.2: Type: text/html, Size: 6954 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] 30+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Record the plane update times for debugging (rev7) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (12 preceding siblings ...) 2020-11-27 14:50 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork @ 2020-11-27 16:28 ` Patchwork 2020-11-27 19:14 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Record the plane update times for debugging (rev8) Patchwork 2020-11-27 20:47 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-27 16:28 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 16548 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev7) URL : https://patchwork.freedesktop.org/series/84174/ State : success == Summary == CI Bug Log - changes from CI_DRM_9398_full -> Patchwork_18998_full ==================================================== Summary ------- **SUCCESS** No regressions found. New tests --------- New tests have been introduced between CI_DRM_9398_full and Patchwork_18998_full: ### New CI tests (1) ### * boot: - Statuses : 200 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_18998_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_exec_whisper@basic-fds-priority: - shard-glk: [PASS][1] -> [DMESG-WARN][2] ([i915#118] / [i915#95]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-glk9/igt@gem_exec_whisper@basic-fds-priority.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-glk9/igt@gem_exec_whisper@basic-fds-priority.html * igt@gem_softpin@noreloc-s3: - shard-kbl: [PASS][3] -> [DMESG-WARN][4] ([i915#180]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-kbl6/igt@gem_softpin@noreloc-s3.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-kbl1/igt@gem_softpin@noreloc-s3.html * igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy: - shard-glk: [PASS][5] -> [FAIL][6] ([i915#72]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-glk5/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-glk9/igt@kms_cursor_legacy@2x-flip-vs-cursor-legacy.html * igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic: - shard-tglb: [PASS][7] -> [FAIL][8] ([i915#2346]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-tglb8/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-tglb8/igt@kms_cursor_legacy@flip-vs-cursor-crc-atomic.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1: - shard-skl: [PASS][9] -> [FAIL][10] ([i915#79]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@a-edp1.html * igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a1: - shard-hsw: [PASS][11] -> [INCOMPLETE][12] ([i915#2295]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-hsw6/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a1.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-hsw2/igt@kms_flip@flip-vs-suspend-interruptible@c-hdmi-a1.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1: - shard-skl: [PASS][13] -> [FAIL][14] ([i915#2122]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl6/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl5/igt@kms_flip@plain-flip-fb-recreate-interruptible@a-edp1.html * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min: - shard-skl: [PASS][15] -> [FAIL][16] ([fdo#108145] / [i915#265]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl6/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html * igt@kms_plane_lowres@pipe-a-tiling-y: - shard-kbl: [PASS][17] -> [DMESG-WARN][18] ([i915#165] / [i915#2621] / [i915#78]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-kbl3/igt@kms_plane_lowres@pipe-a-tiling-y.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-kbl2/igt@kms_plane_lowres@pipe-a-tiling-y.html * igt@kms_psr@psr2_sprite_mmap_cpu: - shard-iclb: [PASS][19] -> [SKIP][20] ([fdo#109441]) +1 similar issue [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_cpu.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-iclb1/igt@kms_psr@psr2_sprite_mmap_cpu.html * igt@kms_sequence@get-idle: - shard-snb: [PASS][21] -> [SKIP][22] ([fdo#109271]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-snb7/igt@kms_sequence@get-idle.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-snb4/igt@kms_sequence@get-idle.html #### Possible fixes #### * igt@i915_pm_sseu@full-enable: - shard-skl: [FAIL][23] -> [PASS][24] [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl5/igt@i915_pm_sseu@full-enable.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl4/igt@i915_pm_sseu@full-enable.html * igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen: - shard-skl: [FAIL][25] ([i915#54]) -> [PASS][26] +7 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl9/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl8/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html * igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge: - shard-skl: [DMESG-WARN][27] ([i915#1982]) -> [PASS][28] +39 similar issues [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl2/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl1/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html - shard-apl: [DMESG-WARN][29] ([i915#1982]) -> [PASS][30] +2 similar issues [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-apl3/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-apl8/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-skl: [FAIL][31] ([i915#2346]) -> [PASS][32] [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl5/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_cursor_legacy@flip-vs-cursor-crc-legacy: - shard-tglb: [FAIL][33] ([i915#2346]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-tglb1/igt@kms_cursor_legacy@flip-vs-cursor-crc-legacy.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-tglb8/igt@kms_cursor_legacy@flip-vs-cursor-crc-legacy.html * igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1: - shard-skl: [FAIL][35] ([i915#79]) -> [PASS][36] [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl7/igt@kms_flip@flip-vs-expired-vblank-interruptible@c-edp1.html * igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1: - shard-skl: [FAIL][37] ([i915#2122]) -> [PASS][38] [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl2/igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl1/igt@kms_flip@plain-flip-ts-check-interruptible@a-edp1.html * igt@kms_flip@wf_vblank-ts-check-interruptible@a-dp1: - shard-kbl: [DMESG-WARN][39] ([i915#1982]) -> [PASS][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-kbl2/igt@kms_flip@wf_vblank-ts-check-interruptible@a-dp1.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-kbl2/igt@kms_flip@wf_vblank-ts-check-interruptible@a-dp1.html * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite: - shard-glk: [DMESG-WARN][41] ([i915#1982]) -> [PASS][42] +3 similar issues [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-glk7/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-glk5/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render: - shard-tglb: [DMESG-WARN][43] ([i915#1982]) -> [PASS][44] +2 similar issues [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-tglb1/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-tglb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-render.html * igt@kms_hdr@bpc-switch-dpms: - shard-skl: [FAIL][45] ([i915#1188]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl10/igt@kms_hdr@bpc-switch-dpms.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl7/igt@kms_hdr@bpc-switch-dpms.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [FAIL][47] ([fdo#108145] / [i915#265]) -> [PASS][48] +1 similar issue [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl9/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl8/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_psr2_su@page_flip: - shard-iclb: [SKIP][49] ([fdo#109642] / [fdo#111068]) -> [PASS][50] [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-iclb6/igt@kms_psr2_su@page_flip.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-iclb2/igt@kms_psr2_su@page_flip.html * igt@kms_psr@psr2_sprite_mmap_gtt: - shard-iclb: [SKIP][51] ([fdo#109441]) -> [PASS][52] +2 similar issues [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-iclb6/igt@kms_psr@psr2_sprite_mmap_gtt.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-iclb2/igt@kms_psr@psr2_sprite_mmap_gtt.html * igt@kms_sysfs_edid_timing: - shard-hsw: [FAIL][53] ([IGT#2]) -> [PASS][54] [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-hsw6/igt@kms_sysfs_edid_timing.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-hsw4/igt@kms_sysfs_edid_timing.html * igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend: - shard-snb: [DMESG-WARN][55] ([i915#42]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-snb4/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-snb6/igt@kms_vblank@pipe-a-ts-continuation-dpms-suspend.html * igt@perf@blocking: - shard-skl: [FAIL][57] ([i915#1542]) -> [PASS][58] +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl7/igt@perf@blocking.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl9/igt@perf@blocking.html * igt@perf@short-reads: - shard-skl: [FAIL][59] ([i915#51]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl10/igt@perf@short-reads.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl7/igt@perf@short-reads.html #### Warnings #### * igt@i915_pm_rc6_residency@rc6-fence: - shard-iclb: [WARN][61] ([i915#2684]) -> [WARN][62] ([i915#1804] / [i915#2684]) [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-iclb5/igt@i915_pm_rc6_residency@rc6-fence.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-iclb4/igt@i915_pm_rc6_residency@rc6-fence.html * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c: - shard-glk: [INCOMPLETE][63] ([i915#2635]) -> [DMESG-WARN][64] ([i915#2635]) [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-glk1/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-glk6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html - shard-apl: [INCOMPLETE][65] ([i915#2635]) -> [DMESG-WARN][66] ([i915#2635]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-apl4/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-apl7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html * igt@runner@aborted: - shard-hsw: [FAIL][67] ([fdo#109271] / [i915#2295] / [i915#483]) -> [FAIL][68] ([fdo#109271] / [i915#2295]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-hsw1/igt@runner@aborted.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-hsw2/igt@runner@aborted.html - shard-skl: ([FAIL][69], [FAIL][70]) ([i915#1814] / [i915#2029] / [i915#2295] / [i915#2722]) -> [FAIL][71] ([i915#2295] / [i915#2722]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl6/igt@runner@aborted.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9398/shard-skl3/igt@runner@aborted.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_18998/shard-skl10/igt@runner@aborted.html [IGT#2]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/2 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642 [fdo#111068]: https://bugs.freedesktop.org/show_bug.cgi?id=111068 [i915#118]: https://gitlab.freedesktop.org/drm/intel/issues/118 [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188 [i915#1542]: https://gitlab.freedesktop.org/drm/intel/issues/1542 [i915#165]: https://gitlab.freedesktop.org/drm/intel/issues/165 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#1804]: https://gitlab.freedesktop.org/drm/intel/issues/1804 [i915#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2029]: https://gitlab.freedesktop.org/drm/intel/issues/2029 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2621]: https://gitlab.freedesktop.org/drm/intel/issues/2621 [i915#2635]: https://gitlab.freedesktop.org/drm/intel/issues/2635 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#2684]: https://gitlab.freedesktop.org/drm/intel/issues/2684 [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722 [i915#42]: https://gitlab.freedesktop.org/drm/intel/issues/42 [i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483 [i915#51]: https://gitlab.freedesktop.org/drm/intel/issues/51 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#72]: https://gitlab.freedesktop.org/drm/intel/issues/72 [i915#78]: https://gitlab.freedesktop.org/drm/intel/issues/78 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * Linux: CI_DRM_9398 -> Patchwork_18998 CI-20190529: 20190529 CI_DRM_9398: 31a04133814ab8f7b3aab042517e3f104df5ee2d @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5873: b6321b58dcaa41ba1d28aced42d6b15dc3d49ca2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_18998: 36f4f615f69a40e466e88c3f5ba77898cb10ca23 @ 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_18998/index.html [-- Attachment #1.2: Type: text/html, Size: 19476 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] 30+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Record the plane update times for debugging (rev8) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (13 preceding siblings ...) 2020-11-27 16:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork @ 2020-11-27 19:14 ` Patchwork 2020-11-27 20:47 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-27 19:14 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 4095 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev8) URL : https://patchwork.freedesktop.org/series/84174/ State : success == Summary == CI Bug Log - changes from CI_DRM_9399 -> Patchwork_19004 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/index.html New tests --------- New tests have been introduced between CI_DRM_9399 and Patchwork_19004: ### New CI tests (1) ### * boot: - Statuses : 37 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_19004 that come from known issues: ### IGT changes ### #### Possible fixes #### * igt@debugfs_test@read_all_entries: - {fi-kbl-7560u}: [INCOMPLETE][1] ([i915#2417]) -> [PASS][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/fi-kbl-7560u/igt@debugfs_test@read_all_entries.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/fi-kbl-7560u/igt@debugfs_test@read_all_entries.html * igt@i915_selftest@live@gt_heartbeat: - fi-kbl-soraka: [DMESG-FAIL][3] ([i915#541]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/fi-kbl-soraka/igt@i915_selftest@live@gt_heartbeat.html * igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic: - fi-bsw-n3050: [DMESG-WARN][5] ([i915#1982]) -> [PASS][6] [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/fi-bsw-n3050/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-kbl-soraka: [DMESG-WARN][7] ([i915#1982]) -> [PASS][8] +1 similar issue [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/fi-kbl-soraka/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-icl-u2: [DMESG-WARN][9] ([i915#1982]) -> [PASS][10] [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/fi-icl-u2/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html - fi-apl-guc: [DMESG-WARN][11] ([i915#1982]) -> [PASS][12] [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/fi-apl-guc/igt@kms_cursor_legacy@basic-busy-flip-before-cursor-atomic.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2417]: https://gitlab.freedesktop.org/drm/intel/issues/2417 [i915#541]: https://gitlab.freedesktop.org/drm/intel/issues/541 Participating hosts (45 -> 37) ------------------------------ Missing (8): fi-ilk-m540 fi-hsw-4200u fi-bsw-cyan fi-ctg-p8600 fi-bsw-kefka fi-blb-e6850 fi-tgl-y fi-bdw-samus Build changes ------------- * Linux: CI_DRM_9399 -> Patchwork_19004 CI-20190529: 20190529 CI_DRM_9399: b3d976d7d7851bcfcd64b5d6c29672a9e2462442 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5873: b6321b58dcaa41ba1d28aced42d6b15dc3d49ca2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19004: 99d7669d313b92c07e13b17e49f0f90e868f69fc @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 99d7669d313b drm/i915/display: Record the plane update times for debugging == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/index.html [-- Attachment #1.2: Type: text/html, Size: 5044 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] 30+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for drm/i915/display: Record the plane update times for debugging (rev8) 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson ` (14 preceding siblings ...) 2020-11-27 19:14 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Record the plane update times for debugging (rev8) Patchwork @ 2020-11-27 20:47 ` Patchwork 15 siblings, 0 replies; 30+ messages in thread From: Patchwork @ 2020-11-27 20:47 UTC (permalink / raw) To: Chris Wilson; +Cc: intel-gfx [-- Attachment #1.1: Type: text/plain, Size: 12472 bytes --] == Series Details == Series: drm/i915/display: Record the plane update times for debugging (rev8) URL : https://patchwork.freedesktop.org/series/84174/ State : success == Summary == CI Bug Log - changes from CI_DRM_9399_full -> Patchwork_19004_full ==================================================== Summary ------- **SUCCESS** No regressions found. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_19004_full: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@kms_flip_tiling@flip-yf-tiled@edp-1-pipe-b}: - shard-skl: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl2/igt@kms_flip_tiling@flip-yf-tiled@edp-1-pipe-b.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl2/igt@kms_flip_tiling@flip-yf-tiled@edp-1-pipe-b.html New tests --------- New tests have been introduced between CI_DRM_9399_full and Patchwork_19004_full: ### New CI tests (1) ### * boot: - Statuses : 199 pass(s) - Exec time: [0.0] s Known issues ------------ Here are the changes found in Patchwork_19004_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@feature_discovery@psr2: - shard-iclb: [PASS][3] -> [SKIP][4] ([i915#658]) [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-iclb2/igt@feature_discovery@psr2.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-iclb1/igt@feature_discovery@psr2.html * igt@gem_exec_whisper@basic-fds-priority: - shard-glk: [PASS][5] -> [DMESG-WARN][6] ([i915#118] / [i915#95]) [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-glk3/igt@gem_exec_whisper@basic-fds-priority.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-glk8/igt@gem_exec_whisper@basic-fds-priority.html * igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding: - shard-skl: [PASS][7] -> [FAIL][8] ([i915#54]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl10/igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl7/igt@kms_cursor_crc@pipe-c-cursor-128x42-sliding.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic: - shard-skl: [PASS][9] -> [FAIL][10] ([i915#2346]) [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl6/igt@kms_cursor_legacy@flip-vs-cursor-atomic.html * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc: - shard-skl: [PASS][11] -> [FAIL][12] ([fdo#108145] / [i915#265]) [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl2/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html * igt@kms_psr@psr2_no_drrs: - shard-iclb: [PASS][13] -> [SKIP][14] ([fdo#109441]) +2 similar issues [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-iclb2/igt@kms_psr@psr2_no_drrs.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-iclb5/igt@kms_psr@psr2_no_drrs.html * igt@perf@short-reads: - shard-skl: [PASS][15] -> [FAIL][16] ([i915#51]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl9/igt@perf@short-reads.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl4/igt@perf@short-reads.html * igt@sysfs_preempt_timeout@timeout@bcs0: - shard-skl: [PASS][17] -> [FAIL][18] ([i915#2060]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl4/igt@sysfs_preempt_timeout@timeout@bcs0.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl9/igt@sysfs_preempt_timeout@timeout@bcs0.html #### Possible fixes #### * igt@gem_eio@in-flight-suspend: - shard-skl: [DMESG-WARN][19] ([i915#1037] / [i915#1982]) -> [PASS][20] [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl9/igt@gem_eio@in-flight-suspend.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl5/igt@gem_eio@in-flight-suspend.html * igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen: - shard-skl: [FAIL][21] ([i915#54]) -> [PASS][22] +6 similar issues [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl5/igt@kms_cursor_crc@pipe-b-cursor-64x21-offscreen.html * igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge: - shard-skl: [DMESG-WARN][23] ([i915#1982]) -> [PASS][24] +41 similar issues [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl10/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl7/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html - shard-apl: [DMESG-WARN][25] ([i915#1982]) -> [PASS][26] +4 similar issues [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-apl7/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-apl8/igt@kms_cursor_edge_walk@pipe-c-256x256-bottom-edge.html * igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size: - shard-skl: [FAIL][27] ([i915#2346]) -> [PASS][28] [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl3/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl2/igt@kms_cursor_legacy@flip-vs-cursor-atomic-transitions-varying-size.html * igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-xtiled: - shard-skl: [FAIL][29] ([i915#52] / [i915#54]) -> [PASS][30] +1 similar issue [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl7/igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-xtiled.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl6/igt@kms_draw_crc@draw-method-xrgb8888-mmap-wc-xtiled.html * igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1: - shard-skl: [FAIL][31] ([i915#2122]) -> [PASS][32] +1 similar issue [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl3/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl2/igt@kms_flip@plain-flip-fb-recreate-interruptible@b-edp1.html * igt@kms_flip@wf_vblank-ts-check-interruptible@a-dp1: - shard-kbl: [DMESG-WARN][33] ([i915#1982]) -> [PASS][34] [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-kbl1/igt@kms_flip@wf_vblank-ts-check-interruptible@a-dp1.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-kbl4/igt@kms_flip@wf_vblank-ts-check-interruptible@a-dp1.html * igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite: - shard-glk: [DMESG-WARN][35] ([i915#1982]) -> [PASS][36] +2 similar issues [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-glk7/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-glk2/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html - shard-tglb: [DMESG-WARN][37] ([i915#1982]) -> [PASS][38] +1 similar issue [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-tglb8/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-tglb2/igt@kms_frontbuffer_tracking@fbc-rgb101010-draw-pwrite.html * igt@kms_hdr@bpc-switch-suspend: - shard-skl: [FAIL][39] ([i915#1188]) -> [PASS][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl7/igt@kms_hdr@bpc-switch-suspend.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl8/igt@kms_hdr@bpc-switch-suspend.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [FAIL][41] ([fdo#108145] / [i915#265]) -> [PASS][42] +2 similar issues [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html #### Warnings #### * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c: - shard-glk: [INCOMPLETE][43] ([i915#2635]) -> [DMESG-WARN][44] ([i915#2635]) [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-glk2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-glk9/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-c.html * igt@runner@aborted: - shard-glk: ([FAIL][45], [FAIL][46]) ([i915#1814] / [i915#2295] / [i915#2722] / [i915#483] / [k.org#202321]) -> ([FAIL][47], [FAIL][48]) ([i915#1814] / [i915#2295] / [i915#2722] / [k.org#202321]) [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-glk2/igt@runner@aborted.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-glk3/igt@runner@aborted.html [47]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-glk4/igt@runner@aborted.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-glk9/igt@runner@aborted.html - shard-skl: [FAIL][49] ([i915#2295] / [i915#2722] / [i915#483]) -> [FAIL][50] ([i915#2295] / [i915#2722]) [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_9399/shard-skl7/igt@runner@aborted.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_19004/shard-skl6/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 [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#1814]: https://gitlab.freedesktop.org/drm/intel/issues/1814 [i915#1982]: https://gitlab.freedesktop.org/drm/intel/issues/1982 [i915#2060]: https://gitlab.freedesktop.org/drm/intel/issues/2060 [i915#2122]: https://gitlab.freedesktop.org/drm/intel/issues/2122 [i915#2295]: https://gitlab.freedesktop.org/drm/intel/issues/2295 [i915#2346]: https://gitlab.freedesktop.org/drm/intel/issues/2346 [i915#2635]: https://gitlab.freedesktop.org/drm/intel/issues/2635 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#2722]: https://gitlab.freedesktop.org/drm/intel/issues/2722 [i915#483]: https://gitlab.freedesktop.org/drm/intel/issues/483 [i915#51]: https://gitlab.freedesktop.org/drm/intel/issues/51 [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#658]: https://gitlab.freedesktop.org/drm/intel/issues/658 [i915#95]: https://gitlab.freedesktop.org/drm/intel/issues/95 [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_9399 -> Patchwork_19004 CI-20190529: 20190529 CI_DRM_9399: b3d976d7d7851bcfcd64b5d6c29672a9e2462442 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5873: b6321b58dcaa41ba1d28aced42d6b15dc3d49ca2 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_19004: 99d7669d313b92c07e13b17e49f0f90e868f69fc @ 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_19004/index.html [-- Attachment #1.2: Type: text/html, Size: 15200 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] 30+ messages in thread
end of thread, other threads:[~2020-12-02 19:37 UTC | newest] Thread overview: 30+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-11-23 14:55 [Intel-gfx] [PATCH] drm/i915/display: Record the plane update times for debugging Chris Wilson 2020-11-23 15:55 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for " Patchwork 2020-11-23 16:25 ` [Intel-gfx] ✗ Fi.CI.BAT: failure " Patchwork 2020-11-23 16:27 ` [Intel-gfx] [PATCH v2] " Chris Wilson 2020-11-24 21:38 ` [Intel-gfx] [PATCH] " Chris Wilson 2020-11-25 16:14 ` Chris Wilson 2020-11-26 21:13 ` Chris Wilson 2020-11-26 21:14 ` Chris Wilson 2020-11-27 1:02 ` kernel test robot 2020-11-27 1:02 ` kernel test robot 2020-11-27 1:47 ` kernel test robot 2020-11-27 1:47 ` kernel test robot 2020-11-27 11:30 ` Chris Wilson 2020-11-27 16:18 ` [Intel-gfx] [PATCH v2] " Chris Wilson 2020-12-02 13:17 ` Chris Wilson 2020-12-02 19:24 ` Ville Syrjälä 2020-12-02 19:37 ` Chris Wilson 2020-11-23 16:58 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev2) Patchwork 2020-11-23 17:27 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2020-11-23 20:23 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2020-11-24 22:32 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev3) Patchwork 2020-11-25 16:35 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev4) Patchwork 2020-11-25 17:05 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2020-11-25 18:18 ` [Intel-gfx] ✗ Fi.CI.IGT: failure " Patchwork 2020-11-27 8:23 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for drm/i915/display: Record the plane update times for debugging (rev6) Patchwork 2020-11-27 14:20 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for drm/i915/display: Record the plane update times for debugging (rev7) Patchwork 2020-11-27 14:50 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork 2020-11-27 16:28 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2020-11-27 19:14 ` [Intel-gfx] ✓ Fi.CI.BAT: success for drm/i915/display: Record the plane update times for debugging (rev8) Patchwork 2020-11-27 20:47 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork
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.