[alsa-devel] HD-Audio: How to reduce driver initializaton time if multiple codecs present on the bus?
Takashi Iwai
tiwai at suse.de
Fri Nov 29 07:40:39 CET 2013
At Fri, 29 Nov 2013 14:30:48 +0800,
David Henningsson wrote:
>
> 2013-11-28 22:57, Lin, Mengdong skrev:
> > Hi Takashi,
> >
> > We're trying to reduce the HD-A driver initialization time when more than one codecs are connected to the bus, but are blocked.
> > Would you please share some advices on this?
> >
> > Usually, there is one HD-A controller connecting to two codecs: one on-board codec and one integrated display codec.
> > During initialization, the codecs are created and configured in a serial way.
> >
> > Creating a codec may cost 6~20ms, and then building controls make cost about 15~30ms.
>
> Sorry for interrupting, but I just wonder - I assume you have a maximum
> of 4 CPUs. Can't the other 3 CPUs be used to load other non-audio
> hardware in parallel instead? It sounds you're going to run into lock
> contention instead if you try to modify the same card from two threads
> simultaneously.
IIRC, PCI device probes are done sequentially because asynchronous
probe caused too many troubles. And if it's a module, it's anyway
more strictly serialized.
BTW, reading the description above again, I wonder why building
controls takes so long time. It's essentially only a bunch of ctl
element creations, so it should be almost purely a CPU-bound task...
Takashi
More information about the Alsa-devel
mailing list