✗ Fi.CI.BAT: failure for series starting with [CI, 1/9] lib/igt_kmod: Remove unused module_ref

Imre Deak imre.deak at intel.com
Wed Dec 4 14:11:37 UTC 2024


On Tue, Dec 03, 2024 at 05:56:29PM -0600, Lucas De Marchi wrote:
> On Tue, Dec 03, 2024 at 03:17:04PM -0800, Matt Roper wrote:
> > On Thu, Nov 21, 2024 at 04:02:16PM -0600, Lucas De Marchi wrote:
> [...]
> > > > #### Possible regressions ####
> > > >
> > > >  * igt at core_hotunplug@unbind-rebind:
> > > 
> > > oh well... CI is definitely not happy with this series, hitting this:
> > > 
> > > <3> [152.880835] i915 0000:00:02.0: [drm] *ERROR* audio power refcount 1 after unbind
> > > 
> > > Need to check what's going on
> > 
> > I think that's
> > 
> > https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/3467
> > 
> > which we're now exposed to more widely by intentionally not unloading
> > the audio driver.
> 
> this series is not merged... by "now" do you mean in i915 (since this is
> extending the xe behavior to i915)?
> 
> that manual refcount in i915-display seems wrong when unbinding... the
> audio component has the get_power/put_power, but if the entrypoint to the
> unbind is via i915's call to component_del(), it shouldn't really
> matter. Both components should be able to break it.

This looks like an issue in the audio driver, not putting the power ref
during unbind. In all cases - i.e. whichever component starts it - the
unbind sequence is controled by the master component which is the audio
component here. So for instance:

i915_audio_component_cleanup()->component_del()->take_down_aggregate_device()->
  hdac_component_master_unbind()->
      (the audio driver should release all resources, including the
       display power ref)->
       component_unbind_all()->i915_audio_component_unbind()

By the time i915_audio_component_unbind() is called the power reference
should have been put already by the audio side.

