]>
Commit | Line | Data |
---|---|---|
7639a06c TI |
1 | /* |
2 | * Local helper macros and functions for HD-audio core drivers | |
3 | */ | |
4 | ||
5 | #ifndef __HDAC_LOCAL_H | |
6 | #define __HDAC_LOCAL_H | |
7 | ||
8 | #define get_wcaps(codec, nid) \ | |
9 | snd_hdac_read_parm(codec, nid, AC_PAR_AUDIO_WIDGET_CAP) | |
10 | ||
11 | /* get the widget type from widget capability bits */ | |
12 | static inline int get_wcaps_type(unsigned int wcaps) | |
13 | { | |
14 | if (!wcaps) | |
15 | return -1; /* invalid type */ | |
16 | return (wcaps & AC_WCAP_TYPE) >> AC_WCAP_TYPE_SHIFT; | |
17 | } | |
18 | ||
9fc7c862 SP |
19 | static inline unsigned int get_wcaps_channels(u32 wcaps) |
20 | { | |
21 | unsigned int chans; | |
22 | ||
23 | chans = (wcaps & AC_WCAP_CHAN_CNT_EXT) >> 13; | |
24 | chans = (chans + 1) * 2; | |
25 | ||
26 | return chans; | |
27 | } | |
28 | ||
3256be65 TI |
29 | extern const struct attribute_group *hdac_dev_attr_groups[]; |
30 | int hda_widget_sysfs_init(struct hdac_device *codec); | |
31 | void hda_widget_sysfs_exit(struct hdac_device *codec); | |
32 | ||
7639a06c | 33 | #endif /* __HDAC_LOCAL_H */ |