• Home
  • Raw
  • Download

Lines Matching +full:codec +full:- +full:1

1 /* SPDX-License-Identifier: GPL-2.0-or-later */
3 * Universal Interface for Intel High Definition Audio Codec
32 * codec bus
51 unsigned int allow_bus_reset:1; /* allow bus reset at fatal error */
52 /* status for codec/controller */
53 unsigned int shutdown :1; /* being unloaded */
54 unsigned int response_reset:1; /* controller was reset */
55 unsigned int in_reset:1; /* during reset operation */
56 unsigned int no_response_fallback:1; /* don't fallback at RIRB error */
57 unsigned int bus_probing :1; /* during probing process */
58 unsigned int keep_power:1; /* keep power up for notification */
59 unsigned int jackpoll_in_suspend:1; /* keep jack polling during
64 unsigned int mixer_assigned; /* codec addr for mixer name */
71 * codec preset
105 int (*build_controls)(struct hda_codec *codec);
106 int (*build_pcms)(struct hda_codec *codec);
107 int (*init)(struct hda_codec *codec);
108 void (*free)(struct hda_codec *codec);
109 void (*unsol_event)(struct hda_codec *codec, unsigned int res);
110 void (*set_power_state)(struct hda_codec *codec, hda_nid_t fg,
113 int (*suspend)(struct hda_codec *codec);
114 int (*resume)(struct hda_codec *codec);
115 int (*check_power_status)(struct hda_codec *codec, hda_nid_t nid);
117 void (*stream_pm)(struct hda_codec *codec, hda_nid_t nid, bool on);
122 int (*open)(struct hda_pcm_stream *info, struct hda_codec *codec,
124 int (*close)(struct hda_pcm_stream *info, struct hda_codec *codec,
126 int (*prepare)(struct hda_pcm_stream *info, struct hda_codec *codec,
129 int (*cleanup)(struct hda_pcm_stream *info, struct hda_codec *codec,
132 struct hda_codec *codec,
158 #define SNDRV_PCM_INVALID_DEVICE (-1)
166 bool own_chmap; /* codec driver provides own channel maps */
168 struct hda_codec *codec; member
170 unsigned int disconnected:1;
173 /* codec information */
178 unsigned int addr; /* codec addr*/
193 /* codec specific info */
207 struct list_head conn_list; /* linked-list of connection-list */
215 struct snd_array driver_pins; /* pin configs set by codec parser */
230 unsigned int configured:1; /* codec was configured */
231 unsigned int in_freeing:1; /* being released */
232 unsigned int display_power_control:1; /* needs display power */
233 unsigned int spdif_status_reset :1; /* needs to toggle SPDIF for each
237 unsigned int pin_amp_workaround:1; /* pin out-amp takes index
240 unsigned int single_adc_amp:1; /* adc in-amp takes no index
241 * (e.g. CX20549 codec)
243 unsigned int no_sticky_stream:1; /* no sticky-PCM stream assignment */
244 unsigned int pins_shutup:1; /* pins are shut up */
245 unsigned int no_trigger_sense:1; /* don't trigger at pin-sensing */
246 unsigned int no_jack_detect:1; /* Machine has no jack-detection */
247 unsigned int inv_eapd:1; /* broken h/w: inverted EAPD control */
248 unsigned int inv_jack_detect:1; /* broken h/w: inverted detection bit */
249 unsigned int pcm_format_first:1; /* PCM format must be set first */
250 unsigned int cached_write:1; /* write only to caches */
251 unsigned int dp_mst:1; /* support DP1.2 Multi-stream transport */
252 unsigned int dump_coef:1; /* dump processing coefs in codec proc file */
253 unsigned int power_save_node:1; /* advanced PM for each widget */
254 unsigned int auto_runtime_pm:1; /* enable automatic codec runtime pm */
255 unsigned int force_pin_prefix:1; /* Add location prefix */
256 unsigned int link_down_at_suspend:1; /* link down at runtime suspend */
257 unsigned int relaxed_resume:1; /* don't resume forcibly for jack */
258 unsigned int forced_resume:1; /* forced resume for jack */
259 unsigned int no_stream_clean_at_suspend:1; /* do not clean streams at suspend */
260 unsigned int ctl_dev_id:1; /* old control element id build behaviour */
269 unsigned int (*power_filter)(struct hda_codec *codec, hda_nid_t nid,
272 /* codec-specific additional proc output */
274 struct hda_codec *codec, hda_nid_t nid);
281 int depop_delay; /* depop delay in ms, -1 for default delay time */
283 /* fix-up list */
293 #define hda_codec_dev(_dev) (&(_dev)->core.dev)
298 list_for_each_entry(c, &(bus)->core.codec_list, core.list)
300 list_for_each_entry_safe(c, n, &(bus)->core.codec_list, core.list)
303 #define HDA_RW_NO_RESPONSE_FALLBACK (1 << 0)
314 unsigned int codec_addr, struct hda_codec *codec,
316 int snd_hda_codec_configure(struct hda_codec *codec);
317 int snd_hda_codec_update_widgets(struct hda_codec *codec);
318 void snd_hda_codec_register(struct hda_codec *codec);
319 void snd_hda_codec_unregister(struct hda_codec *codec);
320 void snd_hda_codec_cleanup_for_unbind(struct hda_codec *codec);
326 snd_hda_codec_read(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_read() argument
330 return snd_hdac_codec_read(&codec->core, nid, flags, verb, parm); in snd_hda_codec_read()
334 snd_hda_codec_write(struct hda_codec *codec, hda_nid_t nid, int flags, in snd_hda_codec_write() argument
337 return snd_hdac_codec_write(&codec->core, nid, flags, verb, parm); in snd_hda_codec_write()
340 #define snd_hda_param_read(codec, nid, param) \ argument
341 snd_hdac_read_parm(&(codec)->core, nid, param)
342 #define snd_hda_get_sub_nodes(codec, nid, start_nid) \ argument
343 snd_hdac_get_sub_nodes(&(codec)->core, nid, start_nid)
344 int snd_hda_get_connections(struct hda_codec *codec, hda_nid_t nid,
347 snd_hda_get_num_conns(struct hda_codec *codec, hda_nid_t nid) in snd_hda_get_num_conns() argument
349 return snd_hda_get_connections(codec, nid, NULL, 0); in snd_hda_get_num_conns()
352 #define snd_hda_get_raw_connections(codec, nid, list, max_conns) \ argument
353 snd_hdac_get_connections(&(codec)->core, nid, list, max_conns)
354 #define snd_hda_get_num_raw_conns(codec, nid) \ argument
355 snd_hdac_get_connections(&(codec)->core, nid, NULL, 0)
357 int snd_hda_get_conn_list(struct hda_codec *codec, hda_nid_t nid,
359 int snd_hda_override_conn_list(struct hda_codec *codec, hda_nid_t nid, int nums,
361 int snd_hda_get_conn_index(struct hda_codec *codec, hda_nid_t mux,
363 unsigned int snd_hda_get_num_devices(struct hda_codec *codec, hda_nid_t nid);
364 int snd_hda_get_devices(struct hda_codec *codec, hda_nid_t nid,
366 int snd_hda_get_dev_select(struct hda_codec *codec, hda_nid_t nid);
367 int snd_hda_set_dev_select(struct hda_codec *codec, hda_nid_t nid, int dev_id);
375 void snd_hda_sequence_write(struct hda_codec *codec,
380 snd_hda_codec_write_cache(struct hda_codec *codec, hda_nid_t nid, in snd_hda_codec_write_cache() argument
383 return snd_hdac_regmap_write(&codec->core, nid, verb, parm); in snd_hda_codec_write_cache()
386 /* the struct for codec->pin_configs */
394 unsigned int snd_hda_codec_get_pincfg(struct hda_codec *codec, hda_nid_t nid);
395 int snd_hda_codec_set_pincfg(struct hda_codec *codec, hda_nid_t nid,
397 int snd_hda_add_pincfg(struct hda_codec *codec, struct snd_array *list,
399 void snd_hda_shutup_pins(struct hda_codec *codec);
407 struct hda_spdif_out *snd_hda_spdif_out_of_nid(struct hda_codec *codec,
409 void snd_hda_spdif_ctls_unassign(struct hda_codec *codec, int idx);
410 void snd_hda_spdif_ctls_assign(struct hda_codec *codec, int idx, hda_nid_t nid);
415 int snd_hda_codec_build_controls(struct hda_codec *codec);
420 int snd_hda_codec_parse_pcms(struct hda_codec *codec);
421 int snd_hda_codec_build_pcms(struct hda_codec *codec);
424 struct hda_pcm *snd_hda_codec_pcm_new(struct hda_codec *codec,
427 void snd_hda_codec_cleanup_for_unbind(struct hda_codec *codec);
431 refcount_inc(&pcm->codec->pcm_ref); in snd_hda_codec_pcm_get()
435 int snd_hda_codec_prepare(struct hda_codec *codec,
440 void snd_hda_codec_cleanup(struct hda_codec *codec,
444 void snd_hda_codec_setup_stream(struct hda_codec *codec, hda_nid_t nid,
447 void __snd_hda_codec_cleanup_stream(struct hda_codec *codec, hda_nid_t nid,
449 #define snd_hda_codec_cleanup_stream(codec, nid) \ argument
450 __snd_hda_codec_cleanup_stream(codec, nid, 0)
452 #define snd_hda_query_supported_pcm(codec, nid, ratesp, fmtsp, bpsp) \ argument
453 snd_hdac_query_supported_pcm(&(codec)->core, nid, ratesp, fmtsp, bpsp)
454 #define snd_hda_is_supported_format(codec, nid, fmt) \ argument
455 snd_hdac_is_supported_format(&(codec)->core, nid, fmt)
459 int snd_hda_attach_pcm_stream(struct hda_bus *_bus, struct hda_codec *codec,
465 void snd_hda_get_codec_name(struct hda_codec *codec, char *name, int namelen);
466 void snd_hda_codec_set_power_to_all(struct hda_codec *codec, hda_nid_t fg,
474 int snd_hda_codec_set_name(struct hda_codec *codec, const char *name);
482 int hda_call_check_power_status(struct hda_codec *codec, hda_nid_t nid) in hda_call_check_power_status() argument
485 if (codec->patch_ops.check_power_status) in hda_call_check_power_status()
486 return codec->patch_ops.check_power_status(codec, nid); in hda_call_check_power_status()
494 #define snd_hda_power_up(codec) snd_hdac_power_up(&(codec)->core) argument
495 #define snd_hda_power_up_pm(codec) snd_hdac_power_up_pm(&(codec)->core) argument
496 #define snd_hda_power_down(codec) snd_hdac_power_down(&(codec)->core) argument
497 #define snd_hda_power_down_pm(codec) snd_hdac_power_down_pm(&(codec)->core) argument
499 void snd_hda_codec_set_power_save(struct hda_codec *codec, int delay);
501 void snd_hda_update_power_acct(struct hda_codec *codec);
503 static inline void snd_hda_codec_set_power_save(struct hda_codec *codec, int delay) {} in snd_hda_codec_set_power_save() argument
507 static inline bool hda_codec_need_resume(struct hda_codec *codec) in hda_codec_need_resume() argument
509 return !codec->relaxed_resume && codec->jacktbl.used; in hda_codec_need_resume()
520 int snd_hda_codec_load_dsp_prepare(struct hda_codec *codec, unsigned int format,
523 void snd_hda_codec_load_dsp_trigger(struct hda_codec *codec, bool start);
524 void snd_hda_codec_load_dsp_cleanup(struct hda_codec *codec,
528 snd_hda_codec_load_dsp_prepare(struct hda_codec *codec, unsigned int format, in snd_hda_codec_load_dsp_prepare() argument
532 return -ENOSYS; in snd_hda_codec_load_dsp_prepare()
535 snd_hda_codec_load_dsp_trigger(struct hda_codec *codec, bool start) {} in snd_hda_codec_load_dsp_trigger() argument
537 snd_hda_codec_load_dsp_cleanup(struct hda_codec *codec, in snd_hda_codec_load_dsp_cleanup() argument