Lines Matching +full:mux +full:- +full:ctrl +full:- +full:list
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
36 * A hda_bus contains several codecs in the list codec_list.
96 container_of((codec)->core.dev.driver, struct hda_codec_driver, core.driver)
162 #define SNDRV_PCM_INVALID_DEVICE (-1)
173 struct list_head list;
205 struct snd_array mixers; /* list of assigned mixer elements */
206 struct snd_array nids; /* list of mapped mixer elements */
208 struct list_head conn_list; /* linked-list of connection-list */
238 unsigned int pin_amp_workaround:1; /* pin out-amp takes index
241 unsigned int single_adc_amp:1; /* adc in-amp takes no index
244 unsigned int no_sticky_stream:1; /* no sticky-PCM stream assignment */
246 unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */
247 unsigned int no_jack_detect:1; /* Machine has no jack-detection */
252 unsigned int dp_mst:1; /* support DP1.2 Multi-stream transport */
271 /* codec-specific additional proc output */
280 int depop_delay; /* depop delay in ms, -1 for default delay time */
282 /* fix-up list */
292 #define hda_codec_dev(_dev) (&(_dev)->core.dev)
297 list_for_each_entry(c, &(bus)->core.codec_list, core.list)
299 list_for_each_entry_safe(c, n, &(bus)->core.codec_list, core.list)
329 return snd_hdac_codec_read(&codec->core, nid, flags, verb, parm);
336 return snd_hdac_codec_write(&codec->core, nid, flags, verb, parm);
340 snd_hdac_read_parm(&(codec)->core, nid, param)
342 snd_hdac_get_sub_nodes(&(codec)->core, nid, start_nid)
351 #define snd_hda_get_raw_connections(codec, nid, list, max_conns) \
352 snd_hdac_get_connections(&(codec)->core, nid, list, max_conns)
354 snd_hdac_get_connections(&(codec)->core, nid, NULL, 0)
359 const hda_nid_t *list);
360 int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
382 return snd_hdac_regmap_write(&codec->core, nid, verb, parm);
385 /* the struct for codec->pin_configs */
388 unsigned char ctrl; /* original pin control value */
396 int snd_hda_add_pincfg(struct hda_codec *codec, struct snd_array *list,
430 refcount_inc(&pcm->codec->pcm_ref);
452 snd_hdac_query_supported_pcm(&(codec)->core, nid, ratesp, fmtsp, subfmtp, bpsp)
454 snd_hdac_is_supported_format(&(codec)->core, nid, fmt)
485 if (driver->ops && driver->ops->check_power_status)
486 return driver->ops->check_power_status(codec, nid);
493 #define snd_hda_power_up(codec) snd_hdac_power_up(&(codec)->core)
494 #define snd_hda_power_up_pm(codec) snd_hdac_power_up_pm(&(codec)->core)
495 #define snd_hda_power_down(codec) snd_hdac_power_down(&(codec)->core)
496 #define snd_hda_power_down_pm(codec) snd_hdac_power_down_pm(&(codec)->core)
503 return !codec->relaxed_resume && codec->jacktbl.used;
507 * PM with auto-cleanup: call like CLASS(snd_hda_power, pm)(codec)
556 return -ENOSYS;