[PATCH 3/4] ALSA: hda: Update and expose codec register procedures

Takashi Iwai tiwai at suse.de
Wed Feb 9 15:19:12 CET 2022


On Wed, 09 Feb 2022 11:38:23 +0100,
Cezary Rojewski wrote:
> 
> On 2022-02-09 11:21 AM, Cezary Rojewski wrote:
> > snd_soc_bind_card() invokes snd_card_register() which in consequence
> > leads to snd_device_register_all() and that to automatic
> > ->dev_register call. That call involves PM operations, and at that
> > moment, codec is not ready for it.
> By that I mean: bus driver (here, avs-driver) has some saying on the
> PM matter too e.g.: sets their (codecs) status to suspended via
> pm_runtime_set_suspended() so the bus runtime suspend is not blocked
> by codecs that could possibly never complete their probing.

Hm, but the runtime PM of hda_codec device is suppressed at first in
snd_hda_codec_device_new() via pm_runtime_forbid(), i.e. the codec
should be kept running until it reaches to snd_hda_codec_register(),
it shouldn't be runtime-suspended beforehand.

I might overlook something, but it's a bit hard to follow...


thanks,

Takashi


More information about the Alsa-devel mailing list