All of lore.kernel.org
 help / color / mirror / Atom feed
* [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 [patch] for 9880 spdif out "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 "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-17  4:48 [patch] for 9880 spdif out "Tien,  C.L. - 田承禮"
2005-03-17 11:41 ` Takashi Iwai
2005-03-18 13:46   ` Takashi Iwai
  -- strict thread matches above, loose matches on Subject: below --
2005-03-18 15:11 "Tien,  C.L. - 田承禮"
2005-03-18 16:23 ` 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.