aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWang Xingchao <xingchao.wang@intel.com>2012-08-13 03:43:49 -0400
committerTakashi Iwai <tiwai@suse.de>2012-08-13 04:01:29 -0400
commit6152597971db4055b7b03ccc60afcd62214d41f4 (patch)
treeba3d5a9eb41bb4022dba76ab340c2446152f30b6
parent7b03d1d9c0fd5d6df8da75d595c0768224d2a146 (diff)
ALSA: hda - show ICT/KAE control bits
Enable two debug options for S/PDIF Converter Control. KAE: Keep Alive Enable; ICT: IEC Coding Type. Signed-off-by: Wang Xingchao <xingchao.wang@intel.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
-rw-r--r--sound/pci/hda/hda_codec.h4
-rw-r--r--sound/pci/hda/hda_proc.c9
2 files changed, 12 insertions, 1 deletions
diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
index 39e43753ddbf..d772c2521cd9 100644
--- a/sound/pci/hda/hda_codec.h
+++ b/sound/pci/hda/hda_codec.h
@@ -386,6 +386,10 @@ enum {
386/* DIGITAL2 bits */ 386/* DIGITAL2 bits */
387#define AC_DIG2_CC (0x7f<<0) 387#define AC_DIG2_CC (0x7f<<0)
388 388
389/* DIGITAL3 bits */
390#define AC_DIG3_ICT (0xf<<0)
391#define AC_DIG3_KAE (1<<7)
392
389/* Pin widget control - 8bit */ 393/* Pin widget control - 8bit */
390#define AC_PINCTL_EPT (0x3<<0) 394#define AC_PINCTL_EPT (0x3<<0)
391#define AC_PINCTL_EPT_NATIVE 0 395#define AC_PINCTL_EPT_NATIVE 0
diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c
index 7e46258fc700..32bb3d9bfc62 100644
--- a/sound/pci/hda/hda_proc.c
+++ b/sound/pci/hda/hda_proc.c
@@ -402,6 +402,9 @@ static void print_digital_conv(struct snd_info_buffer *buffer,
402{ 402{
403 unsigned int digi1 = snd_hda_codec_read(codec, nid, 0, 403 unsigned int digi1 = snd_hda_codec_read(codec, nid, 0,
404 AC_VERB_GET_DIGI_CONVERT_1, 0); 404 AC_VERB_GET_DIGI_CONVERT_1, 0);
405 unsigned char digi2 = digi1 >> 8;
406 unsigned char digi3 = digi1 >> 16;
407
405 snd_iprintf(buffer, " Digital:"); 408 snd_iprintf(buffer, " Digital:");
406 if (digi1 & AC_DIG1_ENABLE) 409 if (digi1 & AC_DIG1_ENABLE)
407 snd_iprintf(buffer, " Enabled"); 410 snd_iprintf(buffer, " Enabled");
@@ -419,9 +422,13 @@ static void print_digital_conv(struct snd_info_buffer *buffer,
419 snd_iprintf(buffer, " Pro"); 422 snd_iprintf(buffer, " Pro");
420 if (digi1 & AC_DIG1_LEVEL) 423 if (digi1 & AC_DIG1_LEVEL)
421 snd_iprintf(buffer, " GenLevel"); 424 snd_iprintf(buffer, " GenLevel");
425 if (digi3 & AC_DIG3_KAE)
426 snd_iprintf(buffer, " KAE");
422 snd_iprintf(buffer, "\n"); 427 snd_iprintf(buffer, "\n");
423 snd_iprintf(buffer, " Digital category: 0x%x\n", 428 snd_iprintf(buffer, " Digital category: 0x%x\n",
424 (digi1 >> 8) & AC_DIG2_CC); 429 digi2 & AC_DIG2_CC);
430 snd_iprintf(buffer, " IEC Coding Type: 0x%x\n",
431 digi3 & AC_DIG3_ICT);
425} 432}
426 433
427static const char *get_pwr_state(u32 state) 434static const char *get_pwr_state(u32 state)