diff mbox series

drm/i915/display: Suspend MST topology manager before destroy fbdev

Message ID 20191127021609.162700-1-jose.souza@intel.com (mailing list archive)
State New, archived
Headers show
Series drm/i915/display: Suspend MST topology manager before destroy fbdev | expand

Commit Message

Souza, Jose Nov. 27, 2019, 2:16 a.m. UTC
MST do topology probe in threads, so this running threads needs to be
flushed before fbdev is destroyed as when a new MST node is found it
calls drm_kms_helper_hotplug_event() that calls fbdev functions

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109964
Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
---
 drivers/gpu/drm/i915/display/intel_display.c | 7 +++++++
 1 file changed, 7 insertions(+)

Comments

Lucas De Marchi Nov. 27, 2019, 6:43 p.m. UTC | #1
On Tue, Nov 26, 2019 at 06:16:09PM -0800, Jose Souza wrote:
>MST do topology probe in threads, so this running threads needs to be
>flushed before fbdev is destroyed as when a new MST node is found it
>calls drm_kms_helper_hotplug_event() that calls fbdev functions
>
>Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109964
>Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
>---
> drivers/gpu/drm/i915/display/intel_display.c | 7 +++++++
> 1 file changed, 7 insertions(+)
>
>diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
>index 8f2770951459..372dd48691cf 100644
>--- a/drivers/gpu/drm/i915/display/intel_display.c
>+++ b/drivers/gpu/drm/i915/display/intel_display.c
>@@ -17989,6 +17989,13 @@ void intel_modeset_driver_remove(struct drm_i915_private *i915)
> 	 */
> 	intel_hpd_poll_fini(i915);
>
>+	/*
>+	 * MST do topology probe in threads, so this running threads needs to
>+	 * be flushed before fbdev is destroyed as when a new MST node is found
>+	 * it call drm_kms_helper_hotplug_event() that calls fbdev functions
>+	 */

this would normally be part of drm_mode_config_cleanup() in which the
encoders will be destroyed, together with their mst_mgr via 
drm_dp_mst_topology_mgr_destroy()

So I think the comment should actually mention why
drm_mode_config_cleanup() can't be done before or just state where it
will actually be destroyed. So... I guess something like:

/*
  * MST topology needs to be suspended so we don't have any calls to
  * fbdev after it's finalized. MST will be destroyed later as part of
  * drm_mode_config_cleanup()
  */

Of course, if we can figure out a better ordering to peel the onion
would be better, but I think this is sufficient.

With the comment update,


Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>

Lucas De Marchi

>+	intel_dp_mst_suspend(i915);
>+
> 	/* poll work can call into fbdev, hence clean that up afterwards */
> 	intel_fbdev_fini(i915);
>
>-- 
>2.24.0
>
>_______________________________________________
>Intel-gfx mailing list
>Intel-gfx@lists.freedesktop.org
>https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Souza, Jose Nov. 28, 2019, 1:01 a.m. UTC | #2
On Wed, 2019-11-27 at 10:43 -0800, Lucas De Marchi wrote:
> On Tue, Nov 26, 2019 at 06:16:09PM -0800, Jose Souza wrote:
> > MST do topology probe in threads, so this running threads needs to
> > be
> > flushed before fbdev is destroyed as when a new MST node is found
> > it
> > calls drm_kms_helper_hotplug_event() that calls fbdev functions
> > 
> > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=109964
> > Signed-off-by: José Roberto de Souza <jose.souza@intel.com>
> > ---
> > drivers/gpu/drm/i915/display/intel_display.c | 7 +++++++
> > 1 file changed, 7 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/i915/display/intel_display.c
> > b/drivers/gpu/drm/i915/display/intel_display.c
> > index 8f2770951459..372dd48691cf 100644
> > --- a/drivers/gpu/drm/i915/display/intel_display.c
> > +++ b/drivers/gpu/drm/i915/display/intel_display.c
> > @@ -17989,6 +17989,13 @@ void intel_modeset_driver_remove(struct
> > drm_i915_private *i915)
> > 	 */
> > 	intel_hpd_poll_fini(i915);
> > 
> > +	/*
> > +	 * MST do topology probe in threads, so this running threads
> > needs to
> > +	 * be flushed before fbdev is destroyed as when a new MST node
> > is found
> > +	 * it call drm_kms_helper_hotplug_event() that calls fbdev
> > functions
> > +	 */
> 
> this would normally be part of drm_mode_config_cleanup() in which the
> encoders will be destroyed, together with their mst_mgr via 
> drm_dp_mst_topology_mgr_destroy()
> 
> So I think the comment should actually mention why
> drm_mode_config_cleanup() can't be done before or just state where it
> will actually be destroyed. So... I guess something like:
> 
> /*
>   * MST topology needs to be suspended so we don't have any calls to
>   * fbdev after it's finalized. MST will be destroyed later as part
> of
>   * drm_mode_config_cleanup()
>   */
> 
> Of course, if we can figure out a better ordering to peel the onion
> would be better, but I think this is sufficient.

