RE: Problems loading firmware using built-in drivers with kernels that use initramfs.
From: Lin, Mengdong
Date: Wed Aug 26 2015 - 21:52:29 EST
> -----Original Message-----
> From: Liam Girdwood [mailto:liam.r.girdwood@xxxxxxxxxxxxxxx]
> Sent: Wednesday, August 26, 2015 5:01 PM
> To: Jie, Yang
> Cc: Takashi Iwai; Dmitry Torokhov; Luis R. Rodriguez;
> joonas.lahtinen@xxxxxxxxxxxxxxx; Tom Gundersen; Ming Lei; Al Viro; Greg
> Kroah-Hartman; Kay Sievers; Linus Torvalds; David Woodhouse; Luis Rodriguez;
> lkml; yalin wang; Lin, Mengdong
> Subject: Re: Problems loading firmware using built-in drivers with kernels that
> use initramfs.
> On Wed, 2015-08-26 at 08:29 +0000, Jie, Yang wrote:
> > > -----Original Message-----
> > > From: Liam Girdwood [mailto:liam.r.girdwood@xxxxxxxxxxxxxxx]
> > > I think the options are to either :-
> > >
> > > 1) Don not support audio DSP drivers using topology data as built-in
> > > Audio is not really a critical system required for booting anyway.
> > >
> > > 2) Create a default PCM for every driver that has topology data on
> > > the assumption that every sound card will at least 1 PCM. This PCM
> > > can then be re-configured when the FW is loaded.
> > Yep, this case is quite similar with what Linus described.
> > Is it possible that we can probe pcm device after firmware is loaded
> > for this case?
> The PCM devices are defined in the topology data so it is only possible to
> create the PCM device *after* the firmware is loaded in these drivers.
It seems this can prevent audio device driver in built-in mode to use topology drivers.
If topology is present, the vendor driver also uses request_firmware() to load the topology data file in the probe phase. Then ASoC core will create the sound card and its PCM devices.
Shall we force the device drivers that depends on topology to be configured as modules?