Lines Matching +full:codec +full:- +full:3

1 // SPDX-License-Identifier: GPL-2.0-or-later
3 * HD-audio HDMI codec driver
41 struct hda_codec *codec; member
45 struct hdmi_pcm *pcm; /* pointer to spec->pcm_rec[n] dynamically*/
46 int pcm_idx; /* which pcm is attached. -1 means no pcm is attached */
53 bool chmap_set; /* channel-map override by ALSA API? */
54 unsigned char chmap[8]; /* ALSA API channel-map */
60 /* operations used by generic code that can be overridden by codec drivers */
62 int (*pin_get_eld)(struct hda_codec *codec, hda_nid_t pin_nid,
65 void (*pin_setup_infoframe)(struct hda_codec *codec, hda_nid_t pin_nid,
70 int (*pin_hbr_setup)(struct hda_codec *codec, hda_nid_t pin_nid,
73 int (*setup_stream)(struct hda_codec *codec, hda_nid_t cvt_nid,
77 void (*pin_cvt_fixup)(struct hda_codec *codec,
81 void (*silent_stream)(struct hda_codec *codec,
94 SILENT_STREAM_KAE, /* use standard HDA Keep-Alive */
99 struct hda_codec *codec; member
106 * for example, there are 3 pins, and each pin
112 * In the above example, num_nids is 3
139 /* hdmi interrupt trigger control flag for Nvidia codec */
143 bool intel_hsw_fixup; /* apply Intel platform-specific fixups */
145 * Non-generic VIA/NVIDIA specific
154 int (*port2pin)(struct hda_codec *codec, int port); /* reverse port/pin mapping */
166 static inline bool codec_has_acomp(struct hda_codec *codec) in codec_has_acomp() argument
168 struct hdmi_spec *spec = codec->spec; in codec_has_acomp()
170 return spec->use_acomp_notifier; in codec_has_acomp()
173 #define codec_has_acomp(codec) false argument
229 ((struct hdmi_spec_per_pin *)snd_array_elem(&spec->pins, idx))
231 ((struct hdmi_spec_per_cvt *)snd_array_elem(&spec->cvts, idx))
233 #define get_hdmi_pcm(spec, idx) (&(spec)->pcm_rec[idx])
235 #define get_pcm_rec(spec, idx) (get_hdmi_pcm(spec, idx)->pcm)
237 /* Generic HDMI codec support */
238 int snd_hda_hdmi_generic_alloc(struct hda_codec *codec);
239 int snd_hda_hdmi_parse_codec(struct hda_codec *codec);
240 int snd_hda_hdmi_generic_probe(struct hda_codec *codec);
241 void snd_hda_hdmi_generic_remove(struct hda_codec *codec);
243 int snd_hda_hdmi_generic_build_pcms(struct hda_codec *codec);
244 int snd_hda_hdmi_generic_build_controls(struct hda_codec *codec);
245 int snd_hda_hdmi_generic_init(struct hda_codec *codec);
246 int snd_hda_hdmi_generic_suspend(struct hda_codec *codec);
247 int snd_hda_hdmi_generic_resume(struct hda_codec *codec);
248 void snd_hda_hdmi_generic_unsol_event(struct hda_codec *codec, unsigned int res);
250 int snd_hda_hdmi_pin_id_to_pin_index(struct hda_codec *codec,
252 #define pin_id_to_pin_index(codec, pin, dev) \ argument
253 snd_hda_hdmi_pin_id_to_pin_index(codec, pin, dev)
254 int snd_hda_hdmi_generic_init_per_pins(struct hda_codec *codec);
255 void snd_hda_hdmi_generic_spec_free(struct hda_codec *codec);
256 int snd_hda_hdmi_setup_stream(struct hda_codec *codec,
262 struct hda_codec *codec,
267 struct hda_codec *codec,
270 void snd_hda_hdmi_check_presence_and_report(struct hda_codec *codec,
272 void snd_hda_hdmi_setup_audio_infoframe(struct hda_codec *codec,
277 void snd_hda_hdmi_setup_drm_audio_ops(struct hda_codec *codec,
279 void snd_hda_hdmi_acomp_init(struct hda_codec *codec,
288 /* Simple / legacy HDMI codec support */
289 int snd_hda_hdmi_simple_probe(struct hda_codec *codec,
291 void snd_hda_hdmi_simple_remove(struct hda_codec *codec);
293 int snd_hda_hdmi_simple_build_pcms(struct hda_codec *codec);
294 int snd_hda_hdmi_simple_build_controls(struct hda_codec *codec);
295 int snd_hda_hdmi_simple_init(struct hda_codec *codec);
296 void snd_hda_hdmi_simple_unsol_event(struct hda_codec *codec,
299 struct hda_codec *codec,