| /linux/Documentation/sound/cards/ | 
| H A D | cmipci.rst | 2 Brief Notes on C-Media 8338/8738/8768/8770 Driver8 Front/Rear Multi-channel Playback
 9 ---------------------------------
 12 channels can be used for front/rear playbacks.  Since there are two
 13 DACs, both streams are handled independently unlike the 4/6ch multi-
 18 (hw:0,1) is assigned to the second DAC for rear playback.
 22 - The first DAC supports U8 and S16LE formats, while the second DAC
 24 - The second DAC supports only two channel stereo.
 26 Please note that the CM8x38 DAC doesn't support continuous playback
 44   on and "double DAC" mode.  Actually I could hear separate 4 channels
 [all …]
 
 | 
| H A D | emu-mixer.rst | 2 E-MU Digital Audio System mixer / default DSP code5 This document covers the E-MU 0404/1010/1212/1616/1820 PCI/PCI-e/CardBus
 9 alternative front-end geared towards semi-professional studio recording.
 11 This document is based on audigy-mixer.rst.
 22 In particular, I got recording glitches during simultaneous playback on an
 33 This driver supports only 16-bit 44.1/48 kHz operation. The multi-channel
 34 device (see emu10k1-jack.rst) additionally supports 24-bit capture.
 37 <https://github.com/ossilator/linux/tree/ossis-emu10k1>`_.
 38 Its multi-channel device supports 24-bit for both playback and capture,
 62 FX-bus
 [all …]
 
 | 