Sounds better, thanks.

> 
> With the comment update,
> 
> 
> Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
> 
> Lucas De Marchi
> 
> > +	intel_dp_mst_suspend(i915);
> > +
> > 	/* poll work can call into fbdev, hence clean that up
> > afterwards */
> > 	intel_fbdev_fini(i915);
> > 
> > -- 
> > 2.24.0
> > 
> > _______________________________________________
> > Intel-gfx mailing list
> > Intel-gfx@lists.freedesktop.org
> > https://lists.freedesktop.org/mailman/listinfo/intel-gfx
Souza, Jose Dec. 2, 2019, 8:56 p.m. UTC | #3
On Fri, 2019-11-29 at 05:21 +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/display: Suspend MST topology manager before destroy
> fbdev (rev3)
> URL   : https://patchwork.freedesktop.org/series/70081/
> State : failure
> 
> == Summary ==
> 
> CI Bug Log - changes from CI_DRM_7434_full -> Patchwork_15477_full
> ====================================================
> 
> Summary
> -------
> 
>   **FAILURE**
> 
>   Serious unknown changes coming with Patchwork_15477_full absolutely
> need to be
>   verified manually.
>   
>   If you think the reported changes have nothing to do with the
> changes
>   introduced in Patchwork_15477_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_15477_full:
> 
> ### IGT changes ###
> 
> #### Possible regressions ####
> 
>   * igt@kms_draw_crc@draw-method-xrgb8888-render-untiled:
>     - shard-skl:          [PASS][1] -> [INCOMPLETE][2]
>    [1]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-skl6/igt@kms_draw_crc@draw-method-xrgb8888-render-untiled.html
>    [2]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-skl5/igt@kms_draw_crc@draw-method-xrgb8888-render-untiled.html


Not related with MST.

Pushed to dinq with the comment changes suggested by Lucas.

