]> git.openfabrics.org - ~shefty/rdma-dev.git/blobdiff - sound/pci/hda/hda_local.h
ALSA: hda: move open coded tricks into get_wcaps_channels()
[~shefty/rdma-dev.git] / sound / pci / hda / hda_local.h
index fa57cb93b44318ab90d108dba7d7c64bb8f507a3..5f1dcc59002b4a610f0bff8b6455e9d1205f42a9 100644 (file)
@@ -410,6 +410,16 @@ static inline u32 get_wcaps(struct hda_codec *codec, hda_nid_t nid)
 /* 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);