| H A D | audiophile-usb.rst | 2 Guide to using M-Audio Audiophile USB with ALSA and Jack9 This document is a guide to using the M-Audio Audiophile USB (tm) device with
 15 * v1.4 - Thibault Le Meur (2007-07-11)
 17   - Added Low Endianness nature of 16bits-modes
 19   - Modifying document structure
 21 * v1.5 - Thibault Le Meur (2007-07-12)
 22   - Added AC3/DTS passthru info
 35    - This port supports 2 pairs of line-level audio inputs (1/4" TS and RCA)
 36    - When the 1/4" TS (jack) connectors are connected, the RCA connectors
 57  * 16-bit/48kHz ==> 4 channels in + 4 channels out
 [all …]
 
 | 
| H A D | hdspm.rst | 2 Software Interface ALSA-DSP MADI Driver 5 (translated from German, so no good English ;-),
 7 2004 - winfried ritsch
 11 the Controls and startup-options  are ALSA-Standard and only the
 19 ------------------
 21 * number of channels --  depends on transmission mode
 23 		The number of channels chosen is from 1..Nmax. The reason to
 24 		use for a lower number of channels is only resource allocation,
 25 		since unused DMA channels are disabled and less memory is
 29 * Single Speed -- 1..64 channels
 [all …]
 
 | 
| /linux/sound/soc/renesas/ | 
| H A D | rz-ssi.c | 1 // SPDX-License-Identifier: GPL-2.03 // Renesas RZ/G2L ASoC Serial Sound Interface (SSIF-2) Driver
 75 #define SSI_RATES		SNDRV_PCM_RATE_8000_48000 /* 8k-48kHz */
 117 	 * The SSI supports full-duplex transmission and reception.
 120 	 * So it is better to use as half-duplex (playing and recording
 121 	 * should be done on separate channels).
 123 	struct rz_ssi_stream playback;  member
 138 		unsigned int channels;  member
 250 rz_ssi_clk_setup(struct rz_ssi_priv * ssi,unsigned int rate,unsigned int channels) rz_ssi_clk_setup()  argument
 926 rz_ssi_is_valid_hw_params(struct rz_ssi_priv * ssi,unsigned int rate,unsigned int channels,unsigned int sample_width,unsigned int sample_bits) rz_ssi_is_valid_hw_params()  argument
 940 rz_ssi_cache_hw_params(struct rz_ssi_priv * ssi,unsigned int rate,unsigned int channels,unsigned int sample_width,unsigned int sample_bits) rz_ssi_cache_hw_params()  argument
 958 unsigned int channels = params_channels(params); rz_ssi_dai_hw_params()  local
 [all...]
 | 
| /linux/Documentation/ABI/testing/ | 
| H A D | configfs-usb-gadget-uac1 | 1 What:		/config/usb-gadget/gadget/functions/uac1.name9 		c_srate			list of capture sampling rates (comma-separated)
 19 		p_chmask		playback channel mask
 20 		p_srate			list of playback sampling rates (comma-separated)
 21 		p_ssize			playback sample size (bytes)
 22 		p_mute_present		playback mute control enable
 23 		p_volume_present	playback volume control enable
 24 		p_volume_min		playback volume control min value
 26 		p_volume_max		playback volume control max value
 28 		p_volume_res		playback volume control resolution
 [all …]
 
 | 
| /linux/sound/soc/amd/ | 
| H A D | acp.h | 1 /* SPDX-License-Identifier: GPL-2.0 */13 /* Playback and Capture Offset for Stoney */
 26  * playback and SRAM Bank 2 for capture where as in case of BT I2S
 27  * Instance, Stoney uses SRAM Bank 3 for playback & SRAM Bank 4 will
 29  * 1, 2, 3, 4 will be used for playback & SRAM Banks 5, 6, 7, 8 will be used
 73 /* Playback DMA channels */
 77 /* Capture DMA channels */
 81 /* Playback DMA Channels for I2S BT instance */
 85 /* Capture DMA Channels for I2S BT Instance */
 89 /* Playback DMA channels for I2S MICSP instance */
 
 | 
| /linux/Documentation/devicetree/bindings/sound/ | 
| H A D | rockchip-i2s.yaml | 1 # SPDX-License-Identifier: GPL-2.03 ---
 4 $id: http://devicetree.org/schemas/sound/rockchip-i2s.yaml#
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   The I2S bus (Inter-IC sound bus) is a serial link for digital
 14   - Heiko Stuebner <heiko@sntech.de>
 17   - $ref: dai-common.yaml#
 22       - const: rockchip,rk3066-i2s
 23       - items:
 24           - enum:
 [all …]
 
 | 
| H A D | fsl,ssi.yaml | 1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)3 ---
 5 $schema: http://devicetree.org/meta-schemas/core.yaml#
 10   - Shengjiu Wang <shengjiu.wang@nxp.com>
 13   Notes on fsl,playback-dma and fsl,capture-dma
 14   On SOCs that have an SSI, specific DMA channels are hard-wired for playback
 16   playback and DMA channel 1 for capture.  SSI2 must use DMA channel 2 for
 17   playback and DMA channel 3 for capture.  The developer can choose which
 18   DMA controller to use, but the channels themselves are hard-wired.  The
 21   The device tree nodes for the DMA channels that are referenced by
 [all …]
 
 | 
| /linux/drivers/usb/gadget/function/ | 
| H A D | u_uac1_legacy.c | 1 // SPDX-License-Identifier: GPL-2.0+3  * u_uac1.c -- ALSA audio utilities for Gadget stack
 24 /*-------------------------------------------------------------------------*/
 47 			changed = -EINVAL;  in _snd_pcm_hw_param_set()
 53 				val--;  in _snd_pcm_hw_param_set()
 60 			changed = -EINVAL;  in _snd_pcm_hw_param_set()
 71 				t.min = val - 1;  in _snd_pcm_hw_param_set()
 80 		return -EINVAL;  in _snd_pcm_hw_param_set()
 82 		params->cmask |= 1 << var;  in _snd_pcm_hw_param_set()
 83 		params->rmask |= 1 << var;  in _snd_pcm_hw_param_set()
 [all …]
 
 | 
| /linux/sound/soc/xilinx/ | 
| H A D | xlnx_i2s.c | 1 // SPDX-License-Identifier: GPL-2.032 	u32 channels;  member
 44 		return -EINVAL;  in xlnx_i2s_set_sclkout_div()
 46 	drv_data->sysclk = 0;  in xlnx_i2s_set_sclkout_div()
 48 	writel(div, drv_data->base + I2S_I2STIM_OFFSET);  in xlnx_i2s_set_sclkout_div()
 58 	drv_data->sysclk = freq;  in xlnx_i2s_set_sysclk()
 62 		if (drv_data->is_32bit_lrclk)  in xlnx_i2s_set_sysclk()
 65 			bits_per_sample = drv_data->data_width;  in xlnx_i2s_set_sysclk()
 67 		drv_data->ratnum.num = freq / (bits_per_sample * drv_data->channels) / 2;  in xlnx_i2s_set_sysclk()
 68 		drv_data->ratnum.den_step = 1;  in xlnx_i2s_set_sysclk()
 [all …]
 
 | 