> 
>   
> #### Suppressed ####
> 
>   The following results come from untrusted machines, tests, or
> statuses.
>   They do not affect the overall result.
> 
>   * {igt@gem_exec_balancer@bonded-chain}:
>     - shard-tglb:         NOTRUN -> [FAIL][3]
>    [3]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb5/igt@gem_exec_balancer@bonded-chain.html
> 
>   
> Known issues
> ------------
> 
>   Here are the changes found in Patchwork_15477_full that come from
> known issues:
> 
> ### IGT changes ###
> 
> #### Issues hit ####
> 
>   * igt@gem_ctx_isolation@vcs1-none:
>     - shard-iclb:         [PASS][4] -> [SKIP][5] ([fdo#109276] /
> [fdo#112080])
>    [4]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb4/igt@gem_ctx_isolation@vcs1-none.html
>    [5]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb5/igt@gem_ctx_isolation@vcs1-none.html
> 
>   * igt@gem_ctx_switch@queue-light:
>     - shard-tglb:         [PASS][6] -> [INCOMPLETE][7] ([fdo#111672])
>    [6]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb5/igt@gem_ctx_switch@queue-light.html
>    [7]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb2/igt@gem_ctx_switch@queue-light.html
> 
>   * igt@gem_eio@kms:
>     - shard-tglb:         [PASS][8] -> [INCOMPLETE][9] ([fdo#111887])
>    [8]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb9/igt@gem_eio@kms.html
>    [9]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb4/igt@gem_eio@kms.html
> 
>   * igt@gem_exec_parallel@vecs0:
>     - shard-tglb:         [PASS][10] -> [INCOMPLETE][11]
> ([fdo#111736])
>    [10]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb1/igt@gem_exec_parallel@vecs0.html
>    [11]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb4/igt@gem_exec_parallel@vecs0.html
> 
>   * igt@gem_exec_schedule@deep-bsd:
>     - shard-iclb:         [PASS][12] -> [SKIP][13] ([fdo#112146])
>    [12]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb5/igt@gem_exec_schedule@deep-bsd.html
>    [13]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb4/igt@gem_exec_schedule@deep-bsd.html
> 
>   * igt@gem_exec_schedule@smoketest-vebox:
>     - shard-tglb:         [PASS][14] -> [INCOMPLETE][15]
> ([fdo#111998])
>    [14]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb2/igt@gem_exec_schedule@smoketest-vebox.html
>    [15]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb3/igt@gem_exec_schedule@smoketest-vebox.html
> 
>   * igt@gem_exec_whisper@normal:
>     - shard-tglb:         [PASS][16] -> [INCOMPLETE][17]
> ([fdo#111747])
>    [16]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb7/igt@gem_exec_whisper@normal.html
>    [17]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb6/igt@gem_exec_whisper@normal.html
> 
>   * igt@gem_persistent_relocs@forked-interruptible-thrash-inactive:
>     - shard-hsw:          [PASS][18] -> [FAIL][19] ([fdo#112037])
>    [18]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-hsw8/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html
>    [19]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-hsw7/igt@gem_persistent_relocs@forked-interruptible-thrash-inactive.html
> 
>   * igt@gem_ppgtt@flink-and-close-vma-leak:
>     - shard-glk:          [PASS][20] -> [FAIL][21] ([fdo#112392])
>    [20]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-glk1/igt@gem_ppgtt@flink-and-close-vma-leak.html
>    [21]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-glk7/igt@gem_ppgtt@flink-and-close-vma-leak.html
> 
>   * igt@gem_userptr_blits@map-fixed-invalidate-busy-gup:
>     - shard-hsw:          [PASS][22] -> [DMESG-WARN][23]
> ([fdo#111870]) +1 similar issue
>    [22]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-hsw8/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
>    [23]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-hsw2/igt@gem_userptr_blits@map-fixed-invalidate-busy-gup.html
> 
>   * igt@gem_workarounds@suspend-resume-context:
>     - shard-apl:          [PASS][24] -> [DMESG-WARN][25]
> ([fdo#108566]) +2 similar issues
>    [24]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-apl1/igt@gem_workarounds@suspend-resume-context.html
>    [25]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-apl4/igt@gem_workarounds@suspend-resume-context.html
> 
>   * igt@kms_big_fb@yf-tiled-16bpp-rotate-0:
>     - shard-skl:          [PASS][26] -> [INCOMPLETE][27]
> ([fdo#112347])
>    [26]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-skl9/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html
>    [27]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-skl10/igt@kms_big_fb@yf-tiled-16bpp-rotate-0.html
> 
>   * igt@kms_cursor_crc@pipe-a-cursor-suspend:
>     - shard-tglb:         [PASS][28] -> [INCOMPLETE][29]
> ([fdo#111832] / [fdo#111850]) +1 similar issue
>    [28]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb7/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
>    [29]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb4/igt@kms_cursor_crc@pipe-a-cursor-suspend.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank-interruptible:
>     - shard-glk:          [PASS][30] -> [FAIL][31] ([fdo#105363])
>    [30]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-glk4/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
>    [31]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-glk1/igt@kms_flip@flip-vs-expired-vblank-interruptible.html
> 
>   * igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw:
>     - shard-tglb:         [PASS][32] -> [FAIL][33] ([fdo#103167])
>    [32]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
>    [33]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb5/igt@kms_frontbuffer_tracking@fbcpsr-1p-pri-indfb-multidraw.html
> 
>   * igt@kms
> _frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu:
>     - shard-tglb:         [PASS][34] -> [INCOMPLETE][35]
> ([fdo#111884]) +1 similar issue
>    [34]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb2/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
>    [35]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
> 
>   * igt@kms
> _frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
>     - shard-iclb:         [PASS][36] -> [FAIL][37] ([fdo#103167]) +1
> similar issue
>    [36]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
>    [37]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
> 
>   * igt@kms_frontbuffer_tracking@psr-1p-rte:
>     - shard-iclb:         [PASS][38] -> [INCOMPLETE][39]
> ([fdo#106978] / [fdo#107713])
>    [38]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb4/igt@kms_frontbuffer_tracking@psr-1p-rte.html
>    [39]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb8/igt@kms_frontbuffer_tracking@psr-1p-rte.html
> 
>   * igt@kms_plane@pixel-format-pipe-b-planes:
>     - shard-kbl:          [PASS][40] -> [INCOMPLETE][41]
> ([fdo#103665])
>    [40]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-kbl1/igt@kms_plane@pixel-format-pipe-b-planes.html
>    [41]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-kbl1/igt@kms_plane@pixel-format-pipe-b-planes.html
> 
>   * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
>     - shard-kbl:          [PASS][42] -> [DMESG-WARN][43]
> ([fdo#108566]) +1 similar issue
>    [42]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
>    [43]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-kbl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
> 
>   * igt@kms_plane_lowres@pipe-a-tiling-y:
>     - shard-iclb:         [PASS][44] -> [FAIL][45] ([fdo#103166])
>    [44]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb3/igt@kms_plane_lowres@pipe-a-tiling-y.html
>    [45]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb5/igt@kms_plane_lowres@pipe-a-tiling-y.html
> 
>   * igt@kms_psr@psr2_cursor_blt:
>     - shard-iclb:         [PASS][46] -> [SKIP][47] ([fdo#109441]) +1
> similar issue
>    [46]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb2/igt@kms_psr@psr2_cursor_blt.html
>    [47]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb6/igt@kms_psr@psr2_cursor_blt.html
> 
>   * igt@kms_setmode@basic:
>     - shard-hsw:          [PASS][48] -> [FAIL][49] ([fdo#99912])
>    [48]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-hsw1/igt@kms_setmode@basic.html
>    [49]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-hsw4/igt@kms_setmode@basic.html
> 
>   * igt@kms_vblank@pipe-d-ts-continuation-suspend:
>     - shard-tglb:         [PASS][50] -> [INCOMPLETE][51]
> ([fdo#111850]) +1 similar issue
>    [50]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb1/igt@kms_vblank@pipe-d-ts-continuation-suspend.html
>    [51]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb1/igt@kms_vblank@pipe-d-ts-continuation-suspend.html
> 
>   * igt@perf_pmu@busy-no-semaphores-vcs1:
>     - shard-iclb:         [PASS][52] -> [SKIP][53] ([fdo#112080]) +6
> similar issues
>    [52]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb4/igt@perf_pmu@busy-no-semaphores-vcs1.html
>    [53]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb5/igt@perf_pmu@busy-no-semaphores-vcs1.html
> 
>   * igt@prime_vgem@fence-wait-bsd2:
>     - shard-iclb:         [PASS][54] -> [SKIP][55] ([fdo#109276]) +13
> similar issues
>    [54]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb4/igt@prime_vgem@fence-wait-bsd2.html
>    [55]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb5/igt@prime_vgem@fence-wait-bsd2.html
> 
>   
> #### Possible fixes ####
> 
>   * igt@gem_ctx_isolation@rcs0-s3:
>     - shard-kbl:          [DMESG-WARN][56] ([fdo#108566]) ->
> [PASS][57] +7 similar issues
>    [56]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-kbl7/igt@gem_ctx_isolation@rcs0-s3.html
>    [57]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-kbl3/igt@gem_ctx_isolation@rcs0-s3.html
> 
>   * igt@gem_ctx_persistence@smoketest:
>     - shard-glk:          [TIMEOUT][58] ([fdo#112404]) -> [PASS][59]
>    [58]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-glk8/igt@gem_ctx_persistence@smoketest.html
>    [59]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-glk4/igt@gem_ctx_persistence@smoketest.html
> 
>   * igt@gem_eio@in-flight-suspend:
>     - shard-skl:          [INCOMPLETE][60] ([fdo#104108]) ->
> [PASS][61] +1 similar issue
>    [60]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-skl8/igt@gem_eio@in-flight-suspend.html
>    [61]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-skl5/igt@gem_eio@in-flight-suspend.html
> 
>   * igt@gem_eio@unwedge-stress:
>     - shard-hsw:          [INCOMPLETE][62] ([fdo#103540]) ->
> [PASS][63]
>    [62]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-hsw4/igt@gem_eio@unwedge-stress.html
>    [63]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-hsw2/igt@gem_eio@unwedge-stress.html
> 
>   * igt@gem_exec_balancer@smoke:
>     - shard-iclb:         [SKIP][64] ([fdo#110854]) -> [PASS][65]
>    [64]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb5/igt@gem_exec_balancer@smoke.html
>    [65]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb4/igt@gem_exec_balancer@smoke.html
> 
>   * igt@gem_exec_parallel@fds:
>     - shard-tglb:         [INCOMPLETE][66] ([fdo#111867]) ->
> [PASS][67]
>    [66]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb6/igt@gem_exec_parallel@fds.html
>    [67]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb2/igt@gem_exec_parallel@fds.html
> 
>   * igt@gem_exec_schedule@fifo-bsd1:
>     - shard-iclb:         [SKIP][68] ([fdo#109276]) -> [PASS][69] +1
> similar issue
>    [68]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb5/igt@gem_exec_schedule@fifo-bsd1.html
>    [69]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb4/igt@gem_exec_schedule@fifo-bsd1.html
> 
>   * igt@gem_exec_schedule@preempt-queue-bsd:
>     - shard-iclb:         [SKIP][70] ([fdo#112146]) -> [PASS][71] +2
> similar issues
>    [70]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb4/igt@gem_exec_schedule@preempt-queue-bsd.html
>    [71]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb6/igt@gem_exec_schedule@preempt-queue-bsd.html
> 
>   * igt@gem_exec_schedule@preempt-queue-chain-vebox:
>     - shard-tglb:         [INCOMPLETE][72] ([fdo#111677]) ->
> [PASS][73]
>    [72]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb6/igt@gem_exec_schedule@preempt-queue-chain-vebox.html
>    [73]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb9/igt@gem_exec_schedule@preempt-queue-chain-vebox.html
> 
>   * igt@gem_softpin@noreloc-s3:
>     - shard-tglb:         [INCOMPLETE][74] ([fdo#111832]) ->
> [PASS][75] +1 similar issue
>    [74]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb3/igt@gem_softpin@noreloc-s3.html
>    [75]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb9/igt@gem_softpin@noreloc-s3.html
> 
>   * igt@gem_sync@basic-store-all:
>     - shard-tglb:         [INCOMPLETE][76] ([fdo#111880]) ->
> [PASS][77]
>    [76]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb6/igt@gem_sync@basic-store-all.html
>    [77]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb7/igt@gem_sync@basic-store-all.html
> 
>   * igt@gem_userptr_blits@sync-unmap-after-close:
>     - shard-hsw:          [DMESG-WARN][78] ([fdo#111870]) ->
> [PASS][79] +1 similar issue
>    [78]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-hsw6/igt@gem_userptr_blits@sync-unmap-after-close.html
>    [79]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-hsw2/igt@gem_userptr_blits@sync-unmap-after-close.html
>     - shard-kbl:          [INCOMPLETE][80] ([fdo#103665]) ->
> [PASS][81] +1 similar issue
>    [80]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-kbl6/igt@gem_userptr_blits@sync-unmap-after-close.html
>    [81]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-kbl4/igt@gem_userptr_blits@sync-unmap-after-close.html
> 
>   * igt@kms_big_fb@y-tiled-32bpp-rotate-270:
>     - shard-glk:          [INCOMPLETE][82] ([fdo#103359] /
> [k.org#198133]) -> [PASS][83]
>    [82]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-glk7/igt@kms_big_fb@y-tiled-32bpp-rotate-270.html
>    [83]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-glk9/igt@kms_big_fb@y-tiled-32bpp-rotate-270.html
> 
>   * igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic:
>     - shard-glk:          [FAIL][84] ([fdo#107409]) -> [PASS][85]
>    [84]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-glk9/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
>    [85]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-glk5/igt@kms_cursor_legacy@2x-nonblocking-modeset-vs-cursor-atomic.html
> 
>   * igt@kms_flip@flip-vs-expired-vblank:
>     - shard-skl:          [FAIL][86] ([fdo#105363]) -> [PASS][87]
>    [86]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-skl1/igt@kms_flip@flip-vs-expired-vblank.html
>    [87]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-skl6/igt@kms_flip@flip-vs-expired-vblank.html
> 
>   * igt@kms_flip@flip-vs-suspend-interruptible:
>     - shard-tglb:         [INCOMPLETE][88] ([fdo#111832] /
> [fdo#111850] / [fdo#112031]) -> [PASS][89]
>    [88]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb3/igt@kms_flip@flip-vs-suspend-interruptible.html
>    [89]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb6/igt@kms_flip@flip-vs-suspend-interruptible.html
>     - shard-iclb:         [INCOMPLETE][90] ([fdo#107713] /
> [fdo#109507]) -> [PASS][91]
>    [90]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb3/igt@kms_flip@flip-vs-suspend-interruptible.html
>    [91]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb8/igt@kms_flip@flip-vs-suspend-interruptible.html
> 
>   * igt@kms_flip@plain-flip-ts-check-interruptible:
>     - shard-skl:          [FAIL][92] ([fdo#100368]) -> [PASS][93] +1
> similar issue
>    [92]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-skl2/igt@kms_flip@plain-flip-ts-check-interruptible.html
>    [93]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-skl10/igt@kms_flip@plain-flip-ts-check-interruptible.html
> 
>   * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt:
>     - shard-tglb:         [INCOMPLETE][94] ([fdo#111884]) ->
> [PASS][95]
>    [94]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb3/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
>    [95]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb1/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-blt.html
> 
>   * igt@kms
> _frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc:
>     - shard-tglb:         [FAIL][96] ([fdo#103167]) -> [PASS][97] +1
> similar issue
>    [96]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb7/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc.html
>    [97]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb4/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-shrfb-draw-mmap-wc.html
> 
>   * igt@kms
> _frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu:
>     - shard-iclb:         [INCOMPLETE][98] ([fdo#106978] /
> [fdo#107713]) -> [PASS][99]
>    [98]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb3/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
>    [99]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb5/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
>     - shard-skl:          [INCOMPLETE][100] ([fdo#106978]) ->
> [PASS][101]
>    [100]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-skl8/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
>    [101]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-skl2/igt@kms_frontbuffer_tracking@psr-1p-primscrn-cur-indfb-draw-mmap-cpu.html
> 
>   * igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes:
>     - shard-apl:          [DMESG-WARN][102] ([fdo#108566]) ->
> [PASS][103] +2 similar issues
>    [102]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-apl1/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
>    [103]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-apl4/igt@kms_plane@plane-panning-bottom-right-suspend-pipe-a-planes.html
> 
>   * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
>     - shard-skl:          [FAIL][104] ([fdo#108145] / [fdo#110403])
> -> [PASS][105]
>    [104]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-skl9/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
>    [105]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-skl9/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
> 
>   * igt@kms_vblank@pipe-a-ts-continuation-suspend:
>     - shard-tglb:         [INCOMPLETE][106] ([fdo#111832] /
> [fdo#111850]) -> [PASS][107] +1 similar issue
>    [106]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-tglb5/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
>    [107]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-tglb3/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
> 
>   * igt@perf_pmu@busy-accuracy-98-vcs1:
>     - shard-iclb:         [SKIP][108] ([fdo#112080]) -> [PASS][109]
>    [108]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-iclb5/igt@perf_pmu@busy-accuracy-98-vcs1.html
>    [109]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-iclb4/igt@perf_pmu@busy-accuracy-98-vcs1.html
> 
>   
> #### Warnings ####
> 
>   * igt@gem_eio@kms:
>     - shard-snb:          [INCOMPLETE][110] ([fdo#105411]) -> [DMESG-
> WARN][111] ([fdo# 112000 ] / [fdo#111781])
>    [110]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_7434/shard-snb1/igt@gem_eio@kms.html
>    [111]: 
> https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_15477/shard-snb2/igt@gem_eio@kms.html
> 
>   
>   {name}: This element is suppressed. This means it is ignored when
> computing
>           the status of the difference (SUCCESS, WARNING, or
> FAILURE).
> 
>   [fdo# 112000 ]: https://bugs.freedesktop.org/show_bug.cgi?id=
> 112000 
>   [fdo#100368]: https://bugs.freedesktop.org/show_bug.cgi?id=100368
>   [fdo#103166]: https://bugs.freedesktop.org/show_bug.cgi?id=103166
>   [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
>   [fdo#103359]: https://bugs.freedesktop.org/show_bug.cgi?id=103359
>   [fdo#103540]: https://bugs.freedesktop.org/show_bug.cgi?id=103540
>   [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
>   [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
>   [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
>   [fdo#105411]: https://bugs.freedesktop.org/show_bug.cgi?id=105411
>   [fdo#106978]: https://bugs.freedesktop.org/show_bug.cgi?id=106978
>   [fdo#107409]: https://bugs.freedesktop.org/show_bug.cgi?id=107409
>   [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
>   [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
>   [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
>   [fdo#109276]: https://bugs.freedesktop.org/show_bug.cgi?id=109276
>   [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
>   [fdo#109507]: https://bugs.freedesktop.org/show_bug.cgi?id=109507
>   [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
>   [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
>   [fdo#111672]: https://bugs.freedesktop.org/show_bug.cgi?id=111672
>   [fdo#111677]: https://bugs.freedesktop.org/show_bug.cgi?id=111677
>   [fdo#111736]: https://bugs.freedesktop.org/show_bug.cgi?id=111736
>   [fdo#111747]: https://bugs.freedesktop.org/show_bug.cgi?id=111747
>   [fdo#111781]: https://bugs.freedesktop.org/show_bug.cgi?id=111781
>   [fdo#111832]: https://bugs.freedesktop.org/show_bug.cgi?id=111832
>   [fdo#111850]: https://bugs.freedesktop.org/show_bug.cgi?id=111850
>   [fdo#111867]: https://bugs.freedesktop.org/show_bug.cgi?id=111867
>   [fdo#111870]: https://bugs.freedesktop.org/show_bug.cgi?id=111870
>   [fdo#111880]: https://bugs.freedesktop.org/show_bug.cgi?id=111880
>   [fdo#111884]: https://bugs.freedesktop.org/show_bug.cgi?id=111884
>   [fdo#111887]: https://bugs.freedesktop.org/show_bug.cgi?id=111887
>   [fdo#111998]: https://bugs.freedesktop.org/show_bug.cgi?id=111998
>   [fdo#112031]: https://bugs.freedesktop.org/show_bug.cgi?id=112031
>   [fdo#112037]: https://bugs.freedesktop.org/show_bug.cgi?id=112037
>   [fdo#112080]: https://bugs.freedesktop.org/show_bug.cgi?id=112080
>   [fdo#112146]: https://bugs.freedesktop.org/show_bug.cgi?id=112146
>   [fdo#112347]: https://bugs.freedesktop.org/show_bug.cgi?id=112347
>   [fdo#112392]: https://bugs.freedesktop.org/show_bug.cgi?id=112392
>   [fdo#112404]: https://bugs.freedesktop.org/show_bug.cgi?id=112404
>   [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912
>   [k.org#198133]: https://bugzilla.kernel.org/show_bug.cgi?id=198133
> 
> 
> Participating hosts (11 -> 11)
> ------------------------------
> 
>   No changes in participating hosts
> 
> 
> Build changes
> -------------
> 
>   * CI: CI-20190529 -> None
>   * Linux: CI_DRM_7434 -> Patchwork_15477
> 
>   CI-20190529: 20190529
>   CI_DRM_7434: 1bbc4d30ca9fd950cbcb73f324e00d0bc357758e @
> git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_5312: 851c75531043cd906e028632b64b02b9312e9945 @
> git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_15477: baba03f6442c108b43e37ddf3c9677f8f7a435f1 @
> 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_15477/index.html
diff mbox series

Patch

diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
index 8f2770951459..372dd48691cf 100644
--- a/drivers/gpu/drm/i915/display/intel_display.c
+++ b/drivers/gpu/drm/i915/display/intel_display.c
@@ -17989,6 +17989,13 @@  void intel_modeset_driver_remove(struct drm_i915_private *i915)
 	 */
 	intel_hpd_poll_fini(i915);
 
+	/*
+	 * MST do topology probe in threads, so this running threads needs to
+	 * be flushed before fbdev is destroyed as when a new MST node is found
+	 * it call drm_kms_helper_hotplug_event() that calls fbdev functions
+	 */
+	intel_dp_mst_suspend(i915);
+
 	/* poll work can call into fbdev, hence clean that up afterwards */
 	intel_fbdev_fini(i915);