| /linux/sound/pci/hda/ |
| A D | hda_jack.c | 170 if (!codec->bus->shutdown && jack->jack) in snd_hda_jack_tbl_clear() 268 if (jack && jack->phantom_jack) in snd_hda_jack_detect_state_mst() 475 if (!jack->jack || jack->block_report) in snd_hda_jack_report_sync() 480 snd_jack_report(jack->jack, state); in snd_hda_jack_report_sync() 482 snd_jack_report(jack->jack, in snd_hda_jack_report_sync() 541 if (jack->jack) in snd_hda_jack_add_kctl_mst() 554 &jack->jack, true, phantom_jack); in snd_hda_jack_add_kctl_mst() 561 jack->jack->private_data = jack; in snd_hda_jack_add_kctl_mst() 569 snd_jack_report(jack->jack, state ? jack->type : 0); in snd_hda_jack_add_kctl_mst() 679 cb->jack = jack; in call_jack_callback() [all …]
|
| /linux/sound/core/ |
| A D | jack.c | 70 jack->private_free(jack); in snd_jack_dev_free() 75 kfree(jack); in snd_jack_dev_free() 87 snprintf(jack->name, sizeof(jack->name), "%s %s", in snd_jack_dev_register() 93 jack->input_dev->name = jack->name; in snd_jack_dev_register() 109 input_set_capability(jack->input_dev, EV_KEY, jack->key[i]); in snd_jack_dev_register() 130 jack = jack_kctl->jack; in snd_jack_inject_report() 144 input_report_key(jack->input_dev, jack->key[i], in snd_jack_inject_report() 412 jack_kctl->jack = jack; in snd_jack_kctl_add() 559 kfree(jack); in snd_jack_new() 641 if (!jack) in snd_jack_report() [all …]
|
| /linux/sound/soc/ |
| A D | soc-jack.c | 40 if (!jack) in snd_soc_jack_report() 44 dapm = &jack->card->dapm; in snd_soc_jack_report() 46 mutex_lock(&jack->mutex); in snd_soc_jack_report() 48 jack->status &= ~mask; in snd_soc_jack_report() 69 blocking_notifier_call_chain(&jack->notifier, jack->status, jack); in snd_soc_jack_report() 74 snd_jack_report(jack->jack, jack->status); in snd_soc_jack_report() 156 snd_jack_add_new_kctl(jack->jack, pins[i].pin, pins[i].mask); in snd_soc_jack_add_pins() 213 struct snd_soc_jack *jack = gpio->jack; in snd_soc_jack_gpio_detect() local 290 gpios[i].jack = NULL; in jack_free_gpios() 320 tbl->jack = jack; in snd_soc_jack_add_gpios() [all …]
|
| A D | soc-card.c | 61 struct snd_soc_jack *jack, in snd_soc_card_jack_new() argument 66 mutex_init(&jack->mutex); in snd_soc_card_jack_new() 67 jack->card = card; in snd_soc_card_jack_new() 68 INIT_LIST_HEAD(&jack->pins); in snd_soc_card_jack_new() 69 INIT_LIST_HEAD(&jack->jack_zones); in snd_soc_card_jack_new() 70 BLOCKING_INIT_NOTIFIER_HEAD(&jack->notifier); in snd_soc_card_jack_new() 72 ret = snd_jack_new(card->snd_card, id, type, &jack->jack, false, false); in snd_soc_card_jack_new() 77 ret = snd_soc_jack_add_pins(jack, num_pins, pins); in snd_soc_card_jack_new()
|
| /linux/Documentation/sound/soc/ |
| A D | jack.rst | 2 ASoC jack detection 6 the kernel side of which can be seen in include/sound/jack.h. ASoC 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 21 code providing jack reporting mechanisms. 27 headphone when the headphone jack status changes. 29 The jack - struct snd_soc_jack 34 machine driver and updated by jack detection methods. 47 connected via a jack). 61 CODEC integrated jack detection can be see in the WM8350 driver. [all …]
|
| /linux/include/sound/ |
| A D | soc-jack.h | 72 struct snd_soc_jack *jack; member 84 struct snd_jack *jack; member 93 void snd_soc_jack_report(struct snd_soc_jack *jack, int status, int mask); 94 int snd_soc_jack_add_pins(struct snd_soc_jack *jack, int count, 96 void snd_soc_jack_notifier_register(struct snd_soc_jack *jack, 98 void snd_soc_jack_notifier_unregister(struct snd_soc_jack *jack, 100 int snd_soc_jack_add_zones(struct snd_soc_jack *jack, int count, 104 int snd_soc_jack_add_gpios(struct snd_soc_jack *jack, int count, 107 struct snd_soc_jack *jack, 109 void snd_soc_jack_free_gpios(struct snd_soc_jack *jack, int count, [all …]
|
| A D | jack.h | 78 struct snd_jack **jack, bool initial_kctl, bool phantom_jack); 79 int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask); 81 void snd_jack_set_parent(struct snd_jack *jack, struct device *parent); 82 int snd_jack_set_key(struct snd_jack *jack, enum snd_jack_types type, 85 void snd_jack_report(struct snd_jack *jack, int status); 89 struct snd_jack **jack, bool initial_kctl, bool phantom_jack) in snd_jack_new() argument 94 static inline int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask) in snd_jack_add_new_kctl() argument 99 static inline void snd_jack_report(struct snd_jack *jack, int status) in snd_jack_report() argument 106 static inline void snd_jack_set_parent(struct snd_jack *jack, in snd_jack_set_parent() argument 111 static inline int snd_jack_set_key(struct snd_jack *jack, in snd_jack_set_key() argument
|
| /linux/Documentation/sound/designs/ |
| 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 …]
|
| 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 23 for this jack. The jack injection is implemented based on the 29 plugout events via ``jackin_inject`` and check the jack state via 30 ``status``, after we finish our test, we need to disable the jack 39 jack injection interface will be created as below: 141 - to enable jack injection: [all …]
|
| /linux/sound/soc/intel/boards/ |
| A D | sof_sdw_rt5682.c | 54 struct snd_soc_jack *jack; in rt5682_rtd_init() local 98 jack = &ctx->sdw_headset; in rt5682_rtd_init() 100 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in rt5682_rtd_init() 101 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in rt5682_rtd_init() 102 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in rt5682_rtd_init() 103 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in rt5682_rtd_init() 105 ret = snd_soc_component_set_jack(component, jack, NULL); in rt5682_rtd_init()
|
| A D | sof_sdw_rt700.c | 54 struct snd_soc_jack *jack; in rt700_rtd_init() local 98 jack = &ctx->sdw_headset; in rt700_rtd_init() 100 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in rt700_rtd_init() 101 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in rt700_rtd_init() 102 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in rt700_rtd_init() 103 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in rt700_rtd_init() 105 ret = snd_soc_component_set_jack(component, jack, NULL); in rt700_rtd_init()
|
| A D | sof_sdw_rt711.c | 78 struct snd_soc_jack *jack; in rt711_rtd_init() local 122 jack = &ctx->sdw_headset; in rt711_rtd_init() 124 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in rt711_rtd_init() 125 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in rt711_rtd_init() 126 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in rt711_rtd_init() 127 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in rt711_rtd_init() 129 ret = snd_soc_component_set_jack(component, jack, NULL); in rt711_rtd_init()
|
| A D | sof_sdw_rt711_sdca.c | 79 struct snd_soc_jack *jack; in rt711_sdca_rtd_init() local 123 jack = &ctx->sdw_headset; in rt711_sdca_rtd_init() 125 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in rt711_sdca_rtd_init() 126 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in rt711_sdca_rtd_init() 127 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in rt711_sdca_rtd_init() 128 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in rt711_sdca_rtd_init() 130 ret = snd_soc_component_set_jack(component, jack, NULL); in rt711_sdca_rtd_init()
|
| A D | cht_bsw_nau8824.c | 27 struct snd_soc_jack jack; member 98 struct snd_soc_jack *jack = &ctx->jack; in cht_codec_init() local 111 ret = snd_soc_card_jack_new(runtime->card, "Headset", jack_type, jack, in cht_codec_init() 118 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in cht_codec_init() 119 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in cht_codec_init() 120 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in cht_codec_init() 121 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in cht_codec_init() 123 nau8824_enable_jack_detect(component, jack); in cht_codec_init()
|
| /linux/sound/soc/qcom/ |
| A D | sc7180.c | 37 static void sc7180_jack_free(struct snd_jack *jack) in sc7180_jack_free() argument 50 struct snd_jack *jack; in sc7180_headset_init() local 66 jack = pdata->hs_jack.jack; in sc7180_headset_init() 68 snd_jack_set_key(jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in sc7180_headset_init() 70 snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in sc7180_headset_init() 73 jack->private_data = component; in sc7180_headset_init() 74 jack->private_free = sc7180_jack_free; in sc7180_headset_init() 85 struct snd_jack *jack; in sc7180_hdmi_init() local 98 jack = pdata->hdmi_jack.jack; in sc7180_hdmi_init() 99 jack->private_data = component; in sc7180_hdmi_init() [all …]
|
| A D | apq8016_sbc.c | 25 struct snd_soc_jack jack; member 87 struct snd_jack *jack; in apq8016_sbc_dai_init() local 95 &pdata->jack, NULL, 0); in apq8016_sbc_dai_init() 102 jack = pdata->jack.jack; in apq8016_sbc_dai_init() 104 snd_jack_set_key(jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in apq8016_sbc_dai_init() 105 snd_jack_set_key(jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in apq8016_sbc_dai_init() 106 snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in apq8016_sbc_dai_init() 107 snd_jack_set_key(jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in apq8016_sbc_dai_init() 121 rval = snd_soc_component_set_jack(component, &pdata->jack, NULL); in apq8016_sbc_dai_init()
|
| A D | sdm845.c | 34 struct snd_soc_jack jack; member 213 static void sdm845_jack_free(struct snd_jack *jack) in sdm845_jack_free() argument 227 struct snd_jack *jack; in sdm845_dai_init() local 248 &pdata->jack, NULL, 0); in sdm845_dai_init() 255 jack = pdata->jack.jack; in sdm845_dai_init() 259 snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in sdm845_dai_init() 266 jack = pdata->jack.jack; in sdm845_dai_init() 269 jack->private_data = component; in sdm845_dai_init() 270 jack->private_free = sdm845_jack_free; in sdm845_dai_init() 272 &pdata->jack, NULL); in sdm845_dai_init() [all …]
|
| A D | sm8250.c | 23 struct snd_soc_jack jack; member 36 struct snd_jack *jack; in sm8250_snd_init() local 44 &data->jack, NULL, 0); in sm8250_snd_init() 51 jack = data->jack.jack; in sm8250_snd_init() 53 snd_jack_set_key(jack, SND_JACK_BTN_0, KEY_MEDIA); in sm8250_snd_init() 54 snd_jack_set_key(jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in sm8250_snd_init() 55 snd_jack_set_key(jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in sm8250_snd_init() 56 snd_jack_set_key(jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in sm8250_snd_init() 67 &data->jack, NULL); in sm8250_snd_init()
|
| /linux/Documentation/devicetree/bindings/sound/ |
| A D | rt5640.txt | 35 - realtek,jack-detect-source 37 0: jack-detect is not used 38 1: Use GPIO1 for jack-detect 39 2: Use JD1_IN4P for jack-detect 40 3: Use JD2_IN4N for jack-detect 41 4: Use GPIO2 for jack-detect 42 5: Use GPIO3 for jack-detect 43 6: Use GPIO4 for jack-detect 45 - realtek,jack-detect-not-inverted 46 bool. Normal jack-detect switches give an inverted signal, set this bool [all …]
|
| 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
|
| /linux/sound/soc/codecs/ |
| A D | ts3a227e.c | 26 struct snd_soc_jack *jack; member 152 if (!ts3a227e->jack) in ts3a227e_jack_report() 163 snd_soc_jack_report(ts3a227e->jack, report, TS3A227E_JACK_MASK); in ts3a227e_jack_report() 237 struct snd_soc_jack *jack) in ts3a227e_enable_jack_detect() argument 241 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in ts3a227e_enable_jack_detect() 242 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in ts3a227e_enable_jack_detect() 243 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in ts3a227e_enable_jack_detect() 244 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in ts3a227e_enable_jack_detect() 246 ts3a227e->jack = jack; in ts3a227e_enable_jack_detect()
|
| A D | es8316.c | 40 struct snd_soc_jack *jack; member 585 if (!es8316->jack) in es8316_irq() 598 snd_soc_jack_report(es8316->jack, 0, in es8316_irq() 614 snd_soc_jack_report(es8316->jack, in es8316_irq() 620 snd_soc_jack_report(es8316->jack, in es8316_irq() 633 snd_soc_jack_report(es8316->jack, in es8316_irq() 645 struct snd_soc_jack *jack) in es8316_enable_jack_detect() argument 659 es8316->jack = jack; in es8316_enable_jack_detect() 679 if (!es8316->jack) in es8316_disable_jack_detect() 694 es8316->jack = NULL; in es8316_disable_jack_detect() [all …]
|
| /linux/include/trace/events/ |
| A D | asoc.h | 230 TP_PROTO(struct snd_soc_jack *jack, int mask, int val), 232 TP_ARGS(jack, mask, val), 235 __string( name, jack->jack->id ) 241 __assign_str(name, jack->jack->id); 252 TP_PROTO(struct snd_soc_jack *jack, int val), 254 TP_ARGS(jack, val), 257 __string( name, jack->jack->id ) 262 __assign_str(name, jack->jack->id);
|
| /linux/drivers/staging/greybus/ |
| A D | audio_codec.c | 748 ret = snd_jack_set_key(module->button.jack.jack, SND_JACK_BTN_0, in gbaudio_init_jack() 757 ret = snd_jack_set_key(module->button.jack.jack, SND_JACK_BTN_1, in gbaudio_init_jack() 766 ret = snd_jack_set_key(module->button.jack.jack, SND_JACK_BTN_2, in gbaudio_init_jack() 775 ret = snd_jack_set_key(module->button.jack.jack, SND_JACK_BTN_3, in gbaudio_init_jack() 793 snd_device_free(card->snd_card, jack->jack.jack); in gbaudio_init_jack() 794 list_del(&jack->list); in gbaudio_init_jack() 851 jack->jack.jack); in gbaudio_register_module() 956 jack->jack.jack->id); in gbaudio_unregister_module() 957 snd_soc_jack_report(&jack->jack, 0, mask); in gbaudio_unregister_module() 959 jack->jack.jack); in gbaudio_unregister_module() [all …]
|
| /linux/Documentation/sound/hd-audio/ |
| A D | models.rst | 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 20 6-jack with headphone jack detection 414 3-jack in back, 2-jack in front 416 6-jack in back, 2-jack in front 418 6-jack in back, 2-jack in front, SPDIF I/O 420 5-jack in back, 2-jack in front, SPDIF out 476 6-jack 480 3-jack [all …]
|