[alsa-devel] hda-intel - Add digout to ALC880 F1734 model

Takashi Iwai tiwai at suse.de
Tue Nov 4 17:56:14 CET 2008


At Tue, 4 Nov 2008 17:36:44 +0100,
Michael Gruber wrote:
> 
> [1  <text/plain; UTF-8 (7bit)>]
> On Tue, Nov 4, 2008 at 08:38, Takashi Iwai <tiwai at suse.de> wrote:
> > At Tue, 4 Nov 2008 00:50:37 +0100,
> > Michael Gruber wrote:
> >>
> >> On Mon, Nov 3, 2008 at 14:19, Takashi Iwai <tiwai at suse.de> wrote:
> >> > At Sun, 2 Nov 2008 17:02:51 +0100,
> >> > Michael Gruber wrote:
> >> >>
> >> >> On Sun, Nov 2, 2008 at 12:23, Takashi Iwai <tiwai at suse.de> wrote:
> >> >> > At Sat, 1 Nov 2008 13:43:25 +0100,
> >> >> > Michael Gruber wrote:
> >> >> >>
> >> >> >> Backstory:
> >> >> >> The patch "ALSA: hda - Add infrastructure for dynamic stream allocation"
> >> >> >> http://git.alsa-project.org/?p=alsa-kmirror.git;a=commit;h=ae32c9fe811fed22715342494c08a11fabc87762
> >> >> >> broke the detection of my card. With this patch applied the dmesg output is:
> >> >> >>
> >> >> >> [ 3761.464838] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 16 (level,
> >> >> >> low) -> IRQ 16
> >> >> >> [ 3761.464863] PCI: Setting latency timer of device 0000:00:1b.0 to 64
> >> >> >> [ 3761.499927] ACPI: PCI interrupt for device 0000:00:1b.0 disabled
> >> >> >> [ 3761.499945] HDA Intel: probe of 0000:00:1b.0 failed with error -22
> >> >> >
> >> >> > Could you check whether you get any other error messages with
> >> >> > CONFIG_SND_DEBUG=y?
> >> >> >
> >> >> >> When I loaded the module with model=... then it would work only for some
> >> >> >> models, but not for others. I found out that the ones which worked were the
> >> >> >> ones with a digout. I added the digout to the F1734 model and now it is
> >> >> >> working again.
> >> >> >>
> >> >> >> I can't test if the digout is really working because I lack the hardware, but
> >> >> >> when I turn on the IEC958 control in the mixer then red light is emitted from
> >> >> >> my headphone port.
> >> >> >>
> >> >> >> I will attach a patch that adds digout to this model because this seems the
> >> >> >> right thing to do, but I don't know whether there is something wrong with the
> >> >> >> aforementioned patch that caused my problem in the first place.
> >> >> >
> >> >> > Yeah, it shouldn't break the existing thing, at least.
> >> >> >
> >> >> >
> >> >> > thanks,
> >> >> >
> >> >> > Takashi
> >> >> >
> >> >>
> >> >> [  261.045920] ACPI: PCI Interrupt 0000:00:1b.0[A] -> GSI 16 (level,
> >> >> low) -> IRQ 16
> >> >> [  261.045945] PCI: Setting latency timer of device 0000:00:1b.0 to 64
> >> >> [  261.045949] ALSA
> >> >> /home/*/Desktop/test-alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:2130:
> >> >> chipset global capabilities = 0x4401
> >> >> [  261.076055] ALSA
> >> >> /home/*/Desktop/test-alsa/alsa-driver/pci/hda/../../alsa-kernel/pci/hda/hda_intel.c:771:
> >> >> codec_mask = 0x3
> >> >> [  261.079523] ALSA
> >> >> /home/*/Desktop/test-alsa/alsa-driver/pci/hda/hda_codec.c:2579:
> >> >> hda_codec: model 'F1734' is selected for config 1734:107c (FSC F1734)
> >> >> [  261.079920] ACPI: PCI interrupt for device 0000:00:1b.0 disabled
> >> >> [  261.079933] HDA Intel: probe of 0000:00:1b.0 failed with error -22
> >> >
> >> > So, you're building from alsa-driver tree, not directly the kernel git?
> >> > Then try the latest snapshot below first,
> >> >    ftp://ftp.kernel.org/pub/linux/kernel/people/tiwai/snapshot/alsa-driver-snapshot.tar.gz
> >> > Then build with --with-debug=detect configure option.
> >> > This will give you more information, I guess.
> >> >
> >> >
> >> > thanks,
> >> >
> >> > Takashi
> >> >
> >>
> >> I just tried that.
> >
> > Weird.  Could you attach alsa-info.sh output file with --no-upload
> > option?
> >
> > Anyway, the output must be different from the above if you use the
> > latest snapshot from kernel.org, at least, the line numbers were
> > changed.
> >
> >> I also tried compiling a kernel from the
> >> alsa-kernel git tree where I enabled all alsa-related debug options
> >> but dmesg didn't give me any more information that what I already had.
> >
> > Try sound-2.6.git instead.  alsa-kernel.git is behind the latest
> > development.
> >
> >    git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6.git
> >
> >
> > thanks,
> >
> > Takashi
> >
> 
> Thanks, now I got some extra information.
> I will attach alsa-info.txt and the relevant section from the dmesg output.

Thanks, this helped a lot for debugging.
Could you try the patch below?  I already added it to my git tree
(and snapshot) now, but just to be sure...


Takashi

---
diff --git a/sound/pci/hda/hda_codec.c b/sound/pci/hda/hda_codec.c
index aa9cd14..3e7cda9 100644
--- a/sound/pci/hda/hda_codec.c
+++ b/sound/pci/hda/hda_codec.c
@@ -2485,6 +2485,11 @@ int snd_hda_build_pcms(struct hda_bus *bus)
 			struct hda_pcm *cpcm = &codec->pcm_info[pcm];
 			int type = cpcm->pcm_type;
 			int dev;
+
+			if (!cpcm->stream[0].substreams &&
+			    !cpcm->stream[1].substreams)
+				continue; /* no substreams assigned */
+
 			switch (type) {
 			case HDA_PCM_TYPE_AUDIO:
 				if (num_devs[type] >= ARRAY_SIZE(audio_idx)) {


More information about the Alsa-devel mailing list