* [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