| /linux/sound/soc/mediatek/mt8195/ | 
| H A D | mt8195-dai-etdm.c | 1 // SPDX-License-Identifier: GPL-2.014 #include "mt8195-afe-clk.h"
 15 #include "mt8195-afe-common.h"
 16 #include "mt8195-reg.h"
 117 	int cowork_slv_id[MT8195_AFE_IO_ETDM_NUM - 1]; //dai_id
 180 	return -EINVAL;  in get_etdm_fs_timing()
 183 static unsigned int get_etdm_ch_fixup(unsigned int channels)  in get_etdm_ch_fixup()  argument
 185 	if (channels > 16)  in get_etdm_ch_fixup()
 187 	else if (channels > 8)  in get_etdm_ch_fixup()
 189 	else if (channels > 4)  in get_etdm_ch_fixup()
 [all …]
 
 | 
| /linux/sound/soc/codecs/ | 
| H A D | hdmi-codec.c | 1 // SPDX-License-Identifier: GPL-2.0-only4  * Copyright (C) 2015 Texas Instruments Incorporated - https://www.ti.com/
 16 #include <sound/hdmi-codec.h>
 22 #define HDMI_CODEC_CHMAP_IDX_UNKNOWN  -1
 60 	{ .channels = 2,
 65 /* Channel maps for multi-channel playbacks, up to 8 n_ch */
 67 	{ .channels = 2, /* CA_ID 0x00 */
 69 	{ .channels = 4, /* CA_ID 0x01 */
 72 	{ .channels = 4, /* CA_ID 0x02 */
 75 	{ .channels = 4, /* CA_ID 0x03 */
 [all …]
 
 | 
| H A D | ad193x.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later30  * AD193X volume/mute/de-emphasis etc. controls
 37 static const DECLARE_TLV_DB_MINMAX(adau193x_tlv, -9563, 0);
 67 	/* DAC de-emphasis */
 68 	SOC_ENUM("Playback Deemphasis", ad193x_deemp_enum),
 78 	/* ADC high-pass filter */
 84 	SND_SOC_DAPM_DAC("DAC", "Playback", SND_SOC_NOPM, 0, 0),
 105 	struct snd_soc_component *component = snd_soc_dapm_to_component(source->dapm);  in ad193x_check_pll()
 108 	return !!ad193x->sysclk;  in ad193x_check_pll()
 131 	switch (ad193x->type) {  in ad193x_has_adc()
 [all …]
 
 | 
| /linux/Documentation/sound/designs/ | 
| H A D | control-names.rst | 8 ---------------16 Playback		one direction
 18 Bypass Playback		one direction
 33 <nothing>	channel independent, or applies to all channels
 34 Front		front left/right channels
 36 CLFE		C/LFE channels
 68 Headset Mic		mic part of combined headset jack - 4-pin
 70 Headphone Mic		mic part of either/or - 3-pin headphone or mic
 79 Analog Loopback		D/A -> A/D loopback
 80 Digital Loopback	playback -> capture loopback -
 [all …]
 
 | 
| H A D | oss-emulation.rst | 2 Notes on Kernel OSS-Emulation13 as add-on kernel modules, snd-pcm-oss, snd-mixer-oss and snd-seq-oss.
 18 is called.  The alias is defined ``sound-service-x-y``, where x and y are
 22 Only necessary step for auto-loading of OSS modules is to define the
 25 	alias sound-slot-0 snd-emu10k1
 27 As the second card, define ``sound-slot-1`` as well.
 29 ``alias sound-slot-0 snd-card-0`` doesn't work any more like the old
 38 after the corresponding OSS-emulation module is loaded.  Don't worry
 79 snd-pcm-oss and snd-rawmidi.  In the case of PCM, the following
 80 options are available for snd-pcm-oss:
 [all …]
 
 | 
| /linux/sound/isa/gus/ | 
| H A D | gusmax.c | 1 // SPDX-License-Identifier: GPL-2.0-or-later25 static int index[SNDRV_CARDS] = SNDRV_DEFAULT_IDX;	/* Index 0-MAX */
 32 static int joystick_dac[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 29};
 33 				/* 0 to 31, (0.59V-4.52V or 0.389V-2.98V) */
 34 static int channels[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 24};  variable
 35 static int pcm_channels[SNDRV_CARDS] = {[0 ... (SNDRV_CARDS - 1)] = 2};
 52 MODULE_PARM_DESC(joystick_dac, "Joystick DAC level 0.59V-4.52V or 0.389V-2.98V for GUS MAX driver."…
 53 module_param_array(channels, int, NULL, 0444);
 54 MODULE_PARM_DESC(channels, "Used GF1 channels for GUS MAX driver.");
 56 MODULE_PARM_DESC(pcm_channels, "Reserved PCM channels for GUS MAX driver.");
 [all …]
 
 | 
| /linux/sound/usb/misc/ | 
| H A D | ua101.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * Edirol UA-101/UA-1000 driver
 19 MODULE_DESCRIPTION("Edirol UA-101/1000 driver");
 32  * This magic value optimizes memory usage efficiency for the UA-101's packet
 55 		 __stringify(MIN_QUEUE_LENGTH)"-"__stringify(MAX_QUEUE_LENGTH));
 92 	/* FIFO to synchronize playback rat
 105 unsigned int channels; global()  member
 121 } capture, playback; global()  member
 616 set_stream_hw(struct ua101 * ua,struct snd_pcm_substream * substream,unsigned int channels) set_stream_hw()  argument
 [all...]
 | 
| /linux/sound/usb/ | 
| H A D | quirks-table.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */72 #define QUIRK_COMPOSITE_END	{ .ifnum = -1 }
 127 	/* Creative BT-D1 */
 132 			.channels = 2,
 146 /* E-Mu 0202 USB */
 148 /* E-Mu 0404 USB */
 150 /* E-Mu Tracker Pre */
 152 /* E-Mu 0204 USB */
 171 					.channels = 2,
 203 			/* Playback */
 [all …]
 
 | 
| /linux/sound/firewire/dice/ | 
| H A D | dice-pcm.c | 1 // SPDX-License-Identifier: GPL-2.0-only3  * dice_pcm.c - a part of driver for DICE based devices
 6  * Copyright (c) 2014 Takashi Sakamoto <o-takashi@sakamocchi.jp>
 14 	struct snd_pcm_substream *substream = rule->private; in dice_rate_constraint()
 15 	struct snd_dice *dice = substream->private_data; in dice_rate_constraint()
 16 	unsigned int index = substream->pcm->devic in dice_rate_constraint()
 60 struct snd_interval channels = { dice_channels_constraint()  local
 106 unsigned int rate, channels; limit_channels_and_rates()  local
 426 unsigned int capture, playback; snd_dice_create_pcm()  local
 [all...]
 | 
| /linux/arch/arm64/boot/dts/renesas/ | 
| H A D | ulcb-kf-simple-audio-card-mix+split.dtsi | 1 // SPDX-License-Identifier: GPL-2.012  *	(A) CPU0 (2ch) <----> (2ch) (X)	ak4613	   (MIX-0)
 13  *	(B) CPU1 (2ch)  --/			   (MIX-1)
 14  *	(C) CPU3 (2ch)  ----> (8ch) (Y)	PCM3168A-p (TDM-0 : 0,1ch)
 15  *	(D) CPU2 (2ch)  --/			   (TDM-1 : 2,3ch)
 16  *	(E) CPU4 (2ch)  --/			   (TDM-2 : 4,5ch)
 17  *	(F) CPU5 (2ch)  --/			   (TDM-3 : 6,7ch)
 18  *	(G) CPU6 (2ch) <----  (6ch) (Z) PCM3168A-c (TDM-a: 0,1ch)
 19  *	(H) CPU7 (2ch) <--/			   (TDM-b: 2,3ch)
 20  *	(I) CPU8 (2ch) <--/			   (TDM-c: 4,5ch)
 [all …]
 
 | 
| /linux/sound/soc/tegra/ | 
| H A D | tegra210_i2s.c | 1 // SPDX-License-Identifier: GPL-2.0-only2 // SPDX-FileCopyrightText: Copyright (c) 2020-2025 NVIDIA CORPORATION & AFFILIATES.
 5 // tegra210_i2s.c - Tegra210 I2S driver
 56 	regmap_write(i2s->regmap, TEGRA210_I2S_SLOT_CTRL + i2s->soc_data->i2s_ctrl_offset,  in tegra210_i2s_set_slot_ctrl()
 57 		     total_slots - 1);  in tegra210_i2s_set_slot_ctrl()
 58 	regmap_write(i2s->regmap, TEGRA210_I2S_TX_SLOT_CTRL + i2s->soc_data->tx_offset,  in tegra210_i2s_set_slot_ctrl()
 60 	regmap_write(i2s->regmap, TEGRA210_I2S_RX_SLOT_CTRL, rx_slot_mask);  in tegra210_i2s_set_slot_ctrl()
 70 	regmap_read(i2s->regmap, TEGRA210_I2S_CTRL + i2s->soc_data->i2s_ctrl_offset, &val);  in tegra210_i2s_set_clock_rate()
 76 	err = clk_set_rate(i2s->clk_i2s, clock_rate);  in tegra210_i2s_set_clock_rate()
 83 	if (!IS_ERR(i2s->clk_sync_input)) {  in tegra210_i2s_set_clock_rate()
 [all …]
 
 | 
| /linux/sound/pci/ca0106/ | 
| H A D | ca0106.h | 1 /* SPDX-License-Identifier: GPL-2.0-or-later */3  *  Copyright (c) 2004 James Courtier-Dutton <James@superbug.demon.co.uk>
 24 …*    Enable playback 48000 and 96000 rates. (Rates other that these do not work, even with "plug:f…
 28 …*    Correct interrupt timing. interrupt at end of period, instead of in the middle of a playback …
 31  *    Single trigger call for multi channels.
 34  *    playback periods_min=2, periods_max=8
 36  *    playback hw constraints require period_size = n * 64 bytes.
 50  *   Implement support for Line-in capture on SB Live 24bit.
 73 #define IPR_MIDI_RX_B		0x00020000	/* MIDI UART-B Receive buffer non-empty		*/
 74 #define IPR_MIDI_TX_B		0x00010000	/* MIDI UART-B Transmit buffer empty		*/
 [all …]
 
 | 
| /linux/tools/testing/selftests/alsa/conf.d/ | 
| H A D | Lenovo_ThinkPad_P1_Gen2.conf | 38 	# pcm.0.0 - device 0 subdevice 041 		PLAYBACK {
 43 				access RW_INTERLEAVED	# can be omitted - default
 44 				format S16_LE		# can be omitted - default
 45 				rate 48000		# can be omitted - default
 46 				channels 2		# can be omitted - default
 54 				channels 2
 62 				channels 2
 75 	#	PLAYBACK {
 
 | 
| /linux/sound/pci/ctxfi/ | 
| H A D | ctpcm.c | 1 // SPDX-License-Identifier: GPL-2.0-only19 /* Hardware descriptions for playback */
 97 	if (!apcm->substream)  in ct_atc_pcm_interrupt()
 100 	snd_pcm_period_elapsed(apcm->substream);  in ct_atc_pcm_interrupt()
 105 	struct ct_atc_pcm *apcm = runtime->private_data;  in ct_atc_pcm_free_substream()
 106 	struct ct_atc *atc = snd_pcm_substream_chip(apcm->substream);  in ct_atc_pcm_free_substream()
 108 	atc->pcm_release_resources(atc, apcm);  in ct_atc_pcm_free_substream()
 109 	ct_timer_instance_free(apcm->timer);  in ct_atc_pcm_free_substream()
 111 	runtime->private_data = NULL;  in ct_atc_pcm_free_substream()
 114 /* pcm playback operations */
 [all …]
 
 |