All of lore.kernel.org
 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 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.