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

Takashi Iwai tiwai at suse.de
Mon Aug 13 09:54:02 CEST 2012


At Mon, 13 Aug 2012 07:49:40 +0000,
Wang, Xingchao wrote:
> 
> 
> 
> > -----Original Message-----
> > From: alsa-devel-bounces at alsa-project.org
> > [mailto:alsa-devel-bounces at alsa-project.org] On Behalf Of Takashi Iwai
> > Sent: Monday, August 13, 2012 3:38 PM
> > To: Wang, Xingchao
> > Cc: alsa-devel at alsa-project.org
> > Subject: Re: [alsa-devel] [PATCH 1/3] ALSA: hda - show ICT/KAE control bits
> > 
> > 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.)
> 
> Okay. 
> > 
> > > +
> > >  /* 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.
> 
> What about also add digi2 to specify AC_DIG1_LEVEL and CC? They are bit 7:14.

These are DIG1_LEVEL is dig1.
DIG2_CC isn't _compared_ with dig1.  But it would be clearer if it's
deduced from dig2, yes.

> 
> > 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);
> > 
> 
> Okay, I will fix that in next version.
> Thanks your review, Takashi. :)


thanks,

Takashi


More information about the Alsa-devel mailing list