At Mon, 24 Aug 2009 09:50:46 +0800, Wu Fengguang wrote: > > Signed-off-by: Wu Fengguang <fengguang.wu@xxxxxxxxx> Applied now. Thanks! Takashi > --- > sound/pci/hda/hda_local.h | 10 ++++++++++ > sound/pci/hda/hda_proc.c | 4 +--- > sound/pci/hda/patch_atihdmi.c | 3 +-- > 3 files changed, 12 insertions(+), 5 deletions(-) > > --- sound-2.6.orig/sound/pci/hda/hda_local.h 2009-08-24 09:48:57.000000000 +0800 > +++ sound-2.6/sound/pci/hda/hda_local.h 2009-08-24 09:49:44.000000000 +0800 > @@ -410,6 +410,16 @@ static inline u32 get_wcaps(struct hda_c > /* get the widget type from widget capability bits */ > #define get_wcaps_type(wcaps) (((wcaps) & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT) > > +static inline unsigned int get_wcaps_channels(u32 wcaps) > +{ > + unsigned int chans; > + > + chans = (wcaps & AC_WCAP_CHAN_CNT_EXT) >> 13; > + chans = ((chans << 1) | 1) + 1; > + > + return chans; > +} > + > u32 query_amp_caps(struct hda_codec *codec, hda_nid_t nid, int direction); > int snd_hda_override_amp_caps(struct hda_codec *codec, hda_nid_t nid, int dir, > unsigned int caps); > --- sound-2.6.orig/sound/pci/hda/hda_proc.c 2009-08-24 09:48:57.000000000 +0800 > +++ sound-2.6/sound/pci/hda/hda_proc.c 2009-08-24 09:49:44.000000000 +0800 > @@ -515,9 +515,7 @@ static void print_codec_info(struct snd_ > snd_iprintf(buffer, "Node 0x%02x [%s] wcaps 0x%x:", nid, > get_wid_type_name(wid_type), wid_caps); > if (wid_caps & AC_WCAP_STEREO) { > - unsigned int chans; > - chans = (wid_caps & AC_WCAP_CHAN_CNT_EXT) >> 13; > - chans = ((chans << 1) | 1) + 1; > + unsigned int chans = get_wcaps_channels(wid_caps); > if (chans == 2) > snd_iprintf(buffer, " Stereo"); > else > --- sound-2.6.orig/sound/pci/hda/patch_atihdmi.c 2009-08-24 09:48:57.000000000 +0800 > +++ sound-2.6/sound/pci/hda/patch_atihdmi.c 2009-08-24 09:49:44.000000000 +0800 > @@ -141,8 +141,7 @@ static int atihdmi_build_pcms(struct hda > /* FIXME: we must check ELD and change the PCM parameters dynamically > */ > chans = get_wcaps(codec, CVT_NID); > - chans = (chans & AC_WCAP_CHAN_CNT_EXT) >> 13; > - chans = ((chans << 1) | 1) + 1; > + chans = get_wcaps_channels(chans); > info->stream[SNDRV_PCM_STREAM_PLAYBACK].channels_max = chans; > > return 0; > _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel