alsa-devel.alsa-project.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2
@ 2010-05-14  8:36 Wu Fengguang
  2010-05-14  8:36 ` [PATCH 1/4] intelhdmi - add dependency on SND_DYNAMIC_MINORS Wu Fengguang
                   ` (4 more replies)
  0 siblings, 5 replies; 6+ messages in thread
From: Wu Fengguang @ 2010-05-14  8:36 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Wu Fengguang

Hi Takashi,

The Intel SandyBridge/CougarPoint HDMI codec is very similar to the
IbexPeak HDMI codec, except that it exports one more Audio Converter.

Now we have 3 Audio Converters, each of them present one HDMI PCM device:
(and expect a 4th HDMI PCM device in future)

	$ aplay -l | grep HDMI
	card 0: PCH [HDA Intel PCH], device 3: INTEL HDMI 0 [INTEL HDMI 0]
	card 0: PCH [HDA Intel PCH], device 7: INTEL HDMI 1 [INTEL HDMI 1]
	card 0: PCH [HDA Intel PCH], device 8: INTEL HDMI 2 [INTEL HDMI 2]

So enable devices minors to support more than 8 PCM playback devices.

Thanks,
Fengguang

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 1/4] intelhdmi - add dependency on SND_DYNAMIC_MINORS
  2010-05-14  8:36 [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Wu Fengguang
@ 2010-05-14  8:36 ` Wu Fengguang
  2010-05-14  8:36 ` [PATCH 2/4] intelhdmi - user friendly codec name Wu Fengguang
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Wu Fengguang @ 2010-05-14  8:36 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Wu Fengguang

[-- Attachment #1: alsa-hdmi-select-dynamic-minor.patch --]
[-- Type: text/plain, Size: 605 bytes --]

This is necessary to support >=3 HDMI playback devices
starting from the CougarPoint codec.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 sound/pci/hda/Kconfig |    1 +
 1 file changed, 1 insertion(+)

--- drm-intel.orig/sound/pci/hda/Kconfig	2010-05-13 09:29:13.000000000 +0800
+++ drm-intel/sound/pci/hda/Kconfig	2010-05-13 09:29:43.000000000 +0800
@@ -145,6 +145,7 @@ config SND_HDA_CODEC_NVHDMI
 
 config SND_HDA_CODEC_INTELHDMI
 	bool "Build INTEL HDMI HD-audio codec support"
+	select SND_DYNAMIC_MINORS
 	default y
 	help
 	  Say Y here to include INTEL HDMI HD-audio codec support in

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 2/4] intelhdmi - user friendly codec name
  2010-05-14  8:36 [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Wu Fengguang
  2010-05-14  8:36 ` [PATCH 1/4] intelhdmi - add dependency on SND_DYNAMIC_MINORS Wu Fengguang
@ 2010-05-14  8:36 ` Wu Fengguang
  2010-05-14  8:36 ` [PATCH 3/4] intelhdmi - add id for the CougarPoint chipset Wu Fengguang
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 6+ messages in thread
From: Wu Fengguang @ 2010-05-14  8:36 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Wu Fengguang

[-- Attachment #1: hdmi-codenames.patch --]
[-- Type: text/plain, Size: 1694 bytes --]

Use the full chipset codename as codec name.
They are more user friendly than the spec abbrs.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 sound/pci/hda/patch_intelhdmi.c |   16 ++++++++--------
 1 file changed, 8 insertions(+), 8 deletions(-)

--- sound-2.6.orig/sound/pci/hda/patch_intelhdmi.c	2010-05-11 13:03:50.000000000 +0800
+++ sound-2.6/sound/pci/hda/patch_intelhdmi.c	2010-05-11 13:04:39.000000000 +0800
@@ -185,14 +185,14 @@ static int patch_intel_hdmi(struct hda_c
 }
 
 static struct hda_codec_preset snd_hda_preset_intelhdmi[] = {
-	{ .id = 0x808629fb, .name = "G45 DEVCL",  .patch = patch_intel_hdmi },
-	{ .id = 0x80862801, .name = "G45 DEVBLC", .patch = patch_intel_hdmi },
-	{ .id = 0x80862802, .name = "G45 DEVCTG", .patch = patch_intel_hdmi },
-	{ .id = 0x80862803, .name = "G45 DEVELK", .patch = patch_intel_hdmi },
-	{ .id = 0x80862804, .name = "G45 DEVIBX", .patch = patch_intel_hdmi },
-	{ .id = 0x80860054, .name = "Q57 DEVIBX", .patch = patch_intel_hdmi },
-	{ .id = 0x10951392, .name = "SiI1392 HDMI",     .patch = patch_intel_hdmi },
-	{} /* terminator */
+{ .id = 0x808629fb, .name = "Crestline HDMI",	.patch = patch_intel_hdmi },
+{ .id = 0x80862801, .name = "Bearlake HDMI",	.patch = patch_intel_hdmi },
+{ .id = 0x80862802, .name = "Cantiga HDMI",	.patch = patch_intel_hdmi },
+{ .id = 0x80862803, .name = "Eaglelake HDMI",	.patch = patch_intel_hdmi },
+{ .id = 0x80862804, .name = "IbexPeak HDMI",	.patch = patch_intel_hdmi },
+{ .id = 0x80860054, .name = "IbexPeak HDMI",	.patch = patch_intel_hdmi },
+{ .id = 0x10951392, .name = "SiI1392 HDMI",	.patch = patch_intel_hdmi },
+{} /* terminator */
 };
 
 MODULE_ALIAS("snd-hda-codec-id:808629fb");

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 3/4] intelhdmi - add id for the CougarPoint chipset
  2010-05-14  8:36 [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Wu Fengguang
  2010-05-14  8:36 ` [PATCH 1/4] intelhdmi - add dependency on SND_DYNAMIC_MINORS Wu Fengguang
  2010-05-14  8:36 ` [PATCH 2/4] intelhdmi - user friendly codec name Wu Fengguang
@ 2010-05-14  8:36 ` Wu Fengguang
  2010-05-14  8:36 ` [PATCH 4/4] hdmi - dont fail on extra nodes Wu Fengguang
  2010-05-17  6:15 ` [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Takashi Iwai
  4 siblings, 0 replies; 6+ messages in thread
From: Wu Fengguang @ 2010-05-14  8:36 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Wu Fengguang

[-- Attachment #1: hdmi-snb-id.patch --]
[-- Type: text/plain, Size: 1582 bytes --]

Add id for Intel CougarPoint HDMI audio codec.

CougarPoint provides 3 Audio Converters.
Increase MAX_HDMI_CVTS/MAX_HDMI_PINS accordingly.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 sound/pci/hda/patch_intelhdmi.c |    5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)

--- sound-2.6.orig/sound/pci/hda/patch_intelhdmi.c	2010-05-11 13:04:39.000000000 +0800
+++ sound-2.6/sound/pci/hda/patch_intelhdmi.c	2010-05-11 13:22:30.000000000 +0800
@@ -40,7 +40,7 @@
  *
  * The HDA correspondence of pipes/ports are converter/pin nodes.
  */
-#define MAX_HDMI_CVTS	2
+#define MAX_HDMI_CVTS	3
 #define MAX_HDMI_PINS	3
 
 #include "patch_hdmi.c"
@@ -48,6 +48,7 @@
 static char *intel_hdmi_pcm_names[MAX_HDMI_CVTS] = {
 	"INTEL HDMI 0",
 	"INTEL HDMI 1",
+	"INTEL HDMI 2",
 };
 
 /*
@@ -191,6 +192,7 @@ static struct hda_codec_preset snd_hda_p
 { .id = 0x80862803, .name = "Eaglelake HDMI",	.patch = patch_intel_hdmi },
 { .id = 0x80862804, .name = "IbexPeak HDMI",	.patch = patch_intel_hdmi },
 { .id = 0x80860054, .name = "IbexPeak HDMI",	.patch = patch_intel_hdmi },
+{ .id = 0x80862805, .name = "CougarPoint HDMI",	.patch = patch_intel_hdmi },
 { .id = 0x10951392, .name = "SiI1392 HDMI",	.patch = patch_intel_hdmi },
 {} /* terminator */
 };
@@ -200,6 +202,7 @@ MODULE_ALIAS("snd-hda-codec-id:80862801"
 MODULE_ALIAS("snd-hda-codec-id:80862802");
 MODULE_ALIAS("snd-hda-codec-id:80862803");
 MODULE_ALIAS("snd-hda-codec-id:80862804");
+MODULE_ALIAS("snd-hda-codec-id:80862805");
 MODULE_ALIAS("snd-hda-codec-id:80860054");
 MODULE_ALIAS("snd-hda-codec-id:10951392");

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [PATCH 4/4] hdmi - dont fail on extra nodes
  2010-05-14  8:36 [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Wu Fengguang
                   ` (2 preceding siblings ...)
  2010-05-14  8:36 ` [PATCH 3/4] intelhdmi - add id for the CougarPoint chipset Wu Fengguang
@ 2010-05-14  8:36 ` Wu Fengguang
  2010-05-17  6:15 ` [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Takashi Iwai
  4 siblings, 0 replies; 6+ messages in thread
From: Wu Fengguang @ 2010-05-14  8:36 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel, Wu Fengguang

[-- Attachment #1: hdmi-permissive-to-extra-nodes.patch --]
[-- Type: text/plain, Size: 1514 bytes --]

The number of HDMI nodes is expected to go up in future.
So don't fail hard on seeing extra converter/pin nodes.

We can still operate safely on the nodes within
MAX_HDMI_CVTS/MAX_HDMI_PINS.

Signed-off-by: Wu Fengguang <fengguang.wu@intel.com>
---
 sound/pci/hda/patch_hdmi.c |   10 ++++------
 1 file changed, 4 insertions(+), 6 deletions(-)

--- sound-2.6.orig/sound/pci/hda/patch_hdmi.c	2010-05-11 13:25:35.000000000 +0800
+++ sound-2.6/sound/pci/hda/patch_hdmi.c	2010-05-11 13:53:47.000000000 +0800
@@ -766,7 +766,7 @@ static int hdmi_add_pin(struct hda_codec
 	if (spec->num_pins >= MAX_HDMI_PINS) {
 		snd_printk(KERN_WARNING
 			   "HDMI: no space for pin %d\n", pin_nid);
-		return -EINVAL;
+		return -E2BIG;
 	}
 
 	hdmi_present_sense(codec, pin_nid, &spec->sink_eld[spec->num_pins]);
@@ -788,7 +788,7 @@ static int hdmi_add_cvt(struct hda_codec
 	if (spec->num_cvts >= MAX_HDMI_CVTS) {
 		snd_printk(KERN_WARNING
 			   "HDMI: no space for converter %d\n", nid);
-		return -EINVAL;
+		return -E2BIG;
 	}
 
 	spec->cvt[spec->num_cvts] = nid;
@@ -820,15 +820,13 @@ static int hdmi_parse_codec(struct hda_c
 
 		switch (type) {
 		case AC_WID_AUD_OUT:
-			if (hdmi_add_cvt(codec, nid) < 0)
-				return -EINVAL;
+			hdmi_add_cvt(codec, nid);
 			break;
 		case AC_WID_PIN:
 			caps = snd_hda_param_read(codec, nid, AC_PAR_PIN_CAP);
 			if (!(caps & (AC_PINCAP_HDMI | AC_PINCAP_DP)))
 				continue;
-			if (hdmi_add_pin(codec, nid) < 0)
-				return -EINVAL;
+			hdmi_add_pin(codec, nid);
 			break;
 		}
 	}

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2
  2010-05-14  8:36 [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Wu Fengguang
                   ` (3 preceding siblings ...)
  2010-05-14  8:36 ` [PATCH 4/4] hdmi - dont fail on extra nodes Wu Fengguang
@ 2010-05-17  6:15 ` Takashi Iwai
  4 siblings, 0 replies; 6+ messages in thread
From: Takashi Iwai @ 2010-05-17  6:15 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: alsa-devel

At Fri, 14 May 2010 16:36:11 +0800,
Wu Fengguang wrote:
> 
> Hi Takashi,
> 
> The Intel SandyBridge/CougarPoint HDMI codec is very similar to the
> IbexPeak HDMI codec, except that it exports one more Audio Converter.
> 
> Now we have 3 Audio Converters, each of them present one HDMI PCM device:
> (and expect a 4th HDMI PCM device in future)
> 
> 	$ aplay -l | grep HDMI
> 	card 0: PCH [HDA Intel PCH], device 3: INTEL HDMI 0 [INTEL HDMI 0]
> 	card 0: PCH [HDA Intel PCH], device 7: INTEL HDMI 1 [INTEL HDMI 1]
> 	card 0: PCH [HDA Intel PCH], device 8: INTEL HDMI 2 [INTEL HDMI 2]
> 
> So enable devices minors to support more than 8 PCM playback devices.

Applied all patches now.  Thanks.


Takashi

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2010-05-17  6:15 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2010-05-14  8:36 [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Wu Fengguang
2010-05-14  8:36 ` [PATCH 1/4] intelhdmi - add dependency on SND_DYNAMIC_MINORS Wu Fengguang
2010-05-14  8:36 ` [PATCH 2/4] intelhdmi - user friendly codec name Wu Fengguang
2010-05-14  8:36 ` [PATCH 3/4] intelhdmi - add id for the CougarPoint chipset Wu Fengguang
2010-05-14  8:36 ` [PATCH 4/4] hdmi - dont fail on extra nodes Wu Fengguang
2010-05-17  6:15 ` [PATCH 0/4] updates for Intel SandyBridge/CougarPoint HDMI codec V2 Takashi Iwai

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).