On Tue, 25 Jul 2023 12:29:07 +0200, Maarten Lankhorst wrote: > > Hey, > > On 2023-07-24 13:32, Pierre-Louis Bossart wrote: > > > > > > On 7/19/23 18:41, Maarten Lankhorst wrote: > >> This was only used to allow modprobing i915, by converting to the > >> -EPROBE_DEFER mechanism, it can be completely removed, and is in > >> fact counterproductive since -EPROBE_DEFER otherwise won't be > >> handled correctly. > > > > I personally remember only that the request_module("i915") was the main > > motivation for the use of the workqueue, but when it comes to the > > HDaudio codec management we don't even know what we don't know. > > > > I am a bit worried that the snd-hda-intel driver keeps the workqueue for > > HDaudio codec initialization, and this patch removes the workqueue > > completely for SOF. That doesn't seem right. Either both drivers need a > > workqueue or none need a workqueue. > > > > Maybe what we need is to move the i915/xe initialization out of the > > workqueue, and see in a second pass if that workqueue can be safely > > removed from the SOF driver? > > > As I mentioned in some of the other sound driver conversions. I > believe it's possible to completely kill off most workqueues. > > However, I don´t have the hardware or knowledge to test it. I saw > that the SOF had the non-workqueue path already, so it felt less risky > to simply convert it to always use that path. > > avs/skylake drivers should be easy to convert too. This is why I left > the comment: "Removing the workqueue would simplify init even further, > but is left as exercise for the reviewer." > > HDA-intel has this retry-probe logic used on AMD's, > which makes me more hesitant to convert it. Yes, HDA-Intel requires either a workqueue or async firmware-loader callback because there is some codec module-autoload mechanism that may happen during the probe phase. It's not only on AMD, but it's required in general for all codecs. Takashi