[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <34d34e99-c6a3-2d08-2c4b-c548b6b87e9a@linux.intel.com>
Date: Mon, 11 Sep 2023 20:25:28 -0400
From: Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>
To: Péter Ujfalusi <peter.ujfalusi@...ux.intel.com>,
Kai Vehmanen <kai.vehmanen@...ux.intel.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>
Cc: alsa-devel@...a-project.org, Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Cezary Rojewski <cezary.rojewski@...el.com>,
Liam Girdwood <liam.r.girdwood@...ux.intel.com>,
Bard Liao <yung-chuan.liao@...ux.intel.com>,
Ranjani Sridharan <ranjani.sridharan@...ux.intel.com>,
Mark Brown <broonie@...nel.org>,
Daniel Baluta <daniel.baluta@....com>,
linux-kernel@...r.kernel.org, sound-open-firmware@...a-project.org
Subject: Re: [PATCH v4 01/11] ASoC: SOF: core: add 'no_wq' probe and remove
callbacks
> What we have atm:
> snd_sof_probe - might be called from wq
> snd_sof_remove - might be called from wq (cleans up the snd_sof_probe
> step)
I don't think it's correct, snd_sof_remove cannot be called from a wq.
The device core knows nothing about workqueues.
> We want a callbacks for hardware/device probing, right, split the
> snd_sof_probe (and remove) to be able to support a sane level of
> deferred probing support.
>
> With that in mind:
> snd_sof_device_probe - Not called from wq (to handle deferred probing)
> snd_sof_probe - might be called from wq
>
> snd_sof_remove - might be called from wq (cleans up the snd_sof_probe
> step)
> snd_sof_device_remove - Not called from wq (to up the
> snd_sof_device_probe step)
>
> Naming option: s/device/hardware
I like the 'device' hint since it's directly related to the device (or
subsystem) callbacks.
> However, I think the snd_sof_device_remove itself is redundant and we
> might not need it at all as in case we have wq and there is a failure in
> there we do want to release resources as much as possible. The module
> will be kept loaded (no deferred handling in wq) and that might block
> PM, other devices to behave correctly. Iow, if the wq has failure we
> should do a cleanup to the best effort to reach a level like the driver
> is not even loaded.
If we have a failure in a workqueue used for probe, then we have to
clean-up everything since nothing in the device core will do so for us.
Powered by blists - more mailing lists