| /linux/sound/hda/common/ |
| H A D | jack.c | 73 struct hda_jack_tbl *jack = codec->jacktbl.list; in snd_hda_jack_tbl_get_mst() local 76 if (!nid || !jack) in snd_hda_jack_tbl_get_mst() 78 for (i = 0; i < codec->jacktbl.used; i++, jack++) in snd_hda_jack_tbl_get_mst() 79 if (jack->nid == nid && jack->dev_id == dev_id) in snd_hda_jack_tbl_get_mst() 80 return jack; in snd_hda_jack_tbl_get_mst() 95 struct hda_jack_tbl *jack = codec->jacktbl.list; in snd_hda_jack_tbl_get_from_tag() local 98 if (!tag || !jack) in snd_hda_jack_tbl_get_from_tag() 100 for (i = 0; i < codec->jacktbl.used; i++, jack++) in snd_hda_jack_tbl_get_from_tag() 101 if (jack->tag == tag && jack->dev_id == dev_id) in snd_hda_jack_tbl_get_from_tag() 102 return jack; in snd_hda_jack_tbl_get_from_tag() [all …]
|
| /linux/sound/core/ |
| H A D | jack.c | 22 struct snd_jack *jack; /* pointer to struct snd_jack */ member 41 static void snd_jack_remove_debugfs(struct snd_jack *jack); 45 struct snd_jack *jack = device->device_data; in snd_jack_dev_disconnect() local 47 snd_jack_remove_debugfs(jack); in snd_jack_dev_disconnect() 50 guard(mutex)(&jack->input_dev_lock); in snd_jack_dev_disconnect() 51 if (!jack->input_dev) in snd_jack_dev_disconnect() 56 if (jack->registered) in snd_jack_dev_disconnect() 57 input_unregister_device(jack->input_dev); in snd_jack_dev_disconnect() 59 input_free_device(jack->input_dev); in snd_jack_dev_disconnect() 60 jack->input_dev = NULL; in snd_jack_dev_disconnect() [all …]
|
| /linux/sound/soc/ |
| H A D | soc-jack.c | 3 // soc-jack.c -- ALSA SoC jack handling 9 #include <sound/jack.h> 20 * snd_soc_jack_report - Report the current status for a jack 22 * @jack: the jack 33 void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask) in snd_soc_jack_report() argument 39 if (!jack || !jack->jack) in snd_soc_jack_report() 89 snd_soc_jack_add_zones(struct snd_soc_jack * jack,int count,struct snd_soc_jack_zone * zones) snd_soc_jack_add_zones() argument 112 snd_soc_jack_get_type(struct snd_soc_jack * jack,int micbias_voltage) snd_soc_jack_get_type() argument 136 snd_soc_jack_add_pins(struct snd_soc_jack * jack,int count,struct snd_soc_jack_pin * pins) snd_soc_jack_add_pins() argument 180 snd_soc_jack_notifier_register(struct snd_soc_jack * jack,struct notifier_block * nb) snd_soc_jack_notifier_register() argument 195 snd_soc_jack_notifier_unregister(struct snd_soc_jack * jack,struct notifier_block * nb) snd_soc_jack_notifier_unregister() argument 205 struct snd_soc_jack *jack; global() member 212 struct snd_soc_jack *jack = gpio->jack; snd_soc_jack_gpio_detect() local 278 jack_free_gpios(struct snd_soc_jack * jack,int count,struct snd_soc_jack_gpio * gpios) jack_free_gpios() argument 310 snd_soc_jack_add_gpios(struct snd_soc_jack * jack,int count,struct snd_soc_jack_gpio * gpios) snd_soc_jack_add_gpios() argument 411 snd_soc_jack_add_gpiods(struct device * gpiod_dev,struct snd_soc_jack * jack,int count,struct snd_soc_jack_gpio * gpios) snd_soc_jack_add_gpiods() argument 432 snd_soc_jack_free_gpios(struct snd_soc_jack * jack,int count,struct snd_soc_jack_gpio * gpios) snd_soc_jack_free_gpios() argument [all...] |
| /linux/Documentation/sound/soc/ |
| H A D | jack.rst | 2 ASoC jack detection 6 the kernel side of which can be seen in include/sound/jack.h. ASoC 9 - It allows more than one jack detection method to work together on one 10 user visible jack. In embedded systems it is common for multiple 11 to be present on a single jack but handled by separate bits of 15 automatically based on the detected jack status (eg, turning off the 19 together: the jack itself represented by a struct snd_soc_jack, sets of 21 code providing jack reporting mechanisms. 23 For example, a system may have a stereo headset jack with two reporting 27 headphone when the headphone jack status changes. [all …]
|
| /linux/include/sound/ |
| H A D | soc-jack.h | 70 struct snd_soc_jack *jack; member 82 struct snd_jack *jack; member 91 void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask); 92 int snd_soc_jack_add_pins(struct snd_soc_jack *jack, int count, 94 void snd_soc_jack_notifier_register(struct snd_soc_jack *jack, 96 void snd_soc_jack_notifier_unregister(struct snd_soc_jack *jack, 98 int snd_soc_jack_add_zones(struct snd_soc_jack *jack, int count, 100 int snd_soc_jack_get_type(struct snd_soc_jack *jack, int micbias_voltage); 102 int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, 105 struct snd_soc_jack *jack, [all …]
|
| H A D | jack.h | 81 struct snd_jack **jack, bool initial_kctl, bool phantom_jack); 82 int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask); 84 int snd_jack_set_key(struct snd_jack *jack, enum snd_jack_types type, 87 void snd_jack_report(struct snd_jack *jack, int status); 91 struct snd_jack **jack, bool initial_kctl, bool phantom_jack) in snd_jack_new() argument 96 static inline int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask) in snd_jack_add_new_kctl() argument 101 static inline void snd_jack_report(struct snd_jack *jack, int status) in snd_jack_report() argument 108 static inline int snd_jack_set_key(struct snd_jack *jack, in snd_jack_set_key() argument
|
| /linux/Documentation/sound/designs/ |
| H A D | jack-controls.rst | 13 The old ALSA jack code only created input devices for each registered 14 jack. These jack input devices are not readable by userspace devices 17 The new jack code creates embedded jack kcontrols for each jack that 21 intelligently based on jack insertion or removal events. 26 Each jack will have a kcontrol list, so that we can create a kcontrol 27 and attach it to the jack, at jack creation stage. We can also add a 28 kcontrol to an existing jack, at anytime when required. 32 How to use jack kcontrols 39 if true, create a kcontrol and add it to the jack list. 44 jack and set initial_kctl to true to create an initial kcontrol with [all …]
|
| H A D | jack-injection.rst | 8 Here jack injection means users could inject plugin or plugout events 14 jack or to some audio jacks, we don't need to physically access the 15 machine and plug/unplug physical devices to the audio jack. 17 In this design, an audio jack doesn't equal to a physical audio jack. 18 Sometimes a physical audio jack contains multi functions, and the 20 ``snd_jack`` represents a physical audio jack and the ``jack_kctl`` 21 represents a function, for example a physical jack has two functions: 23 for this jack. The jack injection is implemented based on the 26 To inject events to audio jacks, we need to enable the jack injection 27 via ``sw_inject_enable`` first, once it is enabled, this jack will not [all …]
|
| /linux/sound/soc/sdw_utils/ |
| H A D | soc_sdw_rt700.c | 17 #include <sound/jack.h> 44 struct snd_soc_jack *jack; in asoc_sdw_rt700_rtd_init() 75 jack = &ctx->sdw_headset; in asoc_sdw_rt700_rtd_init() 77 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt700_rtd_init() 78 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt700_rtd_init() 79 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt700_rtd_init() 80 snd_jack_set_key(jack in asoc_sdw_rt700_rtd_init() 43 struct snd_soc_jack *jack; asoc_sdw_rt700_rtd_init() local [all...] |
| H A D | soc_sdw_rt5682.c | 19 #include <sound/jack.h> 46 struct snd_soc_jack *jack; in asoc_sdw_rt5682_rtd_init() 77 jack = &ctx->sdw_headset; in asoc_sdw_rt5682_rtd_init() 79 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt5682_rtd_init() 80 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt5682_rtd_init() 81 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt5682_rtd_init() 82 snd_jack_set_key(jack in asoc_sdw_rt5682_rtd_init() 45 struct snd_soc_jack *jack; asoc_sdw_rt5682_rtd_init() local [all...] |
| H A D | soc_sdw_cs42l42.c | 18 #include <sound/jack.h> 22 /* HP jack connectors - unknown if we have jack detection */ 46 struct snd_soc_jack *jack; in asoc_sdw_cs42l42_rtd_init() 77 jack = &ctx->sdw_headset; in asoc_sdw_cs42l42_rtd_init() 79 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_cs42l42_rtd_init() 80 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); in asoc_sdw_cs42l42_rtd_init() 81 snd_jack_set_key(jack in asoc_sdw_cs42l42_rtd_init() 45 struct snd_soc_jack *jack; asoc_sdw_cs42l42_rtd_init() local [all...] |
| H A D | soc_sdw_rt711.c | 19 #include <sound/jack.h> 70 struct snd_soc_jack *jack; in asoc_sdw_rt711_rtd_init() 101 jack = &ctx->sdw_headset; in asoc_sdw_rt711_rtd_init() 103 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt711_rtd_init() 104 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt711_rtd_init() 105 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt711_rtd_init() 106 snd_jack_set_key(jack in asoc_sdw_rt711_rtd_init() 69 struct snd_soc_jack *jack; asoc_sdw_rt711_rtd_init() local [all...] |
| H A D | soc_sdw_cs42l43.c | 13 #include <sound/jack.h> 59 struct snd_soc_jack *jack = &ctx->sdw_headset; in asoc_sdw_cs42l43_hs_rtd_init() local 81 jack, soc_jack_pins, in asoc_sdw_cs42l43_hs_rtd_init() 84 dev_err(card->dev, "Failed to create jack: %d\n", ret); in asoc_sdw_cs42l43_hs_rtd_init() 88 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_cs42l43_hs_rtd_init() 89 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_cs42l43_hs_rtd_init() 90 snd_jack_set_key(jack->jack, SND_JACK_BTN_ in asoc_sdw_cs42l43_hs_rtd_init() [all...] |
| H A D | soc_sdw_rt_sdca_jack_common.c | 19 #include <sound/jack.h> 99 struct snd_soc_jack *jack; in asoc_sdw_rt_sdca_jack_rtd_init() 142 dev_err(card->dev, "rt sdca jack map addition failed: %d\n", ret); in asoc_sdw_rt_sdca_jack_rtd_init() 159 jack = &ctx->sdw_headset; in asoc_sdw_rt_sdca_jack_rtd_init() 161 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt_sdca_jack_rtd_init() 162 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt_sdca_jack_rtd_init() 163 snd_jack_set_key(jack->jack, SND_JACK_BTN_ in asoc_sdw_rt_sdca_jack_rtd_init() 98 struct snd_soc_jack *jack; asoc_sdw_rt_sdca_jack_rtd_init() local [all...] |
| /linux/sound/soc/intel/boards/ |
| H A D | sof_cs42l42.c | 44 struct snd_soc_jack *jack = &ctx->headset_jack; in sof_cs42l42_init() local 55 jack, in sof_cs42l42_init() 63 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in sof_cs42l42_init() 64 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); in sof_cs42l42_init() 65 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); in sof_cs42l42_init() 66 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); in sof_cs42l42_init() 68 ret = snd_soc_component_set_jack(component, jack, NULL); in sof_cs42l42_init()
|
| H A D | sof_nau8825.c | 15 #include <sound/jack.h> 45 struct snd_soc_jack *jack = &ctx->headset_jack; in sof_nau8825_codec_init() local 56 jack, in sof_nau8825_codec_init() 64 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in sof_nau8825_codec_init() 65 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in sof_nau8825_codec_init() 66 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in sof_nau8825_codec_init() 67 snd_jack_set_key(jack in sof_nau8825_codec_init() [all...] |
| H A D | cht_bsw_max98090_ti.c | 25 #include <sound/jack.h> 37 struct snd_soc_jack jack; member 131 struct snd_soc_jack *jack = (struct snd_soc_jack *)data; in cht_ti_jack_event() 132 struct snd_soc_dapm_context *dapm = snd_soc_card_to_dapm(jack->card); in cht_ti_jack_event() local 190 struct snd_soc_jack *jack = &ctx->jack; in cht_codec_init() 194 * The jack has already been created in the in cht_codec_init() 197 snd_soc_jack_notifier_register(jack, &cht_jack_nb); in cht_codec_init() 204 jack_type, jack, in cht_codec_init() 212 ret = snd_soc_jack_add_gpiods(runtime->card->dev->parent, jack, in cht_codec_init() 191 struct snd_soc_jack *jack = &ctx->jack; cht_codec_init() local 294 struct snd_soc_jack *jack = &ctx->jack; cht_max98090_headset_init() local [all...] |
| /linux/sound/soc/codecs/ |
| H A D | es8316.c | 23 #include <sound/jack.h> 39 struct snd_soc_jack *jack; member 631 if (!es8316->jack) in es8316_irq() 640 if (es8316->jack->status & SND_JACK_MICROPHONE) in es8316_irq() 643 if (es8316->jack->status & SND_JACK_HEADPHONE) { in es8316_irq() 644 snd_soc_jack_report(es8316->jack, 0, in es8316_irq() 646 dev_dbg(comp->dev, "jack unplugged\n"); in es8316_irq() 648 } else if (!(es8316->jack->status & SND_JACK_HEADPHONE)) { in es8316_irq() 660 snd_soc_jack_report(es8316->jack, in es8316_irq() 666 snd_soc_jack_report(es8316->jack, in es8316_irq() 691 es8316_enable_jack_detect(struct snd_soc_component * component,struct snd_soc_jack * jack) es8316_enable_jack_detect() argument 746 es8316_set_jack(struct snd_soc_component * component,struct snd_soc_jack * jack,void * data) es8316_set_jack() argument [all...] |
| /linux/sound/soc/qcom/ |
| H A D | sdm845.c | 12 #include <sound/jack.h> 35 struct snd_soc_jack jack; member 223 static void sdm845_jack_free(struct snd_jack *jack) in sdm845_snd_hw_params() 225 struct snd_soc_component *component = jack->private_data; in sdm845_snd_hw_params() 238 struct snd_jack *jack; in sdm845_dai_init() 259 &pdata->jack, in sdm845_dai_init() 268 jack = pdata->jack.jack; in sdm845_dai_init() 270 snd_jack_set_key(jack, SND_JACK_BTN_ in sdm845_dai_init() 231 sdm845_jack_free(struct snd_jack * jack) sdm845_jack_free() argument 246 struct snd_jack *jack; sdm845_dai_init() local [all...] |
| H A D | apq8016_sbc.c | 29 struct snd_soc_jack jack; member 103 struct snd_jack *jack; in apq8016_dai_init() local 111 &pdata->jack, in apq8016_dai_init() 120 jack = pdata->jack.jack; in apq8016_dai_init() 122 snd_jack_set_key(jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in apq8016_dai_init() 123 snd_jack_set_key(jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in apq8016_dai_init() 124 snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in apq8016_dai_init() 125 snd_jack_set_key(jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in apq8016_dai_init() 139 rval = snd_soc_component_set_jack(component, &pdata->jack, NULL); in apq8016_dai_init()
|
| /linux/Documentation/sound/hd-audio/ |
| H A D | models.rst | 8 3-jack in back and a headphone out 10 3-jack in back, a HP out and a SPDIF out 12 5-jack in back, 2-jack in front 14 5-jack in back, 2-jack in front, a SPDIF out 16 6-jack in back, 2-jack in front 18 6-jack with a SPDIF out 20 6-jack with headphone jack detection 31 Quirk for FSC S7020 with jack modes and HP mic support 76 Indicates a combined headset (headphone+mic) jack 88 Headset jack, which can also be used as mic-in [all …]
|
| H A D | controls.rst | 16 jack-retasking of multi-I/O jacks. 25 automatically when a jack is plugged. 29 speaker-only is chosen, plugging into a headphone or a line-out jack 31 selected, plugging to a headphone jack mutes both speakers and 56 These enum controls the direction and the bias of the input jack 57 pins. Depending on the jack type, it can set as "Mic In" and "Line 59 when the pin is a multi-I/O jack for surround channels. 87 This control determines whether the dynamic power-control per jack 89 (D0/D3) are changed dynamically depending on the jack plugging 91 doesn't provide a proper jack-detection, this won't work; in such a [all …]
|
| /linux/Documentation/devicetree/bindings/sound/ |
| H A D | rt5651.txt | 19 - realtek,jack-detect-source 21 1: Use JD1_1 pin for jack-detect 22 2: Use JD1_2 pin for jack-detect 23 3: Use JD2 pin for jack-detect 25 - realtek,jack-detect-not-inverted 26 bool. Normal jack-detect switches give an inverted (active-low) signal, 27 set this bool in the rare case you've a jack-detect switch which is not
|
| H A D | da7218.txt | 56 - dlg,jack-rate-us : Time between jack detect measurements (us) 58 - dlg,jack-debounce : Number of debounce measurements taken for jack detect 60 - dlg,jack-threshold-pct : Threshold level for jack detection (% of VDD) 64 - dlg,discharge : Boolean flag, auto discharge of Mic Bias on jack removal 97 dlg,jack-rate-us = <40>; 98 dlg,jack-debounce = <2>; 99 dlg,jack-threshold-pct = <84>;
|
| /linux/sound/hda/codecs/hdmi/ |
| H A D | simplehdmi.c | 47 static void free_hdmi_jack_priv(struct snd_jack *jack) in free_hdmi_jack_priv() argument 49 struct hdmi_pcm *pcm = jack->private_data; in free_hdmi_jack_priv() 51 pcm->jack = NULL; in free_hdmi_jack_priv() 58 struct snd_jack *jack; in simple_hdmi_build_jack() local 66 err = snd_jack_new(codec->card, hdmi_str, SND_JACK_AVOUT, &jack, in simple_hdmi_build_jack() 71 pcmp->jack = jack; in simple_hdmi_build_jack() 72 jack->private_data = pcmp; in simple_hdmi_build_jack() 73 jack->private_free = free_hdmi_jack_priv; in simple_hdmi_build_jack()
|