Re: [PATCH v2 8/9] ASoC: SOF: Intel: Remove deferred probe for SOF

From: Maarten Lankhorst
Date: Tue Jul 25 2023 - 06:29:37 EST


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.

I wanted to tackle one problem at a time, I believe workqueue removal can be done by anyone.

Cheers,
~Maarten