* [Intel-gfx] [CI 1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall @ 2020-02-14 13:50 Jani Nikula 2020-02-14 13:50 ` [Intel-gfx] [CI 2/2] drm/i915: split i915_driver_modeset_remove() " Jani Nikula ` (3 more replies) 0 siblings, 4 replies; 5+ messages in thread From: Jani Nikula @ 2020-02-14 13:50 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Split intel_modeset_driver_remove() to two, the part with working irqs before irq uninstall, and the part after irq uninstall. Move irq_unintall() closer to the layer it belongs. The error path in i915_driver_modeset_probe() looks obviously weird after this, but remains as good or broken as it ever was. No functional changes. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/display/intel_display.c | 12 +++++------- drivers/gpu/drm/i915/display/intel_display.h | 1 + drivers/gpu/drm/i915/i915_drv.c | 5 +++++ 3 files changed, 11 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c index e09d3c93c52b..d9c1c952a27d 100644 --- a/drivers/gpu/drm/i915/display/intel_display.c +++ b/drivers/gpu/drm/i915/display/intel_display.c @@ -18898,6 +18898,7 @@ static void intel_hpd_poll_fini(struct drm_i915_private *i915) drm_connector_list_iter_end(&conn_iter); } +/* part #1: call before irq uninstall */ void intel_modeset_driver_remove(struct drm_i915_private *i915) { flush_workqueue(i915->flip_wq); @@ -18905,14 +18906,11 @@ void intel_modeset_driver_remove(struct drm_i915_private *i915) flush_work(&i915->atomic_helper.free_work); WARN_ON(!llist_empty(&i915->atomic_helper.free_list)); +} - /* - * Interrupts and polling as the first thing to avoid creating havoc. - * Too much stuff here (turning of connectors, ...) would - * experience fancy races otherwise. - */ - intel_irq_uninstall(i915); - +/* part #2: call after irq uninstall */ +void intel_modeset_driver_remove_noirq(struct drm_i915_private *i915) +{ /* * Due to the hpd irq storm handling the hotplug work can re-arm the * poll handlers. Hence disable polling after hpd handling is shut down. diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h index 75438a136d58..f92efbbec838 100644 --- a/drivers/gpu/drm/i915/display/intel_display.h +++ b/drivers/gpu/drm/i915/display/intel_display.h @@ -616,6 +616,7 @@ intel_format_info_is_yuv_semiplanar(const struct drm_format_info *info, void intel_modeset_init_hw(struct drm_i915_private *i915); int intel_modeset_init(struct drm_i915_private *i915); void intel_modeset_driver_remove(struct drm_i915_private *i915); +void intel_modeset_driver_remove_noirq(struct drm_i915_private *i915); void intel_display_resume(struct drm_device *dev); void intel_init_pch_refclk(struct drm_i915_private *dev_priv); diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 955f52bcd6a2..4636d723d531 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -333,6 +333,9 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915) i915_gem_driver_release(i915); cleanup_modeset: intel_modeset_driver_remove(i915); + intel_irq_uninstall(i915); + intel_modeset_driver_remove_noirq(i915); + goto cleanup_csr; cleanup_irq: intel_irq_uninstall(i915); cleanup_csr: @@ -349,6 +352,8 @@ static void i915_driver_modeset_remove(struct drm_i915_private *i915) intel_irq_uninstall(i915); + intel_modeset_driver_remove_noirq(i915); + intel_bios_driver_remove(i915); intel_vga_unregister(i915); -- 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] 5+ messages in thread
* [Intel-gfx] [CI 2/2] drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall 2020-02-14 13:50 [Intel-gfx] [CI 1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall Jani Nikula @ 2020-02-14 13:50 ` Jani Nikula 2020-02-14 19:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/2] drm/i915: split intel_modeset_driver_remove() " Patchwork ` (2 subsequent siblings) 3 siblings, 0 replies; 5+ messages in thread From: Jani Nikula @ 2020-02-14 13:50 UTC (permalink / raw) To: intel-gfx; +Cc: jani.nikula Push irq uninstall further up, by splitting i915_driver_modeset_remove() to two, the part with working irqs before irq uninstall, and the part after irq uninstall. No functional changes. Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com> --- drivers/gpu/drm/i915/i915_drv.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 4636d723d531..2e567bda79bd 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c @@ -346,12 +346,15 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915) return ret; } +/* part #1: call before irq uninstall */ static void i915_driver_modeset_remove(struct drm_i915_private *i915) { intel_modeset_driver_remove(i915); +} - intel_irq_uninstall(i915); - +/* part #2: call after irq uninstall */ +static void i915_driver_modeset_remove_noirq(struct drm_i915_private *i915) +{ intel_modeset_driver_remove_noirq(i915); intel_bios_driver_remove(i915); @@ -1593,6 +1596,10 @@ void i915_driver_remove(struct drm_i915_private *i915) i915_driver_modeset_remove(i915); + intel_irq_uninstall(i915); + + i915_driver_modeset_remove_noirq(i915); + i915_reset_error_state(i915); i915_gem_driver_remove(i915); -- 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] 5+ messages in thread
* [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall 2020-02-14 13:50 [Intel-gfx] [CI 1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall Jani Nikula 2020-02-14 13:50 ` [Intel-gfx] [CI 2/2] drm/i915: split i915_driver_modeset_remove() " Jani Nikula @ 2020-02-14 19:47 ` Patchwork 2020-02-18 0:26 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2020-02-19 13:21 ` [Intel-gfx] [CI 1/2] " Jani Nikula 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2020-02-14 19:47 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: series starting with [CI,1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall URL : https://patchwork.freedesktop.org/series/73469/ State : success == Summary == CI Bug Log - changes from CI_DRM_7942 -> Patchwork_16574 ==================================================== Summary ------- **SUCCESS** No regressions found. External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/index.html Known issues ------------ Here are the changes found in Patchwork_16574 that come from known issues: ### IGT changes ### #### Issues hit #### * igt@i915_selftest@live_gem_contexts: - fi-cml-s: [PASS][1] -> [DMESG-FAIL][2] ([i915#877]) [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/fi-cml-s/igt@i915_selftest@live_gem_contexts.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/fi-cml-s/igt@i915_selftest@live_gem_contexts.html #### Possible fixes #### * igt@i915_selftest@live_gem_contexts: - fi-cfl-8700k: [INCOMPLETE][3] ([i915#424]) -> [PASS][4] [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/fi-cfl-8700k/igt@i915_selftest@live_gem_contexts.html {name}: This element is suppressed. This means it is ignored when computing the status of the difference (SUCCESS, WARNING, or FAILURE). [i915#424]: https://gitlab.freedesktop.org/drm/intel/issues/424 [i915#877]: https://gitlab.freedesktop.org/drm/intel/issues/877 [i915#937]: https://gitlab.freedesktop.org/drm/intel/issues/937 Participating hosts (47 -> 39) ------------------------------ Additional (4): fi-bsw-kefka fi-blb-e6850 fi-cfl-8109u fi-ilk-650 Missing (12): fi-ilk-m540 fi-bdw-5557u fi-hsw-4200u fi-hsw-peppy fi-byt-squawks fi-bsw-cyan fi-ctg-p8600 fi-skl-lmem fi-bdw-samus fi-byt-n2820 fi-skl-6600u fi-kbl-r Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7942 -> Patchwork_16574 CI-20190529: 20190529 CI_DRM_7942: f4805f5a516d0a107438ff0f236c9f4187434819 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5442: 3f6080996885b997685f08ecb8b416b2dc485290 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16574: 8185da98b0f023ec8d2e2aeea5bf81d1a28af187 @ git://anongit.freedesktop.org/gfx-ci/linux == Linux commits == 8185da98b0f0 drm/i915: split i915_driver_modeset_remove() to pre/post irq uninstall 5b99455a74fd drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall == Logs == For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [CI,1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall 2020-02-14 13:50 [Intel-gfx] [CI 1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall Jani Nikula 2020-02-14 13:50 ` [Intel-gfx] [CI 2/2] drm/i915: split i915_driver_modeset_remove() " Jani Nikula 2020-02-14 19:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/2] drm/i915: split intel_modeset_driver_remove() " Patchwork @ 2020-02-18 0:26 ` Patchwork 2020-02-19 13:21 ` [Intel-gfx] [CI 1/2] " Jani Nikula 3 siblings, 0 replies; 5+ messages in thread From: Patchwork @ 2020-02-18 0:26 UTC (permalink / raw) To: Jani Nikula; +Cc: intel-gfx == Series Details == Series: series starting with [CI,1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall URL : https://patchwork.freedesktop.org/series/73469/ State : success == Summary == CI Bug Log - changes from CI_DRM_7942_full -> Patchwork_16574_full ==================================================== Summary ------- **SUCCESS** No regressions found. Possible new issues ------------------- Here are the unknown changes that may have been introduced in Patchwork_16574_full: ### IGT changes ### #### Suppressed #### The following results come from untrusted machines, tests, or statuses. They do not affect the overall result. * {igt@gem_ctx_persistence@close-replace-race}: - shard-apl: [PASS][1] -> [FAIL][2] [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-apl7/igt@gem_ctx_persistence@close-replace-race.html [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-apl1/igt@gem_ctx_persistence@close-replace-race.html Known issues ------------ Here are the changes found in Patchwork_16574_full that come from known issues: ### IGT changes ### #### Issues hit #### * igt@gem_ctx_isolation@rcs0-s3: - shard-kbl: [PASS][3] -> [DMESG-WARN][4] ([i915#180]) +2 similar issues [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-kbl6/igt@gem_ctx_isolation@rcs0-s3.html [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-kbl6/igt@gem_ctx_isolation@rcs0-s3.html * igt@gem_exec_schedule@deep-bsd2: - shard-iclb: [PASS][5] -> [SKIP][6] ([fdo#109276]) +11 similar issues [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb2/igt@gem_exec_schedule@deep-bsd2.html [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb6/igt@gem_exec_schedule@deep-bsd2.html * igt@gem_exec_schedule@pi-shared-iova-bsd: - shard-iclb: [PASS][7] -> [SKIP][8] ([i915#677]) [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb3/igt@gem_exec_schedule@pi-shared-iova-bsd.html [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb2/igt@gem_exec_schedule@pi-shared-iova-bsd.html * igt@gem_exec_schedule@preemptive-hang-bsd: - shard-iclb: [PASS][9] -> [SKIP][10] ([fdo#112146]) +4 similar issues [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb8/igt@gem_exec_schedule@preemptive-hang-bsd.html [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb2/igt@gem_exec_schedule@preemptive-hang-bsd.html * igt@gem_partial_pwrite_pread@write-uncached: - shard-hsw: [PASS][11] -> [FAIL][12] ([i915#694]) +1 similar issue [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-hsw1/igt@gem_partial_pwrite_pread@write-uncached.html [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-hsw7/igt@gem_partial_pwrite_pread@write-uncached.html * igt@i915_pm_rps@reset: - shard-iclb: [PASS][13] -> [FAIL][14] ([i915#413]) [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb4/igt@i915_pm_rps@reset.html [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb5/igt@i915_pm_rps@reset.html * igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding: - shard-skl: [PASS][15] -> [FAIL][16] ([i915#54]) [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl7/igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding.html [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl1/igt@kms_cursor_crc@pipe-a-cursor-128x128-sliding.html * igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled: - shard-skl: [PASS][17] -> [FAIL][18] ([i915#52] / [i915#54]) [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl7/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled.html [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl1/igt@kms_draw_crc@draw-method-rgb565-mmap-gtt-ytiled.html * igt@kms_flip@flip-vs-suspend-interruptible: - shard-apl: [PASS][19] -> [DMESG-WARN][20] ([i915#180]) +2 similar issues [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-apl6/igt@kms_flip@flip-vs-suspend-interruptible.html * igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min: - shard-skl: [PASS][21] -> [FAIL][22] ([fdo#108145]) [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl7/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl1/igt@kms_plane_alpha_blend@pipe-a-constant-alpha-min.html * igt@kms_plane_alpha_blend@pipe-c-coverage-7efc: - shard-skl: [PASS][23] -> [FAIL][24] ([fdo#108145] / [i915#265]) +1 similar issue [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl3/igt@kms_plane_alpha_blend@pipe-c-coverage-7efc.html * igt@kms_plane_lowres@pipe-a-tiling-x: - shard-glk: [PASS][25] -> [FAIL][26] ([i915#899]) [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-glk8/igt@kms_plane_lowres@pipe-a-tiling-x.html [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-glk3/igt@kms_plane_lowres@pipe-a-tiling-x.html * igt@kms_plane_multiple@atomic-pipe-b-tiling-y: - shard-skl: [PASS][27] -> [DMESG-WARN][28] ([IGT#6]) [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl7/igt@kms_plane_multiple@atomic-pipe-b-tiling-y.html [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl7/igt@kms_plane_multiple@atomic-pipe-b-tiling-y.html * igt@kms_psr@psr2_cursor_render: - shard-iclb: [PASS][29] -> [SKIP][30] ([fdo#109441]) [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb2/igt@kms_psr@psr2_cursor_render.html [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb6/igt@kms_psr@psr2_cursor_render.html * igt@kms_vblank@pipe-b-ts-continuation-suspend: - shard-skl: [PASS][31] -> [INCOMPLETE][32] ([i915#69]) [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl7/igt@kms_vblank@pipe-b-ts-continuation-suspend.html [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl5/igt@kms_vblank@pipe-b-ts-continuation-suspend.html * igt@perf_pmu@busy-vcs1: - shard-iclb: [PASS][33] -> [SKIP][34] ([fdo#112080]) +5 similar issues [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb2/igt@perf_pmu@busy-vcs1.html [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb6/igt@perf_pmu@busy-vcs1.html #### Possible fixes #### * igt@gem_exec_schedule@fifo-bsd: - shard-iclb: [SKIP][35] ([fdo#112146]) -> [PASS][36] +1 similar issue [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb2/igt@gem_exec_schedule@fifo-bsd.html [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb6/igt@gem_exec_schedule@fifo-bsd.html * igt@gem_partial_pwrite_pread@write-display: - shard-hsw: [FAIL][37] ([i915#694]) -> [PASS][38] +2 similar issues [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-hsw4/igt@gem_partial_pwrite_pread@write-display.html [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-hsw8/igt@gem_partial_pwrite_pread@write-display.html * igt@gen9_exec_parse@allowed-single: - shard-skl: [DMESG-WARN][39] ([i915#716]) -> [PASS][40] [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl6/igt@gen9_exec_parse@allowed-single.html [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl2/igt@gen9_exec_parse@allowed-single.html * igt@i915_hangman@error-state-capture-vcs1: - shard-iclb: [SKIP][41] ([fdo#112080]) -> [PASS][42] +3 similar issues [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb8/igt@i915_hangman@error-state-capture-vcs1.html [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb2/igt@i915_hangman@error-state-capture-vcs1.html * igt@i915_pm_rps@waitboost: - shard-iclb: [FAIL][43] ([i915#413]) -> [PASS][44] [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb7/igt@i915_pm_rps@waitboost.html [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb2/igt@i915_pm_rps@waitboost.html * igt@kms_flip@flip-vs-expired-vblank-interruptible: - shard-skl: [FAIL][45] ([i915#79]) -> [PASS][46] [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-skl9/igt@kms_flip@flip-vs-expired-vblank-interruptible.html [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-skl10/igt@kms_flip@flip-vs-expired-vblank-interruptible.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes: - shard-kbl: [INCOMPLETE][47] ([fdo#103665]) -> [PASS][48] [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-kbl2/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-kbl7/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-b-planes.html * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes: - shard-kbl: [DMESG-WARN][49] ([i915#180]) -> [PASS][50] +4 similar issues [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-kbl3/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-kbl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-c-planes.html * igt@kms_plane_lowres@pipe-a-tiling-y: - shard-glk: [FAIL][51] ([i915#899]) -> [PASS][52] [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-glk7/igt@kms_plane_lowres@pipe-a-tiling-y.html [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-glk6/igt@kms_plane_lowres@pipe-a-tiling-y.html * igt@kms_psr@psr2_primary_mmap_cpu: - shard-iclb: [SKIP][53] ([fdo#109441]) -> [PASS][54] +1 similar issue [53]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb7/igt@kms_psr@psr2_primary_mmap_cpu.html [54]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb2/igt@kms_psr@psr2_primary_mmap_cpu.html * igt@kms_setmode@basic: - shard-apl: [FAIL][55] ([i915#31]) -> [PASS][56] [55]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-apl1/igt@kms_setmode@basic.html [56]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-apl7/igt@kms_setmode@basic.html * igt@kms_vblank@pipe-b-ts-continuation-suspend: - shard-apl: [DMESG-WARN][57] ([i915#180]) -> [PASS][58] +1 similar issue [57]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-apl8/igt@kms_vblank@pipe-b-ts-continuation-suspend.html [58]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-apl8/igt@kms_vblank@pipe-b-ts-continuation-suspend.html * igt@perf_pmu@cpu-hotplug: - shard-hsw: [INCOMPLETE][59] ([i915#1176] / [i915#61]) -> [PASS][60] [59]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-hsw5/igt@perf_pmu@cpu-hotplug.html [60]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-hsw8/igt@perf_pmu@cpu-hotplug.html * igt@prime_mmap_coherency@ioctl-errors: - shard-hsw: [FAIL][61] ([i915#831]) -> [PASS][62] [61]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-hsw7/igt@prime_mmap_coherency@ioctl-errors.html [62]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-hsw1/igt@prime_mmap_coherency@ioctl-errors.html * igt@prime_vgem@fence-wait-bsd2: - shard-iclb: [SKIP][63] ([fdo#109276]) -> [PASS][64] +13 similar issues [63]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb7/igt@prime_vgem@fence-wait-bsd2.html [64]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb2/igt@prime_vgem@fence-wait-bsd2.html #### Warnings #### * igt@gem_ctx_isolation@vcs1-nonpriv-switch: - shard-iclb: [FAIL][65] ([IGT#28]) -> [SKIP][66] ([fdo#112080]) [65]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-iclb2/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html [66]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-iclb6/igt@gem_ctx_isolation@vcs1-nonpriv-switch.html * igt@i915_pm_rpm@gem-evict-pwrite: - shard-snb: [INCOMPLETE][67] ([i915#82]) -> [SKIP][68] ([fdo#109271]) [67]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-snb5/igt@i915_pm_rpm@gem-evict-pwrite.html [68]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-snb2/igt@i915_pm_rpm@gem-evict-pwrite.html * igt@runner@aborted: - shard-hsw: ([FAIL][69], [FAIL][70]) ([i915#1176] / [i915#974]) -> [FAIL][71] ([i915#974]) [69]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-hsw5/igt@runner@aborted.html [70]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7942/shard-hsw6/igt@runner@aborted.html [71]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_16574/shard-hsw1/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). [IGT#28]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/28 [IGT#6]: https://gitlab.freedesktop.org/drm/igt-gpu-tools/issues/6 [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665 [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145 [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271 [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276 [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441 [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080 [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146 [i915#1176]: https://gitlab.freedesktop.org/drm/intel/issues/1176 [i915#1188]: https://gitlab.freedesktop.org/drm/intel/issues/1188 [i915#180]: https://gitlab.freedesktop.org/drm/intel/issues/180 [i915#265]: https://gitlab.freedesktop.org/drm/intel/issues/265 [i915#31]: https://gitlab.freedesktop.org/drm/intel/issues/31 [i915#413]: https://gitlab.freedesktop.org/drm/intel/issues/413 [i915#52]: https://gitlab.freedesktop.org/drm/intel/issues/52 [i915#54]: https://gitlab.freedesktop.org/drm/intel/issues/54 [i915#61]: https://gitlab.freedesktop.org/drm/intel/issues/61 [i915#677]: https://gitlab.freedesktop.org/drm/intel/issues/677 [i915#69]: https://gitlab.freedesktop.org/drm/intel/issues/69 [i915#694]: https://gitlab.freedesktop.org/drm/intel/issues/694 [i915#716]: https://gitlab.freedesktop.org/drm/intel/issues/716 [i915#79]: https://gitlab.freedesktop.org/drm/intel/issues/79 [i915#82]: https://gitlab.freedesktop.org/drm/intel/issues/82 [i915#831]: https://gitlab.freedesktop.org/drm/intel/issues/831 [i915#899]: https://gitlab.freedesktop.org/drm/intel/issues/899 [i915#974]: https://gitlab.freedesktop.org/drm/intel/issues/974 Participating hosts (10 -> 10) ------------------------------ No changes in participating hosts Build changes ------------- * CI: CI-20190529 -> None * Linux: CI_DRM_7942 -> Patchwork_16574 CI-20190529: 20190529 CI_DRM_7942: f4805f5a516d0a107438ff0f236c9f4187434819 @ git://anongit.freedesktop.org/gfx-ci/linux IGT_5442: 3f6080996885b997685f08ecb8b416b2dc485290 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools Patchwork_16574: 8185da98b0f023ec8d2e2aeea5bf81d1a28af187 @ 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_16574/index.html _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Intel-gfx] [CI 1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall 2020-02-14 13:50 [Intel-gfx] [CI 1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall Jani Nikula ` (2 preceding siblings ...) 2020-02-18 0:26 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork @ 2020-02-19 13:21 ` Jani Nikula 3 siblings, 0 replies; 5+ messages in thread From: Jani Nikula @ 2020-02-19 13:21 UTC (permalink / raw) To: intel-gfx On Fri, 14 Feb 2020, Jani Nikula <jani.nikula@intel.com> wrote: > Split intel_modeset_driver_remove() to two, the part with working irqs > before irq uninstall, and the part after irq uninstall. Move > irq_unintall() closer to the layer it belongs. > > The error path in i915_driver_modeset_probe() looks obviously weird > after this, but remains as good or broken as it ever was. No functional > changes. > > Cc: Ville Syrjälä <ville.syrjala@linux.intel.com> > Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> > Signed-off-by: Jani Nikula <jani.nikula@intel.com> Pushed both, thanks again for review. BR, Jani. > --- > drivers/gpu/drm/i915/display/intel_display.c | 12 +++++------- > drivers/gpu/drm/i915/display/intel_display.h | 1 + > drivers/gpu/drm/i915/i915_drv.c | 5 +++++ > 3 files changed, 11 insertions(+), 7 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c > index e09d3c93c52b..d9c1c952a27d 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.c > +++ b/drivers/gpu/drm/i915/display/intel_display.c > @@ -18898,6 +18898,7 @@ static void intel_hpd_poll_fini(struct drm_i915_private *i915) > drm_connector_list_iter_end(&conn_iter); > } > > +/* part #1: call before irq uninstall */ > void intel_modeset_driver_remove(struct drm_i915_private *i915) > { > flush_workqueue(i915->flip_wq); > @@ -18905,14 +18906,11 @@ void intel_modeset_driver_remove(struct drm_i915_private *i915) > > flush_work(&i915->atomic_helper.free_work); > WARN_ON(!llist_empty(&i915->atomic_helper.free_list)); > +} > > - /* > - * Interrupts and polling as the first thing to avoid creating havoc. > - * Too much stuff here (turning of connectors, ...) would > - * experience fancy races otherwise. > - */ > - intel_irq_uninstall(i915); > - > +/* part #2: call after irq uninstall */ > +void intel_modeset_driver_remove_noirq(struct drm_i915_private *i915) > +{ > /* > * Due to the hpd irq storm handling the hotplug work can re-arm the > * poll handlers. Hence disable polling after hpd handling is shut down. > diff --git a/drivers/gpu/drm/i915/display/intel_display.h b/drivers/gpu/drm/i915/display/intel_display.h > index 75438a136d58..f92efbbec838 100644 > --- a/drivers/gpu/drm/i915/display/intel_display.h > +++ b/drivers/gpu/drm/i915/display/intel_display.h > @@ -616,6 +616,7 @@ intel_format_info_is_yuv_semiplanar(const struct drm_format_info *info, > void intel_modeset_init_hw(struct drm_i915_private *i915); > int intel_modeset_init(struct drm_i915_private *i915); > void intel_modeset_driver_remove(struct drm_i915_private *i915); > +void intel_modeset_driver_remove_noirq(struct drm_i915_private *i915); > void intel_display_resume(struct drm_device *dev); > void intel_init_pch_refclk(struct drm_i915_private *dev_priv); > > diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c > index 955f52bcd6a2..4636d723d531 100644 > --- a/drivers/gpu/drm/i915/i915_drv.c > +++ b/drivers/gpu/drm/i915/i915_drv.c > @@ -333,6 +333,9 @@ static int i915_driver_modeset_probe(struct drm_i915_private *i915) > i915_gem_driver_release(i915); > cleanup_modeset: > intel_modeset_driver_remove(i915); > + intel_irq_uninstall(i915); > + intel_modeset_driver_remove_noirq(i915); > + goto cleanup_csr; > cleanup_irq: > intel_irq_uninstall(i915); > cleanup_csr: > @@ -349,6 +352,8 @@ static void i915_driver_modeset_remove(struct drm_i915_private *i915) > > intel_irq_uninstall(i915); > > + intel_modeset_driver_remove_noirq(i915); > + > intel_bios_driver_remove(i915); > > intel_vga_unregister(i915); -- Jani Nikula, Intel Open Source Graphics Center _______________________________________________ Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2020-02-19 13:21 UTC | newest] Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-02-14 13:50 [Intel-gfx] [CI 1/2] drm/i915: split intel_modeset_driver_remove() to pre/post irq uninstall Jani Nikula 2020-02-14 13:50 ` [Intel-gfx] [CI 2/2] drm/i915: split i915_driver_modeset_remove() " Jani Nikula 2020-02-14 19:47 ` [Intel-gfx] ✓ Fi.CI.BAT: success for series starting with [CI,1/2] drm/i915: split intel_modeset_driver_remove() " Patchwork 2020-02-18 0:26 ` [Intel-gfx] ✓ Fi.CI.IGT: " Patchwork 2020-02-19 13:21 ` [Intel-gfx] [CI 1/2] " Jani Nikula
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).