All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] assorted HDMI cleanups
@ 2008-11-19  7:13 Wu Fengguang
  2008-11-19  7:13 ` [PATCH 1/5] hda: minor code cleanups Wu Fengguang
                   ` (5 more replies)
  0 siblings, 6 replies; 7+ messages in thread
From: Wu Fengguang @ 2008-11-19  7:13 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1731 bytes --]

Hi Takashi,

Here are 5 HDMI cleanup patches, some renames the code and others renames the
user visible output messages. The new output goes like:

dmesg

	[ 5742.169578] detected monitor <9d><80>t connection type Display Port
	[ 5742.169580] available speakers: FL/FR LFE FLC/FRC
	[ 5742.169582] supports coding type MLP (Dolby TrueHD): channels = 7, rates = 48000 176400
	[ 5742.169585] supports coding type AC-3: channels = 1, rates = 48000 88200 192000, max bitrate = 1208000
	[ 5742.169588] supports coding type AC-3: channels = 2, rates = 48000 384000, max bitrate = 960000
	[ 5742.169591] supports coding type ATRAC: channels = 5, rates = 48000 88200 384000, max bitrate = 224000


/proc/asound/card0/eld\#3

	monitor name            ���
	connection_type         Display Port
	eld_version             [0xb] reserved
	edid_version            [0x3] CEA-861-B, C or D
	manufacture_id          0xee5a
	product_id              0x923c
	port_id                 0x18b263a03e17d1b5
	support_hdcp            1
	support_ai              1
	audio_sync_delay        216
	speakers                [0x23] FL/FR LFE FLC/FRC
	sad_count               4
	sad0_coding_type        [0xc] MLP (Dolby TrueHD)
	sad0_channels           7
	sad0_rates              [0x240] 48000 176400
	sad1_coding_type        [0x2] AC-3
	sad1_channels           1
	sad1_rates              [0x4c0] 48000 88200 192000
	sad1_max_bitrate        1208000
	sad2_coding_type        [0x2] AC-3
	sad2_channels           2
	sad2_rates              [0x1840] 48000 384000
	sad2_max_bitrate        960000
	sad3_coding_type        [0x8] ATRAC
	sad3_channels           5
	sad3_rates              [0x8c0] 48000 88200 384000
	sad3_max_bitrate        224000

Thanks,
Fengguang
-- 


