Skip to contentSkip to conversation

ALSA: hda: Fixup commit 79c944ad (caused codec initialization failure)

PATCH In review David Henningsson 3 participants 4 messages Jul 26, 2010 – Jul 27, 2010 Sound

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 ALSA: hda: Fixup commit 79c944ad (caused codec initialization failure)

A recent commit in current HEAD (79c944ad) caused codecs not to be detected in some cases, found on several Realtek codecs.

Please apply the attached fix for that problem.

Signature · 2 lines
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
Quoted 1 line

From 107d4057bed5037977b8b4c27ada11f14526e8cb Mon Sep 17 00:00:00 2001

From: David Henningsson <[email protected]>
Date: Tue, 27 Jul 2010 00:10:34 +0200
Subject: [PATCH 1/1] ALSA: hda: Fixup commit 79c944ad (caused codec initialization failure)

Commit 79c944ad caused codecs not to be detected in some cases, found on several Realtek codecs.

---
 sound/pci/hda/hda_codec.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)
sound/pci/hda/hda_codec.c +7 -6
index 8cd5da8..710f61a 100644
@@ -724,23 +724,24 @@ static int get_codec_name(struct hda_codec *codec)
  */
 static void /*__devinit*/ setup_fg_nodes(struct hda_codec *codec)
 {
-	int i, total_nodes, function_id;
+	int i, total_nodes, function_id, param_val;
 	hda_nid_t nid;
 
 	total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid);
 	for (i = 0; i < total_nodes; i++, nid++) {
-		function_id = snd_hda_param_read(codec, nid,
+		param_val = snd_hda_param_read(codec, nid,
 						AC_PAR_FUNCTION_TYPE);
+		function_id = param_val & 0xff;
 		switch (function_id) {
 		case AC_GRP_AUDIO_FUNCTION:
 			codec->afg = nid;
-			codec->afg_function_id = function_id & 0xff;
-			codec->afg_unsol = (function_id >> 8) & 1;
+			codec->afg_function_id = function_id;
+			codec->afg_unsol = (param_val >> 8) & 1;
 			break;
 		case AC_GRP_MODEM_FUNCTION:
 			codec->mfg = nid;
-			codec->mfg_function_id = function_id & 0xff;
-			codec->mfg_unsol = (function_id >> 8) & 1;
+			codec->mfg_function_id = function_id;
+			codec->mfg_unsol = (param_val >> 8) & 1;
 			break;
 		default:
 			break;
Signature · 1 line
1.7.0.4

_______________________________________________
Alsa-devel mailing list
[email protected]
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

#1 lore raw

At Tue, 27 Jul 2010 00:20:53 +0200,

Quoted 6 lines · David Henningsson

[1 <text/plain; ISO-8859-1 (7bit)>]
A recent commit in current HEAD (79c944ad) caused codecs not to be detected in some cases, found on several Realtek codecs.

Please apply the attached fix for that problem.

Ah, I forgot about this being committed to topic/misc branch since Jaroslav's branch contains more other stuff than HD-audio.

Applied now. Thanks for tracking down.

Takashi

Quoted 56 lines
Signature · 4 lines
-- 
David Henningsson, Canonical Ltd.
http://launchpad.net/~diwic
[2 0002-ALSA-hda-Fixup-commit-79c944ad-caused-codec-initiali.patch <text/x-patch (7bit)>]
Quoted 1 line

From 107d4057bed5037977b8b4c27ada11f14526e8cb Mon Sep 17 00:00:00 2001

From: David Henningsson <[email protected]>
Date: Tue, 27 Jul 2010 00:10:34 +0200
Subject: [PATCH 1/1] ALSA: hda: Fixup commit 79c944ad (caused codec initialization failure)

Commit 79c944ad caused codecs not to be detected in some cases, found on several Realtek codecs.

---
 sound/pci/hda/hda_codec.c |   13 +++++++------
 1 files changed, 7 insertions(+), 6 deletions(-)
sound/pci/hda/hda_codec.c +7 -6
index 8cd5da8..710f61a 100644
@@ -724,23 +724,24 @@ static int get_codec_name(struct hda_codec *codec)
  */
 static void /*__devinit*/ setup_fg_nodes(struct hda_codec *codec)
 {
-	int i, total_nodes, function_id;
+	int i, total_nodes, function_id, param_val;
 	hda_nid_t nid;
 
 	total_nodes = snd_hda_get_sub_nodes(codec, AC_NODE_ROOT, &nid);
 	for (i = 0; i < total_nodes; i++, nid++) {
-		function_id = snd_hda_param_read(codec, nid,
+		param_val = snd_hda_param_read(codec, nid,
 						AC_PAR_FUNCTION_TYPE);
+		function_id = param_val & 0xff;
 		switch (function_id) {
 		case AC_GRP_AUDIO_FUNCTION:
 			codec->afg = nid;
-			codec->afg_function_id = function_id & 0xff;
-			codec->afg_unsol = (function_id >> 8) & 1;
+			codec->afg_function_id = function_id;
+			codec->afg_unsol = (param_val >> 8) & 1;
 			break;
 		case AC_GRP_MODEM_FUNCTION:
 			codec->mfg = nid;
-			codec->mfg_function_id = function_id & 0xff;
-			codec->mfg_unsol = (function_id >> 8) & 1;
+			codec->mfg_function_id = function_id;
+			codec->mfg_unsol = (param_val >> 8) & 1;
 			break;
 		default:
 			break;
Signature · 1 line
1.7.0.4
maintainer
#2 lore raw
Quoted 7 lines · Takashi Iwai

At Tue, 27 Jul 2010 00:20:53 +0200,

Quoted 5 lines · David Henningsson

[1 <text/plain; ISO-8859-1 (7bit)>]
A recent commit in current HEAD (79c944ad) caused codecs not to be detected in some cases, found on several Realtek codecs.

Quoted 6 lines
Quoted 1 line

Please apply the attached fix for that problem.

Ah, I forgot about this being committed to topic/misc branch since Jaroslav's branch contains more other stuff than HD-audio.

Applied now. Thanks for tracking down.

I fixed it in this commit on 20 Jul:

http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=cd7643bfb772dc7103ed6fc8dda6b233a8e14178

Could you revert this patch and pull from my devel tree?

Jaroslav

-----
Jaroslav Kysela <[email protected]>
Linux Kernel Sound Maintainer
ALSA Project, Red Hat, Inc.

#3 lore raw

At Tue, 27 Jul 2010 10:01:12 +0200 (CEST),

Quoted 15 lines · Jaroslav Kysela
Quoted 12 lines · Takashi Iwai

At Tue, 27 Jul 2010 00:20:53 +0200,

Quoted 6 lines · David Henningsson

[1 <text/plain; ISO-8859-1 (7bit)>]
A recent commit in current HEAD (79c944ad) caused codecs not to be detected in some cases, found on several Realtek codecs.

Please apply the attached fix for that problem.

Ah, I forgot about this being committed to topic/misc branch since Jaroslav's branch contains more other stuff than HD-audio.

Quoted 7 lines
Quoted 1 line

Applied now. Thanks for tracking down.

I fixed it in this commit on 20 Jul:

http://git.alsa-project.org/?p=alsa-kernel.git;a=commit;h=cd7643bfb772dc7103ed6fc8dda6b233a8e14178

Could you revert this patch and pull from my devel tree?

OK, fixed now.

Takashi