/linux/sound/hda/common/ |
H A D | bind.c | 3 * HD-audio codec driver binding 19 * find a matching codec id 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 45 struct hda_codec_driver *driver = hda_codec_to_driver(codec); in hda_codec_unsol_event() 48 if (codec->card->shutdown || codec->bus->shutdown) in hda_codec_unsol_event() 52 if (codec->core.dev.power.power_state.event != PM_EVENT_ON) in hda_codec_unsol_event() [all …]
|
H A D | codec.c | 3 * Universal Interface for Intel High Definition Audio Codec 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() [all …]
|
H A D | jack.c | 21 * @codec: the HDA codec 26 * detection is prohibited in the codec level, the pin config has 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, int dev_id) in read_pin_sense() argument 51 if (!codec->no_trigger_sense) { in read_pin_sense() [all …]
|
H A D | sysfs.c | 3 * sysfs interface for HD-audio codec 33 struct hda_codec *codec = dev_get_drvdata(dev); in power_on_acct_show() local 34 snd_hda_update_power_acct(codec); in power_on_acct_show() 35 return sysfs_emit(buf, "%u\n", jiffies_to_msecs(codec->power_on_acct)); in power_on_acct_show() 42 struct hda_codec *codec = dev_get_drvdata(dev); in power_off_acct_show() local 43 snd_hda_update_power_acct(codec); in power_off_acct_show() 44 return sysfs_emit(buf, "%u\n", jiffies_to_msecs(codec->power_off_acct)); in power_off_acct_show() 55 struct hda_codec *codec = dev_get_drvdata(dev); \ 56 return sysfs_emit(buf, "0x%x\n", codec->field); \ 64 struct hda_codec *codec = dev_get_drvdata(dev); \ [all …]
|
H A D | hda_local.h | 3 * Universal Interface for Intel High Definition Audio Codec 119 #define snd_hda_codec_amp_read(codec, nid, ch, dir, idx) \ argument 120 snd_hdac_regmap_get_amp(&(codec)->core, nid, ch, dir, idx) 121 int snd_hda_codec_amp_update(struct hda_codec *codec, hda_nid_t nid, 123 int snd_hda_codec_amp_stereo(struct hda_codec *codec, hda_nid_t nid, 125 int snd_hda_codec_amp_init(struct hda_codec *codec, hda_nid_t nid, int ch, 127 int snd_hda_codec_amp_init_stereo(struct hda_codec *codec, hda_nid_t nid, 129 void snd_hda_set_vmaster_tlv(struct hda_codec *codec, hda_nid_t nid, int dir, 131 struct snd_kcontrol *snd_hda_find_mixer_ctl(struct hda_codec *codec, 133 int __snd_hda_add_vmaster(struct hda_codec *codec, char *name, [all …]
|
H A D | hda_jack.h | 55 snd_hda_jack_tbl_get_mst(struct hda_codec *codec, hda_nid_t nid, int dev_id); 59 * @codec: the HDA codec 63 snd_hda_jack_tbl_get(struct hda_codec *codec, hda_nid_t nid) in snd_hda_jack_tbl_get() argument 65 return snd_hda_jack_tbl_get_mst(codec, nid, 0); in snd_hda_jack_tbl_get() 69 snd_hda_jack_tbl_get_from_tag(struct hda_codec *codec, 72 void snd_hda_jack_tbl_disconnect(struct hda_codec *codec); 73 void snd_hda_jack_tbl_clear(struct hda_codec *codec); 75 void snd_hda_jack_set_dirty_all(struct hda_codec *codec); 77 int snd_hda_jack_detect_enable(struct hda_codec *codec, hda_nid_t nid, 81 snd_hda_jack_detect_enable_callback_mst(struct hda_codec *codec, hda_nid_t nid, [all …]
|
/linux/sound/hda/codecs/realtek/ |
H A D | realtek.c | 3 // Realtek HD-audio codec support code 14 static void coef_mutex_lock(struct hda_codec *codec) in coef_mutex_lock() argument 16 struct alc_spec *spec = codec->spec; in coef_mutex_lock() 18 snd_hda_power_up_pm(codec); in coef_mutex_lock() 22 static void coef_mutex_unlock(struct hda_codec *codec) in coef_mutex_unlock() argument 24 struct alc_spec *spec = codec->spec; in coef_mutex_unlock() 27 snd_hda_power_down_pm(codec); in coef_mutex_unlock() 30 static int __alc_read_coefex_idx(struct hda_codec *codec, hda_nid_t nid, in __alc_read_coefex_idx() argument 35 snd_hda_codec_write(codec, nid, 0, AC_VERB_SET_COEF_INDEX, coef_idx); in __alc_read_coefex_idx() 36 val = snd_hda_codec_read(codec, nid, 0, AC_VERB_GET_PROC_COEF, 0); in __alc_read_coefex_idx() [all …]
|
H A D | realtek.h | 3 // Realtek HD-audio codec support code 80 /* codec parameterization */ 108 void (*init_hook)(struct hda_codec *codec); 109 void (*power_hook)(struct hda_codec *codec); 110 void (*shutup)(struct hda_codec *codec); 135 int alc_read_coefex_idx(struct hda_codec *codec, hda_nid_t nid, 137 void alc_write_coefex_idx(struct hda_codec *codec, hda_nid_t nid, 139 void alc_update_coefex_idx(struct hda_codec *codec, hda_nid_t nid, 142 #define alc_read_coef_idx(codec, coef_idx) \ argument 143 alc_read_coefex_idx(codec, 0x20, coef_idx) [all …]
|
/linux/sound/pci/ali5451/ |
H A D | ali5451.c | 141 #define ALI_REG(codec, x) ((codec)->port + x) argument 180 struct snd_ali *codec; member 264 static inline unsigned int snd_ali_5451_peek(struct snd_ali *codec, in snd_ali_5451_peek() argument 267 return (unsigned int)inl(ALI_REG(codec, port)); in snd_ali_5451_peek() 270 static inline void snd_ali_5451_poke(struct snd_ali *codec, in snd_ali_5451_poke() argument 274 outl((unsigned int)val, ALI_REG(codec, port)); in snd_ali_5451_poke() 277 static int snd_ali_codec_ready(struct snd_ali *codec, in snd_ali_codec_ready() argument 286 res = snd_ali_5451_peek(codec,port); in snd_ali_codec_ready() 294 snd_ali_5451_poke(codec, port, res & ~0x8000); in snd_ali_codec_ready() 295 dev_dbg(codec->card->dev, "ali_codec_ready: codec is not ready.\n"); in snd_ali_codec_ready() [all …]
|
/linux/sound/hda/codecs/hdmi/ |
H A D | intelhdmi.c | 3 * Intel HDMI codec support 36 static void intel_haswell_enable_all_pins(struct hda_codec *codec, in intel_haswell_enable_all_pins() argument 40 struct hdmi_spec *spec = codec->spec; in intel_haswell_enable_all_pins() 42 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_enable_all_pins() 48 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_enable_all_pins() 54 snd_hda_codec_update_widgets(codec); in intel_haswell_enable_all_pins() 57 static void intel_haswell_fixup_enable_dp12(struct hda_codec *codec) in intel_haswell_fixup_enable_dp12() argument 60 struct hdmi_spec *spec = codec->spec; in intel_haswell_fixup_enable_dp12() 62 vendor_param = snd_hda_codec_read(codec, spec->vendor_nid, 0, in intel_haswell_fixup_enable_dp12() 69 snd_hdac_regmap_add_vendor_verb(&codec->core, INTEL_SET_VENDOR_VERB); in intel_haswell_fixup_enable_dp12() [all …]
|
H A D | hdmi.c | 50 int snd_hda_hdmi_pin_id_to_pin_index(struct hda_codec *codec, in snd_hda_hdmi_pin_id_to_pin_index() argument 53 struct hdmi_spec *spec = codec->spec; in snd_hda_hdmi_pin_id_to_pin_index() 71 codec_warn(codec, "HDMI: pin NID 0x%x not registered\n", pin_nid); in snd_hda_hdmi_pin_id_to_pin_index() 76 static int hinfo_to_pcm_index(struct hda_codec *codec, in hinfo_to_pcm_index() argument 79 struct hdmi_spec *spec = codec->spec; in hinfo_to_pcm_index() 86 codec_warn(codec, "HDMI: hinfo %p not tied to a PCM\n", hinfo); in hinfo_to_pcm_index() 90 static int hinfo_to_pin_index(struct hda_codec *codec, in hinfo_to_pin_index() argument 93 struct hdmi_spec *spec = codec->spec; in hinfo_to_pin_index() 104 codec_dbg(codec, "HDMI: hinfo %p (pcm %d) not registered\n", hinfo, in hinfo_to_pin_index() 105 hinfo_to_pcm_index(codec, hinfo)); in hinfo_to_pin_index() [all …]
|
/linux/Documentation/devicetree/bindings/pinctrl/ |
H A D | cirrus,lochnagar.yaml | 14 Smart CODEC and Amp devices. It allows the connection of most Cirrus 72 enum: [ codec-aif1, codec-aif2, codec-aif3, dsp-aif1, 82 fpga-gpio5, fpga-gpio6, codec-gpio1, codec-gpio2, 83 codec-gpio3, codec-gpio4, codec-gpio5, codec-gpio6, 84 codec-gpio7, codec-gpio8, dsp-gpio1, dsp-gpio2, 86 gf-gpio2, gf-gpio3, gf-gpio7, codec-aif1-bclk, 87 codec-aif1-rxdat, codec-aif1-lrclk, codec-aif1-txdat, 88 codec-aif2-bclk, codec-aif2-rxdat, codec-aif2-lrclk, 89 codec-aif2-txdat, codec-aif3-bclk, codec-aif3-rxdat, 90 codec-aif3-lrclk, codec-aif3-txdat, dsp-aif1-bclk, [all …]
|
/linux/sound/hda/core/ |
H A D | regmap.c | 25 static int codec_pm_lock(struct hdac_device *codec) in codec_pm_lock() argument 27 return snd_hdac_keep_power_up(codec); in codec_pm_lock() 30 static void codec_pm_unlock(struct hdac_device *codec, int lock) in codec_pm_unlock() argument 33 snd_hdac_power_down_pm(codec); in codec_pm_unlock() 40 struct hdac_device *codec = dev_to_hdac_dev(dev); in hda_volatile_reg() local 45 return !codec->cache_coef; in hda_volatile_reg() 67 struct hdac_device *codec = dev_to_hdac_dev(dev); in hda_writeable_reg() local 72 snd_array_for_each(&codec->vendor_verbs, i, v) { in hda_writeable_reg() 77 if (codec->caps_overwriting) in hda_writeable_reg() 85 return codec->cache_coef; in hda_writeable_reg() [all …]
|
H A D | device.c | 3 * HD-audio codec core device 19 static void setup_fg_nodes(struct hdac_device *codec); 20 static int get_codec_vendor_name(struct hdac_device *codec); 28 * snd_hdac_device_init - initialize the HD-audio codec base device 29 * @codec: device to initialize 32 * @addr: codec address 41 int snd_hdac_device_init(struct hdac_device *codec, struct hdac_bus *bus, in snd_hdac_device_init() argument 48 dev = &codec->dev; in snd_hdac_device_init() 57 codec->bus = bus; in snd_hdac_device_init() 58 codec->addr = addr; in snd_hdac_device_init() [all …]
|
H A D | sysfs.c | 24 struct hdac_device *codec = dev_to_hdac_dev(dev); \ 25 return sysfs_emit(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 …]
|
/linux/sound/hda/codecs/ |
H A D | generic.c | 3 * Universal Interface for Intel High Definition Audio Codec 105 static void parse_user_hints(struct hda_codec *codec) in parse_user_hints() argument 107 struct hda_gen_spec *spec = codec->spec; in parse_user_hints() 110 val = snd_hda_get_bool_hint(codec, "jack_detect"); in parse_user_hints() 112 codec->no_jack_detect = !val; in parse_user_hints() 113 val = snd_hda_get_bool_hint(codec, "inv_jack_detect"); in parse_user_hints() 115 codec->inv_jack_detect = !!val; in parse_user_hints() 116 val = snd_hda_get_bool_hint(codec, "trigger_sense"); in parse_user_hints() 118 codec->no_trigger_sense = !val; in parse_user_hints() 119 val = snd_hda_get_bool_hint(codec, "inv_eapd"); in parse_user_hints() [all …]
|
H A D | ca0132.c | 3 * HD audio codec driver for Creative CA0132 chip 1135 struct hda_codec *codec; member 1181 #define ca0132_quirk(spec) ((spec)->codec->fixup_id) 1525 * CA0132 codec access 1527 static unsigned int codec_send_command(struct hda_codec *codec, hda_nid_t nid, in codec_send_command() argument 1531 response = snd_hda_codec_read(codec, nid, 0, verb, parm); in codec_send_command() 1537 static int codec_set_converter_format(struct hda_codec *codec, hda_nid_t nid, in codec_set_converter_format() argument 1540 return codec_send_command(codec, nid, VENDOR_CHIPIO_STREAM_FORMAT, in codec_set_converter_format() 1544 static int codec_set_converter_stream_channel(struct hda_codec *codec, in codec_set_converter_stream_channel() argument 1551 return codec_send_command(codec, nid, AC_VERB_SET_CHANNEL_STREAMID, in codec_set_converter_stream_channel() [all …]
|
H A D | via.c | 3 * Universal Interface for Intel High Definition Audio Codec 5 * HD audio codec driver for VIA VT17xx/VT18xx/VT20xx codec 13 /* 2006-03-03 Lydia Wang Create the basic patch to support VT1708 codec */ 15 /* 2006-08-02 Lydia Wang Add support to VT1709 codec */ 18 /* 2007-09-17 Lydia Wang Add VT1708B codec support */ 19 /* 2007-11-14 Lydia Wang Add VT1708A codec HP and CD pin connect config */ 21 /* 2008-03-06 Lydia Wang Add VT1702 codec and VT1708S codec support */ 95 static enum VIA_HDA_CODEC get_codec_type(struct hda_codec *codec); 97 struct hda_codec *codec, 101 static struct via_spec *via_new_spec(struct hda_codec *codec) in via_new_spec() argument [all …]
|
H A D | senarytech.c | 3 * HD audio codec driver for Senary HDA audio codec 63 static int senary_auto_parse_beep(struct hda_codec *codec) in senary_auto_parse_beep() argument 65 struct senary_spec *spec = codec->spec; in senary_auto_parse_beep() 68 for_each_hda_codec_node(nid, codec) in senary_auto_parse_beep() 69 if ((get_wcaps_type(get_wcaps(codec, nid)) == AC_WID_BEEP) && in senary_auto_parse_beep() 70 (get_wcaps(codec, nid) & (AC_WCAP_OUT_AMP | AC_WCAP_AMP_OVRD))) in senary_auto_parse_beep() 75 #define senary_auto_parse_beep(codec) 0 argument 79 static void senary_auto_parse_eapd(struct hda_codec *codec) in senary_auto_parse_eapd() argument 81 struct senary_spec *spec = codec->spec; in senary_auto_parse_eapd() 84 for_each_hda_codec_node(nid, codec) { in senary_auto_parse_eapd() [all …]
|
H A D | conexant.c | 3 * HD audio codec driver for Conexant HDA audio codec 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() [all …]
|
/linux/drivers/media/pci/zoran/ |
H A D | videocodec.c | 5 * Interface for MJPEG (and maybe later MPEG/WAVELETS) codec's 20 struct videocodec *codec; member 25 const struct videocodec *codec; member 42 struct videocodec *codec; in videocodec_attach() local 63 if ((master->flags & h->codec->flags) == master->flags) { in videocodec_attach() 64 zrdev_dbg(zr, "%s: try '%s'\n", __func__, h->codec->name); in videocodec_attach() 66 codec = kmemdup(h->codec, sizeof(struct videocodec), GFP_KERNEL); in videocodec_attach() 67 if (!codec) in videocodec_attach() 70 res = strlen(codec->name); in videocodec_attach() 71 snprintf(codec->name + res, sizeof(codec->name) - res, "[%d]", h->attached); in videocodec_attach() [all …]
|
/linux/include/sound/ |
H A D | hda_codec.h | 3 * Universal Interface for Intel High Definition Audio Codec 33 * codec bus 53 /* status for codec/controller */ 65 unsigned int mixer_assigned; /* codec addr for mixer name */ 72 * codec preset 95 #define hda_codec_to_driver(codec) \ argument 96 container_of((codec)->core.dev.driver, struct hda_codec_driver, core.driver) 107 /* ops for hda codec driver */ 109 int (*probe)(struct hda_codec *codec, const struct hda_device_id *id); 110 void (*remove)(struct hda_codec *codec); [all …]
|
/linux/sound/soc/codecs/ |
H A D | Kconfig | 3 # modular, meaning we can't build the codec driver in with I2C support. 12 menu "CODEC drivers" 15 tristate "Build all ASoC CODEC drivers" 363 Normally ASoC codec drivers are only built if a machine driver which 427 tristate "Build generic ASoC AC97 CODEC driver" 464 tristate "Analog Devices ADAU1372 CODEC (I2C)" 470 tristate "Analog Devices ADAU1372 CODEC (SPI)" 476 tristate "Analog Devices ADAU1373 CODEC" 481 tristate "Analog Devices ADAU1701 CODEC" 495 tristate "Analog Devices AU1761 CODEC - I2C" [all …]
|
H A D | hda.c | 16 static int hda_codec_create_dais(struct hda_codec *codec, int pcm_count, in hda_codec_create_dais() argument 19 struct device *dev = &codec->core.dev; in hda_codec_create_dais() 28 pcm = list_first_entry(&codec->pcm_list_head, struct hda_pcm, list); in hda_codec_create_dais() 83 static int hda_codec_register_dais(struct hda_codec *codec, struct snd_soc_component *component) in hda_codec_register_dais() argument 90 if (list_empty(&codec->pcm_list_head)) in hda_codec_register_dais() 92 list_for_each_entry(pcm, &codec->pcm_list_head, list) in hda_codec_register_dais() 95 ret = hda_codec_create_dais(codec, pcm_count, &drvs); in hda_codec_register_dais() 101 list_for_each_entry(pcm, &codec->pcm_list_head, list) { in hda_codec_register_dais() 124 static void hda_codec_unregister_dais(struct hda_codec *codec, in hda_codec_unregister_dais() argument 133 list_for_each_entry(pcm, &codec->pcm_list_head, list) { in hda_codec_unregister_dais() [all …]
|
/linux/sound/hda/codecs/cirrus/ |
H A D | cs8409.c | 3 * HD audio codec driver for Cirrus Logic CS8409 HDA bridge chip 22 static int cs8409_parse_auto_config(struct hda_codec *codec) in cs8409_parse_auto_config() argument 24 struct cs8409_spec *spec = codec->spec; in cs8409_parse_auto_config() 28 err = snd_hda_parse_pin_defcfg(codec, &spec->gen.autocfg, NULL, 0); in cs8409_parse_auto_config() 32 err = snd_hda_gen_parse_auto_config(codec, &spec->gen.autocfg); in cs8409_parse_auto_config() 45 snd_hda_gen_fix_pin_power(codec, spec->gen.adc_nids[idx]); in cs8409_parse_auto_config() 55 static struct cs8409_spec *cs8409_alloc_spec(struct hda_codec *codec) in cs8409_alloc_spec() argument 62 codec->spec = spec; in cs8409_alloc_spec() 63 spec->codec = codec; in cs8409_alloc_spec() 64 codec->power_save_node = 1; in cs8409_alloc_spec() [all …]
|