Re: Problems loading firmware using built-in drivers with kernels that use initramfs.

From: Liam Girdwood
Date: Thu Aug 27 2015 - 03:09:53 EST


On Thu, 2015-08-27 at 01:50 +0000, Lin, Mengdong wrote:
> > -----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
> > drivers.
> > > > 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.
> >
> > Liam
>
> 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?

Yes, this is probably the best/quickest solution for the short term
until we can implement and test option 2.

Liam

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/