[alsa-devel] module dependency between i915 and snd-hda-intel
Takashi Iwai
tiwai at suse.de
Fri May 17 15:08:13 CEST 2013
At Fri, 17 May 2013 13:00:02 +0000,
Wang, Xingchao wrote:
>
>
>
> > -----Original Message-----
> > From: alsa-devel-bounces at alsa-project.org
> > [mailto:alsa-devel-bounces at alsa-project.org] On Behalf Of Takashi Iwai
> > Sent: Friday, May 17, 2013 6:45 PM
> > To: Wang, Xingchao
> > Cc: Li, Jocelyn; Lin, Mengdong; alsa-devel at alsa-project.org; Girdwood, Liam R;
> > david.henningsson at canonical.com
> > Subject: Re: [alsa-devel] module dependency between i915 and snd-hda-intel
> >
> > At Fri, 17 May 2013 10:14:19 +0000,
> > Wang, Xingchao wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Takashi Iwai [mailto:tiwai at suse.de]
> > > > Sent: Friday, May 17, 2013 6:03 PM
> > > > To: Wang, Xingchao
> > > > Cc: Lin, Mengdong; david.henningsson at canonical.com; Li, Jocelyn;
> > > > Girdwood, Liam R; alsa-devel at alsa-project.org
> > > > Subject: Re: module dependency between i915 and snd-hda-intel
> > > >
> > > > At Fri, 17 May 2013 09:55:13 +0000,
> > > > Wang, Xingchao wrote:
> > > > >
> > > > > Hi Takashi,
> > > > >
> > > > > Seems kernel building will determine the module loading sequence,
> > > > > this would
> > > > fix the dependency for i915 and snd-hda-intel.
> > > > > If we call the i915 module API directly in snd-hda-intel side,
> > > > > kernel building will
> > > > change the module.dep accordingly like:
> > > > > "
> > > > > kernel/sound/pci/hda/snd-hda-intel.ko:
> > > > > kernel/drivers/gpu/drm/i915/i915.ko
> > > > kernel/drivers/gpu/dr m/drm_kms_helper.ko
> > > > kernel/drivers/gpu/drm/drm.ko
> > > > kernel/drivers/i2c/algos/i2c-algo-bit.ko kerne l/drivers/acpi/video.ko
> > kernel/sound/pci/hda/snd-hda-codec.ko
> > > > kernel/sound/core/snd-hwdep.ko ker nel/sound/core/snd-pcm.ko
> > > > kernel/sound/core/snd-timer.ko kernel/sound/core/snd.ko
> > > > kernel/sound/s oundcore.ko kernel/sound/core/snd-page-alloc.ko
> > > > > "
> > > > > So snd-hda-intel will wait for i915 loading. Even I added i915
> > > > > into blacklist.conf,
> > > > it will force load i915.ko.
> > > > >
> > > > > So I think the only bad case is no i915 module built-in, that
> > > > > would cause
> > > > haswell hda initialize fail, and the patch would output error message.
> > > >
> > > > Is it the result with your patch? If so, something must be wrong.
> > > >
> > >
> > > No. i'm testing the case to call the API directly.
> > > The issue is with current patch to load i915.ko by request_module(),
> > > It would take ~50s and symbol_get() would fail, but I can see i915 module
> > already there by "lsmod".
> >
> > Which distro are you using?
>
> I'm using ubuntu 12.10, kernel image was built based on daniel's drm-intel-next branch, with latest commits.
Note that the long stall is not about kernel but an issue in
user-space, either udev or kmod.
But, if the latest distro shows the problem, maybe we need a
workaround in anyway. For example, kicking a work to call
azx_probe_contine(), and call the dynamic binding including the
request_module() call there; the similar hack is found for the
firmware loading stuff via request_firmware_nowait().
If such a complication isn't preferred, the best option is to split
Haswell-specific snd-hda-intel driver.
Takashi
>
> Thanks
> --xingchao
>
> I guess you are bitten by a known problem, and
> > maybe it's the reason request_module_notime() is used in drm driver. This
> > should have been fixed some time ago in udev, I thought.
> >
> > > So is there any difference between request_module() and auto-loading i915
> > module?
> >
> > Yes.
> >
> >
> > Takashi
> >
> > > > We don't want to call i915 functions directly from snd-hda-intel.
> > > > That's the exact reason symbol_get() is used. Otherwise i915 module
> > > > is always referred, thus always load when HD-audio is used, no
> > > > matter which hardware is.
> > >
> > > Okay, I see.
> > >
> > > Thanks
> > > --xingchao
> > > >
> > > >
> > > > Takashi
> > >
> > _______________________________________________
> > Alsa-devel mailing list
> > Alsa-devel at alsa-project.org
> > http://mailman.alsa-project.org/mailman/listinfo/alsa-devel
>
More information about the Alsa-devel
mailing list