Re: [alsa-devel] [PATCH]Support MCP89 and GT21x hdmi audio

From: Jaroslav Kysela
Date: Wed Mar 10 2010 - 02:58:53 EST


On Tue, 9 Mar 2010, VDR User wrote:

On Sun, Mar 7, 2010 at 8:46 PM, Wu Fengguang <fengguang.wu@xxxxxxxxx> wrote:
CC Jaroslav, maybe he has some idea on

   Âpcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.

On Mon, Mar 08, 2010 at 12:35:37PM +0800, Wei Ni wrote:
Hi,
Because I don't have GT220 card on hand, I didn't test it yet.
So I didn't add this card to the patch file. I think you could add it after
you test it.

About the warning messages, I don't know why.
May be some others can answer.

Thanks
Wei.
nvpublic

-----Original Message-----
From: VDR User [mailto:user.vdr@xxxxxxxxx]
Sent: Monday, March 08, 2010 3:22 AM
To: Wei Ni
Cc: Takashi Iwai; akpm; alsa-devel; Wu Fengguang; linux-kernel; Pavel Hofman
Subject: Re: [alsa-devel] [PATCH]Support MCP89 and GT21x hdmi audio

I think this may be relevant to this subject, if not then my apologies.

I've just installed a GT220 card and was able to get audio-over-hdmi
working by compiling the snapshot drivers from 20100307 which contain
Wei's new code. ÂI further had to patch the driver to recognize my
card with:

--- alsa-driver-orig/alsa-kernel/pci/hda/patch_nvhdmi.c 2010-03-06
18:00:12.000000000 -0800
+++ alsa-driver/alsa-kernel/pci/hda/patch_nvhdmi.c   Â2010-03-06
18:02:00.000000000 -0800
@@ -1335,6 +1335,8 @@ static struct hda_codec_preset snd_hda_p
     .patch = patch_nvhdmi_8ch_89 },
    { .id = 0x10de000b, .name = "GT21x HDMI",
     .patch = patch_nvhdmi_8ch_89 },
+ Â Â Â { .id = 0x10de000a, .name = "GT220 HDMI",
+ Â Â Â Â .patch = patch_nvhdmi_8ch_89 },
    { .id = 0x10de000d, .name = "GT240 HDMI",
     .patch = patch_nvhdmi_8ch_89 },
    {} /* terminator */
@@ -1347,6 +1349,7 @@ MODULE_ALIAS("snd-hda-codec-id:10de0006"
ÂMODULE_ALIAS("snd-hda-codec-id:10de0007");
ÂMODULE_ALIAS("snd-hda-codec-id:10de0067");
ÂMODULE_ALIAS("snd-hda-codec-id:10de8001");
+MODULE_ALIAS("snd-hda-codec-id:10de000a");
ÂMODULE_ALIAS("snd-hda-codec-id:10de000c");
ÂMODULE_ALIAS("snd-hda-codec-id:10de000b");
ÂMODULE_ALIAS("snd-hda-codec-id:10de000d");

This seems to work fine when running VDR but if I do anything else
like upgrade packages, compile something, or maybe create a bz2, then
I start to see _a lot_ of the following in my xine log:

pcm_hw.c: snd_pcm_hw_delay() SNDRV_PCM_IOCTL_DELAY failed.

With the old code this didn't happen. ÂHowever, my setup was an 8400gs
using SPDIF OUT from my mainboard to SPDIF IN on the card. ÂThen using
a dvi->hdmi cable into the tv.

Again, I apologize if I'm posting this in the wrong place.

Best regards.

So nobody has any ideas at all? This is turning out to be a big
problem and I've discovered it will occur even without anything else
happening on the system. (originally I thought you needed to do some
other activity.) I've checked with some other devs I know and
everyone has said the problem is with alsa so it would seem there is a
serious bug somewhere since eventually those errors will happen and
the audio will start skipping like crazy.

Please let me know if there's anything I can do within my ability to help.

Could you do strace for ALSA ioctls? At least having the error code might help to identify this issue.

Jaroslav

-----
Jaroslav Kysela <perex@xxxxxxxx>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.