hda: move open coded tricks into get_wcaps_channels()
PATCH 1/1 hda: move open coded tricks into get_wcaps_channels()
Signed-off-by Wu Fengguang <[email protected]>
--- 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/pci/hda/hda_local.h +10 -0
@@ -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/pci/hda/hda_proc.c +1 -3
@@ -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/pci/hda/patch_atihdmi.c +1 -2
@@ -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 ;