Dear Takashi,
On 02/13/19 16:56, Takashi Iwai wrote:
On Wed, 13 Feb 2019 16:42:19 +0100, Paul Menzel wrote:
On 02/13/19 16:12, Takashi Iwai wrote:
On Wed, 13 Feb 2019 15:58:44 +0100, Paul Menzel wrote:
Why the i915 driver gets initialized *so late*?
Maybe, because it’s built as a module?
$ grep I915 /boot/config-4.20.8.mx64.245 CONFIG_DRM_I915=m # CONFIG_DRM_I915_ALPHA_SUPPORT is not set CONFIG_DRM_I915_CAPTURE_ERROR=y CONFIG_DRM_I915_COMPRESS_ERROR=y CONFIG_DRM_I915_USERPTR=y # CONFIG_DRM_I915_GVT is not set CONFIG_SND_HDA_I915=y
That explains. You built the HD-audio as built-in while the graphics as module. This makes the binding impossible at the time of sound driver initialization.
If you build the graphics driver as a module, built the sound driver also as a module.
I tried that now, but `SND_HDA_I915` is just a boolean and no tristate.
config SND_HDA_I915 bool select SND_HDA_COMPONENT
Then, I built the HDA subsystem as a module, but that also did not help. The DRM subsystem is started after the HD-audio subsystem.
``` $ grep -e SND_HDA= -e SND_HDA_INTEL /boot/config-4.20.8.mx64.245 CONFIG_SND_HDA=m CONFIG_SND_HDA_INTEL=m $ dmesg […] [ 12.465329] snd_hda_intel 0000:00:1f.3: couldn't bind with audio component [ 12.474968] snd_hda_codec_realtek hdaudioC0D0: autoconfig for ALC671: line_outs=1 (0x21/0x0/0x0/0x0/0x0) type:line [ 12.475702] snd_hda_codec_realtek hdaudioC0D0: speaker_outs=1 (0x17/0x0/0x0/0x0/0x0) [ 12.476368] snd_hda_codec_realtek hdaudioC0D0: hp_outs=1 (0x14/0x0/0x0/0x0/0x0) [ 12.476953] snd_hda_codec_realtek hdaudioC0D0: mono: mono_out=0x0 [ 12.477421] snd_hda_codec_realtek hdaudioC0D0: inputs: [ 12.477837] snd_hda_codec_realtek hdaudioC0D0: Front Mic=0x19 [ 12.478252] snd_hda_codec_realtek hdaudioC0D0: Rear Mic=0x18 [ 12.478708] snd_hda_codec_realtek hdaudioC0D0: Line=0x1a [ 12.489431] snd_hda_codec_hdmi hdaudioC0D2: No i915 binding for Intel HDMI/DP codec [ 12.490170] hdaudio hdaudioC0D2: Unable to bind the codec [ 12.490867] input: HDA Intel PCH Front Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input6 [ 12.491830] input: HDA Intel PCH Rear Mic as /devices/pci0000:00/0000:00:1f.3/sound/card0/input7 [ 12.492599] input: HDA Intel PCH Line as /devices/pci0000:00/0000:00:1f.3/sound/card0/input8 [ 12.493268] input: HDA Intel PCH Line Out as /devices/pci0000:00/0000:00:1f.3/sound/card0/input9 [ 12.493960] input: HDA Intel PCH Front Headphone as /devices/pci0000:00/0000:00:1f.3/sound/card0/input10 [ 15.000998] [drm] Replacing VGA console driver […] ```
Please find the messages attached.
Can this be enforced by the Kconfig configuration?
This is the restriction only needed if i915 HDMI audio is used, so you can't stop the configuration statically. Your setup would still work except for HDMI, for example.
Understood.
If not, should the warning/error message be extended with this hint?
Possible, but why such a weird configuration at the first place...?
Unfortunately, it comes down to historical reasons and ignorance.
Kind regards,
Paul