[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