/linux/sound/pci/hda/ |
H A D | hda_jack.c | 3 * Jack-detection handling for HD-audio 13 #include <sound/jack.h> 20 * is_jack_detectable - Check whether the given pin is jack-detectable 24 * Check whether the given pin is capable to report the jack detection. 25 * The jack detection might not work by various reasons, e.g. the jack 65 * snd_hda_jack_tbl_get_mst - query the jack-table entry for the given NID 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() [all …]
|
H A D | hda_jack.h | 3 * Jack-detection handling for HD-audio 12 #include <sound/jack.h> 26 struct hda_jack_tbl *jack; /* associated jack entry */ member 35 /* jack-detection stuff */ 37 unsigned int jack_detect:1; /* capable of jack-detection? */ 41 hda_nid_t gating_jack; /* valid when gating jack plugged */ 42 hda_nid_t gated_jack; /* gated is dependent on this jack */ 43 hda_nid_t key_report_jack; /* key reports to this jack */ 46 struct snd_jack *jack; member 58 * snd_hda_jack_tbl_get - query the jack-table entry for the given NID [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() 41 trace_snd_soc_jack_report(jack, mask, status); in snd_soc_jack_report() 43 dapm = &jack->card->dapm; in snd_soc_jack_report() 45 mutex_lock(&jack->mutex); in snd_soc_jack_report() 47 jack->status &= ~mask; in snd_soc_jack_report() [all …]
|
/linux/sound/core/ |
H A D | jack.c | 3 * Jack abstraction layer 14 #include <sound/jack.h> 20 struct list_head list; /* list of controls belong to the same jack */ 22 struct snd_jack *jack; /* pointer to struct snd_jack */ member 40 static void snd_jack_remove_debugfs(struct snd_jack *jack); in snd_jack_dev_disconnect() 44 struct snd_jack *jack = device->device_data; in snd_jack_dev_disconnect() 46 snd_jack_remove_debugfs(jack); in snd_jack_dev_disconnect() 49 guard(mutex)(&jack->input_dev_lock); in snd_jack_dev_disconnect() 50 if (!jack->input_dev) in snd_jack_dev_disconnect() 55 if (jack in snd_jack_dev_disconnect() 43 struct snd_jack *jack = device->device_data; snd_jack_dev_disconnect() local 62 struct snd_jack *jack = device->device_data; snd_jack_dev_free() local 85 struct snd_jack *jack = device->device_data; snd_jack_dev_register() local 126 struct snd_jack *jack; snd_jack_inject_report() local 340 snd_jack_debugfs_add_inject_node(struct snd_jack * jack,struct snd_jack_kctl * jack_kctl) snd_jack_debugfs_add_inject_node() argument 390 snd_jack_debugfs_add_inject_node(struct snd_jack * jack,struct snd_jack_kctl * jack_kctl) snd_jack_debugfs_add_inject_node() argument 413 snd_jack_kctl_add(struct snd_jack * jack,struct snd_jack_kctl * jack_kctl) snd_jack_kctl_add() argument 462 snd_jack_add_new_kctl(struct snd_jack * jack,const char * name,int mask) snd_jack_add_new_kctl() argument 493 struct snd_jack *jack; snd_jack_new() local 580 snd_jack_set_parent(struct snd_jack * jack,struct device * parent) snd_jack_set_parent() argument 614 snd_jack_set_key(struct snd_jack * jack,enum snd_jack_types type,int keytype) snd_jack_set_key() argument 639 snd_jack_report(struct snd_jack * jack,int status) snd_jack_report() 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/Documentation/sound/designs/ |
H A D | jack-controls.rst | 2 ALSA Jack Controls 5 Why we need Jack kcontrols 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. 23 Jack Kcontrol Internals 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. [all …]
|
H A D | jack-injection.rst | 2 ALSA Jack Software Injection 5 Simple Introduction On Jack Injection 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 [all …]
|
/linux/include/sound/ |
H A D | soc-jack.h | 3 * soc-jack.h 12 * struct snd_soc_jack_pin - Describes a pin to update based on jack detection 15 * @mask: bits to check for in reported jack status 27 * struct snd_soc_jack_zone - Describes voltage zones of jack detection 31 * @jack_type: type of jack that is expected for this voltage 32 * @debounce_time: debounce_time for jack, codec driver should wait for this 45 * struct snd_soc_jack_gpio - Describes a gpio pin for jack detection 52 * @report: value to report when jack detected 70 struct snd_soc_jack *jack; member 82 struct snd_jack *jack; member [all …]
|
H A D | jack.h | 6 * Jack abstraction layer 16 * enum snd_jack_types - Jack types which can be reported 35 * sound/core/jack.c. 79 struct snd_jack **jack, bool initial_kctl, bool phantom_jack); 80 int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask); 82 void snd_jack_set_parent(struct snd_jack *jack, struct device *parent); 83 int snd_jack_set_key(struct snd_jack *jack, enum snd_jack_types type, 86 void snd_jack_report(struct snd_jack *jack, int status); 90 struct snd_jack **jack, bool initial_kctl, bool phantom_jack) in snd_jack_new() argument 95 static inline int snd_jack_add_new_kctl(struct snd_jack *jack, const char * name, int mask) in snd_jack_add_new_kctl() argument [all …]
|
/linux/sound/soc/sdw_utils/ |
H A D | soc_sdw_cs42l42.c | 18 #include <sound/jack.h> 22 /* HP jack connectors - unknown if we have jack detection */ 45 struct snd_soc_jack *jack; in asoc_sdw_cs42l42_rtd_init() local 63 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", in asoc_sdw_cs42l42_rtd_init() 71 dev_err(rtd->card->dev, "Headset Jack creation failed: %d\n", in asoc_sdw_cs42l42_rtd_init() 76 jack = &ctx->sdw_headset; in asoc_sdw_cs42l42_rtd_init() 78 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_cs42l42_rtd_init() 79 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOLUMEUP); in asoc_sdw_cs42l42_rtd_init() 80 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEDOWN); in asoc_sdw_cs42l42_rtd_init() 81 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOICECOMMAND); in asoc_sdw_cs42l42_rtd_init() [all …]
|
H A D | soc_sdw_rt700.c | 17 #include <sound/jack.h> 43 struct snd_soc_jack *jack; in asoc_sdw_rt700_rtd_init() local 61 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", in asoc_sdw_rt700_rtd_init() 69 dev_err(rtd->card->dev, "Headset Jack creation failed: %d\n", in asoc_sdw_rt700_rtd_init() 74 jack = &ctx->sdw_headset; in asoc_sdw_rt700_rtd_init() 76 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt700_rtd_init() 77 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt700_rtd_init() 78 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt700_rtd_init() 79 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt700_rtd_init() 81 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_rt700_rtd_init() [all …]
|
H A D | soc_sdw_rt5682.c | 19 #include <sound/jack.h> 45 struct snd_soc_jack *jack; in asoc_sdw_rt5682_rtd_init() local 63 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", in asoc_sdw_rt5682_rtd_init() 71 dev_err(rtd->card->dev, "Headset Jack creation failed: %d\n", in asoc_sdw_rt5682_rtd_init() 76 jack = &ctx->sdw_headset; in asoc_sdw_rt5682_rtd_init() 78 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt5682_rtd_init() 79 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt5682_rtd_init() 80 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt5682_rtd_init() 81 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt5682_rtd_init() 83 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_rt5682_rtd_init() [all …]
|
H A D | soc_sdw_rt711.c | 19 #include <sound/jack.h> 69 struct snd_soc_jack *jack; in asoc_sdw_rt711_rtd_init() local 87 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", in asoc_sdw_rt711_rtd_init() 95 dev_err(rtd->card->dev, "Headset Jack creation failed: %d\n", in asoc_sdw_rt711_rtd_init() 100 jack = &ctx->sdw_headset; in asoc_sdw_rt711_rtd_init() 102 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt711_rtd_init() 103 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt711_rtd_init() 104 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt711_rtd_init() 105 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt711_rtd_init() 107 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_rt711_rtd_init() [all …]
|
H A D | soc_sdw_rt_sdca_jack_common.c | 19 #include <sound/jack.h> 98 struct snd_soc_jack *jack; in asoc_sdw_rt_sdca_jack_rtd_init() local 141 dev_err(card->dev, "rt sdca jack map addition failed: %d\n", ret); in asoc_sdw_rt_sdca_jack_rtd_init() 145 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", in asoc_sdw_rt_sdca_jack_rtd_init() 153 dev_err(rtd->card->dev, "Headset Jack creation failed: %d\n", in asoc_sdw_rt_sdca_jack_rtd_init() 158 jack = &ctx->sdw_headset; in asoc_sdw_rt_sdca_jack_rtd_init() 160 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_rt_sdca_jack_rtd_init() 161 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_rt_sdca_jack_rtd_init() 162 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_rt_sdca_jack_rtd_init() 163 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_rt_sdca_jack_rtd_init() [all …]
|
H A D | soc_sdw_cs42l43.c | 13 #include <sound/jack.h> 57 struct snd_soc_jack *jack = &ctx->sdw_headset; in asoc_sdw_cs42l43_hs_rtd_init() local 73 ret = snd_soc_card_jack_new_pins(card, "Jack", in asoc_sdw_cs42l43_hs_rtd_init() 78 jack, soc_jack_pins, in asoc_sdw_cs42l43_hs_rtd_init() 81 dev_err(card->dev, "Failed to create jack: %d\n", ret); in asoc_sdw_cs42l43_hs_rtd_init() 85 snd_jack_set_key(jack->jack, SND_JACK_BTN_0, KEY_PLAYPAUSE); in asoc_sdw_cs42l43_hs_rtd_init() 86 snd_jack_set_key(jack->jack, SND_JACK_BTN_1, KEY_VOICECOMMAND); in asoc_sdw_cs42l43_hs_rtd_init() 87 snd_jack_set_key(jack->jack, SND_JACK_BTN_2, KEY_VOLUMEUP); in asoc_sdw_cs42l43_hs_rtd_init() 88 snd_jack_set_key(jack->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in asoc_sdw_cs42l43_hs_rtd_init() 90 ret = snd_soc_component_set_jack(component, jack, NULL); in asoc_sdw_cs42l43_hs_rtd_init() [all …]
|
/linux/sound/virtio/ |
H A D | virtio_jack.c | 7 #include <sound/jack.h> 23 * struct virtio_jack - VirtIO jack. 24 * @jack: Kernel jack control. 26 * @features: Jack virtio feature bit map (1 << VIRTIO_SND_JACK_F_XXX). 29 * @connected: Current jack connection status. 30 * @type: Kernel jack type (SND_JACK_XXX). 33 struct snd_jack *jack; member 43 * virtsnd_jack_get_label() - Get the name string for the jack. 44 * @vjack: VirtIO jack. 46 * Returns the jack name based on the default pin configuration value (see HDA [all …]
|
/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 55 Mic Jack Mode, Line Jack Mode, etc 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 [all …]
|
/linux/sound/soc/intel/boards/ |
H A D | sof_cs42l42.c | 15 #include <sound/jack.h> 28 .pin = "Headphone Jack", 44 struct snd_soc_jack *jack = &ctx->headset_jack; in sof_cs42l42_init() local 51 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", in sof_cs42l42_init() 55 jack, in sof_cs42l42_init() 59 dev_err(rtd->dev, "Headset Jack creation failed: %d\n", ret); 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() [all …]
|
H A D | sof_nau8825.c | 15 #include <sound/jack.h> 32 .pin = "Headphone Jack", 45 struct snd_soc_jack *jack = &ctx->headset_jack; in sof_nau8825_codec_init() local 52 ret = snd_soc_card_jack_new_pins(rtd->card, "Headset Jack", in sof_nau8825_codec_init() 56 jack, in sof_nau8825_codec_init() 60 dev_err(rtd->dev, "Headset Jack creation failed: %d\n", ret); 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->jack, SND_JACK_BTN_3, KEY_VOLUMEDOWN); in sof_nau8825_codec_init() [all …]
|
/linux/arch/arm/boot/dts/nxp/imx/ |
H A D | imx6qdl-kontron-samx6i-ads2.dtsi | 21 "Headphone", "Headphone Jack", 22 "Line", "Line Out Jack", 23 "Microphone", "Microphone Jack", 24 "Line", "Line In Jack"; 26 "Line Out Jack", "LINEOUTR", 27 "Line Out Jack", "LINEOUTL", 28 "Headphone Jack", "HPOUTR", 29 "Headphone Jack", "HPOUTL", 30 "IN1L", "Line In Jack", 31 "IN1R", "Line In Jack", [all …]
|
/linux/arch/arm64/boot/dts/freescale/ |
H A D | fsl-ls1028a-kontron-sl28-var3-ads2.dts | 39 "Headphone", "Headphone Jack", 40 "Line", "Line Out Jack", 41 "Microphone", "Microphone Jack", 42 "Line", "Line In Jack"; 44 "Line Out Jack", "LINEOUTR", 45 "Line Out Jack", "LINEOUTL", 46 "Headphone Jack", "HPOUTR", 47 "Headphone Jack", "HPOUTL", 48 "IN1L", "Line In Jack", 49 "IN1R", "Line In Jack", [all …]
|
/linux/sound/soc/qcom/ |
H A D | apq8016_sbc.c | 15 #include <sound/jack.h> 29 struct snd_soc_jack jack; member 50 .pin = "Mic Jack", 54 .pin = "Headphone Jack", 103 struct snd_jack *jack; in apq8016_dai_init() local 105 rval = snd_soc_card_jack_new_pins(card, "Headset Jack", in apq8016_dai_init() 111 &pdata->jack, in apq8016_dai_init() 116 dev_err(card->dev, "Unable to add Headphone Jack\n"); 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() [all …]
|
/linux/Documentation/ABI/testing/ |
H A D | sysfs-class-rtrs-client | 4 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 11 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 21 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 28 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 43 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 51 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 58 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 65 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 72 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> 80 Contact: Jack Wang <jinpu.wang@cloud.ionos.com> Danil Kipnis <danil.kipnis@cloud.ionos.com> [all …]
|
/linux/Documentation/devicetree/bindings/sound/ |
H A D | fsl-asoc-card.yaml | 122 connectors. "AMIC" stands for Analog Microphone Jack. 123 "DMIC" stands for Digital Microphone Jack. The "Mic Jack" and "AMIC" 195 indicating there's a physical S/PDIF out connector or jack on the 204 indicating there is a physical S/PDIF in connector/jack on the board. 221 "Line Out Jack", "AOUT1L", 222 "Line Out Jack", "AOUT1R", 223 "Line Out Jack", "AOUT2L", 224 "Line Out Jack", "AOUT2R", 225 "Line Out Jack", "AOUT3L", 226 "Line Out Jack", "AOUT3R", [all …]
|