* [patch] for 9880 spdif out
@ 2005-03-17 4:48 "Tien, C.L. - 田承禮"
2005-03-17 11:41 ` Takashi Iwai
0 siblings, 1 reply; 5+ messages in thread
From: "Tien, C.L. - 田承禮" @ 2005-03-17 4:48 UTC (permalink / raw)
To: alsa-devel; +Cc: bugtrack
[-- Attachment #1: Type: text/plain, Size: 306 bytes --]
Hi,
There is mute control on 9880's spdif (IEC958) out, so it needs to be turned on/off in mixer.
The patch is for CVS version and I think it can be patched to azx too. Hope this also fix the 9880 SPDIF-out bug.
Signed-off-by: ChenLi Tien <cltien@cmedia.com.tw>
Sincerely,
ChenLi Tien
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: hda_codec.c.patch --]
[-- Type: text/x-patch; name="hda_codec.c.patch", Size: 685 bytes --]
Index: alsa-kernel/pci/hda/hda_codec.c
===================================================================
RCS file: /cvsroot/alsa/alsa-kernel/pci/hda/hda_codec.c,v
retrieving revision 1.7
diff -a -u -r1.7 hda_codec.c
--- alsa-kernel/pci/hda/hda_codec.c 16 Mar 2005 13:37:09 -0000 1.7
+++ alsa-kernel/pci/hda/hda_codec.c 17 Mar 2005 04:40:12 -0000
@@ -955,6 +955,8 @@
if (change || codec->in_resume) {
codec->spdif_ctls = val;
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_DIGI_CONVERT_1, val & 0xff);
+ put_vol_mute(codec, nid, 0, HDA_OUTPUT, 0, val ? 0 : 0x80);
+ put_vol_mute(codec, nid, 1, HDA_OUTPUT, 0, val ? 0 : 0x80);
}
up(&codec->spdif_mutex);
return change;
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] for 9880 spdif out
2005-03-17 4:48 "Tien, C.L. - 田承禮"
@ 2005-03-17 11:41 ` Takashi Iwai
2005-03-18 13:46 ` Takashi Iwai
0 siblings, 1 reply; 5+ messages in thread
From: Takashi Iwai @ 2005-03-17 11:41 UTC (permalink / raw)
To: Tien, C.L.; +Cc: alsa-devel
At Thu, 17 Mar 2005 12:48:16 +0800,
Tien, C.L. wrote:
>
> Hi,
>
> There is mute control on 9880's spdif (IEC958) out, so it needs to
> be turned on/off in mixer.
> The patch is for CVS version and I think it can be patched to azx
> too. Hope this also fix the 9880 SPDIF-out bug.
Thanks for the patch. This explains why this bug occured only on
CMI9880.
> --- alsa-kernel/pci/hda/hda_codec.c 16 Mar 2005 13:37:09 -0000 1.7
> +++ alsa-kernel/pci/hda/hda_codec.c 17 Mar 2005 04:40:12 -0000
> @@ -955,6 +955,8 @@
> if (change || codec->in_resume) {
> codec->spdif_ctls = val;
> snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_DIGI_CONVERT_1, val & 0xff);
> + put_vol_mute(codec, nid, 0, HDA_OUTPUT, 0, val ? 0 : 0x80);
> + put_vol_mute(codec, nid, 1, HDA_OUTPUT, 0, val ? 0 : 0x80);
It should check only the enable bit (bit0) of val.
Also, these two calls can be a single verb, e.g.
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
AC_AMP_SET_LEFT|AC_AMP_SET_RIGHT|AC_AMP_SET_OUTPUT|
((val & 1) ? 0 : 0x80));
Could you check whether this works?
Takashi
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] for 9880 spdif out
2005-03-17 11:41 ` Takashi Iwai
@ 2005-03-18 13:46 ` Takashi Iwai
0 siblings, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2005-03-18 13:46 UTC (permalink / raw)
To: Tien, C.L.; +Cc: alsa-devel
[-- Attachment #1: Type: text/plain, Size: 869 bytes --]
At Thu, 17 Mar 2005 12:41:24 +0100,
I wrote:
>
> > --- alsa-kernel/pci/hda/hda_codec.c 16 Mar 2005 13:37:09 -0000 1.7
> > +++ alsa-kernel/pci/hda/hda_codec.c 17 Mar 2005 04:40:12 -0000
> > @@ -955,6 +955,8 @@
> > if (change || codec->in_resume) {
> > codec->spdif_ctls = val;
> > snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_DIGI_CONVERT_1, val & 0xff);
> > + put_vol_mute(codec, nid, 0, HDA_OUTPUT, 0, val ? 0 : 0x80);
> > + put_vol_mute(codec, nid, 1, HDA_OUTPUT, 0, val ? 0 : 0x80);
>
> It should check only the enable bit (bit0) of val.
> Also, these two calls can be a single verb, e.g.
>
> snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
> AC_AMP_SET_LEFT|AC_AMP_SET_RIGHT|AC_AMP_SET_OUTPUT|
> ((val & 1) ? 0 : 0x80));
>
> Could you check whether this works?
OK the patch is below. Please let me know if it works.
Takashi
[-- Attachment #2: Type: text/plain, Size: 727 bytes --]
Index: alsa-kernel/pci/hda/hda_codec.c
===================================================================
RCS file: /home/iwai/cvs/alsa/alsa-kernel/pci/hda/hda_codec.c,v
retrieving revision 1.8
diff -u -r1.8 hda_codec.c
--- alsa-kernel/pci/hda/hda_codec.c 16 Mar 2005 13:36:04 -0000 1.8
+++ alsa-kernel/pci/hda/hda_codec.c 18 Mar 2005 13:45:34 -0000
@@ -955,6 +955,9 @@
if (change || codec->in_resume) {
codec->spdif_ctls = val;
snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_DIGI_CONVERT_1, val & 0xff);
+ snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
+ AC_AMP_SET_RIGHT | AC_AMP_SET_LEFT |
+ AC_AMP_SET_OUTPUT | ((val & 1) ? 0 : 0x80));
}
up(&codec->spdif_mutex);
return change;
^ permalink raw reply [flat|nested] 5+ messages in thread
* RE: [patch] for 9880 spdif out
@ 2005-03-18 15:11 "Tien, C.L. - 田承禮"
2005-03-18 16:23 ` Takashi Iwai
0 siblings, 1 reply; 5+ messages in thread
From: "Tien, C.L. - 田承禮" @ 2005-03-18 15:11 UTC (permalink / raw)
To: Takashi Iwai; +Cc: alsa-devel
Yes,
It works exactly as my patch. Thank you very much.
Sincerely,
ChenLi tien
-----Original Message-----
From: Takashi Iwai [mailto:tiwai@suse.de]
Sent: 2005/3/18 [星期五] 上午 08:46
To: Tien, C.L. - 田承禮
Cc: alsa-devel@alsa-project.org
Subject: Re: [Alsa-devel] [patch] for 9880 spdif out
At Thu, 17 Mar 2005 12:41:24 +0100,
I wrote:
>
> > --- alsa-kernel/pci/hda/hda_codec.c 16 Mar 2005 13:37:09 -0000 1.7
> > +++ alsa-kernel/pci/hda/hda_codec.c 17 Mar 2005 04:40:12 -0000
> > @@ -955,6 +955,8 @@
> > if (change || codec->in_resume) {
> > codec->spdif_ctls = val;
> > snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_DIGI_CONVERT_1, val & 0xff);
> > + put_vol_mute(codec, nid, 0, HDA_OUTPUT, 0, val ? 0 : 0x80);
> > + put_vol_mute(codec, nid, 1, HDA_OUTPUT, 0, val ? 0 : 0x80);
>
> It should check only the enable bit (bit0) of val.
> Also, these two calls can be a single verb, e.g.
>
> snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_AMP_GAIN_MUTE,
> AC_AMP_SET_LEFT|AC_AMP_SET_RIGHT|AC_AMP_SET_OUTPUT|
> ((val & 1) ? 0 : 0x80));
>
> Could you check whether this works?
OK the patch is below. Please let me know if it works.
Takashi
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_ide95&alloc_id\x14396&op=click
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [patch] for 9880 spdif out
2005-03-18 15:11 [patch] for 9880 spdif out "Tien, C.L. - 田承禮"
@ 2005-03-18 16:23 ` Takashi Iwai
0 siblings, 0 replies; 5+ messages in thread
From: Takashi Iwai @ 2005-03-18 16:23 UTC (permalink / raw)
To: Tien, C.L.; +Cc: alsa-devel
At Fri, 18 Mar 2005 23:11:49 +0800,
Tien, C.L. wrote:
>
>
> Yes,
>
> It works exactly as my patch. Thank you very much.
Thanks for confirmation. Now the patch is applied to CVS.
Takashi
-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2005-03-19 5:57 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2005-03-18 15:11 [patch] for 9880 spdif out "Tien, C.L. - 田承禮"
2005-03-18 16:23 ` Takashi Iwai
-- strict thread matches above, loose matches on Subject: below --
2005-03-17 4:48 "Tien, C.L. - 田承禮"
2005-03-17 11:41 ` Takashi Iwai
2005-03-18 13:46 ` Takashi Iwai
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.