[-- Attachment #2: Type: text/plain, Size: 160 bytes --]

_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

* [PATCH 1/5] hda: minor code cleanups
  2008-11-19  7:13 [PATCH 0/5] assorted HDMI cleanups Wu Fengguang
@ 2008-11-19  7:13 ` Wu Fengguang
  2008-11-19  7:14 ` [PATCH 2/5] hda: rename sink_eld to hdmi_eld Wu Fengguang
                   ` (4 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Wu Fengguang @ 2008-11-19  7:13 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: alsa-hdmi-cleanups.patch --]
[-- Type: text/plain, Size: 2883 bytes --]

Some minor code cleanups.

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
---
 sound/pci/hda/hda_eld.c         |    2 +-
 sound/pci/hda/patch_intelhdmi.c |   18 +++++++++---------
 2 files changed, 10 insertions(+), 10 deletions(-)

--- sound-2.6.orig/sound/pci/hda/patch_intelhdmi.c
+++ sound-2.6/sound/pci/hda/patch_intelhdmi.c
@@ -85,7 +85,7 @@ struct hdmi_audio_infoframe {
 	u8 CXT04;
 	u8 CA;
 	u8 LFEPBL01_LSV36_DM_INH7;
-	u8 reserved[5];	/* PB6  - PB10 */
+	u8 reserved[5];	/* PB6 - PB10 */
 };
 
 /*
@@ -160,7 +160,7 @@ static struct cea_channel_speaker_alloca
 { .ca_index = 0x00,  .speakers = {   0,    0,   0,   0,   0,    0,  FR,  FL } },
 				 /* 2.1 */
 { .ca_index = 0x01,  .speakers = {   0,    0,   0,   0,   0,  LFE,  FR,  FL } },
-				 /* dolby surround */
+				 /* Dolby Surround */
 { .ca_index = 0x02,  .speakers = {   0,    0,   0,   0,  FC,    0,  FR,  FL } },
 { .ca_index = 0x03,  .speakers = {   0,    0,   0,   0,  FC,  LFE,  FR,  FL } },
 { .ca_index = 0x04,  .speakers = {   0,    0,   0,  RC,   0,    0,  FR,  FL } },
@@ -287,7 +287,7 @@ static void hdmi_set_channel_count(struc
 
 	if (chs != hdmi_get_channel_count(codec))
 		snd_printd(KERN_INFO "Channel count expect=%d, real=%d\n",
-				chs, hdmi_get_channel_count(codec));
+					chs, hdmi_get_channel_count(codec));
 }
 
 static void hdmi_debug_channel_mapping(struct hda_codec *codec)
@@ -300,7 +300,7 @@ static void hdmi_debug_channel_mapping(s
 		slot = snd_hda_codec_read(codec, CVT_NID, 0,
 						AC_VERB_GET_HDMI_CHAN_SLOT, i);
 		printk(KERN_DEBUG "ASP channel %d => slot %d\n",
-				slot >> 4, slot & 0x7);
+						slot >> 4, slot & 0x7);
 	}
 #endif
 }
@@ -316,7 +316,7 @@ static void hdmi_parse_eld(struct hda_co
 
 
 /*
- * Audio Infoframe routines
+ * Audio InfoFrame routines
  */
 
 static void hdmi_debug_dip_size(struct hda_codec *codec)
@@ -547,8 +547,8 @@ static void intel_hdmi_unsol_event(struc
  */
 
 static int intel_hdmi_playback_pcm_open(struct hda_pcm_stream *hinfo,
-				     struct hda_codec *codec,
-				     struct snd_pcm_substream *substream)
+					struct hda_codec *codec,
+					struct snd_pcm_substream *substream)
 {
 	struct intel_hdmi_spec *spec = codec->spec;
 
@@ -556,8 +556,8 @@ static int intel_hdmi_playback_pcm_open(
 }
 
 static int intel_hdmi_playback_pcm_close(struct hda_pcm_stream *hinfo,
-				      struct hda_codec *codec,
-				      struct snd_pcm_substream *substream)
+					 struct hda_codec *codec,
+					 struct snd_pcm_substream *substream)
 {
 	struct intel_hdmi_spec *spec = codec->spec;
 
--- sound-2.6.orig/sound/pci/hda/hda_eld.c
+++ sound-2.6/sound/pci/hda/hda_eld.c
@@ -132,7 +132,7 @@ static char *cea_audio_coding_type_names
 /*
  * The following two lists are shared between
  * 	- HDMI audio InfoFrame (source to sink)
- * 	- CEA E-EDID extension (sink to source)
+ * 	- CEA E-EDID Extension (sink to source)
  */
 
 /*

-- 

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

* [PATCH 2/5] hda: rename sink_eld to hdmi_eld
  2008-11-19  7:13 [PATCH 0/5] assorted HDMI cleanups Wu Fengguang
  2008-11-19  7:13 ` [PATCH 1/5] hda: minor code cleanups Wu Fengguang
@ 2008-11-19  7:14 ` Wu Fengguang
  2008-11-19  7:14 ` [PATCH 3/5] hda: minor output message cleanups Wu Fengguang
                   ` (3 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Wu Fengguang @ 2008-11-19  7:14 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: alsa-rename-sink-eld.patch --]
[-- Type: text/plain, Size: 4293 bytes --]

Rename struct sink_eld to hdmi_eld.

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
---
 sound/pci/hda/hda_eld.c         |   14 +++++++-------
 sound/pci/hda/hda_local.h       |   10 +++++-----
 sound/pci/hda/patch_intelhdmi.c |    8 ++++----
 3 files changed, 16 insertions(+), 16 deletions(-)

--- sound-2.6.orig/sound/pci/hda/hda_eld.c
+++ sound-2.6/sound/pci/hda/hda_eld.c
@@ -267,8 +267,8 @@ static void hdmi_update_short_audio_desc
 /*
  * Be careful, ELD buf could be totally rubbish!
  */
-static int hdmi_update_sink_eld(struct sink_eld *e,
-				const unsigned char *buf, int size)
+static int hdmi_update_eld(struct hdmi_eld *e,
+			   const unsigned char *buf, int size)
 {
 	int mnl;
 	int i;
@@ -351,7 +351,7 @@ int snd_hdmi_get_eld_size(struct hda_cod
 						 AC_DIPSIZE_ELD_BUF);
 }
 
-int snd_hdmi_get_eld(struct sink_eld *eld,
+int snd_hdmi_get_eld(struct hdmi_eld *eld,
 		     struct hda_codec *codec, hda_nid_t nid)
 {
 	int i;
@@ -380,7 +380,7 @@ int snd_hdmi_get_eld(struct sink_eld *el
 	for (i = 0; i < size; i++)
 		buf[i] = hdmi_get_eld_byte(codec, nid, i);
 
-	ret = hdmi_update_sink_eld(eld, buf, size);
+	ret = hdmi_update_eld(eld, buf, size);
 
 	kfree(buf);
 	return ret;
@@ -421,7 +421,7 @@ void snd_print_channel_allocation(int sp
 	buf[j] = '\0';	/* necessary when j == 0 */
 }
 
-void snd_hdmi_show_eld(struct sink_eld *e)
+void snd_hdmi_show_eld(struct hdmi_eld *e)
 {
 	int i;
 	char buf[SND_PRINT_CHANNEL_ALLOCATION_ADVISED_BUFSIZE];
@@ -482,7 +482,7 @@ static void hdmi_print_sad_info(int i, s
 static void hdmi_print_eld_info(struct snd_info_entry *entry,
 				struct snd_info_buffer *buffer)
 {
-	struct sink_eld *e = entry->private_data;
+	struct hdmi_eld *e = entry->private_data;
 	char buf[SND_PRINT_CHANNEL_ALLOCATION_ADVISED_BUFSIZE];
 	int i;
 
@@ -509,7 +509,7 @@ static void hdmi_print_eld_info(struct s
 		hdmi_print_sad_info(i, e->sad + i, buffer);
 }
 
-int snd_hda_eld_proc_new(struct hda_codec *codec, struct sink_eld *eld)
+int snd_hda_eld_proc_new(struct hda_codec *codec, struct hdmi_eld *eld)
 {
 	char name[32];
 	struct snd_info_entry *entry;
--- sound-2.6.orig/sound/pci/hda/hda_local.h
+++ sound-2.6/sound/pci/hda/hda_local.h
@@ -462,7 +462,7 @@ struct cea_sad {
 /*
  * ELD: EDID Like Data
  */
-struct sink_eld {
+struct hdmi_eld {
 	int	eld_size;
 	int	baseline_len;
 	int	eld_ver;	/* (eld_ver == 0) indicates invalid ELD */
@@ -481,13 +481,13 @@ struct sink_eld {
 };
 
 int snd_hdmi_get_eld_size(struct hda_codec *codec, hda_nid_t nid);
-int snd_hdmi_get_eld(struct sink_eld *, struct hda_codec *, hda_nid_t);
-void snd_hdmi_show_eld(struct sink_eld *eld);
+int snd_hdmi_get_eld(struct hdmi_eld *, struct hda_codec *, hda_nid_t);
+void snd_hdmi_show_eld(struct hdmi_eld *eld);
 
 #ifdef CONFIG_PROC_FS
-int snd_hda_eld_proc_new(struct hda_codec *codec, struct sink_eld *eld);
+int snd_hda_eld_proc_new(struct hda_codec *codec, struct hdmi_eld *eld);
 #else
-inline int snd_hda_eld_proc_new(struct hda_codec *codec, struct sink_eld *eld)
+inline int snd_hda_eld_proc_new(struct hda_codec *codec, struct hdmi_eld *eld)
 {
 	return 0;
 }
--- sound-2.6.orig/sound/pci/hda/patch_intelhdmi.c
+++ sound-2.6/sound/pci/hda/patch_intelhdmi.c
@@ -42,7 +42,7 @@
 struct intel_hdmi_spec {
 	struct hda_multi_out multiout;
 	struct hda_pcm pcm_rec;
-	struct sink_eld sink;
+	struct hdmi_eld sink_eld;
 };
 
 static struct hda_verb pinout_enable_verb[] = {
@@ -308,7 +308,7 @@ static void hdmi_debug_channel_mapping(s
 static void hdmi_parse_eld(struct hda_codec *codec)
 {
 	struct intel_hdmi_spec *spec = codec->spec;
-	struct sink_eld *eld = &spec->sink;
+	struct hdmi_eld *eld = &spec->sink_eld;
 
 	if (!snd_hdmi_get_eld(eld, codec, PIN_NID))
 		snd_hdmi_show_eld(eld);
@@ -411,7 +411,7 @@ static int hdmi_setup_channel_allocation
 					 struct hdmi_audio_infoframe *ai)
 {
 	struct intel_hdmi_spec *spec = codec->spec;
-	struct sink_eld *eld = &spec->sink;
+	struct hdmi_eld *eld = &spec->sink_eld;
 	int i;
 	int spk_mask = 0;
 	int channels = 1 + (ai->CC02_CT47 & 0x7);
@@ -663,7 +663,7 @@ static int patch_intel_hdmi(struct hda_c
 	codec->spec = spec;
 	codec->patch_ops = intel_hdmi_patch_ops;
 
-	snd_hda_eld_proc_new(codec, &spec->sink);
+	snd_hda_eld_proc_new(codec, &spec->sink_eld);
 
 	init_channel_allocations();
 

-- 

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

* [PATCH 3/5] hda: minor output message cleanups
  2008-11-19  7:13 [PATCH 0/5] assorted HDMI cleanups Wu Fengguang
  2008-11-19  7:13 ` [PATCH 1/5] hda: minor code cleanups Wu Fengguang
  2008-11-19  7:14 ` [PATCH 2/5] hda: rename sink_eld to hdmi_eld Wu Fengguang
@ 2008-11-19  7:14 ` Wu Fengguang
  2008-11-19  7:14 ` [PATCH 4/5] hda: make global snd_print_pcm_bits() Wu Fengguang
                   ` (2 subsequent siblings)
  5 siblings, 0 replies; 7+ messages in thread
From: Wu Fengguang @ 2008-11-19  7:14 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: alsa-print-speakers-cleanup.patch --]
[-- Type: text/plain, Size: 2259 bytes --]