> +Imre
> 
> I wonder if doing something like this would be ok and not mask other
> issues... that would match the "registered" logic we have in e.g.
> i915_pmu.c
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_audio.c b/drivers/gpu/drm/i915/display/intel_audio.c
> index c6b251f178c25..2c405e980c3a7 100644
> --- a/drivers/gpu/drm/i915/display/intel_audio.c
> +++ b/drivers/gpu/drm/i915/display/intel_audio.c
> @@ -1285,7 +1285,8 @@ static void i915_audio_component_unbind(struct device *drv_kdev,
>  	device_link_remove(hda_kdev, drv_kdev);
> -	if (i915->display.audio.power_refcount)
> +	if (i915->display.audio.component_registered &&
> +	    i915->display.audio.power_refcount)
>  		drm_err(&i915->drm, "audio power refcount %d after unbind\n",
>  			i915->display.audio.power_refcount);
>  }
> @@ -1376,8 +1377,8 @@ static void i915_audio_component_cleanup(struct drm_i915_private *i915)
>  	if (!i915->display.audio.component_registered)
>  		return;
> -	component_del(i915->drm.dev, &i915_audio_component_bind_ops);
>  	i915->display.audio.component_registered = false;
> +	component_del(i915->drm.dev, &i915_audio_component_bind_ops);
>  }
>  /**
> diff --git a/drivers/gpu/drm/i915/display/intel_display_core.h b/drivers/gpu/drm/i915/display/intel_display_core.h
> index 554870d2494b3..75f2a064feba7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_core.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_core.h
> @@ -101,6 +101,7 @@ struct intel_audio_state {
>  struct intel_audio {
>  	/* hda/i915 audio component */
>  	struct i915_audio_component *component;
> +	/* registered and not in the process of unregistering */
>  	bool component_registered;
>  	/* mutex for audio/video sync */
>  	struct mutex mutex;
> 
> 
> Lucas De Marchi
> 
> > 
> > 
> > Matt
> > 
> > > 
> > > Lucas De Marchi
> > > 
> > > >    - fi-cfl-guc:         [PASS][1] -> [ABORT][2]
> > > >   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
> > > >   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/fi-cfl-guc/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-dg2-9:          [PASS][3] -> [ABORT][4]
> > > >   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-dg2-9/igt@core_hotunplug@unbind-rebind.html
> > > >   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-dg2-9/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-dg2-11:         [PASS][5] -> [ABORT][6]
> > > >   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-dg2-11/igt@core_hotunplug@unbind-rebind.html
> > > >   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-dg2-11/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-dg2-14:         [PASS][7] -> [ABORT][8]
> > > >   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-dg2-14/igt@core_hotunplug@unbind-rebind.html
> > > >   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-dg2-14/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-dg2-8:          [PASS][9] -> [ABORT][10]
> > > >   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-dg2-8/igt@core_hotunplug@unbind-rebind.html
> > > >   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-dg2-8/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-adls-6:         [PASS][11] -> [ABORT][12]
> > > >   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-adls-6/igt@core_hotunplug@unbind-rebind.html
> > > >   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-adls-6/igt@core_hotunplug@unbind-rebind.html
> > > >    - fi-rkl-11600:       [PASS][13] -> [ABORT][14]
> > > >   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
> > > >   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/fi-rkl-11600/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-dg1-7:          [PASS][15] -> [ABORT][16]
> > > >   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-dg1-7/igt@core_hotunplug@unbind-rebind.html
> > > >   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-dg1-7/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-rpls-4:         [PASS][17] -> [ABORT][18]
> > > >   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-rpls-4/igt@core_hotunplug@unbind-rebind.html
> > > >   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-rpls-4/igt@core_hotunplug@unbind-rebind.html
> > > >    - fi-cfl-8109u:       [PASS][19] -> [ABORT][20]
> > > >   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html
> > > >   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/fi-cfl-8109u/igt@core_hotunplug@unbind-rebind.html
> > > >    - fi-kbl-7567u:       [PASS][21] -> [ABORT][22]
> > > >   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html
> > > >   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/fi-kbl-7567u/igt@core_hotunplug@unbind-rebind.html
> > > >    - bat-apl-1:          [PASS][23] -> [ABORT][24]
> > > >   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-apl-1/igt@core_hotunplug@unbind-rebind.html
> > > >   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-apl-1/igt@core_hotunplug@unbind-rebind.html
> > > >    - fi-tgl-1115g4:      [PASS][25] -> [ABORT][26]
> > > >   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
> > > >   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/fi-tgl-1115g4/igt@core_hotunplug@unbind-rebind.html
> > > >
> > > >  * igt at i915_pm_rpm@module-reload:
> > > >    - bat-adlp-6:         [PASS][27] -> [ABORT][28]
> > > >   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-adlp-6/igt@i915_pm_rpm@module-reload.html
> > > >   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-adlp-6/igt@i915_pm_rpm@module-reload.html
> > > >    - bat-adlp-9:         [PASS][29] -> [ABORT][30]
> > > >   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-adlp-9/igt@i915_pm_rpm@module-reload.html
> > > >   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-adlp-9/igt@i915_pm_rpm@module-reload.html
> > > >    - bat-arls-5:         [PASS][31] -> [ABORT][32]
> > > >   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-arls-5/igt@i915_pm_rpm@module-reload.html
> > > >   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-arls-5/igt@i915_pm_rpm@module-reload.html
> > > >
> > > >
> > > > #### Suppressed ####
> > > >
> > > >  The following results come from untrusted machines, tests, or statuses.
> > > >  They do not affect the overall result.
> > > >
> > > >  * igt at i915_pm_rpm@module-reload:
> > > >    - {bat-arls-6}:       [PASS][33] -> [ABORT][34]
> > > >   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-arls-6/igt@i915_pm_rpm@module-reload.html
> > > >   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-arls-6/igt@i915_pm_rpm@module-reload.html
> > > >
> > > >
> > > > Known issues
> > > > ------------
> > > >
> > > >  Here are the changes found in IGTPW_12135 that come from known issues:
> > > >
> > > > ### IGT changes ###
> > > >
> > > > #### Issues hit ####
> > > >
> > > >  * igt at dmabuf@all-tests at dma_fence_chain:
> > > >    - fi-bsw-nick:        [PASS][35] -> [INCOMPLETE][36] ([i915#12904]) +1 other test incomplete
> > > >   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/fi-bsw-nick/igt@dmabuf@all-tests@dma_fence_chain.html
> > > >   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/fi-bsw-nick/igt@dmabuf@all-tests@dma_fence_chain.html
> > > >
> > > >  * igt at i915_selftest@live:
> > > >    - bat-arlh-3:         [PASS][37] -> [ABORT][38] ([i915#12829])
> > > >   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-arlh-3/igt@i915_selftest@live.html
> > > >   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-arlh-3/igt@i915_selftest@live.html
> > > >
> > > >  * igt at i915_selftest@live at workarounds:
> > > >    - bat-arlh-3:         [PASS][39] -> [ABORT][40] ([i915#12061])
> > > >   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-arlh-3/igt@i915_selftest@live@workarounds.html
> > > >   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-arlh-3/igt@i915_selftest@live@workarounds.html
> > > >
> > > >
> > > > #### Possible fixes ####
> > > >
> > > >  * igt at i915_module_load@load:
> > > >    - bat-twl-2:          [DMESG-WARN][41] ([i915#1982]) -> [PASS][42]
> > > >   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-twl-2/igt@i915_module_load@load.html
> > > >   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-twl-2/igt@i915_module_load@load.html
> > > >
> > > >  * igt at i915_selftest@live:
> > > >    - bat-mtlp-8:         [ABORT][43] ([i915#12829]) -> [PASS][44]
> > > >   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-mtlp-8/igt@i915_selftest@live.html
> > > >   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-mtlp-8/igt@i915_selftest@live.html
> > > >
> > > >  * igt at i915_selftest@live at gt_mocs:
> > > >    - bat-twl-2:          [ABORT][45] ([i915#12919]) -> [PASS][46] +1 other test pass
> > > >   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-twl-2/igt@i915_selftest@live@gt_mocs.html
> > > >   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-twl-2/igt@i915_selftest@live@gt_mocs.html
> > > >
> > > >  * igt at i915_selftest@live at workarounds:
> > > >    - bat-mtlp-8:         [ABORT][47] -> [PASS][48]
> > > >   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-mtlp-8/igt@i915_selftest@live@workarounds.html
> > > >   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-mtlp-8/igt@i915_selftest@live@workarounds.html
> > > >
> > > >  * igt at kms_pipe_crc_basic@nonblocking-crc-frame-sequence:
> > > >    - bat-apl-1:          [DMESG-WARN][49] -> [PASS][50] +2 other tests pass
> > > >   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-apl-1/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
> > > >   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-apl-1/igt@kms_pipe_crc_basic@nonblocking-crc-frame-sequence.html
> > > >
> > > >  * igt at kms_pipe_crc_basic@read-crc-frame-sequence:
> > > >    - bat-dg2-11:         [SKIP][51] ([i915#9197]) -> [PASS][52]
> > > >   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/IGT_8118/bat-dg2-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
> > > >   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/bat-dg2-11/igt@kms_pipe_crc_basic@read-crc-frame-sequence.html
> > > >
> > > >
> > > >  {name}: This element is suppressed. This means it is ignored when computing
> > > >          the status of the difference (SUCCESS, WARNING, or FAILURE).
> > > >
> > > >  [i915#12061]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12061
> > > >  [i915#12829]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12829
> > > >  [i915#12904]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12904
> > > >  [i915#12919]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/12919
> > > >  [i915#1982]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/1982
> > > >  [i915#9197]: https://gitlab.freedesktop.org/drm/i915/kernel/-/issues/9197
> > > >
> > > >
> > > > Build changes
> > > > -------------
> > > >
> > > >  * CI: CI-20190529 -> None
> > > >  * IGT: IGT_8118 -> IGTPW_12135
> > > >
> > > >  CI-20190529: 20190529
> > > >  CI_DRM_15720: f8f85a38f6c75e091805f01ceff4041ac2fdf3fd @ git://anongit.freedesktop.org/gfx-ci/linux
> > > >  IGTPW_12135: 12135
> > > >  IGT_8118: 17707095f1e5d3c30f463b43022f01c0160579b6 @ https://gitlab.freedesktop.org/drm/igt-gpu-tools.git
> > > >
> > > > == Logs ==
> > > >
> > > > For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/IGTPW_12135/index.html
> > 
> > -- 
> > Matt Roper
> > Graphics Software Engineer
> > Linux GPU Platform Enablement
> > Intel Corporation


More information about the igt-dev mailing list