[alsa-devel] [PATCH 1/3] ALSA: hda - show ICT/KAE control bits

Takashi Iwai tiwai at suse.de
Mon Aug 13 09:38:14 CEST 2012


At Mon, 13 Aug 2012 14:11:09 +0800,
Wang Xingchao wrote:
> 
> Enable two debug options for S/PDIF Converter Control.
> KAE: Keep Alive Enable; ICT: IEC Coding Type.
> 
> Signed-off-by: Wang Xingchao <xingchao.wang at intel.com>
> ---
>  sound/pci/hda/hda_codec.h |    4 ++++
>  sound/pci/hda/hda_proc.c  |    4 ++++
>  2 files changed, 8 insertions(+)
> 
> diff --git a/sound/pci/hda/hda_codec.h b/sound/pci/hda/hda_codec.h
> index c422d33..141b3b8 100644
> --- a/sound/pci/hda/hda_codec.h
> +++ b/sound/pci/hda/hda_codec.h
> @@ -386,6 +386,10 @@ enum {
>  /* DIGITAL2 bits */
>  #define AC_DIG2_CC			(0x7f<<0)
>  
> +/* DIGITAL3 bits */
> +#define AC_DIG3_ICT			(0xf<<0)
> +#define AC_DIG3_KAE			(1<<23)

For DIG3, it should be 1<<7.  (dig3 begins from bit 16.)

> +
>  /* Pin widget control - 8bit */
>  #define AC_PINCTL_EPT			(0x3<<0)
>  #define AC_PINCTL_EPT_NATIVE		0
> diff --git a/sound/pci/hda/hda_proc.c b/sound/pci/hda/hda_proc.c
> index 7e46258..a222aae 100644
> --- a/sound/pci/hda/hda_proc.c
> +++ b/sound/pci/hda/hda_proc.c
> @@ -419,9 +419,13 @@ static void print_digital_conv(struct snd_info_buffer *buffer,
>  		snd_iprintf(buffer, " Pro");
>  	if (digi1 & AC_DIG1_LEVEL)
>  		snd_iprintf(buffer, " GenLevel");

Comparing dig1 and dig3 bitmask looks strange.
For clarity, better to have
	unsigned char dig3;
	...
	dig3 = dig1 >> 16;
	if (dig3 & AC_DIG3_KAE)
		snd_iprintf(buffer, " KAE");
	...
	snd_iprintf(buffer, "  IEC Coding Type: 0x%x\n",
			dig3 & AC_DIG3_ICT);


Takashi


More information about the Alsa-devel mailing list