/sound/pci/hda/ |
D | hda_bind.c | 23 struct hda_codec *codec = container_of(dev, struct hda_codec, core); in hda_codec_match() local 28 u32 id = codec->probe_id ? codec->probe_id : codec->core.vendor_id; in hda_codec_match() 29 u32 rev_id = codec->core.revision_id; in hda_codec_match() 34 codec->preset = list; in hda_codec_match() 44 struct hda_codec *codec = container_of(dev, struct hda_codec, core); in hda_codec_unsol_event() local 47 if (codec->bus->shutdown) in hda_codec_unsol_event() 50 if (codec->patch_ops.unsol_event) in hda_codec_unsol_event() 51 codec->patch_ops.unsol_event(codec, ev); in hda_codec_unsol_event() 59 int snd_hda_codec_set_name(struct hda_codec *codec, const char *name) in snd_hda_codec_set_name() argument 65 err = snd_hdac_device_set_chip_name(&codec->core, name); in snd_hda_codec_set_name() [all …]
|
D | patch_ca0132.c | 1025 struct hda_codec *codec; member 1191 static unsigned int codec_send_command(struct hda_codec *codec, hda_nid_t nid, in codec_send_command() argument 1195 response = snd_hda_codec_read(codec, nid, 0, verb, parm); in codec_send_command() 1201 static int codec_set_converter_format(struct hda_codec *codec, hda_nid_t nid, in codec_set_converter_format() argument 1204 return codec_send_command(codec, nid, VENDOR_CHIPIO_STREAM_FORMAT, in codec_set_converter_format() 1208 static int codec_set_converter_stream_channel(struct hda_codec *codec, in codec_set_converter_stream_channel() argument 1215 return codec_send_command(codec, nid, AC_VERB_SET_CHANNEL_STREAMID, in codec_set_converter_stream_channel() 1220 static int chipio_send(struct hda_codec *codec, in chipio_send() argument 1229 res = snd_hda_codec_read(codec, WIDGET_CHIP_CTRL, 0, in chipio_send() 1242 static int chipio_write_address(struct hda_codec *codec, in chipio_write_address() argument [all …]
|
D | hda_codec.c | 27 #define codec_in_pm(codec) snd_hdac_is_in_pm(&codec->core) argument 28 #define hda_codec_is_power_on(codec) snd_hdac_is_power_on(&codec->core) argument 29 #define codec_has_epss(codec) \ argument 30 ((codec)->core.power_caps & AC_PWRST_EPSS) 31 #define codec_has_clkstop(codec) \ argument 32 ((codec)->core.power_caps & AC_PWRST_CLKSTOP) 40 struct hda_codec *codec = container_of(dev, struct hda_codec, core); in codec_exec_verb() local 41 struct hda_bus *bus = codec->bus; in codec_exec_verb() 48 snd_hda_power_up_pm(codec); in codec_exec_verb() 52 err = snd_hdac_bus_exec_verb_unlocked(&bus->core, codec->core.addr, in codec_exec_verb() [all …]
|
D | patch_via.c | 92 static enum VIA_HDA_CODEC get_codec_type(struct hda_codec *codec); 94 struct hda_codec *codec, 100 static struct via_spec *via_new_spec(struct hda_codec *codec) in via_new_spec() argument 108 codec->spec = spec; in via_new_spec() 110 spec->codec_type = get_codec_type(codec); in via_new_spec() 118 codec->power_save_node = 1; in via_new_spec() 120 codec->patch_ops = via_patch_ops; in via_new_spec() 124 static enum VIA_HDA_CODEC get_codec_type(struct hda_codec *codec) in get_codec_type() argument 126 u32 vendor_id = codec->core.vendor_id; in get_codec_type() 142 if (snd_hda_param_read(codec, 0x16, AC_PAR_CONNLIST_LEN) == 0x7) in get_codec_type() [all …]
|
D | patch_realtek.c | 96 void (*init_hook)(struct hda_codec *codec); 98 void (*power_hook)(struct hda_codec *codec); 100 void (*shutup)(struct hda_codec *codec); 101 void (*reboot_notify)(struct hda_codec *codec); 123 static int alc_read_coefex_idx(struct hda_codec *codec, hda_nid_t nid, in alc_read_coefex_idx() argument 128 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, coef_idx); in alc_read_coefex_idx() 129 val = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PROC_COEF, 0); in alc_read_coefex_idx() 133 #define alc_read_coef_idx(codec, coef_idx) \ argument 134 alc_read_coefex_idx(codec, 0x20, coef_idx) 136 static void alc_write_coefex_idx(struct hda_codec *codec, hda_nid_t nid, in alc_write_coefex_idx() argument [all …]
|
D | patch_cirrus.c | 129 static inline int cs_vendor_coef_get(struct hda_codec *codec, unsigned int idx) in cs_vendor_coef_get() argument 131 struct cs_spec *spec = codec->spec; in cs_vendor_coef_get() 132 snd_hda_codec_write(codec, spec->vendor_nid, 0, in cs_vendor_coef_get() 134 return snd_hda_codec_read(codec, spec->vendor_nid, 0, in cs_vendor_coef_get() 138 static inline void cs_vendor_coef_set(struct hda_codec *codec, unsigned int idx, in cs_vendor_coef_set() argument 141 struct cs_spec *spec = codec->spec; in cs_vendor_coef_set() 142 snd_hda_codec_write(codec, spec->vendor_nid, 0, in cs_vendor_coef_set() 144 snd_hda_codec_write(codec, spec->vendor_nid, 0, in cs_vendor_coef_set() 154 static void cs_automute(struct hda_codec *codec) in cs_automute() argument 156 struct cs_spec *spec = codec->spec; in cs_automute() [all …]
|
D | patch_hdmi.c | 41 #define is_haswell(codec) ((codec)->core.vendor_id == 0x80862807) argument 42 #define is_broadwell(codec) ((codec)->core.vendor_id == 0x80862808) argument 43 #define is_skylake(codec) ((codec)->core.vendor_id == 0x80862809) argument 44 #define is_broxton(codec) ((codec)->core.vendor_id == 0x8086280a) argument 45 #define is_kabylake(codec) ((codec)->core.vendor_id == 0x8086280b) argument 46 #define is_geminilake(codec) (((codec)->core.vendor_id == 0x8086280d) || \ argument 47 ((codec)->core.vendor_id == 0x80862800)) 48 #define is_cannonlake(codec) ((codec)->core.vendor_id == 0x8086280c) argument 49 #define is_icelake(codec) ((codec)->core.vendor_id == 0x8086280f) argument 50 #define is_tigerlake(codec) ((codec)->core.vendor_id == 0x80862812) argument [all …]
|
D | patch_analog.c | 49 static int create_beep_ctls(struct hda_codec *codec) in create_beep_ctls() argument 51 struct ad198x_spec *spec = codec->spec; in create_beep_ctls() 60 kctl = snd_ctl_new1(knew, codec); in create_beep_ctls() 64 err = snd_hda_ctl_add(codec, 0, kctl); in create_beep_ctls() 71 #define create_beep_ctls(codec) 0 argument 75 static void ad198x_power_eapd_write(struct hda_codec *codec, hda_nid_t front, in ad198x_power_eapd_write() argument 78 if (snd_hda_query_pin_caps(codec, front) & AC_PINCAP_EAPD) in ad198x_power_eapd_write() 79 snd_hda_codec_write(codec, front, 0, AC_VERB_SET_EAPD_BTLENABLE, in ad198x_power_eapd_write() 80 !codec->inv_eapd ? 0x00 : 0x02); in ad198x_power_eapd_write() 81 if (snd_hda_query_pin_caps(codec, hp) & AC_PINCAP_EAPD) in ad198x_power_eapd_write() [all …]
|
D | hda_generic.c | 99 static void parse_user_hints(struct hda_codec *codec) in parse_user_hints() argument 101 struct hda_gen_spec *spec = codec->spec; in parse_user_hints() 104 val = snd_hda_get_bool_hint(codec, "jack_detect"); in parse_user_hints() 106 codec->no_jack_detect = !val; in parse_user_hints() 107 val = snd_hda_get_bool_hint(codec, "inv_jack_detect"); in parse_user_hints() 109 codec->inv_jack_detect = !!val; in parse_user_hints() 110 val = snd_hda_get_bool_hint(codec, "trigger_sense"); in parse_user_hints() 112 codec->no_trigger_sense = !val; in parse_user_hints() 113 val = snd_hda_get_bool_hint(codec, "inv_eapd"); in parse_user_hints() 115 codec->inv_eapd = !!val; in parse_user_hints() [all …]
|
D | patch_conexant.c | 74 static int cx_auto_parse_beep(struct hda_codec *codec) in cx_auto_parse_beep() argument 76 struct conexant_spec *spec = codec->spec; in cx_auto_parse_beep() 79 for_each_hda_codec_node(nid, codec) in cx_auto_parse_beep() 80 if (get_wcaps_type(get_wcaps(codec, nid)) == AC_WID_BEEP) in cx_auto_parse_beep() 85 #define cx_auto_parse_beep(codec) 0 argument 93 static void cx_auto_parse_eapd(struct hda_codec *codec) in cx_auto_parse_eapd() argument 95 struct conexant_spec *spec = codec->spec; in cx_auto_parse_eapd() 98 for_each_hda_codec_node(nid, codec) { in cx_auto_parse_eapd() 99 if (get_wcaps_type(get_wcaps(codec, nid)) != AC_WID_PIN) in cx_auto_parse_eapd() 101 if (!(snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_EAPD)) in cx_auto_parse_eapd() [all …]
|
D | hda_jack.c | 29 bool is_jack_detectable(struct hda_codec *codec, hda_nid_t nid) in is_jack_detectable() argument 31 if (codec->no_jack_detect) in is_jack_detectable() 33 if (!(snd_hda_query_pin_caps(codec, nid) & AC_PINCAP_PRES_DETECT)) in is_jack_detectable() 35 if (get_defcfg_misc(snd_hda_codec_get_pincfg(codec, nid)) & in is_jack_detectable() 38 if (!(get_wcaps(codec, nid) & AC_WCAP_UNSOL_CAP) && in is_jack_detectable() 39 !codec->jackpoll_interval) in is_jack_detectable() 46 static u32 read_pin_sense(struct hda_codec *codec, hda_nid_t nid) in read_pin_sense() argument 51 if (!codec->no_trigger_sense) { in read_pin_sense() 52 pincap = snd_hda_query_pin_caps(codec, nid); in read_pin_sense() 54 snd_hda_codec_read(codec, nid, 0, in read_pin_sense() [all …]
|
D | hda_proc.c | 22 #define param_read(codec, nid, parm) \ argument 23 snd_hdac_read_parm_uncached(&(codec)->core, nid, parm) 48 struct hda_codec *codec, hda_nid_t nid, in print_nid_array() argument 75 struct hda_codec *codec, hda_nid_t nid) in print_nid_pcms() argument 80 list_for_each_entry(cpcm, &codec->pcm_list_head, list) { in print_nid_pcms() 94 struct hda_codec *codec, hda_nid_t nid, int dir) in print_amp_caps() argument 97 caps = param_read(codec, nid, dir == HDA_OUTPUT ? in print_amp_caps() 112 static bool is_stereo_amps(struct hda_codec *codec, hda_nid_t nid, in is_stereo_amps() argument 126 if (snd_hda_get_raw_connections(codec, nid, &conn, 1) < 0) in is_stereo_amps() 129 wcaps = snd_hda_param_read(codec, conn, AC_PAR_AUDIO_WIDGET_CAP); in is_stereo_amps() [all …]
|
D | patch_sigmatel.c | 241 struct hda_codec *codec, in stac_playback_pcm_hook() argument 245 struct sigmatel_spec *spec = codec->spec; in stac_playback_pcm_hook() 251 struct hda_codec *codec, in stac_capture_pcm_hook() argument 255 struct sigmatel_spec *spec = codec->spec; in stac_capture_pcm_hook() 271 snd_hda_codec_write(codec, hinfo->nid, 0, in stac_capture_pcm_hook() 276 snd_hda_codec_write(codec, hinfo->nid, 0, in stac_capture_pcm_hook() 288 static void stac_gpio_set(struct hda_codec *codec, unsigned int mask, in stac_gpio_set() argument 292 hda_nid_t fg = codec->core.afg; in stac_gpio_set() 294 codec_dbg(codec, "%s msk %x dir %x gpio %x\n", __func__, mask, dir_mask, data); in stac_gpio_set() 296 gpiostate = snd_hda_codec_read(codec, fg, 0, in stac_gpio_set() [all …]
|
D | hda_local.h | 117 #define snd_hda_codec_amp_read(codec, nid, ch, dir, idx) \ argument 118 snd_hdac_regmap_get_amp(&(codec)->core, nid, ch, dir, idx) 119 int snd_hda_codec_amp_update(struct hda_codec *codec, hda_nid_t nid, 121 int snd_hda_codec_amp_stereo(struct hda_codec *codec, hda_nid_t nid, 123 int snd_hda_codec_amp_init(struct hda_codec *codec, hda_nid_t nid, int ch, 125 int snd_hda_codec_amp_init_stereo(struct hda_codec *codec, hda_nid_t nid, 127 void snd_hda_set_vmaster_tlv(struct hda_codec *codec, hda_nid_t nid, int dir, 129 struct snd_kcontrol *snd_hda_find_mixer_ctl(struct hda_codec *codec, 131 int __snd_hda_add_vmaster(struct hda_codec *codec, char *name, 135 #define snd_hda_add_vmaster(codec, name, tlv, slaves, suffix) \ argument [all …]
|
D | patch_si3054.c | 64 #define GET_REG(codec,reg) (snd_hda_codec_read(codec,reg,0,SI3054_VERB_READ_NODE,0)) argument 65 #define SET_REG(codec,reg,val) (snd_hda_codec_write(codec,reg,0,SI3054_VERB_WRITE_NODE,val)) argument 66 #define SET_REG_CACHE(codec,reg,val) \ argument 67 snd_hda_codec_write_cache(codec,reg,0,SI3054_VERB_WRITE_NODE,val) 88 struct hda_codec *codec = snd_kcontrol_chip(kcontrol); in si3054_switch_get() local 91 uvalue->value.integer.value[0] = (GET_REG(codec, reg)) & mask ? 1 : 0 ; in si3054_switch_get() 98 struct hda_codec *codec = snd_kcontrol_chip(kcontrol); in si3054_switch_put() local 102 SET_REG_CACHE(codec, reg, (GET_REG(codec, reg)) | mask); in si3054_switch_put() 104 SET_REG_CACHE(codec, reg, (GET_REG(codec, reg)) & ~mask); in si3054_switch_put() 125 static int si3054_build_controls(struct hda_codec *codec) in si3054_build_controls() argument [all …]
|
D | hda_auto_parser.c | 56 static void add_auto_cfg_input_pin(struct hda_codec *codec, struct auto_pin_cfg *cfg, in add_auto_cfg_input_pin() argument 63 nid_has_volume(codec, nid, HDA_INPUT); in add_auto_cfg_input_pin() 102 static bool check_pincap_validity(struct hda_codec *codec, hda_nid_t pin, in check_pincap_validity() argument 105 unsigned int pincap = snd_hda_query_pin_caps(codec, pin); in check_pincap_validity() 123 static bool can_be_headset_mic(struct hda_codec *codec, in can_be_headset_mic() argument 135 def_conf = snd_hda_codec_get_pincfg(codec, item->pin); in can_be_headset_mic() 166 int snd_hda_parse_pin_defcfg(struct hda_codec *codec, in snd_hda_parse_pin_defcfg() argument 178 if (!snd_hda_get_int_hint(codec, "parser_flags", &i)) in snd_hda_parse_pin_defcfg() 188 for_each_hda_codec_node(nid, codec) { in snd_hda_parse_pin_defcfg() 189 unsigned int wid_caps = get_wcaps(codec, nid); in snd_hda_parse_pin_defcfg() [all …]
|
D | hda_sysfs.c | 34 struct hda_codec *codec = dev_get_drvdata(dev); in power_on_acct_show() local 35 snd_hda_update_power_acct(codec); in power_on_acct_show() 36 return sprintf(buf, "%u\n", jiffies_to_msecs(codec->power_on_acct)); in power_on_acct_show() 43 struct hda_codec *codec = dev_get_drvdata(dev); in power_off_acct_show() local 44 snd_hda_update_power_acct(codec); in power_off_acct_show() 45 return sprintf(buf, "%u\n", jiffies_to_msecs(codec->power_off_acct)); in power_off_acct_show() 57 struct hda_codec *codec = dev_get_drvdata(dev); \ 58 return sprintf(buf, "0x%x\n", codec->field); \ 66 struct hda_codec *codec = dev_get_drvdata(dev); \ 68 codec->field ? codec->field : ""); \ [all …]
|
D | Makefile | 5 snd-hda-codec-y := hda_bind.o hda_codec.o hda_jack.o hda_auto_parser.o hda_sysfs.o 6 snd-hda-codec-y += hda_controller.o 7 snd-hda-codec-$(CONFIG_SND_PROC_FS) += hda_proc.o 9 snd-hda-codec-$(CONFIG_SND_HDA_HWDEP) += hda_hwdep.o 10 snd-hda-codec-$(CONFIG_SND_HDA_INPUT_BEEP) += hda_beep.o 16 snd-hda-codec-generic-objs := hda_generic.o 17 snd-hda-codec-realtek-objs := patch_realtek.o 18 snd-hda-codec-cmedia-objs := patch_cmedia.o 19 snd-hda-codec-analog-objs := patch_analog.o 20 snd-hda-codec-idt-objs := patch_sigmatel.o [all …]
|
D | hda_beep.c | 26 struct hda_codec *codec = beep->codec; in generate_tone() local 29 snd_hda_power_up(codec); in generate_tone() 34 snd_hda_codec_write(codec, beep->nid, 0, in generate_tone() 40 snd_hda_power_down(codec); in generate_tone() 135 int snd_hda_enable_beep_device(struct hda_codec *codec, int enable) in snd_hda_enable_beep_device() argument 137 struct hda_beep *beep = codec->beep; in snd_hda_enable_beep_device() 178 beep->codec->beep = NULL; in beep_dev_free() 193 int snd_hda_attach_beep_device(struct hda_codec *codec, int nid) in snd_hda_attach_beep_device() argument 204 if (!snd_hda_get_bool_hint(codec, "beep")) in snd_hda_attach_beep_device() 206 if (codec->beep_mode == HDA_BEEP_MODE_OFF) in snd_hda_attach_beep_device() [all …]
|
D | hda_hwdep.c | 21 static int verb_write_ioctl(struct hda_codec *codec, in verb_write_ioctl() argument 28 res = snd_hda_codec_read(codec, verb >> 24, 0, in verb_write_ioctl() 35 static int get_wcap_ioctl(struct hda_codec *codec, in get_wcap_ioctl() argument 44 if (verb < codec->core.start_nid || in get_wcap_ioctl() 45 verb >= codec->core.start_nid + codec->core.num_nodes) { in get_wcap_ioctl() 48 verb -= codec->core.start_nid; in get_wcap_ioctl() 49 verb = array_index_nospec(verb, codec->core.num_nodes); in get_wcap_ioctl() 50 res = codec->wcaps[verb]; in get_wcap_ioctl() 63 struct hda_codec *codec = hw->private_data; in hda_hwdep_ioctl() local 70 return verb_write_ioctl(codec, argp); in hda_hwdep_ioctl() [all …]
|
/sound/pci/ali5451/ |
D | ali5451.c | 142 #define ALI_REG(codec, x) ((codec)->port + x) argument 181 struct snd_ali *codec; member 267 static inline unsigned int snd_ali_5451_peek(struct snd_ali *codec, in snd_ali_5451_peek() argument 270 return (unsigned int)inl(ALI_REG(codec, port)); in snd_ali_5451_peek() 273 static inline void snd_ali_5451_poke(struct snd_ali *codec, in snd_ali_5451_poke() argument 277 outl((unsigned int)val, ALI_REG(codec, port)); in snd_ali_5451_poke() 280 static int snd_ali_codec_ready(struct snd_ali *codec, in snd_ali_codec_ready() argument 289 res = snd_ali_5451_peek(codec,port); in snd_ali_codec_ready() 297 snd_ali_5451_poke(codec, port, res & ~0x8000); in snd_ali_codec_ready() 298 dev_dbg(codec->card->dev, "ali_codec_ready: codec is not ready.\n "); in snd_ali_codec_ready() [all …]
|
/sound/hda/ |
D | hdac_device.c | 18 static void setup_fg_nodes(struct hdac_device *codec); 19 static int get_codec_vendor_name(struct hdac_device *codec); 40 int snd_hdac_device_init(struct hdac_device *codec, struct hdac_bus *bus, in snd_hdac_device_init() argument 47 dev = &codec->dev; in snd_hdac_device_init() 56 codec->bus = bus; in snd_hdac_device_init() 57 codec->addr = addr; in snd_hdac_device_init() 58 codec->type = HDA_DEV_CORE; in snd_hdac_device_init() 59 mutex_init(&codec->widget_lock); in snd_hdac_device_init() 60 pm_runtime_set_active(&codec->dev); in snd_hdac_device_init() 61 pm_runtime_get_noresume(&codec->dev); in snd_hdac_device_init() [all …]
|
D | hdac_regmap.c | 26 static int codec_pm_lock(struct hdac_device *codec) in codec_pm_lock() argument 28 return snd_hdac_keep_power_up(codec); in codec_pm_lock() 31 static void codec_pm_unlock(struct hdac_device *codec, int lock) in codec_pm_unlock() argument 34 snd_hdac_power_down_pm(codec); in codec_pm_unlock() 41 struct hdac_device *codec = dev_to_hdac_dev(dev); in hda_volatile_reg() local 46 return !codec->cache_coef; in hda_volatile_reg() 68 struct hdac_device *codec = dev_to_hdac_dev(dev); in hda_writeable_reg() local 73 snd_array_for_each(&codec->vendor_verbs, i, v) { in hda_writeable_reg() 78 if (codec->caps_overwriting) in hda_writeable_reg() 86 return codec->cache_coef; in hda_writeable_reg() [all …]
|
D | hdac_sysfs.c | 24 struct hdac_device *codec = dev_to_hdac_dev(dev); \ 25 return sprintf(buf, "0x%x\n", codec->type); \ 34 struct hdac_device *codec = dev_to_hdac_dev(dev); \ 36 codec->type ? codec->type : ""); \ 89 ssize_t (*show)(struct hdac_device *codec, hda_nid_t nid, 91 ssize_t (*store)(struct hdac_device *codec, hda_nid_t nid, 114 struct hdac_device *codec; in widget_attr_show() local 119 nid = get_codec_nid(kobj, &codec); in widget_attr_show() 122 return wid_attr->show(codec, nid, wid_attr, buf); in widget_attr_show() 130 struct hdac_device *codec; in widget_attr_store() local [all …]
|
/sound/aoa/core/ |
D | core.c | 57 int aoa_codec_register(struct aoa_codec *codec) in aoa_codec_register() argument 65 err = attach_codec_to_fabric(codec); in aoa_codec_register() 67 list_add(&codec->list, &codec_list); in aoa_codec_register() 72 void aoa_codec_unregister(struct aoa_codec *codec) in aoa_codec_unregister() argument 74 list_del(&codec->list); in aoa_codec_unregister() 75 if (codec->fabric && codec->exit) in aoa_codec_unregister() 76 codec->exit(codec); in aoa_codec_unregister() 78 fabric->remove_codec(codec); in aoa_codec_unregister() 79 codec->fabric = NULL; in aoa_codec_unregister() 80 module_put(codec->owner); in aoa_codec_unregister() [all …]
|