Some minor user visible message cleanups.

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
---
 sound/pci/hda/hda_eld.c |   15 ++++++---------
 1 file changed, 6 insertions(+), 9 deletions(-)

--- sound-2.6.orig/sound/pci/hda/hda_eld.c
+++ sound-2.6/sound/pci/hda/hda_eld.c
@@ -118,7 +118,7 @@ static char *cea_audio_coding_type_names
 	/*  6 */ "AAC-LC",
 	/*  7 */ "DTS",
 	/*  8 */ "ATRAC",
-	/*  9 */ "DSD (1-bit audio)",
+	/*  9 */ "DSD (One Bit Audio)",
 	/* 10 */ "E-AC-3/DD+ (Dolby Digital Plus)",
 	/* 11 */ "DTS-HD",
 	/* 12 */ "MLP (Dolby TrueHD)",
@@ -395,7 +395,7 @@ static void hdmi_show_short_audio_desc(s
 	printk(KERN_INFO "channels: %d\n", a->channels);
 
 	snd_print_pcm_rates(a->rates, buf, sizeof(buf));
-	printk(KERN_INFO "sampling frequencies: %s\n", buf);
+	printk(KERN_INFO "sampling rates: %s\n", buf);
 
 	if (a->format == AUDIO_CODING_TYPE_LPCM)
 		printk(KERN_INFO "sample bits: 0x%x\n", a->sample_bits);
@@ -413,11 +413,9 @@ void snd_print_channel_allocation(int sp
 
 	for (i = 0, j = 0; i < ARRAY_SIZE(cea_speaker_allocation_names); i++) {
 		if (spk_alloc & (1 << i))
-			j += snprintf(buf + j, buflen - j,  "%s ",
+			j += snprintf(buf + j, buflen - j,  " %s",
 					cea_speaker_allocation_names[i]);
 	}
-	if (j)
-		j--;	/* skip last space */
 	buf[j] = '\0';	/* necessary when j == 0 */
 }
 
@@ -464,11 +462,10 @@ static void hdmi_print_sad_info(int i, s
 	snd_iprintf(buffer, "sad%d_channels\t\t%d\n", i, a->channels);
 
 	snd_print_pcm_rates(a->rates, buf, sizeof(buf));
-	snd_iprintf(buffer, "sad%d_sampling_rates\t[0x%x] %s\n",
-			i, a->rates, buf);
+	snd_iprintf(buffer, "sad%d_rates\t\t[0x%x]%s\n", i, a->rates, buf);
 
 	if (a->format == AUDIO_CODING_TYPE_LPCM)
-		snd_iprintf(buffer, "sad%d_sample_bits\t0x%x\n",
+		snd_iprintf(buffer, "sad%d_bits\t\t0x%x\n",
 							i, a->sample_bits);
 
 	if (a->max_bitrate)
@@ -501,7 +498,7 @@ static void hdmi_print_eld_info(struct s
 	snd_iprintf(buffer, "audio_sync_delay\t%d\n", e->aud_synch_delay);
 
 	snd_print_channel_allocation(e->spk_alloc, buf, sizeof(buf));
-	snd_iprintf(buffer, "speakers\t\t[0x%x] %s\n", e->spk_alloc, buf);
+	snd_iprintf(buffer, "speakers\t\t[0x%x]%s\n", e->spk_alloc, buf);
 
 	snd_iprintf(buffer, "sad_count\t\t%d\n", e->sad_count);
 

-- 

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

* [PATCH 4/5] hda: make global snd_print_pcm_bits()
  2008-11-19  7:13 [PATCH 0/5] assorted HDMI cleanups Wu Fengguang
                   ` (2 preceding siblings ...)
  2008-11-19  7:14 ` [PATCH 3/5] hda: minor output message cleanups Wu Fengguang
@ 2008-11-19  7:14 ` Wu Fengguang
  2008-11-19  7:14 ` [PATCH 5/5] hda: compact ELD output messages Wu Fengguang
  2008-11-19  8:44 ` [PATCH 0/5] assorted HDMI cleanups Takashi Iwai
  5 siblings, 0 replies; 7+ messages in thread
From: Wu Fengguang @ 2008-11-19  7:14 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: alsa-print-sample-bits.patch --]
[-- Type: text/plain, Size: 3006 bytes --]

Introduce a global function snd_print_pcm_bits() and use it in the ELD code.

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
---
 sound/pci/hda/hda_eld.c   |   10 ++++++----
 sound/pci/hda/hda_local.h |    3 +++
 sound/pci/hda/hda_proc.c  |   22 ++++++++++++++++------
 3 files changed, 25 insertions(+), 10 deletions(-)

--- sound-2.6.orig/sound/pci/hda/hda_proc.c
+++ sound-2.6/sound/pci/hda/hda_proc.c
@@ -107,23 +107,33 @@ void snd_print_pcm_rates(int pcm, char *
 static void print_pcm_rates(struct snd_info_buffer *buffer, unsigned int pcm)
 {
 	char buf[SND_PRINT_RATES_ADVISED_BUFSIZE];
+
 	pcm &= AC_SUPPCM_RATES;
 	snd_iprintf(buffer, "    rates [0x%x]:", pcm);
 	snd_print_pcm_rates(pcm, buf, sizeof(buf));
 	snd_iprintf(buffer, "%s\n", buf);
 }
 
-static void print_pcm_bits(struct snd_info_buffer *buffer, unsigned int pcm)
+void snd_print_pcm_bits(int pcm, char *buf, int buflen)
 {
 	static unsigned int bits[] = { 8, 16, 20, 24, 32 };
-	int i;
+	int i, j;
+
+	for (i = 0, j = 0; i < ARRAY_SIZE(bits); i++)
+		if (pcm & (1 << i))
+			j += snprintf(buf + j, buflen - j,  " %d", bits[i]);
+
+	buf[j] = '\0'; /* necessary when j == 0 */
+}
+
+static void print_pcm_bits(struct snd_info_buffer *buffer, unsigned int pcm)
+{
+	char buf[SND_PRINT_BITS_ADVISED_BUFSIZE];
 
 	pcm = (pcm >> 16) & 0xff;
 	snd_iprintf(buffer, "    bits [0x%x]:", pcm);
-	for (i = 0; i < ARRAY_SIZE(bits); i++)
-		if (pcm & (1 << i))
-			snd_iprintf(buffer, " %d", bits[i]);
-	snd_iprintf(buffer, "\n");
+	snd_print_pcm_bits(pcm, buf, sizeof(buf));
+	snd_iprintf(buffer, "%s\n", buf);
 }
 
 static void print_pcm_formats(struct snd_info_buffer *buffer,
--- sound-2.6.orig/sound/pci/hda/hda_eld.c
+++ sound-2.6/sound/pci/hda/hda_eld.c
@@ -455,7 +455,7 @@ void snd_hdmi_show_eld(struct hdmi_eld *
 static void hdmi_print_sad_info(int i, struct cea_sad *a,
 				struct snd_info_buffer *buffer)
 {
-	char buf[80];
+	char buf[SND_PRINT_RATES_ADVISED_BUFSIZE];
 
 	snd_iprintf(buffer, "sad%d_coding_type\t[0x%x] %s\n",
 			i, a->format, cea_audio_coding_type_names[a->format]);
@@ -464,9 +464,11 @@ static void hdmi_print_sad_info(int i, s
 	snd_print_pcm_rates(a->rates, buf, sizeof(buf));
 	snd_iprintf(buffer, "sad%d_rates\t\t[0x%x]%s\n", i, a->rates, buf);
 
-	if (a->format == AUDIO_CODING_TYPE_LPCM)
-		snd_iprintf(buffer, "sad%d_bits\t\t0x%x\n",
-							i, a->sample_bits);
+	if (a->format == AUDIO_CODING_TYPE_LPCM) {
+		snd_print_pcm_bits(a->sample_bits, buf, sizeof(buf));
+		snd_iprintf(buffer, "sad%d_bits\t\t[0x%x]%s\n",
+							i, a->sample_bits, buf);
+	}
 
 	if (a->max_bitrate)
 		snd_iprintf(buffer, "sad%d_max_bitrate\t%d\n",
--- sound-2.6.orig/sound/pci/hda/hda_local.h
+++ sound-2.6/sound/pci/hda/hda_local.h
@@ -287,6 +287,9 @@ static inline int snd_hda_codec_proc_new
 #define SND_PRINT_RATES_ADVISED_BUFSIZE	80
 void snd_print_pcm_rates(int pcm, char *buf, int buflen);
 
+#define SND_PRINT_BITS_ADVISED_BUFSIZE	16
+void snd_print_pcm_bits(int pcm, char *buf, int buflen);
+
 /*
  * Misc
  */

-- 

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

* [PATCH 5/5] hda: compact ELD output messages
  2008-11-19  7:13 [PATCH 0/5] assorted HDMI cleanups Wu Fengguang
                   ` (3 preceding siblings ...)
  2008-11-19  7:14 ` [PATCH 4/5] hda: make global snd_print_pcm_bits() Wu Fengguang
@ 2008-11-19  7:14 ` Wu Fengguang
  2008-11-19  8:44 ` [PATCH 0/5] assorted HDMI cleanups Takashi Iwai
  5 siblings, 0 replies; 7+ messages in thread
From: Wu Fengguang @ 2008-11-19  7:14 UTC (permalink / raw)
  To: Takashi Iwai; +Cc: alsa-devel

[-- Attachment #1: alsa-compact-eld-dmesg.patch --]
[-- Type: text/plain, Size: 3320 bytes --]

Strip out some ELD printk messages that end user won't care,
and make the output compact.

Signed-off-by: Wu Fengguang <wfg@linux.intel.com>
---
 sound/pci/hda/hda_eld.c |   58 ++++++++++++++++----------------------
 1 file changed, 25 insertions(+), 33 deletions(-)

--- sound-2.6.orig/sound/pci/hda/hda_eld.c
+++ sound-2.6/sound/pci/hda/hda_eld.c
@@ -389,22 +389,27 @@ int snd_hdmi_get_eld(struct hdmi_eld *el
 static void hdmi_show_short_audio_desc(struct cea_sad *a)
 {
 	char buf[SND_PRINT_RATES_ADVISED_BUFSIZE];
+	char buf2[8 + SND_PRINT_BITS_ADVISED_BUFSIZE] = ", bits =";
 
-	printk(KERN_INFO "coding type: %s\n",
-					cea_audio_coding_type_names[a->format]);
-	printk(KERN_INFO "channels: %d\n", a->channels);
+	if (!a->format)
+		return;
 
 	snd_print_pcm_rates(a->rates, buf, sizeof(buf));
-	printk(KERN_INFO "sampling rates: %s\n", buf);
 
 	if (a->format == AUDIO_CODING_TYPE_LPCM)
-		printk(KERN_INFO "sample bits: 0x%x\n", a->sample_bits);
-
-	if (a->max_bitrate)
-		printk(KERN_INFO "max bitrate: %d\n", a->max_bitrate);
-
-	if (a->profile)
-		printk(KERN_INFO "profile: %d\n", a->profile);
+		snd_print_pcm_rates(a->sample_bits, buf2 + 8, sizeof(buf2 - 8));
+	else if (a->max_bitrate)
+		snprintf(buf2, sizeof(buf2),
+				", max bitrate = %d", a->max_bitrate);
+	else
+		buf2[0] = '\0';
+
+	printk(KERN_INFO "supports coding type %s:"
+			" channels = %d, rates =%s%s\n",
+			cea_audio_coding_type_names[a->format],
+			a->channels,
+			buf,
+			buf2);
 }
 
 void snd_print_channel_allocation(int spk_alloc, char *buf, int buflen)
@@ -422,29 +427,16 @@ void snd_print_channel_allocation(int sp
 void snd_hdmi_show_eld(struct hdmi_eld *e)
 {
 	int i;
-	char buf[SND_PRINT_CHANNEL_ALLOCATION_ADVISED_BUFSIZE];
 
-	printk(KERN_INFO "ELD buffer size  is %d\n", e->eld_size);
-	printk(KERN_INFO "ELD baseline len is %d*4\n", e->baseline_len);
-	printk(KERN_INFO "vendor block len is %d\n",
-					e->eld_size - e->baseline_len * 4 - 4);
-	printk(KERN_INFO "ELD version      is %s\n",
-					eld_versoin_names[e->eld_ver]);
-	printk(KERN_INFO "CEA EDID version is %s\n",
-				cea_edid_version_names[e->cea_edid_ver]);
-	printk(KERN_INFO "manufacture id   is 0x%x\n", e->manufacture_id);
-	printk(KERN_INFO "product id       is 0x%x\n", e->product_id);
-	printk(KERN_INFO "port id          is 0x%llx\n", (long long)e->port_id);
-	printk(KERN_INFO "HDCP support     is %d\n", e->support_hdcp);
-	printk(KERN_INFO "AI support       is %d\n", e->support_ai);
-	printk(KERN_INFO "SAD count        is %d\n", e->sad_count);
-	printk(KERN_INFO "audio sync delay is %x\n", e->aud_synch_delay);
-	printk(KERN_INFO "connection type  is %s\n",
-				eld_connection_type_names[e->conn_type]);
-	printk(KERN_INFO "monitor name     is %s\n", e->monitor_name);
-
-	snd_print_channel_allocation(e->spk_alloc, buf, sizeof(buf));
-	printk(KERN_INFO "speaker allocations: (0x%x)%s\n", e->spk_alloc, buf);
+	printk(KERN_INFO "detected monitor %s at connection type %s\n",
+			e->monitor_name,
+			eld_connection_type_names[e->conn_type]);
+
+	if (e->spk_alloc) {
+		char buf[SND_PRINT_CHANNEL_ALLOCATION_ADVISED_BUFSIZE];
+		snd_print_channel_allocation(e->spk_alloc, buf, sizeof(buf));
+		printk(KERN_INFO "available speakers:%s\n", buf);
+	}
 
 	for (i = 0; i < e->sad_count; i++)
 		hdmi_show_short_audio_desc(e->sad + i);

-- 

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

* Re: [PATCH 0/5] assorted HDMI cleanups
  2008-11-19  7:13 [PATCH 0/5] assorted HDMI cleanups Wu Fengguang
                   ` (4 preceding siblings ...)
  2008-11-19  7:14 ` [PATCH 5/5] hda: compact ELD output messages Wu Fengguang
@ 2008-11-19  8:44 ` Takashi Iwai
  5 siblings, 0 replies; 7+ messages in thread
From: Takashi Iwai @ 2008-11-19  8:44 UTC (permalink / raw)
  To: Wu Fengguang; +Cc: alsa-devel

At Wed, 19 Nov 2008 15:13:58 +0800,
Wu Fengguang wrote:
> 
> Hi Takashi,
> 
> Here are 5 HDMI cleanup patches, some renames the code and others renames the
> user visible output messages. The new output goes like:
> 
> dmesg
> 
> 	[ 5742.169578] detected monitor <9d><80>t connection type Display Port
> 	[ 5742.169580] available speakers: FL/FR LFE FLC/FRC
> 	[ 5742.169582] supports coding type MLP (Dolby TrueHD): channels = 7, rates = 48000 176400
> 	[ 5742.169585] supports coding type AC-3: channels = 1, rates = 48000 88200 192000, max bitrate = 1208000
> 	[ 5742.169588] supports coding type AC-3: channels = 2, rates = 48000 384000, max bitrate = 960000
> 	[ 5742.169591] supports coding type ATRAC: channels = 5, rates = 48000 88200 384000, max bitrate = 224000
> 
> 
> /proc/asound/card0/eld\#3
> 
> 	monitor name            ���
> 	connection_type         Display Port
> 	eld_version             [0xb] reserved
> 	edid_version            [0x3] CEA-861-B, C or D
> 	manufacture_id          0xee5a
> 	product_id              0x923c
> 	port_id                 0x18b263a03e17d1b5
> 	support_hdcp            1
> 	support_ai              1
> 	audio_sync_delay        216
> 	speakers                [0x23] FL/FR LFE FLC/FRC
> 	sad_count               4
> 	sad0_coding_type        [0xc] MLP (Dolby TrueHD)
> 	sad0_channels           7
> 	sad0_rates              [0x240] 48000 176400
> 	sad1_coding_type        [0x2] AC-3
> 	sad1_channels           1
> 	sad1_rates              [0x4c0] 48000 88200 192000
> 	sad1_max_bitrate        1208000
> 	sad2_coding_type        [0x2] AC-3
> 	sad2_channels           2
> 	sad2_rates              [0x1840] 48000 384000
> 	sad2_max_bitrate        960000
> 	sad3_coding_type        [0x8] ATRAC
> 	sad3_channels           5
> 	sad3_rates              [0x8c0] 48000 88200 384000
> 	sad3_max_bitrate        224000

Looks good.  Applied now.
Thanks!

Takashi
_______________________________________________
Alsa-devel mailing list
Alsa-devel@alsa-project.org
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel

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

end of thread, other threads:[~2008-11-19  8:44 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2008-11-19  7:13 [PATCH 0/5] assorted HDMI cleanups Wu Fengguang
2008-11-19  7:13 ` [PATCH 1/5] hda: minor code cleanups Wu Fengguang
2008-11-19  7:14 ` [PATCH 2/5] hda: rename sink_eld to hdmi_eld Wu Fengguang
2008-11-19  7:14 ` [PATCH 3/5] hda: minor output message cleanups Wu Fengguang
2008-11-19  7:14 ` [PATCH 4/5] hda: make global snd_print_pcm_bits() Wu Fengguang
2008-11-19  7:14 ` [PATCH 5/5] hda: compact ELD output messages Wu Fengguang
2008-11-19  8:44 ` [PATCH 0/5] assorted HDMI cleanups 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.