* [GIT PULL] sound updates for 5.16-rc1 @ 2021-11-03 10:24 Takashi Iwai 2021-11-03 15:04 ` pr-tracker-bot 2021-11-17 16:18 ` Kirill A. Shutemov 0 siblings, 2 replies; 14+ messages in thread From: Takashi Iwai @ 2021-11-03 10:24 UTC (permalink / raw) To: Linus Torvalds; +Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List Linus, please pull sound updates for v5.16-rc1 from: git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 ---------------------------------------------------------------- sound updates for 5.16-rc1 Lots of code development have been see in ASoC side as usual, while the continued development on memalloc helper and USB-audio low- latency support are found in the rest. Note that a few changes in the unusual places like arch/sh are included, which are a part of ASoC DAI format cleanups. ALSA core: - Continued memallloc helper updates and cleanups, now supporting non-coherent and non-contiguous pages - Fixes for races in mixer OSS layer ASoC: - A new version of the audio graph card which supports a wider range of systems - Several conversions to YAML DT bindings - Continuing cleanups to the SOF and Intel code - Move of the Cirrus DSP framework into drivers/firmware to allow for future use by non-audio DSPs - An overhaul of the cs42l42 driver, correcting many problems - DAI format terminology conversions over many drivers for cleanups - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, RT5682S, and RT9120 and Rockchip RV1126 and RK3568 USB-audio: - Continued improvements on low-latency playback - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 HD-audio: - Reduce excessive udelay() calls on Intel platforms; this should reduce the CPU load with PulseAudio - Quirks for HP and Clevo laptops FireWire: - Support for meter information on MOTU ---------------------------------------------------------------- Ajit Kumar Pandey (10): ASoC: amd: Kconfig: Select fch clock support with machine driver ASoC: amd: Add common framework to support I2S on ACP SOC ASoC: amd: acp: Add I2S support on Renoir platform ASoC: amd: acp: Add callback for machine driver on ACP ASoC: amd: acp: Add generic machine driver support for ACP cards ASoC: amd: acp: Add legacy sound card support for Chrome audio ASoC: amd: acp: Add SOF audio support on Chrome board ASoC: amd: acp: Add support for Maxim amplifier codec ASoC: amd: acp: Add support for RT5682-VS codec ASoC: amd: acp: Add acp_machine struct for renoir platform. Alejandro Tafalla (2): ASoC: max98927: Handle reset gpio when probing i2c ASoC: max98927: Add reset-gpios optional property Alexander Stein (1): ASoC: meson: t9015: Add missing AVDD-supply property Alexander Tsoy (1): ALSA: usb-audio: Add registration quirk for JBL Quantum 400 Amadeusz Sławiński (5): ASoC: core: Remove invalid snd_soc_component_set_jack call ASoC: topology: Check for dapm widget completeness ASoC: topology: Use correct device for prints ASoC: topology: Change topology device to card device ASoC: Stop dummy from overriding hwparams Andy Shevchenko (12): ASoC: Intel: bytcht_es8316: Get platform data via dev_get_platdata() ASoC: Intel: bytcht_es8316: Use temporary variable for struct device ASoC: Intel: bytcht_es8316: Switch to use gpiod_get_optional() ASoC: Intel: bytcht_es8316: Utilize dev_err_probe() to avoid log saturation ASoC: Intel: bytcr_rt5640: Get platform data via dev_get_platdata() ASoC: Intel: bytcr_rt5640: Use temporary variable for struct device ASoC: Intel: bytcr_rt5640: use devm_clk_get_optional() for mclk ASoC: Intel: bytcr_rt5640: Utilize dev_err_probe() to avoid log saturation ASoC: Intel: bytcr_rt5651: Get platform data via dev_get_platdata() ASoC: Intel: bytcr_rt5651: Use temporary variable for struct device ASoC: Intel: bytcr_rt5651: use devm_clk_get_optional() for mclk ASoC: Intel: bytcr_rt5651: Utilize dev_err_probe() to avoid log saturation AngeloGioacchino Del Regno (1): ASoC: rt5682-i2c: Use devm_clk_get_optional for optional clock Arnd Bergmann (3): ASoC: samsung: add missing "fallthrough;" ASoC: amd: acp: fix Kconfig dependencies ASoC: amd: acp: select CONFIG_SND_SOC_ACPI Bard Liao (1): ASoC: SOF: dai-intel: add SOF_DAI_INTEL_SSP_CLKCTRL_MCLK/BCLK_ES bits Bixuan Cui (1): ASoC: mediatek: mt8195: Add missing of_node_put() Brent Lu (9): ASoC: Intel: sof_rt5682: support ALC5682I-VS codec ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015p board ASoC: intel: sof_rt5682: support jsl_rt5682s_rt1015 board ASoC: intel: sof_rt5682: support jsl_rt5682s_mx98360a board ASoC: intel: sof_rt5682: update platform device name for Maxim amplifier ASoC: Intel: glk_rt5682_max98357a: support ALC5682I-VS codec ASoC: soc-acpi: add comp_ids field for machine driver matching ASoC: Intel: sof_rt5682: detect codec variant in probe function ASoC: Intel: sof_rt5682: use comp_ids to enumerate rt5682s Bud Liviu-Alexandru (1): ASoC: SOF: Make Intel IPC stream ops generic Cai Huoqing (1): ASoC: mediatek: mt8195: Make use of the helper function devm_platform_ioremap_resource() Cezary Rojewski (1): ASoC: topology: Add header payload_size verification Charles Keepax (10): ASoC: cs35l41: Fix use of an uninitialised variable ASoC: cs35l41: Use regmap_read_poll_timeout to wait for OTP boot ASoC: cs35l41: Combine adjacent register writes ASoC: cs35l41: Don't overwrite returned error code ASoC: cs35l41: Fixup the error messages ASoC: cs35l41: Fix a bunch of trivial code formating/style issues misc: cs35l41: Remove unused pdn variable ASoC: wm_adsp: Move check for control existence ASoC: wm_adsp: Switch to using wm_coeff_read_ctrl for compressed buffers ASoC: wm_adsp: Move sys_config_size to wm_adsp Chengfeng Ye (2): ALSA: gus: fix null pointer dereference on pointer block ALSA: usb-audio: fix null pointer dereference on pointer cs_desc ChiYuan Huang (4): ASoC: dt-bindings: rt9120: Add initial bindings ASoC: rt9120: Add rt9210 audio amplifier support ASoC: dt-bindings: rt9120: Add initial bindings ASoC: rt9120: Add rt9210 audio amplifier support Christian Hewitt (1): ASoC: meson: implement driver_name for snd_soc_card in meson-card-utils Christophe JAILLET (1): ASoC: rsnd: Fix an error handling path in 'rsnd_node_count()' Colin Ian King (7): ASoC: mediatek: mt8195: Fix unused initialization of pointer etdm_data ASoC: mediatek: mt8195: make array adda_dai_list static const ASoC: qdsp6: q6afe-dai: Fix spelling mistake "Fronend" -> "Frontend" ASoC: codecs: Fix spelling mistake "Unsupport" -> "Unsupported" ASoC: meson: aiu: Fix spelling mistake "Unsupport" -> "Unsupported" ASoC: rockchip: i2s-tdm: Remove call to rockchip_i2s_ch_to_io ASoC: rockchip: i2s-tdm: Fix error handling on i2s_tdm_prepare_enable_mclk failure Daniel Baluta (4): ASoC: SOF: OF: Add fw_path and tplg_path parameters ASoC: SOF: Introduce snd_sof_mailbox_read / snd_sof_mailbox_write callbacks ASoC: SOF: imx: Use newly introduced generic IPC stream ops ASoC: SOF: Introduce fragment elapsed notification API David Lin (2): ASoC: nau8825: add set_jack coponment support ASoC: nau8825: add clock management for power saving David Rhodes (3): ASoC: cs35l41: CS35L41 Boosted Smart Amplifier ASoC: cs35l41: Add bindings for CS35L41 ASoC: cs35l41: Binding fixes Derek Fang (11): ASoC: rt5682s: Add driver for ALC5682I-VS codec ASoC: dt-bindings: rt5682s: add bindings for rt5682s ASoC: rt5682s: Remove the volatile SW reset register from reg_default ASoC: rt5682s: Use dev_dbg instead of pr_debug ASoC: rt5682s: Revise the macro RT5682S_PLLB_SRC_MASK ASoC: dt-bindings: rt5682s: fix the device-tree schema errors ASoC: rt5682s: Enable ASRC auto-disable to fix pop during jack plug-in while playback ASoC: rt5682s: Fix HP noise caused by SAR mode switch when the system resumes ASoC: rt5682s: Fix hp pop produced immediately after resuming ASoC: rt5682: fix a little pop while playback ASoC: rt5682s: Downsizing the DAC volume scale Dmitry Osipenko (2): ASoC: tegra: Restore AC97 support ASoC: tegra: Set default card name for Trimslice Geert Uytterhoeven (7): ASoC: dt-bindings: wlf,wm8978: Fix I2C address in example ASoC: dt-bindings: rockchip: i2s-tdm: Fix rockchip,i2s-[rt]x-route ASoC: wm8962: Convert to devm_clk_get_optional() ASoC: dt-bindings: wlf,wm8962: Convert to json-schema ASoC: amd: acp: Wrap AMD Audio ACP components in SND_SOC_AMD_ACP_COMMON ASoC: amd: acp: SND_SOC_AMD_{LEGACY_MACH,SOF_MACH} should depend on X86 && PCI && I2C ASoC: amd: acp: SND_SOC_AMD_ACP_COMMON should depend on X86 && PCI George Song (2): ASoC: dt-bindings: max98520: add initial bindings ASoC: max98520: add max98520 audio amplifier driver Geraldo Nascimento (2): ALSA: usb-audio: fix comment reference in __uac_clock_find_source ALSA: usb-audio: disable implicit feedback sync for Behringer UFX1204 and UFX1604 Guennadi Liakhovetski (1): ASoC: SOF: add error handling to snd_sof_ipc_msg_data() Guenter Roeck (1): spi: tegra20-slink: Declare runtime suspend and resume functions conditionally Guo Zhengkui (1): ASoC: wm_adsp: remove a repeated including Gustavo A. R. Silva (1): ALSA: virtio: Replace zero-length array with flexible-array member Hans de Goede (6): ASoC: es8316: Use IRQF_NO_AUTOEN when requesting the IRQ ASoC: rt5651: Use IRQF_NO_AUTOEN when requesting the IRQ ASoC: nau8824: Fix NAU8824_JACK_LOGIC define ASoC: nau8824: Add DMI quirk mechanism for active-high jack-detect ASoC: nau8824: Add a nau8824_components() helper ASoC: Intel: cht_bsw_nau8824: Set card.components string Jack Yu (2): ASoC: rt1011: add i2s reference control for rt1011 ASoC: rt5682: move clk related code to rt5682_i2c_probe Jason Ormes (1): ALSA: usb-audio: Line6 HX-Stomp XL USB_ID for 48k-fixed quirk Jerome Brunet (2): ASoC: meson: axg-card: make links nonatomic ASoC: meson: axg-tdm-interface: manage formatters in trigger Jiapeng Chong (1): ASoC: rt5682s: make rt5682s_aif2_dai_ops and rt5682s_soc_component_dev Johan Hovold (3): ALSA: 6fire: fix control and bulk message timeouts ALSA: line6: fix control and interrupt message timeouts ALSA: ua101: fix division by zero at probe John Keeping (1): ASoC: doc: update codec example code Johnathon Clark (1): ALSA: hda/realtek: Fix mic mute LED for the HP Spectre x360 14 Julian Braha (4): ASoC: fix unmet dependency on GPIOLIB ASoC: fix unmet dependency on GPIOLIB for SND_SOC_MAX98357A ASoC: fix unmet dependencies on GPIOLIB for SND_SOC_DMIC ASoC: fix unmet dependencies on GPIOLIB for SND_SOC_RT1015P Krzysztof Kozlowski (1): ASoC: dt-bindings: rt5682s: correct several errors Kunihiko Hayashi (1): ASoC: dt-bindings: uniphier: Add description of each port number Kuninori Morimoto (21): ASoC: test-component: add Test Component YAML bindings ASoC: test-component: add Test Component for Sound debug/test ASoC: simple-card-utils: add asoc_graph_is_ports0() ASoC: simple-card-utils: add codec2codec support ASoC: add Audio Graph Card2 driver ASoC: audio-graph-card2: add Multi CPU/Codec support ASoC: audio-graph-card2: add DPCM support ASoC: audio-graph-card2: add Codec2Codec support ASoC: add Audio Graph Card2 Yaml Document ASoC: add Audio Graph Card2 Custom Sample ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Single) ASoC: audio-graph-card2-custom-sample.dtsi: add Sample DT for Normal (Nulti) ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Single) ASoC: audio-graph-card2-custom-sample.dtsi: add DPCM sample (Multi) ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Single) ASoC: audio-graph-card2-custom-sample.dtsi: add Codec2Codec sample (Multi) ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step1 ASoC: soc-pcm: tidyup soc_pcm_hw_clean() - step2 ASoC: soc-component: add snd_soc_component_is_codec() ASoC: soc-core: tidyup empty function ASoC: soc-core: accept zero format at snd_soc_runtime_set_dai_fmt() Len Baker (1): ALSA: usx2y: Prefer struct_size over open coded arithmetic Malik_Hsu (1): ASoC: Intel: sof_rt5682: Add support for max98360a speaker amp Marc Herbert (1): ASoC: SOF: prefix some terse and cryptic dev_dbg() with __func__ Mark Brown (46): ASoC: atmel: Convert to new style DAI format definitions ASoC: au1x: Convert to modern terminology for DAI clocking ASoC: 88pm860x: Update to modern clocking terminology ASoC: ab8500: Update to modern clocking terminology ASoC: Drop mistakenly applied SPI patch ASoC: cros_ec_codec: Use modern ASoC DAI format terminology ASoC: eureka-tlv320: Update to modern clocking terminology ASoC: fsl-asoc-card: Update to modern clocking terminology ASoC: fsl-audmix: Update to modern clocking terminology ASoC: fsl-esai: Update to modern clocking terminology ASoC: fsl-mqs: Update to modern clocking terminology ASoC: fsl_sai: Update to modern clocking terminology ASoC: fsl_ssi: Update to modern clocking terminology ASoC: imx-audmix: Update to modern clocking terminology ASoC: imx-card: Update to modern clocking terminology ASoC: imx-es8328: Update to modern clocking terminology ASoC: imx-hdmi: Update to modern clocking terminology ASoC: imx-rpmsg: Update to modern clocking terminology ASoC: imx-sgtl5000: Update to modern clocking terminology ASoC: mpc8610_hpcd: Update to modern clocking terminology ASoC: pl1022_ds: Update to modern clocking terminology ASoC: pl1022_rdk: Update to modern clocking terminology ASoC: zl38060: Update to modern clocking terminology ASoC: ak4118: Update to modern clocking terminology ASoC: ak4104: Update to modern clocking terminology ASoC: alc5632: Use modern ASoC DAI format terminology ASoC: ak4642: Use modern ASoC DAI format terminology ASoC: ep93xx: Convert to modern clocking terminology ASoC: ad1836: Update to modern clocking terminology ASoC: adau1372: Update to modern clocking terminology ASoC: adau1373: Update to modern clocking terminology ASoC: adau1701: Update to modern clocking terminology ASoC: adau17x1: Update to modern clocking terminology ASoC: adau1977: Update to modern clocking terminology ASoC: adav80x: Update to modern clocking terminology ASoC: ad193x: Update to modern clocking terminology ASoC: cpcap: Use modern ASoC DAI format terminology ASoC: bcm: Convert to modern clocking terminology ASoC: alc5623: Use modern ASoC DAI format terminology ASoC: ak4671: Use modern ASoC DAI format terminology ASoC: dwc-i2s: Update to modern clocking terminology ASoC: ak5558: Use modern ASoC DAI format terminology ASoC: ak4458: Use modern ASoC DAI format terminology sh: Use modern ASoC DAI format terminology ASoC: rt9120: Drop rt9210 audio amplifier support ASoC: topology: Fix stub for snd_soc_tplg_component_remove() Masahiro Yamada (1): ASoC: ti: rename CONFIG_SND_SOC_DM365_VOICE_CODEC_MODULE Masanari Iida (1): ASoC: q6afe: q6asm: Fix typos in qcom,q6afe.txt and qcom,q6asm.txt Maxime Ripard (4): ASoC: dt-bindings: Add WM8978 Binding ASoC: dt-bindings: Convert Bluetooth SCO Link binding to a schema ASoC: dt-bindings: Convert SPDIF Transmitter binding to a schema ASoC: dt-bindings: Convert Simple Amplifier binding to a schema Nathan Chancellor (1): ASoC: qdsp6: audioreach: Fix clang -Wimplicit-fallthrough Nicolas Frattaroli (5): ASoC: rockchip: add support for i2s-tdm controller ASoC: dt-bindings: rockchip: add i2s-tdm bindings ASoC: rockchip: i2s-tdm: Strip out direct CRU use ASoC: dt-bindings: rockchip: i2s-tdm: Drop rockchip,cru property ASoC: rockchip: i2s-tdm: Fix refcount test Pavel Skripkin (1): ALSA: mixer: fix deadlock in snd_mixer_oss_set_volume Peter Ujfalusi (56): ASoC: soc-topology: Move template info print soc_tplg_dapm_widget_create() ASoC: SOF: Handle control change notification from firmware ASoC: SOF: intel: Do no initialize resindex_dma_base ASoC: SOF: Drop resindex_dma_base, dma_engine, dma_size from sof_dev_desc ASoC: SOF: Intel: hda-dsp: Declare locally used functions as static ASoC: SOF: Intel: hda: Remove boot_firmware skl and iccmax_icl declarations ASoC: SOF: Intel: hda: Relocate inline definitions from hda.h to hda.c for sdw ASoC: SOF: loader: load_firmware callback is mandatory, treat it like that ASoC: SOF: Intel: bdw: Set the mailbox offset directly in bdw_probe ASoC: SOF: ipc: Remove snd_sof_dsp_mailbox_init() ASoC: SOF: imx: Do not initialize the snd_sof_dsp_ops.read64 ASoC: SOF: loader: No need to export snd_sof_fw_parse_ext_data() ASoC: SOF: core: Do not use 'bar' as parameter for block_read/write ASoC: SOF: debug: Add generic API and ops for DSP regions ASoC: SOF: imx: Provide debugfs_add_region_item ops for core ASoC: SOF: Intel: Provide debugfs_add_region_item ops for core ASoC: SOF: loader: Use the generic ops for region debugfs handling ASoC: SOF: debug: No need to export the snd_sof_debugfs_io_item() ASoC: SOF: ipc: Add probe message logging to ipc_log_header() ASoC: SOF: pcm: Remove non existent CONFIG_SND_SOC_SOF_COMPRESS reference ASoC: SOF: probe: Merge and clean up the probe and compress files ASoC: SOF: Intel: Rename hda-compress.c to hda-probes.c ASoC: SOF: sof-probes: Correct the function names used for snd_soc_cdai_ops ASoC: SOF: core: Move probe work related code under a single if () branch ASoC: SOF: ipc: Clarify the parameter name for ipc_trace_message() ASoC: SOF: ipc: Print 0x prefix for errors in ipc_trace/stream_message() ASoC: SOF: ipc: Remove redundant error check from sof_ipc_tx_message_unlocked ASoC: SOF: Rename sof_arch_ops to dsp_arch_ops ASoC: soc-component: Convert the mark_module to void* ASoC: compress/component: Use module_get_when_open/put_when_close for cstream ASoC: SOF: Remove struct sof_ops_table and sof_get_ops() macro ASoC: Intel: boards: Update to modern clocking terminology ASoC: SOF: Intel: hda-stream: Print stream name on STREAM_SD_OFFSET timeout ASoC: SOF: ipc: Make the error prints consistent in tx_wait_done() ASoC: SOF: Change SND_SOC_SOF_TOPLEVEL from config to menuconfig ASoC: SOF: debug: Swap the dsp_dump and ipc_dump sequence for fw_exception ASoC: SOF: ipc and dsp dump: Add markers for better visibility ASoC: SOF: Print the dbg_dump and ipc_dump once to reduce kernel log noise ASoC: SOF: loader: Print the DSP dump if boot fails ASoC: SOF: intel: atom: No need to do a DSP dump in atom_run() ASoC: SOF: debug/ops: Move the IPC and DSP dump functions out from the header ASoC: SOF: debug: Add SOF_DBG_DUMP_OPTIONAL flag for DSP dumping ASoC: SOF: intel: hda-loader: Use snd_sof_dsp_dbg_dump() for DSP dump ASoC: SOF: Drop SOF_DBG_DUMP_FORCE_ERR_LEVEL and sof_dev_dbg_or_err ASoC: SOF: debug: Print out the fw_state along with the DSP dump ASoC: SOF: ipc: Re-enable dumps after successful IPC tx ASoC: SOF: ops: Force DSP panic dumps to be printed ASoC: SOF: Introduce macro to set the firmware state ASoC: SOF: intel: hda: Drop 'error' prefix from error dump functions ASoC: SOF: core: Clean up snd_sof_get_status() prints ASoC: SOF: loader: Drop SOF_DBG_DUMP_REGS flag when firmware start fails ASoC: SOF: Intel: hda-loader: Drop SOF_DBG_DUMP_REGS flag from dbg_dump calls ASoC: SOF: Intel: hda: Dump registers and stack when SOF_DBG_DUMP_REGS is set ASoC: SOF: pipelines: Harmonize all functions to use struct snd_sof_dev ASoC: rt1011: Fix 'I2S Reference' enum control caused error ASoC: rt1011: Fix 'I2S Reference' enum control Pierre-Louis Bossart (32): ASoC: amd: acp: declare and add prefix to 'bt_uart_enable' symbol ASoC: SOF: core: allow module parameter to override dma trace Kconfig ALSA: hda: hdac_stream: fix potential locking issue in snd_hdac_stream_assign() ALSA: hda: hdac_ext_stream: fix potential locking issues ASoC: SOF: Intel: hda-dai: fix potential locking issue ASoC: SOF: imx: add header file for ops ASoC: Intel: soc-acpi: apl/glk/tgl: add entry for devices based on ES8336 codec ALSA: intel-dsp-config: add quirk for APL/GLK/TGL devices based on ES8336 codec ASoC: Intel: add machine driver for SOF+ES8336 ASoC: Intel: soc-acpi: add missing quirk for TGL SDCA single amp ASoC: Intel: sof_sdw: add missing quirk for Dell SKU 0A45 ASoC: SOF: dai: mirror group_id definition added in firmware ASoC: SOF: dai: include new flags for DAI_CONFIG ASoC: SOF: Intel: hda: add new flags for DAI_CONFIG ASoC: SOF: Intel: hda-dai: improve SSP DAI handling for dynamic pipelines ASoC: SOF: topology: show clks_control value in dynamic debug ASoC: SOF: topology: allow for dynamic pipelines override for debug ASoC: SOF: core: debug: force all processing on primary core ASoC: soc-pcm: restore mixer functionality ASoC: topology: handle endianness warning ASoC: rt5682s: use 'static' qualifier ASoC: nau8821: fix kernel-doc ASoC: nau8821: clarify out-of-bounds check ASoC: mediatek: remove unnecessary initialization ASoC: mediatek: mt8195: rename shadowed array ASoC: mediatek: mt8195: fix return value ASoC: rockchip: i2s_tdm: improve return value handling ASoC: Intel: soc-acpi: add entry for ESSX8336 on JSL ASoC: es8316: add support for ESSX8336 ACPI _HID ASoC: Intel: soc-acpi-byt: shrink tables using compatible IDs ASoC: Intel: soc-acpi-cht: shrink tables using compatible IDs ASoC: Intel: soc-acpi: use const for all uses of snd_soc_acpi_codecs Rander Wang (2): ASoC: SOF: control: fix a typo in put operations for kcontrol ASoC: SOF: prepare code to allocate IPC messages in fw_ready Randy Dunlap (1): ALSA: ISA: not for M68K Ranjani Sridharan (16): ASoC: SOF: compress: move and export sof_probe_compr_ops ASoC: SOF: pm: fix a stale comment ASoC: topology: change the complete op in snd_soc_tplg_ops to return int ASoC: SOF: control: Add access field in struct snd_sof_control ASoC: SOF: topology: Add new token for dynamic pipeline ASoC: SOF: sof-audio: add helpers for widgets, kcontrols and dai config set up AsoC: dapm: export a couple of functions ASoC: SOF: Add new fields to snd_sof_route ASoC: SOF: restore kcontrols for widget during set up ASoC: SOF: Don't set up widgets during topology parsing ASoC: SOF: Introduce widget use_count ASoC: SOF: Intel: hda: make sure DAI widget is set up before IPC ASoC: SOF: Add support for dynamic pipelines ASoC: SOF: topology: Add kernel parameter for topology verification ASoC: SOF: topology: return error if sof_connect_dai_widget() fails ASoC: SOF: topology: do not power down primary core during topology removal Richard Fitzgerald (18): ASoC: cs42l42: Don't reconfigure the PLL while it is running ASoC: cs42l42: Always configure both ASP TX channels ASoC: cs42l42: Correct some register default values ASoC: cs42l42: Don't set defaults for volatile registers ASoC: cs42l42: Defer probe if request_threaded_irq() returns EPROBE_DEFER ASoC: cs42l42: Don't claim to support 192k ASoC: cs42l42: Use PLL for SCLK > 12.288MHz ASoC: cs42l42: Allow time for HP/ADC to power-up after enable ASoC: cs42l42: Set correct SRC MCLK ASoC: cs42l42: Mark OSC_SWITCH_STATUS register volatile ASoC: cs42l42: Fix WARN in remove() if running without an interrupt ASoC: cs42l42: Always enable TS_PLUG and TS_UNPLUG interrupts ASoC: cs42l42: Remove unused runtime_suspend/runtime_resume callbacks ASoC: cs42l42: Prevent NULL pointer deref in interrupt handler ASoC: cs42l42: Reset and power-down on remove() and failed probe() ASoC: cs42l42: free_irq() before powering-down on probe() fail ASoC: dt-bindings: cs42l42: Correct description of ts-inv ASoC: cs42l42: Correct configuring of switch inversion from ts-inv Rikard Falkeborn (9): ASoC: fsl: Constify static snd_soc_ops ASoC: tegra: Constify static snd_soc_dai_ops structs ASoC: ti: Constify static snd_soc_ops ASoC: ux500: mop500: Constify static snd_soc_ops ASoC: tegra: Constify static snd_soc_ops ASoC: qcom: apq8096: Constify static snd_soc_ops ASoC: amd: acp-rt5645: Constify static snd_soc_ops ASoC: mediatek: Constify static snd_soc_ops ASoC: amd: vangogh: constify static struct snd_soc_dai_ops Sameer Pujar (14): ASoC: Add json-schema documentation for sound-name-prefix ASoC: Use schema reference for sound-name-prefix ASoC: Remove name-prefix.txt ASoC: soc-pcm: Don't reconnect an already active BE ASoC: simple-card-utils: Increase maximum DAI links limit to 512 ASoC: audio-graph: Fixup CPU endpoint hw_params in a BE<->BE link ASoC: dt-bindings: tegra: Few more Tegra210 AHUB modules ASoC: tegra: Add routes for few AHUB modules ASoC: tegra: Add Tegra210 based MVC driver ASoC: tegra: Add Tegra210 based SFC driver ASoC: tegra: Add Tegra210 based AMX driver ASoC: tegra: Add Tegra210 based ADX driver ASoC: tegra: Add Tegra210 based Mixer driver ASoC: Fix warning related to 'sound-name-prefix' binding Sebastian Andrzej Siewior (1): ASoC: mediatek: mt8195: Remove unsued irqs_lock. Seven Lee (1): ASoC: nau8821: new driver Shengjiu Wang (3): ASoC: fsl_rpmsg: add soc specific data structure ASoC: fsl_spdif: Add support for i.MX8ULP ASoC: fsl_rpmsg: Add rpmsg audio support for i.MX8ULP Simon Trimmer (14): ASoC: wm_adsp: Remove use of snd_ctl_elem_type_t ASoC: wm_adsp: Cancel ongoing work when removing controls ASoC: wm_adsp: Rename generic DSP support ASoC: wm_adsp: Introduce cs_dsp logging macros ASoC: wm_adsp: Separate some ASoC and generic functions ASoC: wm_adsp: Split DSP power operations into helper functions ASoC: wm_adsp: Separate generic cs_dsp_coeff_ctl handling ASoC: wm_adsp: Move check of dsp->running to better place ASoC: wm_adsp: Pass firmware names as parameters when starting DSP core ASoC: wm_adsp: move firmware loading to client ASoC: wm_adsp: Split out struct cs_dsp from struct wm_adsp ASoC: wm_adsp: Separate wm_adsp specifics in cs_dsp_client_ops firmware: cs_dsp: add driver to support firmware loading on Cirrus Logic DSPs ASoC: soc-component: Remove conditional definition of debugfs data members Srinivas Kandagatla (25): soc: dt-bindings: qcom: apr: convert to yaml soc: dt-bindings: qcom: apr: deprecate qcom,apr-domain property soc: qcom: apr: make code more reuseable soc: dt-bindings: qcom: add gpr bindings soc: qcom: apr: Add GPR support ASoC: soc-component: improve error reporting for register access ASoC: qcom: sm8250: add support for TX and RX Macro dais ASoC: qcom: sm8250: Add Jack support ASoC: dt-bindings: move LPASS dai related bindings out of q6afe ASoC: dt-bindings: move LPASS clocks related bindings out of q6afe ASoC: dt-bindings: rename q6afe.h to q6dsp-lpass-ports.h ASoC: qdsp6: q6afe-dai: move lpass audio ports to common file ASoC: qdsp6: q6afe-clocks: move audio-clocks to common file ASoC: dt-bindings: q6dsp: add q6apm-lpass-dai compatible ASoC: dt-bindings: lpass-clocks: add q6prm clocks compatible ASoC: dt-bindings: add q6apm digital audio stream bindings ASoC: qdsp6: audioreach: add basic pkt alloc support ASoC: qdsp6: audioreach: add q6apm support ASoC: qdsp6: audioreach: add module configuration command helpers ASoC: qdsp6: audioreach: add Kconfig and Makefile ASoC: qdsp6: audioreach: add topology support ASoC: qdsp6: audioreach: add q6apm-dai support ASoC: qdsp6: audioreach: add q6apm lpass dai support ASoC: qdsp6: audioreach: add q6prm support ASoC: qdsp6: audioreach: add support for q6prm-clocks Srinivasa Rao Mandadapu (7): ASoC: dt-bindings: lpass: add binding headers for digital codecs ASoC: dt-bindings: lpass: add binding headers for digital codecs ASoC: qcom: Add compatible names in va,wsa,rx,tx codec drivers for sc7280 ASoC: qcom: dt-bindings: Add compatible names for lpass sc7280 digital codecs ASoC: codecs: tx-macro: Enable tx top soundwire mic clock ASoC: codecs: tx-macro: Update tx default values ASoC: codecs: Change bulk clock voting to optional voting in digital codecs Stefan Binding (2): ASoC: cs42l42: Implement Manual Type detection as fallback ASoC: cs42l42: Use two thresholds and increased wait time for manual type detection Stephan Gerhold (1): ASoC: qcom: common: Respect status = "disabled" on DAI link nodes Sugar Zhang (9): ASoC: rockchip: Add support for rv1126 pdm ASoC: dt-bindings: rockchip: Add binding for rv1126 pdm ASoC: rockchip: pdm: Add support for rk3568 pdm ASoC: dt-bindings: rockchip: Add binding for rk3568 pdm ASoC: rockchip: pdm: Add support for path map ASoC: dt-bindings: rockchip: pdm: Document property 'rockchip,path-map' ASoC: dt-bindings: rockchip: Convert pdm bindings to yaml ASoC: dmaengine: Introduce module option prealloc_buffer_size_kbytes ASoC: rockchip: Use generic dmaengine code Takashi Iwai (29): ALSA: hda: Reduce udelay() at SKL+ position reporting ALSA: hda: Use position buffer for SKL+ again ALSA: usb-audio: Restrict rates for the shared clocks ALSA: usb-audio: Fix possible race at sync of urb completions ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback ALSA: usb-audio: Disable low-latency playback for free-wheel mode ALSA: usb-audio: Disable low-latency mode for implicit feedback sync ALSA: usb-audio: Check available frames for the next packet size ALSA: usb-audio: Add spinlock to stop_urbs() ALSA: usb-audio: Improved lowlatency playback support ALSA: usb-audio: Avoid killing in-flight URBs during draining ALSA: usb-audio: Fix packet size calculation regression ALSA: pcm: Add more disconnection checks at file ops ALSA: usb-audio: Pass JOINT_DUPLEX info flag for implicit fb streams ALSA: usb-audio: Less restriction for low-latency playback mode ALSA: usb-audio: Downgrade error message in get_ctl_value_v2() ALSA: usb-audio: Drop superfluous error message after disconnection ALSA: usb-audio: Initialize every feature unit once at probe time ALSA: pcm: Unify snd_pcm_delay() and snd_pcm_hwsync() ALSA: memalloc: Support for non-contiguous page allocation ALSA: memalloc: Support for non-coherent page allocation ALSA: memalloc: Convert x86 SG-buffer handling with non-contiguous type ALSA: firewire: Fix C++ style comments in uapi header ALSA: uapi: Fix a C++ style comment in asound.h ALSA: memalloc: Drop superfluous snd_dma_buffer_sync() declaration ALSA: memalloc: Fix a typo in snd_dma_buffer_sync() description ALSA: mixer: oss: Fix racy access to slots ALSA: hda/realtek: Add a quirk for HP OMEN 15 mute LED ALSA: usb-audio: Add quirk for Audient iD14 Takashi Sakamoto (16): ALSA: firewire-motu: add message parser to gather meter information in register DSP model ALSA: firewire-motu: add message parser for meter information in command DSP model ALSA: firewire-motu: add ioctl command to read cached hardware meter ALSA: firewire-motu: parse messages for mixer source parameters in register-DSP model ALSA: firewire-motu: parse messages for mixer output parameters in register DSP model ALSA: firewire-motu: parse messages for output parameters in register DSP model ALSA: firewire-motu: parse messages for line input parameters in register DSP model ALSA: firewire-motu: parse messages for input parameters in register DSP model ALSA: firewire-motu: add ioctl command to read cached parameters in register DSP model ALSA: firewire-motu: queue event for parameter change in register DSP model ALSA: firewire-motu: notify event for parameter change in register DSP model ALSA: firewire-motu: fix null pointer dereference when polling hwdep character device ALSA: firewire-motu: refine parser for meter information in register DSP models ALSA: firewire-motu: export meter information to userspace as float value ALSA: oxfw: fix functional regression for Mackie Onyx 1640i in v5.14 or later ALSA: firewire-motu: remove TODO for interaction with userspace about control message Tim Crawford (1): ALSA: hda/realtek: Add quirk for Clevo PC70HS Trevor Wu (7): ASoC: mt8195: remove unnecessary CONFIG_PM ASoC: mediatek: mt6359: Fix unexpected error in bind/unbind flow ASoC: mediatek: mt8195: add missing of_node_put in probe ASoC: mediatek: mt8195: move of_node_put to remove function ASoC: mediatek: mt8195: update audsys clock parent name ASoC: mediatek: mt8195: add machine driver with mt6359, rt1011 and rt5682 ASoC: mediatek: mt8195: add mt8195-mt6359-rt1011-rt5682 bindings document Tzung-Bi Shih (2): ASoC: dt-bindings: mediatek: mt8192: re-add audio afe document ASoC: dt-bindings: mediatek: rename reset controller headers in DT example Uwe Kleine-König (5): ASoC: tlv320aic32x4: Make aic32x4_remove() return void ASoc: wm8731: Drop empty spi_driver remove callback ASoc: wm8900: Drop empty spi_driver remove callback ASoC: cs35l41: Make cs35l41_remove() return void ASoC: tlv320aic3x: Make aic3x_remove() return void Vijendar Mukunda (16): ASoc: amd: create platform device for VG machine driver ASoC: amd: add vangogh machine driver ASoC: amd: enable vangogh platform machine driver build ASoC: amd: add Yellow Carp ACP6x IP register header ASoC: amd: add Yellow Carp ACP PCI driver ASoC: amd: add acp6x init/de-init functions ASoC: amd: add platform devices for acp6x pdm driver and dmic driver ASoC: amd: add acp6x pdm platform driver ASoC: amd: add acp6x irq handler ASoC: amd: add acp6x pdm driver dma ops ASoC: amd: add acp6x pci driver pm ops ASoC: amd: add acp6x pdm driver pm ops ASoC: amd: enable Yellow carp acp6x drivers build ASoC: amd: create platform device for acp6x machine driver ASoC: amd: add YC machine driver using dmic ASoC: amd: enable Yellow Carp platform machine driver build Vincent Knecht (1): ASoC: codecs: tfa989x: Add support for tfa9897 RCV bit Viorel Suman (2): ASoC: SOF: imx8m: add SAI1 info ASoC: fsl_spdif: implement bypass mode from in to out Vitaly Rodionov (1): ASoC: cs42l42: Minor fix all errors reported by checkpatch.pl script William Overton (1): ALSA: usb-audio: Add support for the Pioneer DJM 750MK2 Mixer/Soundcard Wolfram Sang (1): ASoC: codecs: max98390: simplify getting the adapter of a client Yang Yingliang (1): ASoC: amd: acp: Fix return value check in acp_machine_select() Yassine Oudjana (1): ASoC: wcd9335: Use correct version to initialize Class H gearhead (1): ASoC: pcm5102a: increase rate from 192k to 384k --- .../devicetree/bindings/soc/qcom/qcom,apr.txt | 134 - .../devicetree/bindings/soc/qcom/qcom,apr.yaml | 177 + .../devicetree/bindings/sound/amlogic,t9015.yaml | 6 + .../bindings/sound/audio-graph-card2.yaml | 57 + Documentation/devicetree/bindings/sound/bt-sco.txt | 13 - .../devicetree/bindings/sound/cirrus,cs35l41.yaml | 157 + .../devicetree/bindings/sound/cs42l42.txt | 13 +- .../devicetree/bindings/sound/linux,bt-sco.yaml | 38 + .../devicetree/bindings/sound/linux,spdif-dit.yaml | 32 + .../devicetree/bindings/sound/max9892x.txt | 3 + .../devicetree/bindings/sound/maxim,max98520.yaml | 36 + .../devicetree/bindings/sound/mt8192-afe-pcm.yaml | 100 + .../sound/mt8195-mt6359-rt1011-rt5682.yaml | 47 + .../devicetree/bindings/sound/name-prefix.txt | 24 - .../devicetree/bindings/sound/name-prefix.yaml | 21 + .../devicetree/bindings/sound/nau8821.txt | 55 + .../bindings/sound/nvidia,tegra186-dspk.yaml | 9 +- .../bindings/sound/nvidia,tegra210-adx.yaml | 76 + .../bindings/sound/nvidia,tegra210-ahub.yaml | 20 + .../bindings/sound/nvidia,tegra210-amx.yaml | 76 + .../bindings/sound/nvidia,tegra210-dmic.yaml | 9 +- .../bindings/sound/nvidia,tegra210-i2s.yaml | 9 +- .../bindings/sound/nvidia,tegra210-mixer.yaml | 74 + .../bindings/sound/nvidia,tegra210-mvc.yaml | 76 + .../bindings/sound/nvidia,tegra210-sfc.yaml | 73 + .../devicetree/bindings/sound/nxp,tfa989x.yaml | 9 +- .../bindings/sound/qcom,lpass-rx-macro.yaml | 4 +- .../bindings/sound/qcom,lpass-tx-macro.yaml | 4 +- .../bindings/sound/qcom,lpass-va-macro.yaml | 4 +- .../bindings/sound/qcom,lpass-wsa-macro.yaml | 4 +- .../devicetree/bindings/sound/qcom,q6afe.txt | 181 - .../devicetree/bindings/sound/qcom,q6apm-dai.yaml | 53 + .../devicetree/bindings/sound/qcom,q6asm.txt | 2 +- .../bindings/sound/qcom,q6dsp-lpass-clocks.yaml | 77 + .../bindings/sound/qcom,q6dsp-lpass-ports.yaml | 205 ++ .../devicetree/bindings/sound/realtek,rt5682s.yaml | 117 + .../devicetree/bindings/sound/richtek,rt9120.yaml | 59 + .../bindings/sound/rockchip,i2s-tdm.yaml | 182 + .../devicetree/bindings/sound/rockchip,pdm.txt | 46 - .../devicetree/bindings/sound/rockchip,pdm.yaml | 120 + Documentation/devicetree/bindings/sound/rt5659.txt | 2 +- .../devicetree/bindings/sound/simple-amplifier.txt | 17 - .../bindings/sound/simple-audio-amplifier.yaml | 45 + .../bindings/sound/simple-audio-mux.yaml | 9 +- .../bindings/sound/socionext,uniphier-aio.yaml | 22 +- .../bindings/sound/socionext,uniphier-evea.yaml | 6 +- .../bindings/sound/spdif-transmitter.txt | 10 - .../devicetree/bindings/sound/test-component.yaml | 33 + .../devicetree/bindings/sound/wlf,wm8962.yaml | 118 + .../devicetree/bindings/sound/wlf,wm8978.yaml | 58 + Documentation/devicetree/bindings/sound/wm8962.txt | 43 - Documentation/sound/alsa-configuration.rst | 9 + Documentation/sound/soc/codec.rst | 8 +- MAINTAINERS | 18 + arch/sh/boards/mach-ecovec24/setup.c | 2 +- arch/sh/boards/mach-se/7724/setup.c | 2 +- drivers/firmware/Kconfig | 1 + drivers/firmware/Makefile | 1 + drivers/firmware/cirrus/Kconfig | 5 + drivers/firmware/cirrus/Makefile | 3 + drivers/firmware/cirrus/cs_dsp.c | 3109 +++++++++++++++++ drivers/soc/qcom/Kconfig | 2 +- drivers/soc/qcom/apr.c | 287 +- include/dt-bindings/soc/qcom,gpr.h | 19 + include/dt-bindings/sound/qcom,lpass.h | 31 + include/dt-bindings/sound/qcom,q6afe.h | 203 +- include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h | 208 ++ include/linux/firmware/cirrus/cs_dsp.h | 242 ++ .../linux/firmware/cirrus}/wmfw.h | 8 +- include/linux/soc/qcom/apr.h | 70 +- include/sound/cs35l41.h | 34 + include/sound/graph_card.h | 21 + include/sound/hdaudio_ext.h | 2 + include/sound/memalloc.h | 58 +- include/sound/rt5682s.h | 48 + include/sound/simple_card_utils.h | 6 +- include/sound/soc-acpi.h | 3 + include/sound/soc-component.h | 21 +- include/sound/soc-dpcm.h | 1 + include/sound/soc-topology.h | 5 +- include/sound/sof.h | 5 - include/sound/sof/dai-intel.h | 4 + include/sound/sof/dai.h | 10 +- include/uapi/sound/asound.h | 2 +- include/uapi/sound/firewire.h | 150 + include/uapi/sound/snd_ar_tokens.h | 208 ++ include/uapi/sound/sof/tokens.h | 1 + sound/core/Makefile | 3 +- sound/core/memalloc.c | 207 +- sound/core/memalloc_local.h | 1 + sound/core/oss/mixer_oss.c | 44 +- sound/core/pcm_compat.c | 4 + sound/core/pcm_lib.c | 5 + sound/core/pcm_local.h | 7 + sound/core/pcm_memory.c | 13 +- sound/core/pcm_native.c | 66 +- sound/core/sgbuf.c | 201 -- sound/firewire/motu/Makefile | 3 +- sound/firewire/motu/amdtp-motu.c | 11 +- .../motu/motu-command-dsp-message-parser.c | 181 + sound/firewire/motu/motu-hwdep.c | 119 +- sound/firewire/motu/motu-protocol-v2.c | 14 +- sound/firewire/motu/motu-protocol-v3.c | 14 +- .../motu/motu-register-dsp-message-parser.c | 420 +++ sound/firewire/motu/motu-stream.c | 10 + sound/firewire/motu/motu.c | 10 + sound/firewire/motu/motu.h | 23 + sound/firewire/oxfw/oxfw-stream.c | 7 +- sound/firewire/oxfw/oxfw.c | 8 + sound/firewire/oxfw/oxfw.h | 5 + sound/hda/ext/hdac_ext_stream.c | 46 +- sound/hda/hdac_stream.c | 4 +- sound/hda/intel-dsp-config.c | 22 +- sound/isa/Kconfig | 2 +- sound/isa/gus/gus_dma.c | 2 + sound/pci/Kconfig | 1 + sound/pci/hda/hda_intel.c | 49 +- sound/pci/hda/patch_realtek.c | 19 + sound/soc/amd/Kconfig | 40 +- sound/soc/amd/Makefile | 2 + sound/soc/amd/acp-da7219-max98357a.c | 6 +- sound/soc/amd/acp-pcm-dma.c | 6 +- sound/soc/amd/acp-rt5645.c | 2 +- sound/soc/amd/acp.h | 2 + sound/soc/amd/acp/Kconfig | 61 + sound/soc/amd/acp/Makefile | 26 + sound/soc/amd/acp/acp-i2s.c | 340 ++ sound/soc/amd/acp/acp-legacy-mach.c | 104 + sound/soc/amd/acp/acp-mach-common.c | 600 ++++ sound/soc/amd/acp/acp-mach.h | 57 + sound/soc/amd/acp/acp-platform.c | 315 ++ sound/soc/amd/acp/acp-renoir.c | 163 + sound/soc/amd/acp/acp-sof-mach.c | 131 + sound/soc/amd/acp/amd.h | 145 + sound/soc/amd/acp/chip_offset_byte.h | 76 + sound/soc/amd/vangogh/Makefile | 2 + sound/soc/amd/vangogh/acp5x-i2s.c | 2 +- sound/soc/amd/vangogh/acp5x-mach.c | 386 +++ sound/soc/amd/vangogh/acp5x.h | 2 +- sound/soc/amd/vangogh/pci-acp5x.c | 3 + sound/soc/amd/yc/Makefile | 9 + sound/soc/amd/yc/acp6x-mach.c | 194 ++ sound/soc/amd/yc/acp6x-pdm-dma.c | 448 +++ sound/soc/amd/yc/acp6x.h | 107 + sound/soc/amd/yc/acp6x_chip_offset_byte.h | 444 +++ sound/soc/amd/yc/pci-acp6x.c | 338 ++ sound/soc/atmel/atmel-i2s.c | 6 +- sound/soc/atmel/atmel_ssc_dai.c | 26 +- sound/soc/atmel/atmel_wm8904.c | 2 +- sound/soc/atmel/mchp-i2s-mcc.c | 10 +- sound/soc/atmel/mikroe-proto.c | 4 +- sound/soc/atmel/sam9g20_wm8731.c | 2 +- sound/soc/atmel/sam9x5_wm8731.c | 2 +- sound/soc/atmel/tse850-pcm5142.c | 2 +- sound/soc/au1x/db1200.c | 6 +- sound/soc/au1x/i2sc.c | 6 +- sound/soc/au1x/psc-i2s.c | 10 +- sound/soc/bcm/bcm2835-i2s.c | 56 +- sound/soc/bcm/cygnus-ssp.c | 6 +- sound/soc/cirrus/edb93xx.c | 2 +- sound/soc/cirrus/ep93xx-i2s.c | 10 +- sound/soc/cirrus/snappercl15.c | 2 +- sound/soc/codecs/88pm860x-codec.c | 18 +- sound/soc/codecs/Kconfig | 45 + sound/soc/codecs/Makefile | 12 + sound/soc/codecs/ab8500-codec.c | 20 +- sound/soc/codecs/ad1836.c | 6 +- sound/soc/codecs/ad193x.c | 10 +- sound/soc/codecs/adau1372.c | 14 +- sound/soc/codecs/adau1373.c | 14 +- sound/soc/codecs/adau1701.c | 6 +- sound/soc/codecs/adau17x1.c | 6 +- sound/soc/codecs/adau1977.c | 31 +- sound/soc/codecs/adav80x.c | 6 +- sound/soc/codecs/ak4104.c | 4 +- sound/soc/codecs/ak4118.c | 20 +- sound/soc/codecs/ak4458.c | 12 +- sound/soc/codecs/ak4642.c | 8 +- sound/soc/codecs/ak4671.c | 6 +- sound/soc/codecs/ak5558.c | 10 +- sound/soc/codecs/alc5623.c | 8 +- sound/soc/codecs/alc5632.c | 8 +- sound/soc/codecs/cpcap.c | 18 +- sound/soc/codecs/cros_ec_codec.c | 4 +- sound/soc/codecs/cs35l41-i2c.c | 115 + sound/soc/codecs/cs35l41-spi.c | 140 + sound/soc/codecs/cs35l41-tables.c | 594 ++++ sound/soc/codecs/cs35l41.c | 1445 ++++++++ sound/soc/codecs/cs35l41.h | 775 +++++ sound/soc/codecs/cs42l42.c | 465 ++- sound/soc/codecs/cs42l42.h | 64 +- sound/soc/codecs/cs47l15.c | 26 +- sound/soc/codecs/cs47l24.c | 20 +- sound/soc/codecs/cs47l35.c | 26 +- sound/soc/codecs/cs47l85.c | 34 +- sound/soc/codecs/cs47l90.c | 36 +- sound/soc/codecs/cs47l92.c | 20 +- sound/soc/codecs/es8316.c | 8 +- sound/soc/codecs/lpass-rx-macro.c | 3 +- sound/soc/codecs/lpass-tx-macro.c | 25 +- sound/soc/codecs/lpass-va-macro.c | 3 +- sound/soc/codecs/lpass-wsa-macro.c | 1 + sound/soc/codecs/madera.c | 18 +- sound/soc/codecs/max98390.c | 2 +- sound/soc/codecs/max98520.c | 769 +++++ sound/soc/codecs/max98520.h | 159 + sound/soc/codecs/max98927.c | 25 + sound/soc/codecs/max98927.h | 1 + sound/soc/codecs/mt6359.c | 2 +- sound/soc/codecs/nau8821.c | 1714 ++++++++++ sound/soc/codecs/nau8821.h | 533 +++ sound/soc/codecs/nau8824.c | 70 + sound/soc/codecs/nau8824.h | 3 +- sound/soc/codecs/nau8825.c | 48 +- sound/soc/codecs/pcm5102a.c | 2 +- sound/soc/codecs/rt1011.c | 10 + sound/soc/codecs/rt1015.c | 2 +- sound/soc/codecs/rt1016.c | 2 +- sound/soc/codecs/rt1019.c | 2 +- sound/soc/codecs/rt1305.c | 2 +- sound/soc/codecs/rt1308.c | 2 +- sound/soc/codecs/rt5514.c | 2 +- sound/soc/codecs/rt5616.c | 2 +- sound/soc/codecs/rt5640.c | 2 +- sound/soc/codecs/rt5645.c | 2 +- sound/soc/codecs/rt5651.c | 9 +- sound/soc/codecs/rt5659.c | 2 +- sound/soc/codecs/rt5660.c | 2 +- sound/soc/codecs/rt5663.c | 2 +- sound/soc/codecs/rt5665.c | 2 +- sound/soc/codecs/rt5668.c | 2 +- sound/soc/codecs/rt5670.c | 2 +- sound/soc/codecs/rt5677.c | 2 +- sound/soc/codecs/rt5682-i2c.c | 17 + sound/soc/codecs/rt5682.c | 132 +- sound/soc/codecs/rt5682.h | 23 + sound/soc/codecs/rt5682s.c | 3197 ++++++++++++++++++ sound/soc/codecs/rt5682s.h | 1474 ++++++++ sound/soc/codecs/rt9120.c | 495 +++ sound/soc/codecs/tfa989x.c | 21 + sound/soc/codecs/tlv320aic32x4-i2c.c | 4 +- sound/soc/codecs/tlv320aic32x4-spi.c | 4 +- sound/soc/codecs/tlv320aic32x4.c | 4 +- sound/soc/codecs/tlv320aic32x4.h | 2 +- sound/soc/codecs/tlv320aic3x-i2c.c | 4 +- sound/soc/codecs/tlv320aic3x-spi.c | 4 +- sound/soc/codecs/tlv320aic3x.c | 3 +- sound/soc/codecs/tlv320aic3x.h | 2 +- sound/soc/codecs/wcd9335.c | 2 +- sound/soc/codecs/wm2200.c | 30 +- sound/soc/codecs/wm5102.c | 16 +- sound/soc/codecs/wm5110.c | 24 +- sound/soc/codecs/wm8731.c | 6 - sound/soc/codecs/wm8900.c | 6 - sound/soc/codecs/wm8962.c | 13 +- sound/soc/codecs/wm_adsp.c | 3303 ++---------------- sound/soc/codecs/wm_adsp.h | 105 +- sound/soc/codecs/zl38060.c | 4 +- sound/soc/dwc/dwc-i2s.c | 12 +- sound/soc/fsl/eukrea-tlv320.c | 2 +- sound/soc/fsl/fsl-asoc-card.c | 54 +- sound/soc/fsl/fsl_audmix.c | 8 +- sound/soc/fsl/fsl_esai.c | 28 +- sound/soc/fsl/fsl_mqs.c | 4 +- sound/soc/fsl/fsl_rpmsg.c | 47 +- sound/soc/fsl/fsl_rpmsg.h | 12 + sound/soc/fsl/fsl_sai.c | 34 +- sound/soc/fsl/fsl_sai.h | 2 +- sound/soc/fsl/fsl_spdif.c | 85 + sound/soc/fsl/fsl_ssi.c | 38 +- sound/soc/fsl/imx-audmix.c | 12 +- sound/soc/fsl/imx-card.c | 6 +- sound/soc/fsl/imx-es8328.c | 2 +- sound/soc/fsl/imx-hdmi.c | 6 +- sound/soc/fsl/imx-rpmsg.c | 2 +- sound/soc/fsl/imx-sgtl5000.c | 2 +- sound/soc/fsl/mpc8610_hpcd.c | 16 +- sound/soc/fsl/p1022_ds.c | 16 +- sound/soc/fsl/p1022_rdk.c | 2 +- sound/soc/generic/Kconfig | 20 + sound/soc/generic/Makefile | 6 + sound/soc/generic/audio-graph-card.c | 4 +- .../soc/generic/audio-graph-card2-custom-sample.c | 183 + .../generic/audio-graph-card2-custom-sample.dtsi | 227 ++ sound/soc/generic/audio-graph-card2.c | 1281 +++++++ sound/soc/generic/simple-card-utils.c | 50 +- sound/soc/generic/test-component.c | 659 ++++ sound/soc/intel/boards/Kconfig | 18 +- sound/soc/intel/boards/Makefile | 2 + sound/soc/intel/boards/bdw-rt5650.c | 2 +- sound/soc/intel/boards/bdw-rt5677.c | 2 +- sound/soc/intel/boards/broadwell.c | 2 +- sound/soc/intel/boards/bxt_da7219_max98357a.c | 4 +- sound/soc/intel/boards/bxt_rt298.c | 2 +- sound/soc/intel/boards/bytcht_cx2072x.c | 4 +- sound/soc/intel/boards/bytcht_da7213.c | 4 +- sound/soc/intel/boards/bytcht_es8316.c | 4 +- sound/soc/intel/boards/bytcht_nocodec.c | 4 +- sound/soc/intel/boards/bytcr_rt5640.c | 120 +- sound/soc/intel/boards/bytcr_rt5651.c | 122 +- sound/soc/intel/boards/bytcr_wm5102.c | 4 +- sound/soc/intel/boards/cht_bsw_max98090_ti.c | 4 +- sound/soc/intel/boards/cht_bsw_nau8824.c | 4 +- sound/soc/intel/boards/cht_bsw_rt5645.c | 6 +- sound/soc/intel/boards/cht_bsw_rt5672.c | 2 +- sound/soc/intel/boards/glk_rt5682_max98357a.c | 56 +- sound/soc/intel/boards/haswell.c | 2 +- sound/soc/intel/boards/kbl_da7219_max98357a.c | 4 +- sound/soc/intel/boards/kbl_da7219_max98927.c | 6 +- sound/soc/intel/boards/kbl_rt5660.c | 2 +- sound/soc/intel/boards/kbl_rt5663_max98927.c | 6 +- .../soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 4 +- sound/soc/intel/boards/skl_nau88l25_max98357a.c | 4 +- sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 4 +- sound/soc/intel/boards/skl_rt286.c | 2 +- sound/soc/intel/boards/sof_es8336.c | 569 ++++ sound/soc/intel/boards/sof_rt5682.c | 96 +- sound/soc/intel/boards/sof_sdw.c | 10 + sound/soc/intel/common/soc-acpi-intel-adl-match.c | 24 +- sound/soc/intel/common/soc-acpi-intel-bxt-match.c | 8 +- sound/soc/intel/common/soc-acpi-intel-byt-match.c | 68 +- sound/soc/intel/common/soc-acpi-intel-cht-match.c | 69 +- sound/soc/intel/common/soc-acpi-intel-cml-match.c | 8 +- sound/soc/intel/common/soc-acpi-intel-glk-match.c | 17 +- sound/soc/intel/common/soc-acpi-intel-jsl-match.c | 27 +- sound/soc/intel/common/soc-acpi-intel-kbl-match.c | 12 +- sound/soc/intel/common/soc-acpi-intel-skl-match.c | 2 +- sound/soc/intel/common/soc-acpi-intel-tgl-match.c | 60 +- sound/soc/intel/skylake/skl-topology.c | 6 +- sound/soc/mediatek/Kconfig | 23 +- sound/soc/mediatek/common/mtk-afe-fe-dai.c | 3 +- sound/soc/mediatek/mt2701/mt2701-cs42448.c | 2 +- sound/soc/mediatek/mt2701/mt2701-wm8960.c | 2 +- .../mt8183/mt8183-mt6358-ts3a227-max98357.c | 2 +- sound/soc/mediatek/mt8195/Makefile | 1 + sound/soc/mediatek/mt8195/mt8195-afe-pcm.c | 10 +- sound/soc/mediatek/mt8195/mt8195-audsys-clk.c | 152 +- sound/soc/mediatek/mt8195/mt8195-dai-adda.c | 8 +- sound/soc/mediatek/mt8195/mt8195-dai-etdm.c | 4 +- .../mediatek/mt8195/mt8195-mt6359-rt1011-rt5682.c | 1155 +++++++ .../mediatek/mt8195/mt8195-mt6359-rt1019-rt5682.c | 54 +- sound/soc/meson/aiu-encoder-spdif.c | 2 +- sound/soc/meson/axg-card.c | 1 + sound/soc/meson/axg-tdm-interface.c | 26 +- sound/soc/meson/meson-card-utils.c | 1 + sound/soc/meson/meson-codec-glue.c | 3 - sound/soc/qcom/Kconfig | 25 +- sound/soc/qcom/apq8096.c | 2 +- sound/soc/qcom/common.c | 4 +- sound/soc/qcom/qdsp6/Makefile | 11 +- sound/soc/qcom/qdsp6/audioreach.c | 1130 +++++++ sound/soc/qcom/qdsp6/audioreach.h | 726 ++++ sound/soc/qcom/qdsp6/q6afe-clocks.c | 187 +- sound/soc/qcom/qdsp6/q6afe-dai.c | 689 +--- sound/soc/qcom/qdsp6/q6apm-dai.c | 416 +++ sound/soc/qcom/qdsp6/q6apm-lpass-dais.c | 260 ++ sound/soc/qcom/qdsp6/q6apm.c | 822 +++++ sound/soc/qcom/qdsp6/q6apm.h | 152 + sound/soc/qcom/qdsp6/q6dsp-lpass-clocks.c | 186 + sound/soc/qcom/qdsp6/q6dsp-lpass-clocks.h | 30 + sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c | 627 ++++ sound/soc/qcom/qdsp6/q6dsp-lpass-ports.h | 22 + sound/soc/qcom/qdsp6/q6prm-clocks.c | 85 + sound/soc/qcom/qdsp6/q6prm.c | 202 ++ sound/soc/qcom/qdsp6/q6prm.h | 78 + sound/soc/qcom/qdsp6/topology.c | 1113 ++++++ sound/soc/qcom/sm8250.c | 79 + sound/soc/rockchip/Kconfig | 11 + sound/soc/rockchip/Makefile | 5 +- sound/soc/rockchip/rockchip_i2s.c | 3 +- sound/soc/rockchip/rockchip_i2s_tdm.c | 1762 ++++++++++ sound/soc/rockchip/rockchip_i2s_tdm.h | 398 +++ sound/soc/rockchip/rockchip_pcm.c | 44 - sound/soc/rockchip/rockchip_pcm.h | 11 - sound/soc/rockchip/rockchip_pdm.c | 112 +- sound/soc/rockchip/rockchip_pdm.h | 6 + sound/soc/samsung/s3c-i2s-v2.c | 2 + sound/soc/sh/rcar/core.c | 1 + sound/soc/soc-acpi.c | 24 +- sound/soc/soc-component.c | 87 +- sound/soc/soc-compress.c | 43 +- sound/soc/soc-core.c | 54 +- sound/soc/soc-dapm.c | 2 + sound/soc/soc-generic-dmaengine-pcm.c | 6 +- sound/soc/soc-pcm.c | 27 +- sound/soc/soc-topology.c | 52 +- sound/soc/soc-utils.c | 13 + sound/soc/sof/Kconfig | 6 +- sound/soc/sof/Makefile | 6 +- sound/soc/sof/compress.c | 158 +- sound/soc/sof/compress.h | 32 - sound/soc/sof/control.c | 192 +- sound/soc/sof/core.c | 35 +- sound/soc/sof/debug.c | 87 +- sound/soc/sof/imx/Kconfig | 2 + sound/soc/sof/imx/imx-ops.h | 10 + sound/soc/sof/imx/imx8.c | 47 +- sound/soc/sof/imx/imx8m.c | 41 +- sound/soc/sof/intel/Makefile | 5 +- sound/soc/sof/intel/apl.c | 7 +- sound/soc/sof/intel/atom.c | 5 +- sound/soc/sof/intel/bdw.c | 19 +- sound/soc/sof/intel/byt.c | 30 +- sound/soc/sof/intel/cnl.c | 7 +- sound/soc/sof/intel/hda-dai.c | 269 +- sound/soc/sof/intel/hda-dsp.c | 61 +- sound/soc/sof/intel/hda-ipc.c | 15 +- sound/soc/sof/intel/hda-loader.c | 11 +- .../soc/sof/intel/{hda-compress.c => hda-probes.c} | 0 sound/soc/sof/intel/hda-stream.c | 92 +- sound/soc/sof/intel/hda.c | 232 +- sound/soc/sof/intel/hda.h | 52 +- sound/soc/sof/intel/icl.c | 7 +- sound/soc/sof/intel/pci-apl.c | 2 - sound/soc/sof/intel/pci-cnl.c | 3 - sound/soc/sof/intel/pci-icl.c | 2 - sound/soc/sof/intel/pci-tgl.c | 5 - sound/soc/sof/intel/pci-tng.c | 16 +- sound/soc/sof/intel/tgl.c | 7 +- sound/soc/sof/ipc.c | 217 +- sound/soc/sof/loader.c | 161 +- sound/soc/sof/ops.c | 3 + sound/soc/sof/ops.h | 77 +- sound/soc/sof/pcm.c | 71 +- sound/soc/sof/pm.c | 12 +- sound/soc/sof/probe.h | 85 - sound/soc/sof/sof-audio.c | 715 +++- sound/soc/sof/sof-audio.h | 52 +- sound/soc/sof/sof-of-dev.c | 24 +- sound/soc/sof/sof-priv.h | 154 +- sound/soc/sof/{probe.c => sof-probes.c} | 280 +- sound/soc/sof/sof-probes.h | 38 + sound/soc/sof/{intel/intel-ipc.c => stream-ipc.c} | 56 +- sound/soc/sof/topology.c | 417 +-- sound/soc/sof/trace.c | 5 +- sound/soc/sof/utils.c | 28 +- sound/soc/sof/xtensa/core.c | 2 +- sound/soc/tegra/Kconfig | 48 + sound/soc/tegra/Makefile | 10 + sound/soc/tegra/tegra210_adx.c | 531 +++ sound/soc/tegra/tegra210_adx.h | 72 + sound/soc/tegra/tegra210_ahub.c | 511 ++- sound/soc/tegra/tegra210_amx.c | 600 ++++ sound/soc/tegra/tegra210_amx.h | 93 + sound/soc/tegra/tegra210_mixer.c | 674 ++++ sound/soc/tegra/tegra210_mixer.h | 100 + sound/soc/tegra/tegra210_mvc.c | 645 ++++ sound/soc/tegra/tegra210_mvc.h | 117 + sound/soc/tegra/tegra210_sfc.c | 3549 ++++++++++++++++++++ sound/soc/tegra/tegra210_sfc.h | 78 + sound/soc/tegra/tegra_asoc_machine.c | 62 +- sound/soc/tegra/tegra_asoc_machine.h | 1 + sound/soc/ti/Kconfig | 2 +- sound/soc/ti/davinci-evm.c | 2 +- sound/soc/ti/omap-abe-twl6040.c | 2 +- sound/soc/ux500/mop500_ab8500.c | 2 +- sound/soc/ux500/mop500_ab8500.h | 2 +- sound/usb/6fire/comm.c | 2 +- sound/usb/6fire/firmware.c | 6 +- sound/usb/card.h | 11 +- sound/usb/clock.c | 8 +- sound/usb/endpoint.c | 230 +- sound/usb/endpoint.h | 13 +- sound/usb/format.c | 1 + sound/usb/implicit.c | 2 - sound/usb/line6/driver.c | 14 +- sound/usb/line6/driver.h | 2 +- sound/usb/line6/podhd.c | 6 +- sound/usb/line6/toneport.c | 2 +- sound/usb/misc/ua101.c | 4 +- sound/usb/mixer.c | 42 +- sound/usb/mixer_quirks.c | 34 + sound/usb/pcm.c | 164 +- sound/usb/quirks-table.h | 58 + sound/usb/quirks.c | 3 + sound/usb/usx2y/usbusx2yaudio.c | 11 +- sound/virtio/virtio_pcm_msg.c | 5 +- 477 files changed, 48310 insertions(+), 8057 deletions(-) delete mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr.txt create mode 100644 Documentation/devicetree/bindings/soc/qcom/qcom,apr.yaml create mode 100644 Documentation/devicetree/bindings/sound/audio-graph-card2.yaml delete mode 100644 Documentation/devicetree/bindings/sound/bt-sco.txt create mode 100644 Documentation/devicetree/bindings/sound/cirrus,cs35l41.yaml create mode 100644 Documentation/devicetree/bindings/sound/linux,bt-sco.yaml create mode 100644 Documentation/devicetree/bindings/sound/linux,spdif-dit.yaml create mode 100644 Documentation/devicetree/bindings/sound/maxim,max98520.yaml create mode 100644 Documentation/devicetree/bindings/sound/mt8192-afe-pcm.yaml create mode 100644 Documentation/devicetree/bindings/sound/mt8195-mt6359-rt1011-rt5682.yaml delete mode 100644 Documentation/devicetree/bindings/sound/name-prefix.txt create mode 100644 Documentation/devicetree/bindings/sound/name-prefix.yaml create mode 100644 Documentation/devicetree/bindings/sound/nau8821.txt create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-adx.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-amx.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mixer.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-mvc.yaml create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-sfc.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6apm-dai.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-clocks.yaml create mode 100644 Documentation/devicetree/bindings/sound/qcom,q6dsp-lpass-ports.yaml create mode 100644 Documentation/devicetree/bindings/sound/realtek,rt5682s.yaml create mode 100644 Documentation/devicetree/bindings/sound/richtek,rt9120.yaml create mode 100644 Documentation/devicetree/bindings/sound/rockchip,i2s-tdm.yaml delete mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.txt create mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.yaml delete mode 100644 Documentation/devicetree/bindings/sound/simple-amplifier.txt create mode 100644 Documentation/devicetree/bindings/sound/simple-audio-amplifier.yaml delete mode 100644 Documentation/devicetree/bindings/sound/spdif-transmitter.txt create mode 100644 Documentation/devicetree/bindings/sound/test-component.yaml create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8962.yaml create mode 100644 Documentation/devicetree/bindings/sound/wlf,wm8978.yaml delete mode 100644 Documentation/devicetree/bindings/sound/wm8962.txt create mode 100644 drivers/firmware/cirrus/Kconfig create mode 100644 drivers/firmware/cirrus/Makefile create mode 100644 drivers/firmware/cirrus/cs_dsp.c create mode 100644 include/dt-bindings/soc/qcom,gpr.h create mode 100644 include/dt-bindings/sound/qcom,q6dsp-lpass-ports.h create mode 100644 include/linux/firmware/cirrus/cs_dsp.h rename {sound/soc/codecs => include/linux/firmware/cirrus}/wmfw.h (91%) create mode 100644 include/sound/cs35l41.h create mode 100644 include/sound/rt5682s.h create mode 100644 include/uapi/sound/snd_ar_tokens.h delete mode 100644 sound/core/sgbuf.c create mode 100644 sound/firewire/motu/motu-command-dsp-message-parser.c create mode 100644 sound/firewire/motu/motu-register-dsp-message-parser.c create mode 100644 sound/soc/amd/acp/Kconfig create mode 100644 sound/soc/amd/acp/Makefile create mode 100644 sound/soc/amd/acp/acp-i2s.c create mode 100644 sound/soc/amd/acp/acp-legacy-mach.c create mode 100644 sound/soc/amd/acp/acp-mach-common.c create mode 100644 sound/soc/amd/acp/acp-mach.h create mode 100644 sound/soc/amd/acp/acp-platform.c create mode 100644 sound/soc/amd/acp/acp-renoir.c create mode 100644 sound/soc/amd/acp/acp-sof-mach.c create mode 100644 sound/soc/amd/acp/amd.h create mode 100644 sound/soc/amd/acp/chip_offset_byte.h create mode 100644 sound/soc/amd/vangogh/acp5x-mach.c create mode 100644 sound/soc/amd/yc/Makefile create mode 100644 sound/soc/amd/yc/acp6x-mach.c create mode 100644 sound/soc/amd/yc/acp6x-pdm-dma.c create mode 100644 sound/soc/amd/yc/acp6x.h create mode 100644 sound/soc/amd/yc/acp6x_chip_offset_byte.h create mode 100644 sound/soc/amd/yc/pci-acp6x.c create mode 100644 sound/soc/codecs/cs35l41-i2c.c create mode 100644 sound/soc/codecs/cs35l41-spi.c create mode 100644 sound/soc/codecs/cs35l41-tables.c create mode 100644 sound/soc/codecs/cs35l41.c create mode 100644 sound/soc/codecs/cs35l41.h create mode 100644 sound/soc/codecs/max98520.c create mode 100644 sound/soc/codecs/max98520.h create mode 100644 sound/soc/codecs/nau8821.c create mode 100644 sound/soc/codecs/nau8821.h create mode 100644 sound/soc/codecs/rt5682s.c create mode 100644 sound/soc/codecs/rt5682s.h create mode 100644 sound/soc/codecs/rt9120.c create mode 100644 sound/soc/generic/audio-graph-card2-custom-sample.c create mode 100644 sound/soc/generic/audio-graph-card2-custom-sample.dtsi create mode 100644 sound/soc/generic/audio-graph-card2.c create mode 100644 sound/soc/generic/test-component.c create mode 100644 sound/soc/intel/boards/sof_es8336.c create mode 100644 sound/soc/mediatek/mt8195/mt8195-mt6359-rt1011-rt5682.c create mode 100644 sound/soc/qcom/qdsp6/audioreach.c create mode 100644 sound/soc/qcom/qdsp6/audioreach.h create mode 100644 sound/soc/qcom/qdsp6/q6apm-dai.c create mode 100644 sound/soc/qcom/qdsp6/q6apm-lpass-dais.c create mode 100644 sound/soc/qcom/qdsp6/q6apm.c create mode 100644 sound/soc/qcom/qdsp6/q6apm.h create mode 100644 sound/soc/qcom/qdsp6/q6dsp-lpass-clocks.c create mode 100644 sound/soc/qcom/qdsp6/q6dsp-lpass-clocks.h create mode 100644 sound/soc/qcom/qdsp6/q6dsp-lpass-ports.c create mode 100644 sound/soc/qcom/qdsp6/q6dsp-lpass-ports.h create mode 100644 sound/soc/qcom/qdsp6/q6prm-clocks.c create mode 100644 sound/soc/qcom/qdsp6/q6prm.c create mode 100644 sound/soc/qcom/qdsp6/q6prm.h create mode 100644 sound/soc/qcom/qdsp6/topology.c create mode 100644 sound/soc/rockchip/rockchip_i2s_tdm.c create mode 100644 sound/soc/rockchip/rockchip_i2s_tdm.h delete mode 100644 sound/soc/rockchip/rockchip_pcm.c delete mode 100644 sound/soc/rockchip/rockchip_pcm.h delete mode 100644 sound/soc/sof/compress.h create mode 100644 sound/soc/sof/imx/imx-ops.h rename sound/soc/sof/intel/{hda-compress.c => hda-probes.c} (100%) delete mode 100644 sound/soc/sof/probe.h rename sound/soc/sof/{probe.c => sof-probes.c} (52%) create mode 100644 sound/soc/sof/sof-probes.h rename sound/soc/sof/{intel/intel-ipc.c => stream-ipc.c} (56%) create mode 100644 sound/soc/tegra/tegra210_adx.c create mode 100644 sound/soc/tegra/tegra210_adx.h create mode 100644 sound/soc/tegra/tegra210_amx.c create mode 100644 sound/soc/tegra/tegra210_amx.h create mode 100644 sound/soc/tegra/tegra210_mixer.c create mode 100644 sound/soc/tegra/tegra210_mixer.h create mode 100644 sound/soc/tegra/tegra210_mvc.c create mode 100644 sound/soc/tegra/tegra210_mvc.h create mode 100644 sound/soc/tegra/tegra210_sfc.c create mode 100644 sound/soc/tegra/tegra210_sfc.h ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-03 10:24 [GIT PULL] sound updates for 5.16-rc1 Takashi Iwai @ 2021-11-03 15:04 ` pr-tracker-bot 2021-11-17 16:18 ` Kirill A. Shutemov 1 sibling, 0 replies; 14+ messages in thread From: pr-tracker-bot @ 2021-11-03 15:04 UTC (permalink / raw) To: Takashi Iwai Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List The pull request you sent on Wed, 03 Nov 2021 11:24:10 +0100: > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 has been merged into torvalds/linux.git: https://git.kernel.org/torvalds/c/ff0700f03609b9f0defacd4ce96d9519d721e0a2 Thank you! -- Deet-doot-dot, I am a bot. https://korg.docs.kernel.org/prtracker.html ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-03 10:24 [GIT PULL] sound updates for 5.16-rc1 Takashi Iwai 2021-11-03 15:04 ` pr-tracker-bot @ 2021-11-17 16:18 ` Kirill A. Shutemov 2021-11-17 16:24 ` Takashi Iwai 1 sibling, 1 reply; 14+ messages in thread From: Kirill A. Shutemov @ 2021-11-17 16:18 UTC (permalink / raw) To: Takashi Iwai Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Wed, Nov 03, 2021 at 11:24:10AM +0100, Takashi Iwai wrote: > Linus, > > please pull sound updates for v5.16-rc1 from: > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 > > The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 > > ---------------------------------------------------------------- > > sound updates for 5.16-rc1 > > Lots of code development have been see in ASoC side as usual, while > the continued development on memalloc helper and USB-audio low- > latency support are found in the rest. Note that a few changes in the > unusual places like arch/sh are included, which are a part of ASoC DAI > format cleanups. > > ALSA core: > - Continued memallloc helper updates and cleanups, now supporting > non-coherent and non-contiguous pages > - Fixes for races in mixer OSS layer > > ASoC: > - A new version of the audio graph card which supports a wider range > of systems > - Several conversions to YAML DT bindings > - Continuing cleanups to the SOF and Intel code > - Move of the Cirrus DSP framework into drivers/firmware to allow for > future use by non-audio DSPs > - An overhaul of the cs42l42 driver, correcting many problems > - DAI format terminology conversions over many drivers for cleanups > - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim > MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia > Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, > RT5682S, and RT9120 and Rockchip RV1126 and RK3568 > > USB-audio: > - Continued improvements on low-latency playback > - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 > > HD-audio: > - Reduce excessive udelay() calls on Intel platforms; this should > reduce the CPU load with PulseAudio > - Quirks for HP and Clevo laptops > > FireWire: > - Support for meter information on MOTU > ... > Takashi Iwai (29): > ALSA: hda: Reduce udelay() at SKL+ position reporting > ALSA: hda: Use position buffer for SKL+ again > ALSA: usb-audio: Restrict rates for the shared clocks > ALSA: usb-audio: Fix possible race at sync of urb completions > ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback > ALSA: usb-audio: Disable low-latency playback for free-wheel mode > ALSA: usb-audio: Disable low-latency mode for implicit feedback sync > ALSA: usb-audio: Check available frames for the next packet size > ALSA: usb-audio: Add spinlock to stop_urbs() > ALSA: usb-audio: Improved lowlatency playback support This commit breaks audio playback for me. The sample plays for fraction of a second than stops. I use SMSL SA300. Let me know what ifo is needed to track it down. Also I can test potential fixups if needed. -- Kirill A. Shutemov ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-17 16:18 ` Kirill A. Shutemov @ 2021-11-17 16:24 ` Takashi Iwai 2021-11-17 17:48 ` Kirill A. Shutemov 0 siblings, 1 reply; 14+ messages in thread From: Takashi Iwai @ 2021-11-17 16:24 UTC (permalink / raw) To: Kirill A. Shutemov Cc: Takashi Iwai, Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Wed, 17 Nov 2021 17:18:55 +0100, Kirill A. Shutemov wrote: > > On Wed, Nov 03, 2021 at 11:24:10AM +0100, Takashi Iwai wrote: > > Linus, > > > > please pull sound updates for v5.16-rc1 from: > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 > > > > The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 > > > > ---------------------------------------------------------------- > > > > sound updates for 5.16-rc1 > > > > Lots of code development have been see in ASoC side as usual, while > > the continued development on memalloc helper and USB-audio low- > > latency support are found in the rest. Note that a few changes in the > > unusual places like arch/sh are included, which are a part of ASoC DAI > > format cleanups. > > > > ALSA core: > > - Continued memallloc helper updates and cleanups, now supporting > > non-coherent and non-contiguous pages > > - Fixes for races in mixer OSS layer > > > > ASoC: > > - A new version of the audio graph card which supports a wider range > > of systems > > - Several conversions to YAML DT bindings > > - Continuing cleanups to the SOF and Intel code > > - Move of the Cirrus DSP framework into drivers/firmware to allow for > > future use by non-audio DSPs > > - An overhaul of the cs42l42 driver, correcting many problems > > - DAI format terminology conversions over many drivers for cleanups > > - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim > > MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia > > Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, > > RT5682S, and RT9120 and Rockchip RV1126 and RK3568 > > > > USB-audio: > > - Continued improvements on low-latency playback > > - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 > > > > HD-audio: > > - Reduce excessive udelay() calls on Intel platforms; this should > > reduce the CPU load with PulseAudio > > - Quirks for HP and Clevo laptops > > > > FireWire: > > - Support for meter information on MOTU > > > > ... > > > Takashi Iwai (29): > > ALSA: hda: Reduce udelay() at SKL+ position reporting > > ALSA: hda: Use position buffer for SKL+ again > > ALSA: usb-audio: Restrict rates for the shared clocks > > ALSA: usb-audio: Fix possible race at sync of urb completions > > ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback > > ALSA: usb-audio: Disable low-latency playback for free-wheel mode > > ALSA: usb-audio: Disable low-latency mode for implicit feedback sync > > ALSA: usb-audio: Check available frames for the next packet size > > ALSA: usb-audio: Add spinlock to stop_urbs() > > ALSA: usb-audio: Improved lowlatency playback support > > This commit breaks audio playback for me. The sample plays for fraction of > a second than stops. > > I use SMSL SA300. Let me know what ifo is needed to track it down. > > Also I can test potential fixups if needed. Could you give alsa-info.sh output with the device? Run the script with --no-upload option, and attach the output. Also /proc/asound/card*/stream* file for that usb device, too, please. And, which environment are you testing, more exactly? Which platform, and with PulseAudio, pipewire, JACK, or direct ALSA device use? For checking the behavior, we'd need to check hw_params in /proc/asound/card*/pcm*/sub*/* for the corresponding device during playback/capture operations. Takashi ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-17 16:24 ` Takashi Iwai @ 2021-11-17 17:48 ` Kirill A. Shutemov 2021-11-17 18:02 ` Takashi Iwai 0 siblings, 1 reply; 14+ messages in thread From: Kirill A. Shutemov @ 2021-11-17 17:48 UTC (permalink / raw) To: Takashi Iwai Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 4144 bytes --] On Wed, Nov 17, 2021 at 05:24:28PM +0100, Takashi Iwai wrote: > On Wed, 17 Nov 2021 17:18:55 +0100, > Kirill A. Shutemov wrote: > > > > On Wed, Nov 03, 2021 at 11:24:10AM +0100, Takashi Iwai wrote: > > > Linus, > > > > > > please pull sound updates for v5.16-rc1 from: > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 > > > > > > The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 > > > > > > ---------------------------------------------------------------- > > > > > > sound updates for 5.16-rc1 > > > > > > Lots of code development have been see in ASoC side as usual, while > > > the continued development on memalloc helper and USB-audio low- > > > latency support are found in the rest. Note that a few changes in the > > > unusual places like arch/sh are included, which are a part of ASoC DAI > > > format cleanups. > > > > > > ALSA core: > > > - Continued memallloc helper updates and cleanups, now supporting > > > non-coherent and non-contiguous pages > > > - Fixes for races in mixer OSS layer > > > > > > ASoC: > > > - A new version of the audio graph card which supports a wider range > > > of systems > > > - Several conversions to YAML DT bindings > > > - Continuing cleanups to the SOF and Intel code > > > - Move of the Cirrus DSP framework into drivers/firmware to allow for > > > future use by non-audio DSPs > > > - An overhaul of the cs42l42 driver, correcting many problems > > > - DAI format terminology conversions over many drivers for cleanups > > > - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim > > > MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia > > > Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, > > > RT5682S, and RT9120 and Rockchip RV1126 and RK3568 > > > > > > USB-audio: > > > - Continued improvements on low-latency playback > > > - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 > > > > > > HD-audio: > > > - Reduce excessive udelay() calls on Intel platforms; this should > > > reduce the CPU load with PulseAudio > > > - Quirks for HP and Clevo laptops > > > > > > FireWire: > > > - Support for meter information on MOTU > > > > > > > ... > > > > > Takashi Iwai (29): > > > ALSA: hda: Reduce udelay() at SKL+ position reporting > > > ALSA: hda: Use position buffer for SKL+ again > > > ALSA: usb-audio: Restrict rates for the shared clocks > > > ALSA: usb-audio: Fix possible race at sync of urb completions > > > ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback > > > ALSA: usb-audio: Disable low-latency playback for free-wheel mode > > > ALSA: usb-audio: Disable low-latency mode for implicit feedback sync > > > ALSA: usb-audio: Check available frames for the next packet size > > > ALSA: usb-audio: Add spinlock to stop_urbs() > > > ALSA: usb-audio: Improved lowlatency playback support > > > > This commit breaks audio playback for me. The sample plays for fraction of > > a second than stops. > > > > I use SMSL SA300. Let me know what ifo is needed to track it down. > > > > Also I can test potential fixups if needed. > > Could you give alsa-info.sh output with the device? Run the script > with --no-upload option, and attach the output. Attached. I run it on kernel without the commit. I hope it is fine. One note: I use monolitic kernel without CONFIG_MODULES. The script complained about missing /proc/asound/modules and other modules related stuff. > Also /proc/asound/card*/stream* file for that usb device, too, > please. Attached. > And, which environment are you testing, more exactly? Which platform, > and with PulseAudio, pipewire, JACK, or direct ALSA device use? Nothing fancy. Direct ALSA. I tested with 'speaker-test -c2 -t wav' during bisect. > For checking the behavior, we'd need to check hw_params in > /proc/asound/card*/pcm*/sub*/* for the corresponding device during > playback/capture operations. You need this to be collected when the problem triggers, right? I will follow up with this. -- Kirill A. Shutemov [-- Attachment #2: alsa-info.txt --] [-- Type: text/plain, Size: 22017 bytes --] upload=true&script=true&cardinfo= !!################################ !!ALSA Information Script v 0.5.0 !!################################ !!Script ran on: Wed Nov 17 17:43:16 UTC 2021 !!Linux Distribution !!------------------ Gentoo Base System release 2.7 NAME=Gentoo ID=gentoo PRETTY_NAME="Gentoo/Linux" HOME_URL="https://www.gentoo.org/" SUPPORT_URL="https://www.gentoo.org/support/" BUG_REPORT_URL="https://bugs.gentoo.org/" !!DMI Information !!--------------- Manufacturer: Gigabyte Technology Co., Ltd. Product Name: X299 AORUS Gaming 3 Pro Product Version: Default string Firmware Version: F5d System SKU: Default string Board Vendor: Gigabyte Technology Co., Ltd. Board Name: X299 AORUS Gaming 3 Pro-CF !!ACPI Device Status Information !!--------------- /sys/bus/acpi/devices/ACPI0004:00/status 15 /sys/bus/acpi/devices/INT340E:00/status 15 /sys/bus/acpi/devices/LNXCPU:00/status 15 /sys/bus/acpi/devices/LNXCPU:01/status 15 /sys/bus/acpi/devices/LNXCPU:02/status 15 /sys/bus/acpi/devices/LNXCPU:03/status 15 /sys/bus/acpi/devices/LNXCPU:04/status 15 /sys/bus/acpi/devices/LNXCPU:05/status 15 /sys/bus/acpi/devices/LNXCPU:06/status 15 /sys/bus/acpi/devices/LNXCPU:07/status 15 /sys/bus/acpi/devices/LNXCPU:08/status 15 /sys/bus/acpi/devices/LNXCPU:09/status 15 /sys/bus/acpi/devices/LNXCPU:0a/status 15 /sys/bus/acpi/devices/LNXCPU:0b/status 15 /sys/bus/acpi/devices/LNXCPU:0c/status 15 /sys/bus/acpi/devices/LNXCPU:0d/status 15 /sys/bus/acpi/devices/LNXCPU:0e/status 15 /sys/bus/acpi/devices/LNXCPU:0f/status 15 /sys/bus/acpi/devices/LNXCPU:10/status 15 /sys/bus/acpi/devices/LNXCPU:11/status 15 /sys/bus/acpi/devices/LNXCPU:12/status 15 /sys/bus/acpi/devices/LNXCPU:13/status 15 /sys/bus/acpi/devices/LNXCPU:14/status 15 /sys/bus/acpi/devices/LNXCPU:15/status 15 /sys/bus/acpi/devices/LNXCPU:16/status 15 /sys/bus/acpi/devices/LNXCPU:17/status 15 /sys/bus/acpi/devices/LNXCPU:18/status 15 /sys/bus/acpi/devices/LNXCPU:19/status 15 /sys/bus/acpi/devices/LNXCPU:1a/status 15 /sys/bus/acpi/devices/LNXCPU:1b/status 15 /sys/bus/acpi/devices/LNXCPU:1c/status 15 /sys/bus/acpi/devices/LNXCPU:1d/status 15 /sys/bus/acpi/devices/LNXCPU:1e/status 15 /sys/bus/acpi/devices/LNXCPU:1f/status 15 /sys/bus/acpi/devices/MSFT0101:00/status 15 /sys/bus/acpi/devices/PNP0103:00/status 15 /sys/bus/acpi/devices/PNP0A08:01/status 15 /sys/bus/acpi/devices/PNP0A08:02/status 15 /sys/bus/acpi/devices/PNP0A08:03/status 15 /sys/bus/acpi/devices/PNP0C02:02/status 3 /sys/bus/acpi/devices/PNP0C02:04/status 3 /sys/bus/acpi/devices/PNP0C0C:00/status 15 /sys/bus/acpi/devices/PNP0C0E:00/status 11 /sys/bus/acpi/devices/PNP0C0F:00/status 9 /sys/bus/acpi/devices/PNP0C0F:01/status 9 /sys/bus/acpi/devices/PNP0C0F:02/status 9 /sys/bus/acpi/devices/PNP0C0F:03/status 9 /sys/bus/acpi/devices/PNP0C0F:04/status 9 /sys/bus/acpi/devices/PNP0C0F:05/status 9 /sys/bus/acpi/devices/PNP0C0F:06/status 9 /sys/bus/acpi/devices/PNP0C0F:07/status 9 /sys/bus/acpi/devices/PNP0C14:00/status 15 /sys/bus/acpi/devices/PNP0C14:03/status 11 !!Kernel Information !!------------------ Kernel release: 5.15.0-rc1-00021-g0ef74366bc15 Operating System: GNU/Linux Architecture: x86_64 Processor: Intel(R) Core(TM) i9-7960X CPU @ 2.80GHz SMP Enabled: Yes !!ALSA Version !!------------ Driver version: k5.15.0-rc1-00021-g0ef74366bc15 Library version: 1.2.4 Utilities version: 1.2.4 !!Loaded ALSA modules !!------------------- !!Sound Servers on this system !!---------------------------- No sound servers found. !!Soundcards recognised by ALSA !!----------------------------- 0 [Audio ]: USB-Audio - TX-384Khz Hifi Type-C Audio Generic TX-384Khz Hifi Type-C Audio at usb-0000:00:14.0-1, high speed !!PCI Soundcards installed in the system !!-------------------------------------- 00:1f.3 Audio device [0403]: Intel Corporation 200 Series PCH HD Audio [8086:a2f0] Subsystem: Gigabyte Technology Co., Ltd 200 Series PCH HD Audio [1458:a182] 65:00.1 Audio device [0403]: NVIDIA Corporation GP104 High Definition Audio Controller [10de:10f0] (rev a1) Subsystem: Gigabyte Technology Co., Ltd GP104 High Definition Audio Controller [1458:3730] !!Loaded sound module options !!--------------------------- !!Sysfs card info !!--------------- !!Card: /sys/class/sound/card0 Driver: /sys/bus/usb/drivers/snd-usb-audio Tree: /sys/class/sound/card0 |-- audio | |-- dev | |-- device -> ../../card0 | |-- power | |-- subsystem -> ../../../../../../../../../class/sound | `-- uevent |-- controlC0 | |-- dev | |-- device -> ../../card0 | |-- power | |-- subsystem -> ../../../../../../../../../class/sound | `-- uevent |-- device -> ../../../1-1:1.0 |-- dsp | |-- dev | |-- device -> ../../card0 | |-- power | |-- subsystem -> ../../../../../../../../../class/sound | `-- uevent |-- id |-- mixer | |-- dev | |-- device -> ../../card0 | |-- power | |-- subsystem -> ../../../../../../../../../class/sound | `-- uevent |-- number |-- pcmC0D0p | |-- dev | |-- device -> ../../card0 | |-- pcm_class | |-- power | |-- subsystem -> ../../../../../../../../../class/sound | `-- uevent |-- power | |-- autosuspend_delay_ms | |-- control | |-- runtime_active_time | |-- runtime_status | `-- runtime_suspended_time |-- subsystem -> ../../../../../../../../class/sound `-- uevent !!USB Descriptors !!--------------- --startcollapse-- Bus 001 Device 002: ID 0bda:4c07 Realtek Semiconductor Corp. TX-384Khz Hifi Type-C Audio Device Descriptor: bLength 18 bDescriptorType 1 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 idVendor 0x0bda Realtek Semiconductor Corp. idProduct 0x4c07 bcdDevice 0.01 iManufacturer 3 Generic iProduct 1 TX-384Khz Hifi Type-C Audio iSerial 0 bNumConfigurations 1 Configuration Descriptor: bLength 9 bDescriptorType 2 wTotalLength 0x011d bNumInterfaces 3 bConfigurationValue 1 iConfiguration 4 TX-384Khz Hifi Type-C Audio bmAttributes 0xa0 (Bus Powered) Remote Wakeup MaxPower 100mA Interface Association: bLength 8 bDescriptorType 11 bFirstInterface 0 bInterfaceCount 2 bFunctionClass 1 Audio bFunctionSubClass 0 bFunctionProtocol 32 iFunction 5 TX-384Khz Hifi Type-C Audio Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 0 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 1 Control Device bInterfaceProtocol 32 iInterface 5 TX-384Khz Hifi Type-C Audio AudioControl Interface Descriptor: bLength 9 bDescriptorType 36 bDescriptorSubtype 1 (HEADER) bcdADC 2.00 bCategory 4 wTotalLength 0x0050 bmControls 0x00 AudioControl Interface Descriptor: bLength 8 bDescriptorType 36 bDescriptorSubtype 10 (CLOCK_SOURCE) bClockID 4 bmAttributes 7 Internal programmable clock (synchronized to SOF) bmControls 0x07 Clock Frequency Control (read/write) Clock Validity Control (read-only) bAssocTerminal 0 iClockSource 0 AudioControl Interface Descriptor: bLength 17 bDescriptorType 36 bDescriptorSubtype 2 (INPUT_TERMINAL) bTerminalID 10 wTerminalType 0x0101 USB Streaming bAssocTerminal 0 bCSourceID 4 bNrChannels 2 bmChannelConfig 0x00000003 Front Left (FL) Front Right (FR) iChannelNames 0 bmControls 0x0000 iTerminal 0 AudioControl Interface Descriptor: bLength 12 bDescriptorType 36 bDescriptorSubtype 3 (OUTPUT_TERMINAL) bTerminalID 16 wTerminalType 0x0302 Headphones bAssocTerminal 10 bSourceID 22 bCSourceID 4 bmControls 0x0000 iTerminal 0 AudioControl Interface Descriptor: bLength 18 bDescriptorType 36 bDescriptorSubtype 6 (FEATURE_UNIT) bUnitID 22 bSourceID 10 bmaControls(0) 0x00000003 Mute Control (read/write) bmaControls(1) 0x0000000c Volume Control (read/write) bmaControls(2) 0x0000000c Volume Control (read/write) iFeature 0 AudioControl Interface Descriptor: bLength 16 bDescriptorType 36 bDescriptorSubtype 9 (EXTENSION_UNIT) bUnitID 25 wExtensionCode 0x0bda bNrInPins 1 baSourceID(0) 22 bNrChannels 2 bmChannelConfig 0x00000003 Front Left (FL) Front Right (FR) iChannelNames 0 bmControls 0x00 iExtension 0 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x87 EP 7 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 8 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 0 bNumEndpoints 0 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 5 TX-384Khz Hifi Type-C Audio Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 1 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 5 TX-384Khz Hifi Type-C Audio AudioStreaming Interface Descriptor: bLength 16 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 10 bmControls 0x00 bFormatType 1 bmFormats 0x00000001 PCM bNrChannels 2 bmChannelConfig 0x00000003 Front Left (FL) Front Right (FR) iChannelNames 0 AudioStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bSubslotSize 2 bBitResolution 16 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data wMaxPacketSize 0x00f8 1x 248 bytes bInterval 1 AudioStreaming Endpoint Descriptor: bLength 8 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bmControls 0x00 bLockDelayUnits 0 Undefined wLockDelay 0x0000 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 2 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 5 TX-384Khz Hifi Type-C Audio AudioStreaming Interface Descriptor: bLength 16 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 10 bmControls 0x00 bFormatType 1 bmFormats 0x00000001 PCM bNrChannels 2 bmChannelConfig 0x00000003 Front Left (FL) Front Right (FR) iChannelNames 0 AudioStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bSubslotSize 3 bBitResolution 24 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data wMaxPacketSize 0x0174 1x 372 bytes bInterval 1 AudioStreaming Endpoint Descriptor: bLength 8 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bmControls 0x00 bLockDelayUnits 0 Undefined wLockDelay 0x0000 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 1 bAlternateSetting 3 bNumEndpoints 1 bInterfaceClass 1 Audio bInterfaceSubClass 2 Streaming bInterfaceProtocol 32 iInterface 5 TX-384Khz Hifi Type-C Audio AudioStreaming Interface Descriptor: bLength 16 bDescriptorType 36 bDescriptorSubtype 1 (AS_GENERAL) bTerminalLink 10 bmControls 0x00 bFormatType 1 bmFormats 0x00000001 PCM bNrChannels 2 bmChannelConfig 0x00000003 Front Left (FL) Front Right (FR) iChannelNames 0 AudioStreaming Interface Descriptor: bLength 6 bDescriptorType 36 bDescriptorSubtype 2 (FORMAT_TYPE) bFormatType 1 (FORMAT_TYPE_I) bSubslotSize 4 bBitResolution 32 Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x04 EP 4 OUT bmAttributes 9 Transfer Type Isochronous Synch Type Adaptive Usage Type Data wMaxPacketSize 0x01f0 1x 496 bytes bInterval 1 AudioStreaming Endpoint Descriptor: bLength 8 bDescriptorType 37 bDescriptorSubtype 1 (EP_GENERAL) bmAttributes 0x00 bmControls 0x00 bLockDelayUnits 0 Undefined wLockDelay 0x0000 Interface Descriptor: bLength 9 bDescriptorType 4 bInterfaceNumber 2 bAlternateSetting 0 bNumEndpoints 1 bInterfaceClass 3 Human Interface Device bInterfaceSubClass 0 bInterfaceProtocol 0 iInterface 0 HID Device Descriptor: bLength 9 bDescriptorType 33 bcdHID 1.11 bCountryCode 0 Not supported bNumDescriptors 1 bDescriptorType 34 Report wDescriptorLength 35 Report Descriptors: ** UNAVAILABLE ** Endpoint Descriptor: bLength 7 bDescriptorType 5 bEndpointAddress 0x88 EP 8 IN bmAttributes 3 Transfer Type Interrupt Synch Type None Usage Type Data wMaxPacketSize 0x0010 1x 16 bytes bInterval 4 Device Qualifier (for other device speed): bLength 10 bDescriptorType 6 bcdUSB 2.00 bDeviceClass 239 Miscellaneous Device bDeviceSubClass 2 bDeviceProtocol 1 Interface Association bMaxPacketSize0 64 bNumConfigurations 1 Device Status: 0x0000 (Bus Powered) --endcollapse-- !!USB Stream information !!---------------------- --startcollapse-- Generic TX-384Khz Hifi Type-C Audio at usb-0000:00:14.0-1, high speed : USB Audio Playback: Status: Stop Interface 1 Altset 1 Format: S16_LE Channels: 2 Endpoint: 0x04 (4 OUT) (ADAPTIVE) Rates: 44100, 48000, 96000, 192000, 384000 Data packet interval: 125 us Bits: 16 Channel map: FL FR Interface 1 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 0x04 (4 OUT) (ADAPTIVE) Rates: 44100, 48000, 96000, 192000, 384000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 1 Altset 3 Format: S32_LE Channels: 2 Endpoint: 0x04 (4 OUT) (ADAPTIVE) Rates: 44100, 48000, 96000, 192000, 384000 Data packet interval: 125 us Bits: 32 Channel map: FL FR --endcollapse-- !!USB Mixer information !!--------------------- --startcollapse-- USB Mixer: usb_id=0x0bda4c07, ctrlif=0, ctlerr=0 Card: Generic TX-384Khz Hifi Type-C Audio at usb-0000:00:14.0-1, high speed Unit: 4 Control: name="Clock Source 4 Validity", index=0 Info: id=4, control=2, cmask=0x0, channels=1, type="BOOLEAN" Volume: min=0, max=1, dBmin=0, dBmax=0 Unit: 22 Control: name="PCM Playback Volume", index=0 Info: id=22, control=2, cmask=0x3, channels=2, type="S16" Volume: min=-16800, max=0, dBmin=-6562, dBmax=0 Unit: 22 Control: name="PCM Playback Switch", index=0 Info: id=22, control=1, cmask=0x0, channels=1, type="INV_BOOLEAN" Volume: min=0, max=1, dBmin=0, dBmax=0 --endcollapse-- !!ALSA Device nodes !!----------------- crw-rw---- 1 root audio 116, 3 Nov 17 18:59 /dev/snd/controlC0 crw-rw---- 1 root audio 116, 2 Nov 17 19:00 /dev/snd/pcmC0D0p crw-rw---- 1 root audio 116, 1 Nov 17 18:59 /dev/snd/seq crw-rw---- 1 root audio 116, 33 Nov 17 18:59 /dev/snd/timer /dev/snd/by-id: total 0 drwxr-xr-x 2 root root 60 Nov 17 18:59 . drwxr-xr-x 4 root root 160 Nov 17 18:59 .. lrwxrwxrwx 1 root root 12 Nov 17 18:59 usb-Generic_TX-384Khz_Hifi_Type-C_Audio-00 -> ../controlC0 /dev/snd/by-path: total 0 drwxr-xr-x 2 root root 60 Nov 17 18:59 . drwxr-xr-x 4 root root 160 Nov 17 18:59 .. lrwxrwxrwx 1 root root 12 Nov 17 18:59 pci-0000:00:14.0-usb-0:1:1.0 -> ../controlC0 !!Aplay/Arecord output !!-------------------- APLAY **** List of PLAYBACK Hardware Devices **** card 0: Audio [TX-384Khz Hifi Type-C Audio], device 0: USB Audio [USB Audio] Subdevices: 1/1 Subdevice #0: subdevice #0 ARECORD **** List of CAPTURE Hardware Devices **** !!Amixer output !!------------- !!-------Mixer controls for card Audio Card hw:0 'Audio'/'Generic TX-384Khz Hifi Type-C Audio at usb-0000:00:14.0-1, high speed' Mixer name : 'USB Mixer' Components : 'USB0bda:4c07' Controls : 4 Simple ctrls : 1 Simple mixer control 'PCM',0 Capabilities: pvolume pswitch pswitch-joined Playback channels: Front Left - Front Right Limits: Playback 0 - 175 Mono: Front Left: Playback 121 [69%] [-20.25dB] [on] Front Right: Playback 121 [69%] [-20.25dB] [on] !!Alsactl output !!-------------- --startcollapse-- state.Audio { control.1 { iface PCM name 'Playback Channel Map' value.0 0 value.1 0 comment { access read type INTEGER count 2 range '0 - 36' } } control.2 { iface MIXER name 'PCM Playback Switch' value true comment { access 'read write' type BOOLEAN count 1 } } control.3 { iface MIXER name 'PCM Playback Volume' value.0 121 value.1 121 comment { access 'read write' type INTEGER count 2 range '0 - 175' dbmin -6562 dbmax 0 dbvalue.0 -2025 dbvalue.1 -2025 } } control.4 { iface CARD name 'Clock Source 4 Validity' value true comment { access read type BOOLEAN count 1 } } } --endcollapse-- !!All Loaded Modules !!------------------ !!ALSA/HDA dmesg !!-------------- [ 0.771254] ACPI: Added _OSI(Linux-Dell-Video) [ 0.771262] ACPI: Added _OSI(Linux-Lenovo-NV-HDMI-Audio) [ 0.771271] ACPI: Added _OSI(Linux-HPI-Hybrid-Graphics) -- [ 5.299506] usbhid: USB HID core driver [ 5.300421] usbcore: registered new interface driver snd-usb-audio [ 5.301484] IPVS: Registered protocols (TCP, UDP) -- [ 5.396384] pstore: Using crash dump compression: deflate [ 5.398338] ALSA device list: [ 5.399328] No soundcards found. [ 5.405607] Freeing unused kernel image (initmem) memory: 8868K [-- Attachment #3: card0-stream0 --] [-- Type: text/plain, Size: 757 bytes --] Generic TX-384Khz Hifi Type-C Audio at usb-0000:00:14.0-1, high speed : USB Audio Playback: Status: Stop Interface 1 Altset 1 Format: S16_LE Channels: 2 Endpoint: 0x04 (4 OUT) (ADAPTIVE) Rates: 44100, 48000, 96000, 192000, 384000 Data packet interval: 125 us Bits: 16 Channel map: FL FR Interface 1 Altset 2 Format: S24_3LE Channels: 2 Endpoint: 0x04 (4 OUT) (ADAPTIVE) Rates: 44100, 48000, 96000, 192000, 384000 Data packet interval: 125 us Bits: 24 Channel map: FL FR Interface 1 Altset 3 Format: S32_LE Channels: 2 Endpoint: 0x04 (4 OUT) (ADAPTIVE) Rates: 44100, 48000, 96000, 192000, 384000 Data packet interval: 125 us Bits: 32 Channel map: FL FR ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-17 17:48 ` Kirill A. Shutemov @ 2021-11-17 18:02 ` Takashi Iwai 2021-11-17 18:20 ` Kirill A. Shutemov 2021-11-18 8:01 ` Takashi Iwai 0 siblings, 2 replies; 14+ messages in thread From: Takashi Iwai @ 2021-11-17 18:02 UTC (permalink / raw) To: Kirill A. Shutemov Cc: Takashi Iwai, Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Wed, 17 Nov 2021 18:48:26 +0100, Kirill A. Shutemov wrote: > > On Wed, Nov 17, 2021 at 05:24:28PM +0100, Takashi Iwai wrote: > > On Wed, 17 Nov 2021 17:18:55 +0100, > > Kirill A. Shutemov wrote: > > > > > > On Wed, Nov 03, 2021 at 11:24:10AM +0100, Takashi Iwai wrote: > > > > Linus, > > > > > > > > please pull sound updates for v5.16-rc1 from: > > > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 > > > > > > > > The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 > > > > > > > > ---------------------------------------------------------------- > > > > > > > > sound updates for 5.16-rc1 > > > > > > > > Lots of code development have been see in ASoC side as usual, while > > > > the continued development on memalloc helper and USB-audio low- > > > > latency support are found in the rest. Note that a few changes in the > > > > unusual places like arch/sh are included, which are a part of ASoC DAI > > > > format cleanups. > > > > > > > > ALSA core: > > > > - Continued memallloc helper updates and cleanups, now supporting > > > > non-coherent and non-contiguous pages > > > > - Fixes for races in mixer OSS layer > > > > > > > > ASoC: > > > > - A new version of the audio graph card which supports a wider range > > > > of systems > > > > - Several conversions to YAML DT bindings > > > > - Continuing cleanups to the SOF and Intel code > > > > - Move of the Cirrus DSP framework into drivers/firmware to allow for > > > > future use by non-audio DSPs > > > > - An overhaul of the cs42l42 driver, correcting many problems > > > > - DAI format terminology conversions over many drivers for cleanups > > > > - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim > > > > MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia > > > > Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, > > > > RT5682S, and RT9120 and Rockchip RV1126 and RK3568 > > > > > > > > USB-audio: > > > > - Continued improvements on low-latency playback > > > > - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 > > > > > > > > HD-audio: > > > > - Reduce excessive udelay() calls on Intel platforms; this should > > > > reduce the CPU load with PulseAudio > > > > - Quirks for HP and Clevo laptops > > > > > > > > FireWire: > > > > - Support for meter information on MOTU > > > > > > > > > > ... > > > > > > > Takashi Iwai (29): > > > > ALSA: hda: Reduce udelay() at SKL+ position reporting > > > > ALSA: hda: Use position buffer for SKL+ again > > > > ALSA: usb-audio: Restrict rates for the shared clocks > > > > ALSA: usb-audio: Fix possible race at sync of urb completions > > > > ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback > > > > ALSA: usb-audio: Disable low-latency playback for free-wheel mode > > > > ALSA: usb-audio: Disable low-latency mode for implicit feedback sync > > > > ALSA: usb-audio: Check available frames for the next packet size > > > > ALSA: usb-audio: Add spinlock to stop_urbs() > > > > ALSA: usb-audio: Improved lowlatency playback support > > > > > > This commit breaks audio playback for me. The sample plays for fraction of > > > a second than stops. > > > > > > I use SMSL SA300. Let me know what ifo is needed to track it down. > > > > > > Also I can test potential fixups if needed. > > > > Could you give alsa-info.sh output with the device? Run the script > > with --no-upload option, and attach the output. > > Attached. I run it on kernel without the commit. I hope it is fine. > > One note: I use monolitic kernel without CONFIG_MODULES. The script > complained about missing /proc/asound/modules and other modules related > stuff. It's a known problem I forgot, but this doesn't matter much. > > Also /proc/asound/card*/stream* file for that usb device, too, > > please. > > Attached. Thanks! > > And, which environment are you testing, more exactly? Which platform, > > and with PulseAudio, pipewire, JACK, or direct ALSA device use? > > Nothing fancy. Direct ALSA. I tested with 'speaker-test -c2 -t wav' during > bisect. Did you notice the problem with other applications, too? When you wrote "The sample plays for fraction of a second than stops.", it means that the speaker-test program stalls? Or it's shorter playbacks? Also, please test booting with snd_usb_audio.lowlatency=0 boot option. Does it behave like before again? > > For checking the behavior, we'd need to check hw_params in > > /proc/asound/card*/pcm*/sub*/* for the corresponding device during > > playback/capture operations. > > You need this to be collected when the problem triggers, right? > I will follow up with this. I'll need to test my device at first. Maybe tomorrow. thanks, Takashi ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-17 18:02 ` Takashi Iwai @ 2021-11-17 18:20 ` Kirill A. Shutemov 2021-11-18 8:01 ` Takashi Iwai 1 sibling, 0 replies; 14+ messages in thread From: Kirill A. Shutemov @ 2021-11-17 18:20 UTC (permalink / raw) To: Takashi Iwai Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Wed, Nov 17, 2021 at 07:02:47PM +0100, Takashi Iwai wrote: > On Wed, 17 Nov 2021 18:48:26 +0100, > Kirill A. Shutemov wrote: > > > > On Wed, Nov 17, 2021 at 05:24:28PM +0100, Takashi Iwai wrote: > > > On Wed, 17 Nov 2021 17:18:55 +0100, > > > Kirill A. Shutemov wrote: > > > > > > > > On Wed, Nov 03, 2021 at 11:24:10AM +0100, Takashi Iwai wrote: > > > > > Linus, > > > > > > > > > > please pull sound updates for v5.16-rc1 from: > > > > > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 > > > > > > > > > > The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 > > > > > > > > > > ---------------------------------------------------------------- > > > > > > > > > > sound updates for 5.16-rc1 > > > > > > > > > > Lots of code development have been see in ASoC side as usual, while > > > > > the continued development on memalloc helper and USB-audio low- > > > > > latency support are found in the rest. Note that a few changes in the > > > > > unusual places like arch/sh are included, which are a part of ASoC DAI > > > > > format cleanups. > > > > > > > > > > ALSA core: > > > > > - Continued memallloc helper updates and cleanups, now supporting > > > > > non-coherent and non-contiguous pages > > > > > - Fixes for races in mixer OSS layer > > > > > > > > > > ASoC: > > > > > - A new version of the audio graph card which supports a wider range > > > > > of systems > > > > > - Several conversions to YAML DT bindings > > > > > - Continuing cleanups to the SOF and Intel code > > > > > - Move of the Cirrus DSP framework into drivers/firmware to allow for > > > > > future use by non-audio DSPs > > > > > - An overhaul of the cs42l42 driver, correcting many problems > > > > > - DAI format terminology conversions over many drivers for cleanups > > > > > - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim > > > > > MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia > > > > > Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, > > > > > RT5682S, and RT9120 and Rockchip RV1126 and RK3568 > > > > > > > > > > USB-audio: > > > > > - Continued improvements on low-latency playback > > > > > - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 > > > > > > > > > > HD-audio: > > > > > - Reduce excessive udelay() calls on Intel platforms; this should > > > > > reduce the CPU load with PulseAudio > > > > > - Quirks for HP and Clevo laptops > > > > > > > > > > FireWire: > > > > > - Support for meter information on MOTU > > > > > > > > > > > > > ... > > > > > > > > > Takashi Iwai (29): > > > > > ALSA: hda: Reduce udelay() at SKL+ position reporting > > > > > ALSA: hda: Use position buffer for SKL+ again > > > > > ALSA: usb-audio: Restrict rates for the shared clocks > > > > > ALSA: usb-audio: Fix possible race at sync of urb completions > > > > > ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback > > > > > ALSA: usb-audio: Disable low-latency playback for free-wheel mode > > > > > ALSA: usb-audio: Disable low-latency mode for implicit feedback sync > > > > > ALSA: usb-audio: Check available frames for the next packet size > > > > > ALSA: usb-audio: Add spinlock to stop_urbs() > > > > > ALSA: usb-audio: Improved lowlatency playback support > > > > > > > > This commit breaks audio playback for me. The sample plays for fraction of > > > > a second than stops. > > > > > > > > I use SMSL SA300. Let me know what ifo is needed to track it down. > > > > > > > > Also I can test potential fixups if needed. > > > > > > Could you give alsa-info.sh output with the device? Run the script > > > with --no-upload option, and attach the output. > > > > Attached. I run it on kernel without the commit. I hope it is fine. > > > > One note: I use monolitic kernel without CONFIG_MODULES. The script > > complained about missing /proc/asound/modules and other modules related > > stuff. > > It's a known problem I forgot, but this doesn't matter much. > > > > Also /proc/asound/card*/stream* file for that usb device, too, > > > please. > > > > Attached. > > Thanks! > > > > And, which environment are you testing, more exactly? Which platform, > > > and with PulseAudio, pipewire, JACK, or direct ALSA device use? > > > > Nothing fancy. Direct ALSA. I tested with 'speaker-test -c2 -t wav' during > > bisect. > > Did you notice the problem with other applications, too? Youtube in Firefox hangs trying to play a video. (Browser is still functional otherwise) > When you wrote "The sample plays for fraction of a second than > stops.", it means that the speaker-test program stalls? Or it's > shorter playbacks? On "Front left" check, it stalls after "Fro" or so :P The speaker-test can be terminated normally with ctrl-c and the symptoms are the same if you try again. > Also, please test booting with snd_usb_audio.lowlatency=0 boot > option. Does it behave like before again? > > > > For checking the behavior, we'd need to check hw_params in > > > /proc/asound/card*/pcm*/sub*/* for the corresponding device during > > > playback/capture operations. > > > > You need this to be collected when the problem triggers, right? > > I will follow up with this. > > I'll need to test my device at first. Maybe tomorrow. Okay. -- Kirill A. Shutemov ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-17 18:02 ` Takashi Iwai 2021-11-17 18:20 ` Kirill A. Shutemov @ 2021-11-18 8:01 ` Takashi Iwai 2021-11-18 16:57 ` Takashi Iwai 2021-11-18 23:17 ` Kirill A. Shutemov 1 sibling, 2 replies; 14+ messages in thread From: Takashi Iwai @ 2021-11-18 8:01 UTC (permalink / raw) To: Kirill A. Shutemov Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Wed, 17 Nov 2021 19:02:47 +0100, Takashi Iwai wrote: > > On Wed, 17 Nov 2021 18:48:26 +0100, > Kirill A. Shutemov wrote: > > > > On Wed, Nov 17, 2021 at 05:24:28PM +0100, Takashi Iwai wrote: > > > On Wed, 17 Nov 2021 17:18:55 +0100, > > > Kirill A. Shutemov wrote: > > > > > > > > On Wed, Nov 03, 2021 at 11:24:10AM +0100, Takashi Iwai wrote: > > > > > Linus, > > > > > > > > > > please pull sound updates for v5.16-rc1 from: > > > > > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 > > > > > > > > > > The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 > > > > > > > > > > ---------------------------------------------------------------- > > > > > > > > > > sound updates for 5.16-rc1 > > > > > > > > > > Lots of code development have been see in ASoC side as usual, while > > > > > the continued development on memalloc helper and USB-audio low- > > > > > latency support are found in the rest. Note that a few changes in the > > > > > unusual places like arch/sh are included, which are a part of ASoC DAI > > > > > format cleanups. > > > > > > > > > > ALSA core: > > > > > - Continued memallloc helper updates and cleanups, now supporting > > > > > non-coherent and non-contiguous pages > > > > > - Fixes for races in mixer OSS layer > > > > > > > > > > ASoC: > > > > > - A new version of the audio graph card which supports a wider range > > > > > of systems > > > > > - Several conversions to YAML DT bindings > > > > > - Continuing cleanups to the SOF and Intel code > > > > > - Move of the Cirrus DSP framework into drivers/firmware to allow for > > > > > future use by non-audio DSPs > > > > > - An overhaul of the cs42l42 driver, correcting many problems > > > > > - DAI format terminology conversions over many drivers for cleanups > > > > > - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim > > > > > MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia > > > > > Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, > > > > > RT5682S, and RT9120 and Rockchip RV1126 and RK3568 > > > > > > > > > > USB-audio: > > > > > - Continued improvements on low-latency playback > > > > > - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 > > > > > > > > > > HD-audio: > > > > > - Reduce excessive udelay() calls on Intel platforms; this should > > > > > reduce the CPU load with PulseAudio > > > > > - Quirks for HP and Clevo laptops > > > > > > > > > > FireWire: > > > > > - Support for meter information on MOTU > > > > > > > > > > > > > ... > > > > > > > > > Takashi Iwai (29): > > > > > ALSA: hda: Reduce udelay() at SKL+ position reporting > > > > > ALSA: hda: Use position buffer for SKL+ again > > > > > ALSA: usb-audio: Restrict rates for the shared clocks > > > > > ALSA: usb-audio: Fix possible race at sync of urb completions > > > > > ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback > > > > > ALSA: usb-audio: Disable low-latency playback for free-wheel mode > > > > > ALSA: usb-audio: Disable low-latency mode for implicit feedback sync > > > > > ALSA: usb-audio: Check available frames for the next packet size > > > > > ALSA: usb-audio: Add spinlock to stop_urbs() > > > > > ALSA: usb-audio: Improved lowlatency playback support > > > > > > > > This commit breaks audio playback for me. The sample plays for fraction of > > > > a second than stops. > > > > > > > > I use SMSL SA300. Let me know what ifo is needed to track it down. > > > > > > > > Also I can test potential fixups if needed. > > > > > > Could you give alsa-info.sh output with the device? Run the script > > > with --no-upload option, and attach the output. > > > > Attached. I run it on kernel without the commit. I hope it is fine. > > > > One note: I use monolitic kernel without CONFIG_MODULES. The script > > complained about missing /proc/asound/modules and other modules related > > stuff. > > It's a known problem I forgot, but this doesn't matter much. > > > > Also /proc/asound/card*/stream* file for that usb device, too, > > > please. > > > > Attached. > > Thanks! > > > > And, which environment are you testing, more exactly? Which platform, > > > and with PulseAudio, pipewire, JACK, or direct ALSA device use? > > > > Nothing fancy. Direct ALSA. I tested with 'speaker-test -c2 -t wav' during > > bisect. > > Did you notice the problem with other applications, too? > > When you wrote "The sample plays for fraction of a second than > stops.", it means that the speaker-test program stalls? Or it's > shorter playbacks? > > Also, please test booting with snd_usb_audio.lowlatency=0 boot > option. Does it behave like before again? > > > > For checking the behavior, we'd need to check hw_params in > > > /proc/asound/card*/pcm*/sub*/* for the corresponding device during > > > playback/capture operations. > > > > You need this to be collected when the problem triggers, right? > > I will follow up with this. > > I'll need to test my device at first. Maybe tomorrow. I checked mine, and all worked fine. So this doesn't look like a generic breakage but somehow specific to certain devices or system. Could you verify the lowlatency flag off? Also, the simple aplay invocation (e.g. with a 2-channel 16bit sample) also goes to the same problem, I suppose? Takashi ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-18 8:01 ` Takashi Iwai @ 2021-11-18 16:57 ` Takashi Iwai 2021-11-18 23:26 ` Kirill A. Shutemov 2021-11-18 23:17 ` Kirill A. Shutemov 1 sibling, 1 reply; 14+ messages in thread From: Takashi Iwai @ 2021-11-18 16:57 UTC (permalink / raw) To: Kirill A. Shutemov Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Thu, 18 Nov 2021 09:01:38 +0100, Takashi Iwai wrote: > > On Wed, 17 Nov 2021 19:02:47 +0100, > Takashi Iwai wrote: > > > > On Wed, 17 Nov 2021 18:48:26 +0100, > > Kirill A. Shutemov wrote: > > > > > > On Wed, Nov 17, 2021 at 05:24:28PM +0100, Takashi Iwai wrote: > > > > On Wed, 17 Nov 2021 17:18:55 +0100, > > > > Kirill A. Shutemov wrote: > > > > > > > > > > On Wed, Nov 03, 2021 at 11:24:10AM +0100, Takashi Iwai wrote: > > > > > > Linus, > > > > > > > > > > > > please pull sound updates for v5.16-rc1 from: > > > > > > > > > > > > git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.16-rc1 > > > > > > > > > > > > The topmost commit is df0380b9539b04c1ae8854a984098da06d5f1e67 > > > > > > > > > > > > ---------------------------------------------------------------- > > > > > > > > > > > > sound updates for 5.16-rc1 > > > > > > > > > > > > Lots of code development have been see in ASoC side as usual, while > > > > > > the continued development on memalloc helper and USB-audio low- > > > > > > latency support are found in the rest. Note that a few changes in the > > > > > > unusual places like arch/sh are included, which are a part of ASoC DAI > > > > > > format cleanups. > > > > > > > > > > > > ALSA core: > > > > > > - Continued memallloc helper updates and cleanups, now supporting > > > > > > non-coherent and non-contiguous pages > > > > > > - Fixes for races in mixer OSS layer > > > > > > > > > > > > ASoC: > > > > > > - A new version of the audio graph card which supports a wider range > > > > > > of systems > > > > > > - Several conversions to YAML DT bindings > > > > > > - Continuing cleanups to the SOF and Intel code > > > > > > - Move of the Cirrus DSP framework into drivers/firmware to allow for > > > > > > future use by non-audio DSPs > > > > > > - An overhaul of the cs42l42 driver, correcting many problems > > > > > > - DAI format terminology conversions over many drivers for cleanups > > > > > > - Support for AMD Vangogh and Yelow Cap, Cirrus CS35L41, Maxim > > > > > > MAX98520 and MAX98360A, Mediatek MT8195, Nuvoton NAU8821, nVidia > > > > > > Tegra210, NXP i.MX8ULP, Qualcomm AudioReach, Realtek ALC5682I-VS, > > > > > > RT5682S, and RT9120 and Rockchip RV1126 and RK3568 > > > > > > > > > > > > USB-audio: > > > > > > - Continued improvements on low-latency playback > > > > > > - Quirks for Pioneer devices, Line6 HX-Stomp XL, Audient iD14 > > > > > > > > > > > > HD-audio: > > > > > > - Reduce excessive udelay() calls on Intel platforms; this should > > > > > > reduce the CPU load with PulseAudio > > > > > > - Quirks for HP and Clevo laptops > > > > > > > > > > > > FireWire: > > > > > > - Support for meter information on MOTU > > > > > > > > > > > > > > > > ... > > > > > > > > > > > Takashi Iwai (29): > > > > > > ALSA: hda: Reduce udelay() at SKL+ position reporting > > > > > > ALSA: hda: Use position buffer for SKL+ again > > > > > > ALSA: usb-audio: Restrict rates for the shared clocks > > > > > > ALSA: usb-audio: Fix possible race at sync of urb completions > > > > > > ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback > > > > > > ALSA: usb-audio: Disable low-latency playback for free-wheel mode > > > > > > ALSA: usb-audio: Disable low-latency mode for implicit feedback sync > > > > > > ALSA: usb-audio: Check available frames for the next packet size > > > > > > ALSA: usb-audio: Add spinlock to stop_urbs() > > > > > > ALSA: usb-audio: Improved lowlatency playback support > > > > > > > > > > This commit breaks audio playback for me. The sample plays for fraction of > > > > > a second than stops. > > > > > > > > > > I use SMSL SA300. Let me know what ifo is needed to track it down. > > > > > > > > > > Also I can test potential fixups if needed. > > > > > > > > Could you give alsa-info.sh output with the device? Run the script > > > > with --no-upload option, and attach the output. > > > > > > Attached. I run it on kernel without the commit. I hope it is fine. > > > > > > One note: I use monolitic kernel without CONFIG_MODULES. The script > > > complained about missing /proc/asound/modules and other modules related > > > stuff. > > > > It's a known problem I forgot, but this doesn't matter much. > > > > > > Also /proc/asound/card*/stream* file for that usb device, too, > > > > please. > > > > > > Attached. > > > > Thanks! > > > > > > And, which environment are you testing, more exactly? Which platform, > > > > and with PulseAudio, pipewire, JACK, or direct ALSA device use? > > > > > > Nothing fancy. Direct ALSA. I tested with 'speaker-test -c2 -t wav' during > > > bisect. > > > > Did you notice the problem with other applications, too? > > > > When you wrote "The sample plays for fraction of a second than > > stops.", it means that the speaker-test program stalls? Or it's > > shorter playbacks? > > > > Also, please test booting with snd_usb_audio.lowlatency=0 boot > > option. Does it behave like before again? > > > > > > For checking the behavior, we'd need to check hw_params in > > > > /proc/asound/card*/pcm*/sub*/* for the corresponding device during > > > > playback/capture operations. > > > > > > You need this to be collected when the problem triggers, right? > > > I will follow up with this. > > > > I'll need to test my device at first. Maybe tomorrow. > > I checked mine, and all worked fine. So this doesn't look like a > generic breakage but somehow specific to certain devices or system. > > Could you verify the lowlatency flag off? > > Also, the simple aplay invocation (e.g. with a 2-channel 16bit sample) > also goes to the same problem, I suppose? And it'd be helpful if you can gather the log (from tracing) with the patch below (from the start of speaker-test until the stall). Takashi diff --git a/sound/usb/endpoint.c b/sound/usb/endpoint.c index 743b8287cfcd..b48e53b490b8 100644 --- a/sound/usb/endpoint.c +++ b/sound/usb/endpoint.c @@ -392,6 +392,7 @@ static void notify_xrun(struct snd_usb_endpoint *ep) { struct snd_usb_substream *data_subs; + DBG("XXX XRUN!\n"); data_subs = READ_ONCE(ep->data_subs); if (data_subs && data_subs->pcm_substream) snd_pcm_stop_xrun(data_subs->pcm_substream); @@ -425,6 +426,7 @@ static void push_back_to_ready_list(struct snd_usb_endpoint *ep, { unsigned long flags; + DBG("pkt %d push back\n", ctx->index); spin_lock_irqsave(&ep->lock, flags); list_add_tail(&ctx->ready_list, &ep->ready_playback_urbs); spin_unlock_irqrestore(&ep->lock, flags); @@ -470,6 +472,8 @@ void snd_usb_queue_pending_output_urbs(struct snd_usb_endpoint *ep, if (ctx == NULL) return; + DBG("checking queue pkt %d (active_mask=%lx)\n", ctx->index, + ep->active_mask); /* copy over the length information */ if (implicit_fb) { for (i = 0; i < packet->packets; i++) @@ -490,6 +494,7 @@ void snd_usb_queue_pending_output_urbs(struct snd_usb_endpoint *ep, return; } + DBG("pkt %d submitted\n", ctx->index); err = usb_submit_urb(ctx->urb, GFP_ATOMIC); if (err < 0) { usb_audio_err(ep->chip, @@ -513,6 +518,7 @@ static void snd_complete_urb(struct urb *urb) struct snd_usb_endpoint *ep = ctx->ep; int err; + DBG("pkt complete %d\n", ctx->index); if (unlikely(urb->status == -ENOENT || /* unlinked */ urb->status == -ENODEV || /* device removed */ urb->status == -ECONNRESET || /* unlinked */ @@ -1442,6 +1448,7 @@ int snd_usb_endpoint_start(struct snd_usb_endpoint *ep) int err; unsigned int i; + DBG("endpoint start\n"); if (atomic_read(&ep->chip->shutdown)) return -EBADFD; @@ -1500,6 +1507,7 @@ int snd_usb_endpoint_start(struct snd_usb_endpoint *ep) goto __error; } + DBG("start: pkt %d submitted\n", i); err = usb_submit_urb(urb, GFP_ATOMIC); if (err < 0) { usb_audio_err(ep->chip, diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index 95ec8eec1bb0..b1651db2e1e8 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -1232,6 +1232,8 @@ static void urb_ctx_queue_advance(struct snd_usb_substream *subs, subs->hwptr_done += bytes; if (subs->hwptr_done >= subs->buffer_bytes) subs->hwptr_done -= subs->buffer_bytes; + DBG("PCM bytes=%d, queued=%d, inflight=%d, hwptr=%d\n", + bytes, ctx->queued, subs->inflight_bytes, subs->hwptr_done); } static inline void fill_playback_urb_dsd_dop(struct snd_usb_substream *subs, @@ -1389,10 +1391,17 @@ static int prepare_playback_urb(struct snd_usb_substream *subs, if (avail <= hwptr) avail += runtime->buffer_size; avail -= hwptr; + DBG("prepare: applptr=%ld, hwptr_base=%ld, buffer=%ld, hwptr=%d, avail=%d\n", + (long)runtime->control->appl_ptr, + (long)runtime->hw_ptr_base, + (long)runtime->buffer_size, + hwptr, avail); } for (i = 0; i < ctx->packets; i++) { counts = snd_usb_endpoint_next_packet_size(ep, ctx, i, avail); + DBG("prepare: pkt %d [%d]: avail=%d, counts=%d\n", + ctx->index, i, avail, counts); if (counts < 0) break; /* set up descriptor */ @@ -1530,6 +1539,7 @@ static int snd_usb_pcm_playback_ack(struct snd_pcm_substream *substream) /* When no more in-flight URBs available, try to process the pending * outputs here */ + DBG("PCM ack: active_mask=%lx\n", ep->active_mask); if (!ep->active_mask) snd_usb_queue_pending_output_urbs(ep, true); return 0; diff --git a/sound/usb/usbaudio.h b/sound/usb/usbaudio.h index 167834133b9b..84fcd6956f76 100644 --- a/sound/usb/usbaudio.h +++ b/sound/usb/usbaudio.h @@ -184,4 +184,5 @@ extern bool snd_usb_skip_validation; #define QUIRK_FLAG_DSD_RAW (1U << 15) #define QUIRK_FLAG_SET_IFACE_FIRST (1U << 16) +#define DBG(fmt, ...) trace_printk(fmt, ##__VA_ARGS__) #endif /* __USBAUDIO_H */ ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-18 16:57 ` Takashi Iwai @ 2021-11-18 23:26 ` Kirill A. Shutemov 2021-11-19 9:13 ` Takashi Iwai 0 siblings, 1 reply; 14+ messages in thread From: Kirill A. Shutemov @ 2021-11-18 23:26 UTC (permalink / raw) To: Takashi Iwai Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 247 bytes --] On Thu, Nov 18, 2021 at 05:57:35PM +0100, Takashi Iwai wrote: > And it'd be helpful if you can gather the log (from tracing) with the > patch below (from the start of speaker-test until the stall). The trace is attached. -- Kirill A. Shutemov [-- Attachment #2: trace --] [-- Type: text/plain, Size: 100198 bytes --] # tracer: nop # # entries-in-buffer/entries-written: 1748/1748 #P:32 # # _-----=> irqs-off # / _----=> need-resched # | / _---=> hardirq/softirq # || / _--=> preempt-depth # ||| / _-=> migrate-disable # |||| / delay # TASK-PID CPU# ||||| TIMESTAMP FUNCTION # | | | ||||| | | speaker-test-4543 [002] d..1. 154.331485: snd_usb_endpoint_start: endpoint start speaker-test-4543 [002] d..2. 154.331490: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=0, avail=4096 speaker-test-4543 [002] d..2. 154.331491: prepare_playback_urb: prepare: pkt 0 [0]: avail=4096, counts=5 speaker-test-4543 [002] d..2. 154.331492: prepare_playback_urb: prepare: pkt 0 [1]: avail=4091, counts=6 speaker-test-4543 [002] d..2. 154.331493: prepare_playback_urb: prepare: pkt 0 [2]: avail=4085, counts=5 speaker-test-4543 [002] d..2. 154.331494: prepare_playback_urb: prepare: pkt 0 [3]: avail=4080, counts=6 speaker-test-4543 [002] d..2. 154.331494: prepare_playback_urb: prepare: pkt 0 [4]: avail=4074, counts=5 speaker-test-4543 [002] d..2. 154.331495: prepare_playback_urb: prepare: pkt 0 [5]: avail=4069, counts=6 speaker-test-4543 [002] d..2. 154.331495: prepare_playback_urb: prepare: pkt 0 [6]: avail=4063, counts=5 speaker-test-4543 [002] d..2. 154.331496: prepare_playback_urb: prepare: pkt 0 [7]: avail=4058, counts=6 speaker-test-4543 [002] d..2. 154.331496: prepare_playback_urb: prepare: pkt 0 [8]: avail=4052, counts=5 speaker-test-4543 [002] d..2. 154.331497: prepare_playback_urb: prepare: pkt 0 [9]: avail=4047, counts=6 speaker-test-4543 [002] d..2. 154.331498: prepare_playback_urb: prepare: pkt 0 [10]: avail=4041, counts=5 speaker-test-4543 [002] d..2. 154.331498: prepare_playback_urb: prepare: pkt 0 [11]: avail=4036, counts=6 speaker-test-4543 [002] d..2. 154.331499: prepare_playback_urb: prepare: pkt 0 [12]: avail=4030, counts=5 speaker-test-4543 [002] d..2. 154.331499: prepare_playback_urb: prepare: pkt 0 [13]: avail=4025, counts=6 speaker-test-4543 [002] d..2. 154.331500: prepare_playback_urb: prepare: pkt 0 [14]: avail=4019, counts=5 speaker-test-4543 [002] d..2. 154.331500: prepare_playback_urb: prepare: pkt 0 [15]: avail=4014, counts=6 speaker-test-4543 [002] d..2. 154.331501: prepare_playback_urb: prepare: pkt 0 [16]: avail=4008, counts=5 speaker-test-4543 [002] d..2. 154.331501: prepare_playback_urb: prepare: pkt 0 [17]: avail=4003, counts=6 speaker-test-4543 [002] d..2. 154.331502: prepare_playback_urb: prepare: pkt 0 [18]: avail=3997, counts=5 speaker-test-4543 [002] d..2. 154.331503: prepare_playback_urb: prepare: pkt 0 [19]: avail=3992, counts=6 speaker-test-4543 [002] d..2. 154.331503: prepare_playback_urb: prepare: pkt 0 [20]: avail=3986, counts=5 speaker-test-4543 [002] d..2. 154.331504: prepare_playback_urb: prepare: pkt 0 [21]: avail=3981, counts=6 speaker-test-4543 [002] d..2. 154.331504: prepare_playback_urb: prepare: pkt 0 [22]: avail=3975, counts=5 speaker-test-4543 [002] d..2. 154.331505: prepare_playback_urb: prepare: pkt 0 [23]: avail=3970, counts=6 speaker-test-4543 [002] d..2. 154.331505: prepare_playback_urb: prepare: pkt 0 [24]: avail=3964, counts=5 speaker-test-4543 [002] d..2. 154.331506: prepare_playback_urb: prepare: pkt 0 [25]: avail=3959, counts=6 speaker-test-4543 [002] d..2. 154.331506: prepare_playback_urb: prepare: pkt 0 [26]: avail=3953, counts=5 speaker-test-4543 [002] d..2. 154.331507: prepare_playback_urb: prepare: pkt 0 [27]: avail=3948, counts=6 speaker-test-4543 [002] d..2. 154.331507: prepare_playback_urb: prepare: pkt 0 [28]: avail=3942, counts=5 speaker-test-4543 [002] d..2. 154.331508: prepare_playback_urb: prepare: pkt 0 [29]: avail=3937, counts=6 speaker-test-4543 [002] d..2. 154.331509: prepare_playback_urb: prepare: pkt 0 [30]: avail=3931, counts=5 speaker-test-4543 [002] d..2. 154.331509: prepare_playback_urb: prepare: pkt 0 [31]: avail=3926, counts=6 speaker-test-4543 [002] d..2. 154.331510: prepare_playback_urb: prepare: pkt 0 [32]: avail=3920, counts=5 speaker-test-4543 [002] d..2. 154.331510: prepare_playback_urb: prepare: pkt 0 [33]: avail=3915, counts=6 speaker-test-4543 [002] d..2. 154.331511: prepare_playback_urb: prepare: pkt 0 [34]: avail=3909, counts=5 speaker-test-4543 [002] d..2. 154.331511: prepare_playback_urb: prepare: pkt 0 [35]: avail=3904, counts=6 speaker-test-4543 [002] d..2. 154.331512: prepare_playback_urb: prepare: pkt 0 [36]: avail=3898, counts=5 speaker-test-4543 [002] d..2. 154.331512: prepare_playback_urb: prepare: pkt 0 [37]: avail=3893, counts=6 speaker-test-4543 [002] d..2. 154.331513: prepare_playback_urb: prepare: pkt 0 [38]: avail=3887, counts=5 speaker-test-4543 [002] d..2. 154.331513: prepare_playback_urb: prepare: pkt 0 [39]: avail=3882, counts=6 speaker-test-4543 [002] d..2. 154.331514: prepare_playback_urb: prepare: pkt 0 [40]: avail=3876, counts=6 speaker-test-4543 [002] d..2. 154.331515: urb_ctx_queue_advance: PCM bytes=904, queued=904, inflight=904, hwptr=904 speaker-test-4543 [002] d..1. 154.331518: snd_usb_endpoint_start: start: pkt 0 submitted speaker-test-4543 [002] d..2. 154.331532: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=226, avail=3870 speaker-test-4543 [002] d..2. 154.331533: prepare_playback_urb: prepare: pkt 1 [0]: avail=3870, counts=5 speaker-test-4543 [002] d..2. 154.331533: prepare_playback_urb: prepare: pkt 1 [1]: avail=3865, counts=6 speaker-test-4543 [002] d..2. 154.331534: prepare_playback_urb: prepare: pkt 1 [2]: avail=3859, counts=5 speaker-test-4543 [002] d..2. 154.331534: prepare_playback_urb: prepare: pkt 1 [3]: avail=3854, counts=6 speaker-test-4543 [002] d..2. 154.331535: prepare_playback_urb: prepare: pkt 1 [4]: avail=3848, counts=5 speaker-test-4543 [002] d..2. 154.331535: prepare_playback_urb: prepare: pkt 1 [5]: avail=3843, counts=6 speaker-test-4543 [002] d..2. 154.331536: prepare_playback_urb: prepare: pkt 1 [6]: avail=3837, counts=5 speaker-test-4543 [002] d..2. 154.331536: prepare_playback_urb: prepare: pkt 1 [7]: avail=3832, counts=6 speaker-test-4543 [002] d..2. 154.331537: prepare_playback_urb: prepare: pkt 1 [8]: avail=3826, counts=5 speaker-test-4543 [002] d..2. 154.331537: prepare_playback_urb: prepare: pkt 1 [9]: avail=3821, counts=6 speaker-test-4543 [002] d..2. 154.331538: prepare_playback_urb: prepare: pkt 1 [10]: avail=3815, counts=5 speaker-test-4543 [002] d..2. 154.331538: prepare_playback_urb: prepare: pkt 1 [11]: avail=3810, counts=6 speaker-test-4543 [002] d..2. 154.331539: prepare_playback_urb: prepare: pkt 1 [12]: avail=3804, counts=5 speaker-test-4543 [002] d..2. 154.331540: prepare_playback_urb: prepare: pkt 1 [13]: avail=3799, counts=6 speaker-test-4543 [002] d..2. 154.331540: prepare_playback_urb: prepare: pkt 1 [14]: avail=3793, counts=5 speaker-test-4543 [002] d..2. 154.331541: prepare_playback_urb: prepare: pkt 1 [15]: avail=3788, counts=6 speaker-test-4543 [002] d..2. 154.331541: prepare_playback_urb: prepare: pkt 1 [16]: avail=3782, counts=5 speaker-test-4543 [002] d..2. 154.331542: prepare_playback_urb: prepare: pkt 1 [17]: avail=3777, counts=6 speaker-test-4543 [002] d..2. 154.331542: prepare_playback_urb: prepare: pkt 1 [18]: avail=3771, counts=5 speaker-test-4543 [002] d..2. 154.331543: prepare_playback_urb: prepare: pkt 1 [19]: avail=3766, counts=6 speaker-test-4543 [002] d..2. 154.331543: prepare_playback_urb: prepare: pkt 1 [20]: avail=3760, counts=5 speaker-test-4543 [002] d..2. 154.331544: prepare_playback_urb: prepare: pkt 1 [21]: avail=3755, counts=6 speaker-test-4543 [002] d..2. 154.331544: prepare_playback_urb: prepare: pkt 1 [22]: avail=3749, counts=5 speaker-test-4543 [002] d..2. 154.331545: prepare_playback_urb: prepare: pkt 1 [23]: avail=3744, counts=6 speaker-test-4543 [002] d..2. 154.331545: prepare_playback_urb: prepare: pkt 1 [24]: avail=3738, counts=5 speaker-test-4543 [002] d..2. 154.331546: prepare_playback_urb: prepare: pkt 1 [25]: avail=3733, counts=6 speaker-test-4543 [002] d..2. 154.331546: prepare_playback_urb: prepare: pkt 1 [26]: avail=3727, counts=5 speaker-test-4543 [002] d..2. 154.331547: prepare_playback_urb: prepare: pkt 1 [27]: avail=3722, counts=6 speaker-test-4543 [002] d..2. 154.331547: prepare_playback_urb: prepare: pkt 1 [28]: avail=3716, counts=5 speaker-test-4543 [002] d..2. 154.331548: prepare_playback_urb: prepare: pkt 1 [29]: avail=3711, counts=6 speaker-test-4543 [002] d..2. 154.331548: prepare_playback_urb: prepare: pkt 1 [30]: avail=3705, counts=5 speaker-test-4543 [002] d..2. 154.331549: prepare_playback_urb: prepare: pkt 1 [31]: avail=3700, counts=6 speaker-test-4543 [002] d..2. 154.331549: prepare_playback_urb: prepare: pkt 1 [32]: avail=3694, counts=5 speaker-test-4543 [002] d..2. 154.331550: prepare_playback_urb: prepare: pkt 1 [33]: avail=3689, counts=6 speaker-test-4543 [002] d..2. 154.331551: prepare_playback_urb: prepare: pkt 1 [34]: avail=3683, counts=5 speaker-test-4543 [002] d..2. 154.331551: prepare_playback_urb: prepare: pkt 1 [35]: avail=3678, counts=6 speaker-test-4543 [002] d..2. 154.331552: prepare_playback_urb: prepare: pkt 1 [36]: avail=3672, counts=5 speaker-test-4543 [002] d..2. 154.331552: prepare_playback_urb: prepare: pkt 1 [37]: avail=3667, counts=6 speaker-test-4543 [002] d..2. 154.331553: prepare_playback_urb: prepare: pkt 1 [38]: avail=3661, counts=6 speaker-test-4543 [002] d..2. 154.331553: prepare_playback_urb: prepare: pkt 1 [39]: avail=3655, counts=5 speaker-test-4543 [002] d..2. 154.331554: prepare_playback_urb: prepare: pkt 1 [40]: avail=3650, counts=6 speaker-test-4543 [002] d..2. 154.331555: urb_ctx_queue_advance: PCM bytes=904, queued=904, inflight=1808, hwptr=1808 speaker-test-4543 [002] d..1. 154.331556: snd_usb_endpoint_start: start: pkt 1 submitted speaker-test-4543 [002] d..2. 154.331567: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=452, avail=3644 speaker-test-4543 [002] d..2. 154.331567: prepare_playback_urb: prepare: pkt 2 [0]: avail=3644, counts=5 speaker-test-4543 [002] d..2. 154.331568: prepare_playback_urb: prepare: pkt 2 [1]: avail=3639, counts=6 speaker-test-4543 [002] d..2. 154.331569: prepare_playback_urb: prepare: pkt 2 [2]: avail=3633, counts=5 speaker-test-4543 [002] d..2. 154.331570: prepare_playback_urb: prepare: pkt 2 [3]: avail=3628, counts=6 speaker-test-4543 [002] d..2. 154.331570: prepare_playback_urb: prepare: pkt 2 [4]: avail=3622, counts=5 speaker-test-4543 [002] d..2. 154.331571: prepare_playback_urb: prepare: pkt 2 [5]: avail=3617, counts=6 speaker-test-4543 [002] d..2. 154.331571: prepare_playback_urb: prepare: pkt 2 [6]: avail=3611, counts=5 speaker-test-4543 [002] d..2. 154.331572: prepare_playback_urb: prepare: pkt 2 [7]: avail=3606, counts=6 speaker-test-4543 [002] d..2. 154.331572: prepare_playback_urb: prepare: pkt 2 [8]: avail=3600, counts=5 speaker-test-4543 [002] d..2. 154.331573: prepare_playback_urb: prepare: pkt 2 [9]: avail=3595, counts=6 speaker-test-4543 [002] d..2. 154.331574: prepare_playback_urb: prepare: pkt 2 [10]: avail=3589, counts=5 speaker-test-4543 [002] d..2. 154.331574: prepare_playback_urb: prepare: pkt 2 [11]: avail=3584, counts=6 speaker-test-4543 [002] d..2. 154.331575: prepare_playback_urb: prepare: pkt 2 [12]: avail=3578, counts=5 speaker-test-4543 [002] d..2. 154.331575: prepare_playback_urb: prepare: pkt 2 [13]: avail=3573, counts=6 speaker-test-4543 [002] d..2. 154.331576: prepare_playback_urb: prepare: pkt 2 [14]: avail=3567, counts=5 speaker-test-4543 [002] d..2. 154.331576: prepare_playback_urb: prepare: pkt 2 [15]: avail=3562, counts=6 speaker-test-4543 [002] d..2. 154.331577: prepare_playback_urb: prepare: pkt 2 [16]: avail=3556, counts=5 speaker-test-4543 [002] d..2. 154.331577: prepare_playback_urb: prepare: pkt 2 [17]: avail=3551, counts=6 speaker-test-4543 [002] d..2. 154.331578: prepare_playback_urb: prepare: pkt 2 [18]: avail=3545, counts=5 speaker-test-4543 [002] d..2. 154.331578: prepare_playback_urb: prepare: pkt 2 [19]: avail=3540, counts=6 speaker-test-4543 [002] d..2. 154.331579: prepare_playback_urb: prepare: pkt 2 [20]: avail=3534, counts=5 speaker-test-4543 [002] d..2. 154.331579: prepare_playback_urb: prepare: pkt 2 [21]: avail=3529, counts=6 speaker-test-4543 [002] d..2. 154.331580: prepare_playback_urb: prepare: pkt 2 [22]: avail=3523, counts=5 speaker-test-4543 [002] d..2. 154.331581: prepare_playback_urb: prepare: pkt 2 [23]: avail=3518, counts=6 speaker-test-4543 [002] d..2. 154.331581: prepare_playback_urb: prepare: pkt 2 [24]: avail=3512, counts=5 speaker-test-4543 [002] d..2. 154.331582: prepare_playback_urb: prepare: pkt 2 [25]: avail=3507, counts=6 speaker-test-4543 [002] d..2. 154.331582: prepare_playback_urb: prepare: pkt 2 [26]: avail=3501, counts=5 speaker-test-4543 [002] d..2. 154.331583: prepare_playback_urb: prepare: pkt 2 [27]: avail=3496, counts=6 speaker-test-4543 [002] d..2. 154.331583: prepare_playback_urb: prepare: pkt 2 [28]: avail=3490, counts=5 speaker-test-4543 [002] d..2. 154.331584: prepare_playback_urb: prepare: pkt 2 [29]: avail=3485, counts=6 speaker-test-4543 [002] d..2. 154.331584: prepare_playback_urb: prepare: pkt 2 [30]: avail=3479, counts=5 speaker-test-4543 [002] d..2. 154.331585: prepare_playback_urb: prepare: pkt 2 [31]: avail=3474, counts=6 speaker-test-4543 [002] d..2. 154.331585: prepare_playback_urb: prepare: pkt 2 [32]: avail=3468, counts=5 speaker-test-4543 [002] d..2. 154.331586: prepare_playback_urb: prepare: pkt 2 [33]: avail=3463, counts=6 speaker-test-4543 [002] d..2. 154.331586: prepare_playback_urb: prepare: pkt 2 [34]: avail=3457, counts=5 speaker-test-4543 [002] d..2. 154.331587: prepare_playback_urb: prepare: pkt 2 [35]: avail=3452, counts=6 speaker-test-4543 [002] d..2. 154.331587: prepare_playback_urb: prepare: pkt 2 [36]: avail=3446, counts=5 speaker-test-4543 [002] d..2. 154.331588: prepare_playback_urb: prepare: pkt 2 [37]: avail=3441, counts=6 speaker-test-4543 [002] d..2. 154.331588: prepare_playback_urb: prepare: pkt 2 [38]: avail=3435, counts=6 speaker-test-4543 [002] d..2. 154.331589: prepare_playback_urb: prepare: pkt 2 [39]: avail=3429, counts=5 speaker-test-4543 [002] d..2. 154.331589: prepare_playback_urb: prepare: pkt 2 [40]: avail=3424, counts=6 speaker-test-4543 [002] d..2. 154.331590: urb_ctx_queue_advance: PCM bytes=904, queued=904, inflight=2712, hwptr=2712 speaker-test-4543 [002] d..1. 154.331592: snd_usb_endpoint_start: start: pkt 2 submitted <idle>-0 [010] ..s1. 154.336838: snd_complete_urb: pkt complete 0 <idle>-0 [010] ..s1. 154.336841: push_back_to_ready_list: pkt 0 push back <idle>-0 [010] ..s1. 154.336843: snd_usb_queue_pending_output_urbs: checking queue pkt 0 (active_mask=6) <idle>-0 [010] d.s2. 154.336845: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=678, avail=3418 <idle>-0 [010] d.s2. 154.336846: prepare_playback_urb: prepare: pkt 0 [0]: avail=3418, counts=5 <idle>-0 [010] d.s2. 154.336846: prepare_playback_urb: prepare: pkt 0 [1]: avail=3413, counts=6 <idle>-0 [010] d.s2. 154.336847: prepare_playback_urb: prepare: pkt 0 [2]: avail=3407, counts=5 <idle>-0 [010] d.s2. 154.336848: prepare_playback_urb: prepare: pkt 0 [3]: avail=3402, counts=6 <idle>-0 [010] d.s2. 154.336848: prepare_playback_urb: prepare: pkt 0 [4]: avail=3396, counts=5 <idle>-0 [010] d.s2. 154.336849: prepare_playback_urb: prepare: pkt 0 [5]: avail=3391, counts=6 <idle>-0 [010] d.s2. 154.336849: prepare_playback_urb: prepare: pkt 0 [6]: avail=3385, counts=5 <idle>-0 [010] d.s2. 154.336850: prepare_playback_urb: prepare: pkt 0 [7]: avail=3380, counts=6 <idle>-0 [010] d.s2. 154.336850: prepare_playback_urb: prepare: pkt 0 [8]: avail=3374, counts=5 <idle>-0 [010] d.s2. 154.336851: prepare_playback_urb: prepare: pkt 0 [9]: avail=3369, counts=6 <idle>-0 [010] d.s2. 154.336851: prepare_playback_urb: prepare: pkt 0 [10]: avail=3363, counts=5 <idle>-0 [010] d.s2. 154.336852: prepare_playback_urb: prepare: pkt 0 [11]: avail=3358, counts=6 <idle>-0 [010] d.s2. 154.336853: prepare_playback_urb: prepare: pkt 0 [12]: avail=3352, counts=5 <idle>-0 [010] d.s2. 154.336853: prepare_playback_urb: prepare: pkt 0 [13]: avail=3347, counts=6 <idle>-0 [010] d.s2. 154.336854: prepare_playback_urb: prepare: pkt 0 [14]: avail=3341, counts=5 <idle>-0 [010] d.s2. 154.336854: prepare_playback_urb: prepare: pkt 0 [15]: avail=3336, counts=6 <idle>-0 [010] d.s2. 154.336855: prepare_playback_urb: prepare: pkt 0 [16]: avail=3330, counts=5 <idle>-0 [010] d.s2. 154.336855: prepare_playback_urb: prepare: pkt 0 [17]: avail=3325, counts=6 <idle>-0 [010] d.s2. 154.336856: prepare_playback_urb: prepare: pkt 0 [18]: avail=3319, counts=5 <idle>-0 [010] d.s2. 154.336856: prepare_playback_urb: prepare: pkt 0 [19]: avail=3314, counts=6 <idle>-0 [010] d.s2. 154.336857: prepare_playback_urb: prepare: pkt 0 [20]: avail=3308, counts=5 <idle>-0 [010] d.s2. 154.336857: prepare_playback_urb: prepare: pkt 0 [21]: avail=3303, counts=6 <idle>-0 [010] d.s2. 154.336858: prepare_playback_urb: prepare: pkt 0 [22]: avail=3297, counts=5 <idle>-0 [010] d.s2. 154.336858: prepare_playback_urb: prepare: pkt 0 [23]: avail=3292, counts=6 <idle>-0 [010] d.s2. 154.336859: prepare_playback_urb: prepare: pkt 0 [24]: avail=3286, counts=5 <idle>-0 [010] d.s2. 154.336859: prepare_playback_urb: prepare: pkt 0 [25]: avail=3281, counts=6 <idle>-0 [010] d.s2. 154.336860: prepare_playback_urb: prepare: pkt 0 [26]: avail=3275, counts=5 <idle>-0 [010] d.s2. 154.336860: prepare_playback_urb: prepare: pkt 0 [27]: avail=3270, counts=6 <idle>-0 [010] d.s2. 154.336861: prepare_playback_urb: prepare: pkt 0 [28]: avail=3264, counts=5 <idle>-0 [010] d.s2. 154.336862: prepare_playback_urb: prepare: pkt 0 [29]: avail=3259, counts=6 <idle>-0 [010] d.s2. 154.336862: prepare_playback_urb: prepare: pkt 0 [30]: avail=3253, counts=5 <idle>-0 [010] d.s2. 154.336863: prepare_playback_urb: prepare: pkt 0 [31]: avail=3248, counts=6 <idle>-0 [010] d.s2. 154.336863: prepare_playback_urb: prepare: pkt 0 [32]: avail=3242, counts=5 <idle>-0 [010] d.s2. 154.336864: prepare_playback_urb: prepare: pkt 0 [33]: avail=3237, counts=6 <idle>-0 [010] d.s2. 154.336864: prepare_playback_urb: prepare: pkt 0 [34]: avail=3231, counts=5 <idle>-0 [010] d.s2. 154.336865: prepare_playback_urb: prepare: pkt 0 [35]: avail=3226, counts=6 <idle>-0 [010] d.s2. 154.336865: prepare_playback_urb: prepare: pkt 0 [36]: avail=3220, counts=6 <idle>-0 [010] d.s2. 154.336866: prepare_playback_urb: prepare: pkt 0 [37]: avail=3214, counts=5 <idle>-0 [010] d.s2. 154.336866: prepare_playback_urb: prepare: pkt 0 [38]: avail=3209, counts=6 <idle>-0 [010] d.s2. 154.336867: prepare_playback_urb: prepare: pkt 0 [39]: avail=3203, counts=5 <idle>-0 [010] d.s2. 154.336867: prepare_playback_urb: prepare: pkt 0 [40]: avail=3198, counts=6 <idle>-0 [010] d.s2. 154.336869: urb_ctx_queue_advance: PCM bytes=904, queued=904, inflight=2712, hwptr=3616 <idle>-0 [010] ..s1. 154.336870: snd_usb_queue_pending_output_urbs: pkt 0 submitted <idle>-0 [010] ..s1. 154.341966: snd_complete_urb: pkt complete 1 <idle>-0 [010] ..s1. 154.341969: push_back_to_ready_list: pkt 1 push back <idle>-0 [010] ..s1. 154.341970: snd_usb_queue_pending_output_urbs: checking queue pkt 1 (active_mask=5) <idle>-0 [010] d.s2. 154.341972: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=904, avail=3192 <idle>-0 [010] d.s2. 154.341973: prepare_playback_urb: prepare: pkt 1 [0]: avail=3192, counts=5 <idle>-0 [010] d.s2. 154.341974: prepare_playback_urb: prepare: pkt 1 [1]: avail=3187, counts=6 <idle>-0 [010] d.s2. 154.341974: prepare_playback_urb: prepare: pkt 1 [2]: avail=3181, counts=5 <idle>-0 [010] d.s2. 154.341975: prepare_playback_urb: prepare: pkt 1 [3]: avail=3176, counts=6 <idle>-0 [010] d.s2. 154.341976: prepare_playback_urb: prepare: pkt 1 [4]: avail=3170, counts=5 <idle>-0 [010] d.s2. 154.341976: prepare_playback_urb: prepare: pkt 1 [5]: avail=3165, counts=6 <idle>-0 [010] d.s2. 154.341977: prepare_playback_urb: prepare: pkt 1 [6]: avail=3159, counts=5 <idle>-0 [010] d.s2. 154.341978: prepare_playback_urb: prepare: pkt 1 [7]: avail=3154, counts=6 <idle>-0 [010] d.s2. 154.341978: prepare_playback_urb: prepare: pkt 1 [8]: avail=3148, counts=5 <idle>-0 [010] d.s2. 154.341979: prepare_playback_urb: prepare: pkt 1 [9]: avail=3143, counts=6 <idle>-0 [010] d.s2. 154.341979: prepare_playback_urb: prepare: pkt 1 [10]: avail=3137, counts=5 <idle>-0 [010] d.s2. 154.341980: prepare_playback_urb: prepare: pkt 1 [11]: avail=3132, counts=6 <idle>-0 [010] d.s2. 154.341981: prepare_playback_urb: prepare: pkt 1 [12]: avail=3126, counts=5 <idle>-0 [010] d.s2. 154.341981: prepare_playback_urb: prepare: pkt 1 [13]: avail=3121, counts=6 <idle>-0 [010] d.s2. 154.341982: prepare_playback_urb: prepare: pkt 1 [14]: avail=3115, counts=5 <idle>-0 [010] d.s2. 154.341982: prepare_playback_urb: prepare: pkt 1 [15]: avail=3110, counts=6 <idle>-0 [010] d.s2. 154.341983: prepare_playback_urb: prepare: pkt 1 [16]: avail=3104, counts=5 <idle>-0 [010] d.s2. 154.341983: prepare_playback_urb: prepare: pkt 1 [17]: avail=3099, counts=6 <idle>-0 [010] d.s2. 154.341984: prepare_playback_urb: prepare: pkt 1 [18]: avail=3093, counts=5 <idle>-0 [010] d.s2. 154.341984: prepare_playback_urb: prepare: pkt 1 [19]: avail=3088, counts=6 <idle>-0 [010] d.s2. 154.341985: prepare_playback_urb: prepare: pkt 1 [20]: avail=3082, counts=5 <idle>-0 [010] d.s2. 154.341985: prepare_playback_urb: prepare: pkt 1 [21]: avail=3077, counts=6 <idle>-0 [010] d.s2. 154.341987: urb_ctx_queue_advance: PCM bytes=484, queued=484, inflight=2292, hwptr=4100 <idle>-0 [010] ..s1. 154.342008: snd_usb_queue_pending_output_urbs: pkt 1 submitted <idle>-0 [010] ..s1. 154.347087: snd_complete_urb: pkt complete 2 <idle>-0 [010] ..s1. 154.347089: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.347091: snd_usb_queue_pending_output_urbs: checking queue pkt 2 (active_mask=3) <idle>-0 [010] d.s2. 154.347093: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=1025, avail=3071 <idle>-0 [010] d.s2. 154.347094: prepare_playback_urb: prepare: pkt 2 [0]: avail=3071, counts=5 <idle>-0 [010] d.s2. 154.347095: prepare_playback_urb: prepare: pkt 2 [1]: avail=3066, counts=6 <idle>-0 [010] d.s2. 154.347095: prepare_playback_urb: prepare: pkt 2 [2]: avail=3060, counts=5 <idle>-0 [010] d.s2. 154.347096: prepare_playback_urb: prepare: pkt 2 [3]: avail=3055, counts=6 <idle>-0 [010] d.s2. 154.347096: prepare_playback_urb: prepare: pkt 2 [4]: avail=3049, counts=5 <idle>-0 [010] d.s2. 154.347097: prepare_playback_urb: prepare: pkt 2 [5]: avail=3044, counts=6 <idle>-0 [010] d.s2. 154.347098: prepare_playback_urb: prepare: pkt 2 [6]: avail=3038, counts=5 <idle>-0 [010] d.s2. 154.347098: prepare_playback_urb: prepare: pkt 2 [7]: avail=3033, counts=6 <idle>-0 [010] d.s2. 154.347099: prepare_playback_urb: prepare: pkt 2 [8]: avail=3027, counts=5 <idle>-0 [010] d.s2. 154.347099: prepare_playback_urb: prepare: pkt 2 [9]: avail=3022, counts=6 <idle>-0 [010] d.s2. 154.347100: prepare_playback_urb: prepare: pkt 2 [10]: avail=3016, counts=5 <idle>-0 [010] d.s2. 154.347100: prepare_playback_urb: prepare: pkt 2 [11]: avail=3011, counts=6 <idle>-0 [010] d.s2. 154.347101: prepare_playback_urb: prepare: pkt 2 [12]: avail=3005, counts=5 <idle>-0 [010] d.s2. 154.347101: prepare_playback_urb: prepare: pkt 2 [13]: avail=3000, counts=6 <idle>-0 [010] d.s2. 154.347102: prepare_playback_urb: prepare: pkt 2 [14]: avail=2994, counts=6 <idle>-0 [010] d.s2. 154.347102: prepare_playback_urb: prepare: pkt 2 [15]: avail=2988, counts=5 <idle>-0 [010] d.s2. 154.347103: prepare_playback_urb: prepare: pkt 2 [16]: avail=2983, counts=6 <idle>-0 [010] d.s2. 154.347104: prepare_playback_urb: prepare: pkt 2 [17]: avail=2977, counts=5 <idle>-0 [010] d.s2. 154.347104: prepare_playback_urb: prepare: pkt 2 [18]: avail=2972, counts=6 <idle>-0 [010] d.s2. 154.347105: prepare_playback_urb: prepare: pkt 2 [19]: avail=2966, counts=5 <idle>-0 [010] d.s2. 154.347105: prepare_playback_urb: prepare: pkt 2 [20]: avail=2961, counts=6 <idle>-0 [010] d.s2. 154.347106: prepare_playback_urb: prepare: pkt 2 [21]: avail=2955, counts=5 <idle>-0 [010] d.s2. 154.347106: prepare_playback_urb: prepare: pkt 2 [22]: avail=2950, counts=6 <idle>-0 [010] d.s2. 154.347107: prepare_playback_urb: prepare: pkt 2 [23]: avail=2944, counts=5 <idle>-0 [010] d.s2. 154.347107: prepare_playback_urb: prepare: pkt 2 [24]: avail=2939, counts=6 <idle>-0 [010] d.s2. 154.347108: prepare_playback_urb: prepare: pkt 2 [25]: avail=2933, counts=5 <idle>-0 [010] d.s2. 154.347108: prepare_playback_urb: prepare: pkt 2 [26]: avail=2928, counts=6 <idle>-0 [010] d.s2. 154.347109: prepare_playback_urb: prepare: pkt 2 [27]: avail=2922, counts=5 <idle>-0 [010] d.s2. 154.347109: prepare_playback_urb: prepare: pkt 2 [28]: avail=2917, counts=6 <idle>-0 [010] d.s2. 154.347110: prepare_playback_urb: prepare: pkt 2 [29]: avail=2911, counts=5 <idle>-0 [010] d.s2. 154.347111: prepare_playback_urb: prepare: pkt 2 [30]: avail=2906, counts=6 <idle>-0 [010] d.s2. 154.347111: prepare_playback_urb: prepare: pkt 2 [31]: avail=2900, counts=5 <idle>-0 [010] d.s2. 154.347112: prepare_playback_urb: prepare: pkt 2 [32]: avail=2895, counts=6 <idle>-0 [010] d.s2. 154.347112: prepare_playback_urb: prepare: pkt 2 [33]: avail=2889, counts=5 <idle>-0 [010] d.s2. 154.347113: prepare_playback_urb: prepare: pkt 2 [34]: avail=2884, counts=6 <idle>-0 [010] d.s2. 154.347113: prepare_playback_urb: prepare: pkt 2 [35]: avail=2878, counts=5 <idle>-0 [010] d.s2. 154.347114: prepare_playback_urb: prepare: pkt 2 [36]: avail=2873, counts=6 <idle>-0 [010] d.s2. 154.347115: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2204, hwptr=4916 <idle>-0 [010] ..s1. 154.347116: snd_usb_queue_pending_output_urbs: pkt 2 submitted <idle>-0 [010] ..s1. 154.352212: snd_complete_urb: pkt complete 0 <idle>-0 [010] ..s1. 154.352215: push_back_to_ready_list: pkt 0 push back <idle>-0 [010] ..s1. 154.352217: snd_usb_queue_pending_output_urbs: checking queue pkt 0 (active_mask=6) <idle>-0 [010] d.s2. 154.352219: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=1229, avail=2867 <idle>-0 [010] d.s2. 154.352219: prepare_playback_urb: prepare: pkt 0 [0]: avail=2867, counts=5 <idle>-0 [010] d.s2. 154.352220: prepare_playback_urb: prepare: pkt 0 [1]: avail=2862, counts=6 <idle>-0 [010] d.s2. 154.352221: prepare_playback_urb: prepare: pkt 0 [2]: avail=2856, counts=5 <idle>-0 [010] d.s2. 154.352221: prepare_playback_urb: prepare: pkt 0 [3]: avail=2851, counts=6 <idle>-0 [010] d.s2. 154.352222: prepare_playback_urb: prepare: pkt 0 [4]: avail=2845, counts=5 <idle>-0 [010] d.s2. 154.352223: prepare_playback_urb: prepare: pkt 0 [5]: avail=2840, counts=6 <idle>-0 [010] d.s2. 154.352223: prepare_playback_urb: prepare: pkt 0 [6]: avail=2834, counts=5 <idle>-0 [010] d.s2. 154.352224: prepare_playback_urb: prepare: pkt 0 [7]: avail=2829, counts=6 <idle>-0 [010] d.s2. 154.352224: prepare_playback_urb: prepare: pkt 0 [8]: avail=2823, counts=5 <idle>-0 [010] d.s2. 154.352225: prepare_playback_urb: prepare: pkt 0 [9]: avail=2818, counts=6 <idle>-0 [010] d.s2. 154.352225: prepare_playback_urb: prepare: pkt 0 [10]: avail=2812, counts=5 <idle>-0 [010] d.s2. 154.352226: prepare_playback_urb: prepare: pkt 0 [11]: avail=2807, counts=6 <idle>-0 [010] d.s2. 154.352226: prepare_playback_urb: prepare: pkt 0 [12]: avail=2801, counts=5 <idle>-0 [010] d.s2. 154.352227: prepare_playback_urb: prepare: pkt 0 [13]: avail=2796, counts=6 <idle>-0 [010] d.s2. 154.352227: prepare_playback_urb: prepare: pkt 0 [14]: avail=2790, counts=5 <idle>-0 [010] d.s2. 154.352228: prepare_playback_urb: prepare: pkt 0 [15]: avail=2785, counts=6 <idle>-0 [010] d.s2. 154.352229: prepare_playback_urb: prepare: pkt 0 [16]: avail=2779, counts=6 <idle>-0 [010] d.s2. 154.352229: prepare_playback_urb: prepare: pkt 0 [17]: avail=2773, counts=5 <idle>-0 [010] d.s2. 154.352230: prepare_playback_urb: prepare: pkt 0 [18]: avail=2768, counts=6 <idle>-0 [010] d.s2. 154.352230: prepare_playback_urb: prepare: pkt 0 [19]: avail=2762, counts=5 <idle>-0 [010] d.s2. 154.352231: prepare_playback_urb: prepare: pkt 0 [20]: avail=2757, counts=6 <idle>-0 [010] d.s2. 154.352231: prepare_playback_urb: prepare: pkt 0 [21]: avail=2751, counts=5 <idle>-0 [010] d.s2. 154.352232: prepare_playback_urb: prepare: pkt 0 [22]: avail=2746, counts=6 <idle>-0 [010] d.s2. 154.352232: prepare_playback_urb: prepare: pkt 0 [23]: avail=2740, counts=5 <idle>-0 [010] d.s2. 154.352233: prepare_playback_urb: prepare: pkt 0 [24]: avail=2735, counts=6 <idle>-0 [010] d.s2. 154.352233: prepare_playback_urb: prepare: pkt 0 [25]: avail=2729, counts=5 <idle>-0 [010] d.s2. 154.352234: prepare_playback_urb: prepare: pkt 0 [26]: avail=2724, counts=6 <idle>-0 [010] d.s2. 154.352234: prepare_playback_urb: prepare: pkt 0 [27]: avail=2718, counts=5 <idle>-0 [010] d.s2. 154.352235: prepare_playback_urb: prepare: pkt 0 [28]: avail=2713, counts=6 <idle>-0 [010] d.s2. 154.352236: prepare_playback_urb: prepare: pkt 0 [29]: avail=2707, counts=5 <idle>-0 [010] d.s2. 154.352236: prepare_playback_urb: prepare: pkt 0 [30]: avail=2702, counts=6 <idle>-0 [010] d.s2. 154.352237: prepare_playback_urb: prepare: pkt 0 [31]: avail=2696, counts=5 <idle>-0 [010] d.s2. 154.352238: prepare_playback_urb: prepare: pkt 0 [32]: avail=2691, counts=6 <idle>-0 [010] d.s2. 154.352238: prepare_playback_urb: prepare: pkt 0 [33]: avail=2685, counts=5 <idle>-0 [010] d.s2. 154.352239: prepare_playback_urb: prepare: pkt 0 [34]: avail=2680, counts=6 <idle>-0 [010] d.s2. 154.352239: prepare_playback_urb: prepare: pkt 0 [35]: avail=2674, counts=5 <idle>-0 [010] d.s2. 154.352240: prepare_playback_urb: prepare: pkt 0 [36]: avail=2669, counts=6 <idle>-0 [010] d.s2. 154.352240: prepare_playback_urb: prepare: pkt 0 [37]: avail=2663, counts=5 <idle>-0 [010] d.s2. 154.352242: urb_ctx_queue_advance: PCM bytes=836, queued=836, inflight=2136, hwptr=5752 <idle>-0 [010] ..s1. 154.352243: snd_usb_queue_pending_output_urbs: pkt 0 submitted <idle>-0 [010] ..s1. 154.354970: snd_complete_urb: pkt complete 1 <idle>-0 [010] ..s1. 154.354972: push_back_to_ready_list: pkt 1 push back <idle>-0 [010] ..s1. 154.354974: snd_usb_queue_pending_output_urbs: checking queue pkt 1 (active_mask=5) <idle>-0 [010] d.s2. 154.354976: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=1438, avail=2658 <idle>-0 [010] d.s2. 154.354977: prepare_playback_urb: prepare: pkt 1 [0]: avail=2658, counts=6 <idle>-0 [010] d.s2. 154.354978: prepare_playback_urb: prepare: pkt 1 [1]: avail=2652, counts=5 <idle>-0 [010] d.s2. 154.354978: prepare_playback_urb: prepare: pkt 1 [2]: avail=2647, counts=6 <idle>-0 [010] d.s2. 154.354979: prepare_playback_urb: prepare: pkt 1 [3]: avail=2641, counts=5 <idle>-0 [010] d.s2. 154.354979: prepare_playback_urb: prepare: pkt 1 [4]: avail=2636, counts=6 <idle>-0 [010] d.s2. 154.354980: prepare_playback_urb: prepare: pkt 1 [5]: avail=2630, counts=5 <idle>-0 [010] d.s2. 154.354980: prepare_playback_urb: prepare: pkt 1 [6]: avail=2625, counts=6 <idle>-0 [010] d.s2. 154.354981: prepare_playback_urb: prepare: pkt 1 [7]: avail=2619, counts=5 <idle>-0 [010] d.s2. 154.354981: prepare_playback_urb: prepare: pkt 1 [8]: avail=2614, counts=6 <idle>-0 [010] d.s2. 154.354982: prepare_playback_urb: prepare: pkt 1 [9]: avail=2608, counts=5 <idle>-0 [010] d.s2. 154.354983: prepare_playback_urb: prepare: pkt 1 [10]: avail=2603, counts=6 <idle>-0 [010] d.s2. 154.354983: prepare_playback_urb: prepare: pkt 1 [11]: avail=2597, counts=5 <idle>-0 [010] d.s2. 154.354984: prepare_playback_urb: prepare: pkt 1 [12]: avail=2592, counts=6 <idle>-0 [010] d.s2. 154.354984: prepare_playback_urb: prepare: pkt 1 [13]: avail=2586, counts=5 <idle>-0 [010] d.s2. 154.354985: prepare_playback_urb: prepare: pkt 1 [14]: avail=2581, counts=6 <idle>-0 [010] d.s2. 154.354985: prepare_playback_urb: prepare: pkt 1 [15]: avail=2575, counts=5 <idle>-0 [010] d.s2. 154.354986: prepare_playback_urb: prepare: pkt 1 [16]: avail=2570, counts=6 <idle>-0 [010] d.s2. 154.354986: prepare_playback_urb: prepare: pkt 1 [17]: avail=2564, counts=5 <idle>-0 [010] d.s2. 154.354987: prepare_playback_urb: prepare: pkt 1 [18]: avail=2559, counts=6 <idle>-0 [010] d.s2. 154.354987: prepare_playback_urb: prepare: pkt 1 [19]: avail=2553, counts=6 <idle>-0 [010] d.s2. 154.354988: prepare_playback_urb: prepare: pkt 1 [20]: avail=2547, counts=5 <idle>-0 [010] d.s2. 154.354988: prepare_playback_urb: prepare: pkt 1 [21]: avail=2542, counts=6 <idle>-0 [010] d.s2. 154.354989: prepare_playback_urb: prepare: pkt 1 [22]: avail=2536, counts=5 <idle>-0 [010] d.s2. 154.354989: prepare_playback_urb: prepare: pkt 1 [23]: avail=2531, counts=6 <idle>-0 [010] d.s2. 154.354990: prepare_playback_urb: prepare: pkt 1 [24]: avail=2525, counts=5 <idle>-0 [010] d.s2. 154.354990: prepare_playback_urb: prepare: pkt 1 [25]: avail=2520, counts=6 <idle>-0 [010] d.s2. 154.354991: prepare_playback_urb: prepare: pkt 1 [26]: avail=2514, counts=5 <idle>-0 [010] d.s2. 154.354991: prepare_playback_urb: prepare: pkt 1 [27]: avail=2509, counts=6 <idle>-0 [010] d.s2. 154.354992: prepare_playback_urb: prepare: pkt 1 [28]: avail=2503, counts=5 <idle>-0 [010] d.s2. 154.354992: prepare_playback_urb: prepare: pkt 1 [29]: avail=2498, counts=6 <idle>-0 [010] d.s2. 154.354993: prepare_playback_urb: prepare: pkt 1 [30]: avail=2492, counts=5 <idle>-0 [010] d.s2. 154.354993: prepare_playback_urb: prepare: pkt 1 [31]: avail=2487, counts=6 <idle>-0 [010] d.s2. 154.354994: prepare_playback_urb: prepare: pkt 1 [32]: avail=2481, counts=5 <idle>-0 [010] d.s2. 154.354994: prepare_playback_urb: prepare: pkt 1 [33]: avail=2476, counts=6 <idle>-0 [010] d.s2. 154.354995: prepare_playback_urb: prepare: pkt 1 [34]: avail=2470, counts=5 <idle>-0 [010] d.s2. 154.354995: prepare_playback_urb: prepare: pkt 1 [35]: avail=2465, counts=6 <idle>-0 [010] d.s2. 154.354996: prepare_playback_urb: prepare: pkt 1 [36]: avail=2459, counts=5 <idle>-0 [010] d.s2. 154.354997: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2468, hwptr=6568 <idle>-0 [010] ..s1. 154.354999: snd_usb_queue_pending_output_urbs: pkt 1 submitted <idle>-0 [010] ..s1. 154.359528: snd_complete_urb: pkt complete 2 <idle>-0 [010] ..s1. 154.359530: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.359532: snd_usb_queue_pending_output_urbs: checking queue pkt 2 (active_mask=3) <idle>-0 [010] d.s2. 154.359534: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=1642, avail=2454 <idle>-0 [010] d.s2. 154.359535: prepare_playback_urb: prepare: pkt 2 [0]: avail=2454, counts=6 <idle>-0 [010] d.s2. 154.359535: prepare_playback_urb: prepare: pkt 2 [1]: avail=2448, counts=5 <idle>-0 [010] d.s2. 154.359536: prepare_playback_urb: prepare: pkt 2 [2]: avail=2443, counts=6 <idle>-0 [010] d.s2. 154.359537: prepare_playback_urb: prepare: pkt 2 [3]: avail=2437, counts=5 <idle>-0 [010] d.s2. 154.359537: prepare_playback_urb: prepare: pkt 2 [4]: avail=2432, counts=6 <idle>-0 [010] d.s2. 154.359538: prepare_playback_urb: prepare: pkt 2 [5]: avail=2426, counts=5 <idle>-0 [010] d.s2. 154.359538: prepare_playback_urb: prepare: pkt 2 [6]: avail=2421, counts=6 <idle>-0 [010] d.s2. 154.359539: prepare_playback_urb: prepare: pkt 2 [7]: avail=2415, counts=5 <idle>-0 [010] d.s2. 154.359539: prepare_playback_urb: prepare: pkt 2 [8]: avail=2410, counts=6 <idle>-0 [010] d.s2. 154.359540: prepare_playback_urb: prepare: pkt 2 [9]: avail=2404, counts=5 <idle>-0 [010] d.s2. 154.359540: prepare_playback_urb: prepare: pkt 2 [10]: avail=2399, counts=6 <idle>-0 [010] d.s2. 154.359541: prepare_playback_urb: prepare: pkt 2 [11]: avail=2393, counts=5 <idle>-0 [010] d.s2. 154.359541: prepare_playback_urb: prepare: pkt 2 [12]: avail=2388, counts=6 <idle>-0 [010] d.s2. 154.359542: prepare_playback_urb: prepare: pkt 2 [13]: avail=2382, counts=5 <idle>-0 [010] d.s2. 154.359542: prepare_playback_urb: prepare: pkt 2 [14]: avail=2377, counts=6 <idle>-0 [010] d.s2. 154.359543: prepare_playback_urb: prepare: pkt 2 [15]: avail=2371, counts=5 <idle>-0 [010] d.s2. 154.359544: prepare_playback_urb: prepare: pkt 2 [16]: avail=2366, counts=6 <idle>-0 [010] d.s2. 154.359544: prepare_playback_urb: prepare: pkt 2 [17]: avail=2360, counts=5 <idle>-0 [010] d.s2. 154.359545: prepare_playback_urb: prepare: pkt 2 [18]: avail=2355, counts=6 <idle>-0 [010] d.s2. 154.359545: prepare_playback_urb: prepare: pkt 2 [19]: avail=2349, counts=5 <idle>-0 [010] d.s2. 154.359546: prepare_playback_urb: prepare: pkt 2 [20]: avail=2344, counts=6 <idle>-0 [010] d.s2. 154.359546: prepare_playback_urb: prepare: pkt 2 [21]: avail=2338, counts=6 <idle>-0 [010] d.s2. 154.359547: prepare_playback_urb: prepare: pkt 2 [22]: avail=2332, counts=5 <idle>-0 [010] d.s2. 154.359547: prepare_playback_urb: prepare: pkt 2 [23]: avail=2327, counts=6 <idle>-0 [010] d.s2. 154.359548: prepare_playback_urb: prepare: pkt 2 [24]: avail=2321, counts=5 <idle>-0 [010] d.s2. 154.359548: prepare_playback_urb: prepare: pkt 2 [25]: avail=2316, counts=6 <idle>-0 [010] d.s2. 154.359549: prepare_playback_urb: prepare: pkt 2 [26]: avail=2310, counts=5 <idle>-0 [010] d.s2. 154.359549: prepare_playback_urb: prepare: pkt 2 [27]: avail=2305, counts=6 <idle>-0 [010] d.s2. 154.359550: prepare_playback_urb: prepare: pkt 2 [28]: avail=2299, counts=5 <idle>-0 [010] d.s2. 154.359550: prepare_playback_urb: prepare: pkt 2 [29]: avail=2294, counts=6 <idle>-0 [010] d.s2. 154.359551: prepare_playback_urb: prepare: pkt 2 [30]: avail=2288, counts=5 <idle>-0 [010] d.s2. 154.359551: prepare_playback_urb: prepare: pkt 2 [31]: avail=2283, counts=6 <idle>-0 [010] d.s2. 154.359552: prepare_playback_urb: prepare: pkt 2 [32]: avail=2277, counts=5 <idle>-0 [010] d.s2. 154.359552: prepare_playback_urb: prepare: pkt 2 [33]: avail=2272, counts=6 <idle>-0 [010] d.s2. 154.359553: prepare_playback_urb: prepare: pkt 2 [34]: avail=2266, counts=5 <idle>-0 [010] d.s2. 154.359554: prepare_playback_urb: prepare: pkt 2 [35]: avail=2261, counts=6 <idle>-0 [010] d.s2. 154.359554: prepare_playback_urb: prepare: pkt 2 [36]: avail=2255, counts=5 <idle>-0 [010] d.s2. 154.359556: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2468, hwptr=7384 <idle>-0 [010] ..s1. 154.359557: snd_usb_queue_pending_output_urbs: pkt 2 submitted <idle>-0 [010] ..s1. 154.364337: snd_complete_urb: pkt complete 0 <idle>-0 [010] ..s1. 154.364340: push_back_to_ready_list: pkt 0 push back <idle>-0 [010] ..s1. 154.364342: snd_usb_queue_pending_output_urbs: checking queue pkt 0 (active_mask=6) <idle>-0 [010] d.s2. 154.364344: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=1846, avail=2250 <idle>-0 [010] d.s2. 154.364344: prepare_playback_urb: prepare: pkt 0 [0]: avail=2250, counts=6 <idle>-0 [010] d.s2. 154.364345: prepare_playback_urb: prepare: pkt 0 [1]: avail=2244, counts=5 <idle>-0 [010] d.s2. 154.364346: prepare_playback_urb: prepare: pkt 0 [2]: avail=2239, counts=6 <idle>-0 [010] d.s2. 154.364346: prepare_playback_urb: prepare: pkt 0 [3]: avail=2233, counts=5 <idle>-0 [010] d.s2. 154.364347: prepare_playback_urb: prepare: pkt 0 [4]: avail=2228, counts=6 <idle>-0 [010] d.s2. 154.364348: prepare_playback_urb: prepare: pkt 0 [5]: avail=2222, counts=5 <idle>-0 [010] d.s2. 154.364348: prepare_playback_urb: prepare: pkt 0 [6]: avail=2217, counts=6 <idle>-0 [010] d.s2. 154.364349: prepare_playback_urb: prepare: pkt 0 [7]: avail=2211, counts=5 <idle>-0 [010] d.s2. 154.364349: prepare_playback_urb: prepare: pkt 0 [8]: avail=2206, counts=6 <idle>-0 [010] d.s2. 154.364350: prepare_playback_urb: prepare: pkt 0 [9]: avail=2200, counts=5 <idle>-0 [010] d.s2. 154.364350: prepare_playback_urb: prepare: pkt 0 [10]: avail=2195, counts=6 <idle>-0 [010] d.s2. 154.364351: prepare_playback_urb: prepare: pkt 0 [11]: avail=2189, counts=5 <idle>-0 [010] d.s2. 154.364351: prepare_playback_urb: prepare: pkt 0 [12]: avail=2184, counts=6 <idle>-0 [010] d.s2. 154.364352: prepare_playback_urb: prepare: pkt 0 [13]: avail=2178, counts=5 <idle>-0 [010] d.s2. 154.364353: prepare_playback_urb: prepare: pkt 0 [14]: avail=2173, counts=6 <idle>-0 [010] d.s2. 154.364353: prepare_playback_urb: prepare: pkt 0 [15]: avail=2167, counts=5 <idle>-0 [010] d.s2. 154.364354: prepare_playback_urb: prepare: pkt 0 [16]: avail=2162, counts=6 <idle>-0 [010] d.s2. 154.364354: prepare_playback_urb: prepare: pkt 0 [17]: avail=2156, counts=5 <idle>-0 [010] d.s2. 154.364355: prepare_playback_urb: prepare: pkt 0 [18]: avail=2151, counts=6 <idle>-0 [010] d.s2. 154.364355: prepare_playback_urb: prepare: pkt 0 [19]: avail=2145, counts=5 <idle>-0 [010] d.s2. 154.364356: prepare_playback_urb: prepare: pkt 0 [20]: avail=2140, counts=6 <idle>-0 [010] d.s2. 154.364356: prepare_playback_urb: prepare: pkt 0 [21]: avail=2134, counts=5 <idle>-0 [010] d.s2. 154.364357: prepare_playback_urb: prepare: pkt 0 [22]: avail=2129, counts=6 <idle>-0 [010] d.s2. 154.364357: prepare_playback_urb: prepare: pkt 0 [23]: avail=2123, counts=5 <idle>-0 [010] d.s2. 154.364358: prepare_playback_urb: prepare: pkt 0 [24]: avail=2118, counts=6 <idle>-0 [010] d.s2. 154.364358: prepare_playback_urb: prepare: pkt 0 [25]: avail=2112, counts=6 <idle>-0 [010] d.s2. 154.364359: prepare_playback_urb: prepare: pkt 0 [26]: avail=2106, counts=5 <idle>-0 [010] d.s2. 154.364359: prepare_playback_urb: prepare: pkt 0 [27]: avail=2101, counts=6 <idle>-0 [010] d.s2. 154.364360: prepare_playback_urb: prepare: pkt 0 [28]: avail=2095, counts=5 <idle>-0 [010] d.s2. 154.364360: prepare_playback_urb: prepare: pkt 0 [29]: avail=2090, counts=6 <idle>-0 [010] d.s2. 154.364361: prepare_playback_urb: prepare: pkt 0 [30]: avail=2084, counts=5 <idle>-0 [010] d.s2. 154.364362: prepare_playback_urb: prepare: pkt 0 [31]: avail=2079, counts=6 <idle>-0 [010] d.s2. 154.364362: prepare_playback_urb: prepare: pkt 0 [32]: avail=2073, counts=5 <idle>-0 [010] d.s2. 154.364363: prepare_playback_urb: prepare: pkt 0 [33]: avail=2068, counts=6 <idle>-0 [010] d.s2. 154.364363: prepare_playback_urb: prepare: pkt 0 [34]: avail=2062, counts=5 <idle>-0 [010] d.s2. 154.364364: prepare_playback_urb: prepare: pkt 0 [35]: avail=2057, counts=6 <idle>-0 [010] d.s2. 154.364364: prepare_playback_urb: prepare: pkt 0 [36]: avail=2051, counts=5 <idle>-0 [010] d.s2. 154.364365: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2448, hwptr=8200 <idle>-0 [010] ..s1. 154.364387: snd_usb_queue_pending_output_urbs: pkt 0 submitted <idle>-0 [010] ..s1. 154.368907: snd_complete_urb: pkt complete 1 <idle>-0 [010] ..s1. 154.368910: push_back_to_ready_list: pkt 1 push back <idle>-0 [010] ..s1. 154.368912: snd_usb_queue_pending_output_urbs: checking queue pkt 1 (active_mask=5) <idle>-0 [010] d.s2. 154.368914: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=2050, avail=2046 <idle>-0 [010] d.s2. 154.368915: prepare_playback_urb: prepare: pkt 1 [0]: avail=2046, counts=6 <idle>-0 [010] d.s2. 154.368915: prepare_playback_urb: prepare: pkt 1 [1]: avail=2040, counts=5 <idle>-0 [010] d.s2. 154.368916: prepare_playback_urb: prepare: pkt 1 [2]: avail=2035, counts=6 <idle>-0 [010] d.s2. 154.368917: prepare_playback_urb: prepare: pkt 1 [3]: avail=2029, counts=5 <idle>-0 [010] d.s2. 154.368917: prepare_playback_urb: prepare: pkt 1 [4]: avail=2024, counts=6 <idle>-0 [010] d.s2. 154.368918: prepare_playback_urb: prepare: pkt 1 [5]: avail=2018, counts=5 <idle>-0 [010] d.s2. 154.368918: prepare_playback_urb: prepare: pkt 1 [6]: avail=2013, counts=6 <idle>-0 [010] d.s2. 154.368919: prepare_playback_urb: prepare: pkt 1 [7]: avail=2007, counts=5 <idle>-0 [010] d.s2. 154.368919: prepare_playback_urb: prepare: pkt 1 [8]: avail=2002, counts=6 <idle>-0 [010] d.s2. 154.368920: prepare_playback_urb: prepare: pkt 1 [9]: avail=1996, counts=5 <idle>-0 [010] d.s2. 154.368920: prepare_playback_urb: prepare: pkt 1 [10]: avail=1991, counts=6 <idle>-0 [010] d.s2. 154.368921: prepare_playback_urb: prepare: pkt 1 [11]: avail=1985, counts=5 <idle>-0 [010] d.s2. 154.368922: prepare_playback_urb: prepare: pkt 1 [12]: avail=1980, counts=6 <idle>-0 [010] d.s2. 154.368922: prepare_playback_urb: prepare: pkt 1 [13]: avail=1974, counts=5 <idle>-0 [010] d.s2. 154.368923: prepare_playback_urb: prepare: pkt 1 [14]: avail=1969, counts=6 <idle>-0 [010] d.s2. 154.368923: prepare_playback_urb: prepare: pkt 1 [15]: avail=1963, counts=5 <idle>-0 [010] d.s2. 154.368924: prepare_playback_urb: prepare: pkt 1 [16]: avail=1958, counts=6 <idle>-0 [010] d.s2. 154.368924: prepare_playback_urb: prepare: pkt 1 [17]: avail=1952, counts=5 <idle>-0 [010] d.s2. 154.368925: prepare_playback_urb: prepare: pkt 1 [18]: avail=1947, counts=6 <idle>-0 [010] d.s2. 154.368925: prepare_playback_urb: prepare: pkt 1 [19]: avail=1941, counts=5 <idle>-0 [010] d.s2. 154.368926: prepare_playback_urb: prepare: pkt 1 [20]: avail=1936, counts=6 <idle>-0 [010] d.s2. 154.368926: prepare_playback_urb: prepare: pkt 1 [21]: avail=1930, counts=5 <idle>-0 [010] d.s2. 154.368927: prepare_playback_urb: prepare: pkt 1 [22]: avail=1925, counts=6 <idle>-0 [010] d.s2. 154.368927: prepare_playback_urb: prepare: pkt 1 [23]: avail=1919, counts=5 <idle>-0 [010] d.s2. 154.368928: prepare_playback_urb: prepare: pkt 1 [24]: avail=1914, counts=6 <idle>-0 [010] d.s2. 154.368928: prepare_playback_urb: prepare: pkt 1 [25]: avail=1908, counts=5 <idle>-0 [010] d.s2. 154.368929: prepare_playback_urb: prepare: pkt 1 [26]: avail=1903, counts=6 <idle>-0 [010] d.s2. 154.368929: prepare_playback_urb: prepare: pkt 1 [27]: avail=1897, counts=6 <idle>-0 [010] d.s2. 154.368930: prepare_playback_urb: prepare: pkt 1 [28]: avail=1891, counts=5 <idle>-0 [010] d.s2. 154.368930: prepare_playback_urb: prepare: pkt 1 [29]: avail=1886, counts=6 <idle>-0 [010] d.s2. 154.368931: prepare_playback_urb: prepare: pkt 1 [30]: avail=1880, counts=5 <idle>-0 [010] d.s2. 154.368931: prepare_playback_urb: prepare: pkt 1 [31]: avail=1875, counts=6 <idle>-0 [010] d.s2. 154.368932: prepare_playback_urb: prepare: pkt 1 [32]: avail=1869, counts=5 <idle>-0 [010] d.s2. 154.368932: prepare_playback_urb: prepare: pkt 1 [33]: avail=1864, counts=6 <idle>-0 [010] d.s2. 154.368933: prepare_playback_urb: prepare: pkt 1 [34]: avail=1858, counts=5 <idle>-0 [010] d.s2. 154.368933: prepare_playback_urb: prepare: pkt 1 [35]: avail=1853, counts=6 <idle>-0 [010] d.s2. 154.368934: prepare_playback_urb: prepare: pkt 1 [36]: avail=1847, counts=5 <idle>-0 [010] d.s2. 154.368935: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2448, hwptr=9016 <idle>-0 [010] ..s1. 154.368936: snd_usb_queue_pending_output_urbs: pkt 1 submitted <idle>-0 [010] ..s1. 154.373527: snd_complete_urb: pkt complete 2 <idle>-0 [010] ..s1. 154.373530: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.373532: snd_usb_queue_pending_output_urbs: checking queue pkt 2 (active_mask=3) <idle>-0 [010] d.s2. 154.373534: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=2254, avail=1842 <idle>-0 [010] d.s2. 154.373535: prepare_playback_urb: prepare: pkt 2 [0]: avail=1842, counts=6 <idle>-0 [010] d.s2. 154.373536: prepare_playback_urb: prepare: pkt 2 [1]: avail=1836, counts=5 <idle>-0 [010] d.s2. 154.373536: prepare_playback_urb: prepare: pkt 2 [2]: avail=1831, counts=6 <idle>-0 [010] d.s2. 154.373537: prepare_playback_urb: prepare: pkt 2 [3]: avail=1825, counts=5 <idle>-0 [010] d.s2. 154.373538: prepare_playback_urb: prepare: pkt 2 [4]: avail=1820, counts=6 <idle>-0 [010] d.s2. 154.373538: prepare_playback_urb: prepare: pkt 2 [5]: avail=1814, counts=5 <idle>-0 [010] d.s2. 154.373539: prepare_playback_urb: prepare: pkt 2 [6]: avail=1809, counts=6 <idle>-0 [010] d.s2. 154.373539: prepare_playback_urb: prepare: pkt 2 [7]: avail=1803, counts=5 <idle>-0 [010] d.s2. 154.373540: prepare_playback_urb: prepare: pkt 2 [8]: avail=1798, counts=6 <idle>-0 [010] d.s2. 154.373540: prepare_playback_urb: prepare: pkt 2 [9]: avail=1792, counts=5 <idle>-0 [010] d.s2. 154.373541: prepare_playback_urb: prepare: pkt 2 [10]: avail=1787, counts=6 <idle>-0 [010] d.s2. 154.373541: prepare_playback_urb: prepare: pkt 2 [11]: avail=1781, counts=5 <idle>-0 [010] d.s2. 154.373542: prepare_playback_urb: prepare: pkt 2 [12]: avail=1776, counts=6 <idle>-0 [010] d.s2. 154.373543: prepare_playback_urb: prepare: pkt 2 [13]: avail=1770, counts=5 <idle>-0 [010] d.s2. 154.373543: prepare_playback_urb: prepare: pkt 2 [14]: avail=1765, counts=6 <idle>-0 [010] d.s2. 154.373544: prepare_playback_urb: prepare: pkt 2 [15]: avail=1759, counts=5 <idle>-0 [010] d.s2. 154.373544: prepare_playback_urb: prepare: pkt 2 [16]: avail=1754, counts=6 <idle>-0 [010] d.s2. 154.373545: prepare_playback_urb: prepare: pkt 2 [17]: avail=1748, counts=5 <idle>-0 [010] d.s2. 154.373545: prepare_playback_urb: prepare: pkt 2 [18]: avail=1743, counts=6 <idle>-0 [010] d.s2. 154.373546: prepare_playback_urb: prepare: pkt 2 [19]: avail=1737, counts=5 <idle>-0 [010] d.s2. 154.373546: prepare_playback_urb: prepare: pkt 2 [20]: avail=1732, counts=6 <idle>-0 [010] d.s2. 154.373547: prepare_playback_urb: prepare: pkt 2 [21]: avail=1726, counts=5 <idle>-0 [010] d.s2. 154.373547: prepare_playback_urb: prepare: pkt 2 [22]: avail=1721, counts=6 <idle>-0 [010] d.s2. 154.373548: prepare_playback_urb: prepare: pkt 2 [23]: avail=1715, counts=5 <idle>-0 [010] d.s2. 154.373548: prepare_playback_urb: prepare: pkt 2 [24]: avail=1710, counts=6 <idle>-0 [010] d.s2. 154.373549: prepare_playback_urb: prepare: pkt 2 [25]: avail=1704, counts=5 <idle>-0 [010] d.s2. 154.373549: prepare_playback_urb: prepare: pkt 2 [26]: avail=1699, counts=6 <idle>-0 [010] d.s2. 154.373550: prepare_playback_urb: prepare: pkt 2 [27]: avail=1693, counts=5 <idle>-0 [010] d.s2. 154.373550: prepare_playback_urb: prepare: pkt 2 [28]: avail=1688, counts=6 <idle>-0 [010] d.s2. 154.373551: prepare_playback_urb: prepare: pkt 2 [29]: avail=1682, counts=5 <idle>-0 [010] d.s2. 154.373551: prepare_playback_urb: prepare: pkt 2 [30]: avail=1677, counts=6 <idle>-0 [010] d.s2. 154.373552: prepare_playback_urb: prepare: pkt 2 [31]: avail=1671, counts=6 <idle>-0 [010] d.s2. 154.373552: prepare_playback_urb: prepare: pkt 2 [32]: avail=1665, counts=5 <idle>-0 [010] d.s2. 154.373553: prepare_playback_urb: prepare: pkt 2 [33]: avail=1660, counts=6 <idle>-0 [010] d.s2. 154.373553: prepare_playback_urb: prepare: pkt 2 [34]: avail=1654, counts=5 <idle>-0 [010] d.s2. 154.373554: prepare_playback_urb: prepare: pkt 2 [35]: avail=1649, counts=6 <idle>-0 [010] d.s2. 154.373554: prepare_playback_urb: prepare: pkt 2 [36]: avail=1643, counts=5 <idle>-0 [010] d.s2. 154.373556: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2448, hwptr=9832 <idle>-0 [010] ..s1. 154.373557: snd_usb_queue_pending_output_urbs: pkt 2 submitted <idle>-0 [010] ..s1. 154.378153: snd_complete_urb: pkt complete 0 <idle>-0 [010] ..s1. 154.378156: push_back_to_ready_list: pkt 0 push back <idle>-0 [010] ..s1. 154.378158: snd_usb_queue_pending_output_urbs: checking queue pkt 0 (active_mask=6) <idle>-0 [010] d.s2. 154.378159: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=2458, avail=1638 <idle>-0 [010] d.s2. 154.378160: prepare_playback_urb: prepare: pkt 0 [0]: avail=1638, counts=6 <idle>-0 [010] d.s2. 154.378161: prepare_playback_urb: prepare: pkt 0 [1]: avail=1632, counts=5 <idle>-0 [010] d.s2. 154.378162: prepare_playback_urb: prepare: pkt 0 [2]: avail=1627, counts=6 <idle>-0 [010] d.s2. 154.378162: prepare_playback_urb: prepare: pkt 0 [3]: avail=1621, counts=5 <idle>-0 [010] d.s2. 154.378163: prepare_playback_urb: prepare: pkt 0 [4]: avail=1616, counts=6 <idle>-0 [010] d.s2. 154.378163: prepare_playback_urb: prepare: pkt 0 [5]: avail=1610, counts=5 <idle>-0 [010] d.s2. 154.378164: prepare_playback_urb: prepare: pkt 0 [6]: avail=1605, counts=6 <idle>-0 [010] d.s2. 154.378164: prepare_playback_urb: prepare: pkt 0 [7]: avail=1599, counts=5 <idle>-0 [010] d.s2. 154.378165: prepare_playback_urb: prepare: pkt 0 [8]: avail=1594, counts=6 <idle>-0 [010] d.s2. 154.378165: prepare_playback_urb: prepare: pkt 0 [9]: avail=1588, counts=5 <idle>-0 [010] d.s2. 154.378166: prepare_playback_urb: prepare: pkt 0 [10]: avail=1583, counts=6 <idle>-0 [010] d.s2. 154.378167: prepare_playback_urb: prepare: pkt 0 [11]: avail=1577, counts=5 <idle>-0 [010] d.s2. 154.378167: prepare_playback_urb: prepare: pkt 0 [12]: avail=1572, counts=6 <idle>-0 [010] d.s2. 154.378168: prepare_playback_urb: prepare: pkt 0 [13]: avail=1566, counts=5 <idle>-0 [010] d.s2. 154.378168: prepare_playback_urb: prepare: pkt 0 [14]: avail=1561, counts=6 <idle>-0 [010] d.s2. 154.378169: prepare_playback_urb: prepare: pkt 0 [15]: avail=1555, counts=5 <idle>-0 [010] d.s2. 154.378169: prepare_playback_urb: prepare: pkt 0 [16]: avail=1550, counts=6 <idle>-0 [010] d.s2. 154.378170: prepare_playback_urb: prepare: pkt 0 [17]: avail=1544, counts=5 <idle>-0 [010] d.s2. 154.378170: prepare_playback_urb: prepare: pkt 0 [18]: avail=1539, counts=6 <idle>-0 [010] d.s2. 154.378171: prepare_playback_urb: prepare: pkt 0 [19]: avail=1533, counts=5 <idle>-0 [010] d.s2. 154.378171: prepare_playback_urb: prepare: pkt 0 [20]: avail=1528, counts=6 <idle>-0 [010] d.s2. 154.378172: prepare_playback_urb: prepare: pkt 0 [21]: avail=1522, counts=5 <idle>-0 [010] d.s2. 154.378172: prepare_playback_urb: prepare: pkt 0 [22]: avail=1517, counts=6 <idle>-0 [010] d.s2. 154.378173: prepare_playback_urb: prepare: pkt 0 [23]: avail=1511, counts=5 <idle>-0 [010] d.s2. 154.378173: prepare_playback_urb: prepare: pkt 0 [24]: avail=1506, counts=6 <idle>-0 [010] d.s2. 154.378174: prepare_playback_urb: prepare: pkt 0 [25]: avail=1500, counts=5 <idle>-0 [010] d.s2. 154.378174: prepare_playback_urb: prepare: pkt 0 [26]: avail=1495, counts=6 <idle>-0 [010] d.s2. 154.378175: prepare_playback_urb: prepare: pkt 0 [27]: avail=1489, counts=5 <idle>-0 [010] d.s2. 154.378175: prepare_playback_urb: prepare: pkt 0 [28]: avail=1484, counts=6 <idle>-0 [010] d.s2. 154.378176: prepare_playback_urb: prepare: pkt 0 [29]: avail=1478, counts=5 <idle>-0 [010] d.s2. 154.378176: prepare_playback_urb: prepare: pkt 0 [30]: avail=1473, counts=6 <idle>-0 [010] d.s2. 154.378177: prepare_playback_urb: prepare: pkt 0 [31]: avail=1467, counts=5 <idle>-0 [010] d.s2. 154.378177: prepare_playback_urb: prepare: pkt 0 [32]: avail=1462, counts=6 <idle>-0 [010] d.s2. 154.378178: prepare_playback_urb: prepare: pkt 0 [33]: avail=1456, counts=6 <idle>-0 [010] d.s2. 154.378178: prepare_playback_urb: prepare: pkt 0 [34]: avail=1450, counts=5 <idle>-0 [010] d.s2. 154.378179: prepare_playback_urb: prepare: pkt 0 [35]: avail=1445, counts=6 <idle>-0 [010] d.s2. 154.378179: prepare_playback_urb: prepare: pkt 0 [36]: avail=1439, counts=5 <idle>-0 [010] d.s2. 154.378180: prepare_playback_urb: prepare: pkt 0 [37]: avail=1434, counts=6 <idle>-0 [010] d.s2. 154.378181: urb_ctx_queue_advance: PCM bytes=840, queued=840, inflight=2472, hwptr=10672 <idle>-0 [010] ..s1. 154.378183: snd_usb_queue_pending_output_urbs: pkt 0 submitted <idle>-0 [010] ..s1. 154.382852: snd_complete_urb: pkt complete 1 <idle>-0 [010] ..s1. 154.382854: push_back_to_ready_list: pkt 1 push back <idle>-0 [010] ..s1. 154.382856: snd_usb_queue_pending_output_urbs: checking queue pkt 1 (active_mask=5) <idle>-0 [010] d.s2. 154.382858: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=2668, avail=1428 <idle>-0 [010] d.s2. 154.382859: prepare_playback_urb: prepare: pkt 1 [0]: avail=1428, counts=5 <idle>-0 [010] d.s2. 154.382860: prepare_playback_urb: prepare: pkt 1 [1]: avail=1423, counts=6 <idle>-0 [010] d.s2. 154.382860: prepare_playback_urb: prepare: pkt 1 [2]: avail=1417, counts=5 <idle>-0 [010] d.s2. 154.382861: prepare_playback_urb: prepare: pkt 1 [3]: avail=1412, counts=6 <idle>-0 [010] d.s2. 154.382861: prepare_playback_urb: prepare: pkt 1 [4]: avail=1406, counts=5 <idle>-0 [010] d.s2. 154.382862: prepare_playback_urb: prepare: pkt 1 [5]: avail=1401, counts=6 <idle>-0 [010] d.s2. 154.382863: prepare_playback_urb: prepare: pkt 1 [6]: avail=1395, counts=5 <idle>-0 [010] d.s2. 154.382864: prepare_playback_urb: prepare: pkt 1 [7]: avail=1390, counts=6 <idle>-0 [010] d.s2. 154.382864: prepare_playback_urb: prepare: pkt 1 [8]: avail=1384, counts=5 <idle>-0 [010] d.s2. 154.382865: prepare_playback_urb: prepare: pkt 1 [9]: avail=1379, counts=6 <idle>-0 [010] d.s2. 154.382865: prepare_playback_urb: prepare: pkt 1 [10]: avail=1373, counts=5 <idle>-0 [010] d.s2. 154.382866: prepare_playback_urb: prepare: pkt 1 [11]: avail=1368, counts=6 <idle>-0 [010] d.s2. 154.382866: prepare_playback_urb: prepare: pkt 1 [12]: avail=1362, counts=5 <idle>-0 [010] d.s2. 154.382867: prepare_playback_urb: prepare: pkt 1 [13]: avail=1357, counts=6 <idle>-0 [010] d.s2. 154.382867: prepare_playback_urb: prepare: pkt 1 [14]: avail=1351, counts=5 <idle>-0 [010] d.s2. 154.382868: prepare_playback_urb: prepare: pkt 1 [15]: avail=1346, counts=6 <idle>-0 [010] d.s2. 154.382868: prepare_playback_urb: prepare: pkt 1 [16]: avail=1340, counts=5 <idle>-0 [010] d.s2. 154.382869: prepare_playback_urb: prepare: pkt 1 [17]: avail=1335, counts=6 <idle>-0 [010] d.s2. 154.382870: prepare_playback_urb: prepare: pkt 1 [18]: avail=1329, counts=5 <idle>-0 [010] d.s2. 154.382870: prepare_playback_urb: prepare: pkt 1 [19]: avail=1324, counts=6 <idle>-0 [010] d.s2. 154.382871: prepare_playback_urb: prepare: pkt 1 [20]: avail=1318, counts=5 <idle>-0 [010] d.s2. 154.382871: prepare_playback_urb: prepare: pkt 1 [21]: avail=1313, counts=6 <idle>-0 [010] d.s2. 154.382872: prepare_playback_urb: prepare: pkt 1 [22]: avail=1307, counts=5 <idle>-0 [010] d.s2. 154.382872: prepare_playback_urb: prepare: pkt 1 [23]: avail=1302, counts=6 <idle>-0 [010] d.s2. 154.382873: prepare_playback_urb: prepare: pkt 1 [24]: avail=1296, counts=5 <idle>-0 [010] d.s2. 154.382873: prepare_playback_urb: prepare: pkt 1 [25]: avail=1291, counts=6 <idle>-0 [010] d.s2. 154.382874: prepare_playback_urb: prepare: pkt 1 [26]: avail=1285, counts=5 <idle>-0 [010] d.s2. 154.382874: prepare_playback_urb: prepare: pkt 1 [27]: avail=1280, counts=6 <idle>-0 [010] d.s2. 154.382875: prepare_playback_urb: prepare: pkt 1 [28]: avail=1274, counts=5 <idle>-0 [010] d.s2. 154.382875: prepare_playback_urb: prepare: pkt 1 [29]: avail=1269, counts=6 <idle>-0 [010] d.s2. 154.382876: prepare_playback_urb: prepare: pkt 1 [30]: avail=1263, counts=5 <idle>-0 [010] d.s2. 154.382876: prepare_playback_urb: prepare: pkt 1 [31]: avail=1258, counts=6 <idle>-0 [010] d.s2. 154.382877: prepare_playback_urb: prepare: pkt 1 [32]: avail=1252, counts=5 <idle>-0 [010] d.s2. 154.382877: prepare_playback_urb: prepare: pkt 1 [33]: avail=1247, counts=6 <idle>-0 [010] d.s2. 154.382878: prepare_playback_urb: prepare: pkt 1 [34]: avail=1241, counts=5 <idle>-0 [010] d.s2. 154.382878: prepare_playback_urb: prepare: pkt 1 [35]: avail=1236, counts=6 <idle>-0 [010] d.s2. 154.382879: prepare_playback_urb: prepare: pkt 1 [36]: avail=1230, counts=6 <idle>-0 [010] d.s2. 154.382880: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2472, hwptr=11488 <idle>-0 [010] ..s1. 154.382882: snd_usb_queue_pending_output_urbs: pkt 1 submitted <idle>-0 [010] ..s1. 154.387473: snd_complete_urb: pkt complete 2 <idle>-0 [010] ..s1. 154.387476: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.387477: snd_usb_queue_pending_output_urbs: checking queue pkt 2 (active_mask=3) <idle>-0 [010] d.s2. 154.387479: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=2872, avail=1224 <idle>-0 [010] d.s2. 154.387480: prepare_playback_urb: prepare: pkt 2 [0]: avail=1224, counts=5 <idle>-0 [010] d.s2. 154.387481: prepare_playback_urb: prepare: pkt 2 [1]: avail=1219, counts=6 <idle>-0 [010] d.s2. 154.387481: prepare_playback_urb: prepare: pkt 2 [2]: avail=1213, counts=5 <idle>-0 [010] d.s2. 154.387482: prepare_playback_urb: prepare: pkt 2 [3]: avail=1208, counts=6 <idle>-0 [010] d.s2. 154.387482: prepare_playback_urb: prepare: pkt 2 [4]: avail=1202, counts=5 <idle>-0 [010] d.s2. 154.387483: prepare_playback_urb: prepare: pkt 2 [5]: avail=1197, counts=6 <idle>-0 [010] d.s2. 154.387483: prepare_playback_urb: prepare: pkt 2 [6]: avail=1191, counts=5 <idle>-0 [010] d.s2. 154.387484: prepare_playback_urb: prepare: pkt 2 [7]: avail=1186, counts=6 <idle>-0 [010] d.s2. 154.387485: prepare_playback_urb: prepare: pkt 2 [8]: avail=1180, counts=5 <idle>-0 [010] d.s2. 154.387485: prepare_playback_urb: prepare: pkt 2 [9]: avail=1175, counts=6 <idle>-0 [010] d.s2. 154.387486: prepare_playback_urb: prepare: pkt 2 [10]: avail=1169, counts=5 <idle>-0 [010] d.s2. 154.387486: prepare_playback_urb: prepare: pkt 2 [11]: avail=1164, counts=6 <idle>-0 [010] d.s2. 154.387487: prepare_playback_urb: prepare: pkt 2 [12]: avail=1158, counts=5 <idle>-0 [010] d.s2. 154.387487: prepare_playback_urb: prepare: pkt 2 [13]: avail=1153, counts=6 <idle>-0 [010] d.s2. 154.387488: prepare_playback_urb: prepare: pkt 2 [14]: avail=1147, counts=5 <idle>-0 [010] d.s2. 154.387488: prepare_playback_urb: prepare: pkt 2 [15]: avail=1142, counts=6 <idle>-0 [010] d.s2. 154.387489: prepare_playback_urb: prepare: pkt 2 [16]: avail=1136, counts=5 <idle>-0 [010] d.s2. 154.387489: prepare_playback_urb: prepare: pkt 2 [17]: avail=1131, counts=6 <idle>-0 [010] d.s2. 154.387490: prepare_playback_urb: prepare: pkt 2 [18]: avail=1125, counts=5 <idle>-0 [010] d.s2. 154.387490: prepare_playback_urb: prepare: pkt 2 [19]: avail=1120, counts=6 <idle>-0 [010] d.s2. 154.387491: prepare_playback_urb: prepare: pkt 2 [20]: avail=1114, counts=5 <idle>-0 [010] d.s2. 154.387492: prepare_playback_urb: prepare: pkt 2 [21]: avail=1109, counts=6 <idle>-0 [010] d.s2. 154.387492: prepare_playback_urb: prepare: pkt 2 [22]: avail=1103, counts=5 <idle>-0 [010] d.s2. 154.387493: prepare_playback_urb: prepare: pkt 2 [23]: avail=1098, counts=6 <idle>-0 [010] d.s2. 154.387493: prepare_playback_urb: prepare: pkt 2 [24]: avail=1092, counts=5 <idle>-0 [010] d.s2. 154.387494: prepare_playback_urb: prepare: pkt 2 [25]: avail=1087, counts=6 <idle>-0 [010] d.s2. 154.387494: prepare_playback_urb: prepare: pkt 2 [26]: avail=1081, counts=5 <idle>-0 [010] d.s2. 154.387495: prepare_playback_urb: prepare: pkt 2 [27]: avail=1076, counts=6 <idle>-0 [010] d.s2. 154.387495: prepare_playback_urb: prepare: pkt 2 [28]: avail=1070, counts=5 <idle>-0 [010] d.s2. 154.387496: prepare_playback_urb: prepare: pkt 2 [29]: avail=1065, counts=6 <idle>-0 [010] d.s2. 154.387496: prepare_playback_urb: prepare: pkt 2 [30]: avail=1059, counts=5 <idle>-0 [010] d.s2. 154.387497: prepare_playback_urb: prepare: pkt 2 [31]: avail=1054, counts=6 <idle>-0 [010] d.s2. 154.387497: prepare_playback_urb: prepare: pkt 2 [32]: avail=1048, counts=5 <idle>-0 [010] d.s2. 154.387498: prepare_playback_urb: prepare: pkt 2 [33]: avail=1043, counts=6 <idle>-0 [010] d.s2. 154.387498: prepare_playback_urb: prepare: pkt 2 [34]: avail=1037, counts=5 <idle>-0 [010] d.s2. 154.387499: prepare_playback_urb: prepare: pkt 2 [35]: avail=1032, counts=6 <idle>-0 [010] d.s2. 154.387499: prepare_playback_urb: prepare: pkt 2 [36]: avail=1026, counts=5 <idle>-0 [010] d.s2. 154.387501: urb_ctx_queue_advance: PCM bytes=812, queued=812, inflight=2468, hwptr=12300 <idle>-0 [010] ..s1. 154.387522: snd_usb_queue_pending_output_urbs: pkt 2 submitted <idle>-0 [010] ..s1. 154.392234: snd_complete_urb: pkt complete 0 <idle>-0 [010] ..s1. 154.392237: push_back_to_ready_list: pkt 0 push back <idle>-0 [010] ..s1. 154.392239: snd_usb_queue_pending_output_urbs: checking queue pkt 0 (active_mask=6) <idle>-0 [010] d.s2. 154.392240: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=3075, avail=1021 <idle>-0 [010] d.s2. 154.392241: prepare_playback_urb: prepare: pkt 0 [0]: avail=1021, counts=6 <idle>-0 [010] d.s2. 154.392242: prepare_playback_urb: prepare: pkt 0 [1]: avail=1015, counts=6 <idle>-0 [010] d.s2. 154.392243: prepare_playback_urb: prepare: pkt 0 [2]: avail=1009, counts=5 <idle>-0 [010] d.s2. 154.392243: prepare_playback_urb: prepare: pkt 0 [3]: avail=1004, counts=6 <idle>-0 [010] d.s2. 154.392244: prepare_playback_urb: prepare: pkt 0 [4]: avail=998, counts=5 <idle>-0 [010] d.s2. 154.392244: prepare_playback_urb: prepare: pkt 0 [5]: avail=993, counts=6 <idle>-0 [010] d.s2. 154.392245: prepare_playback_urb: prepare: pkt 0 [6]: avail=987, counts=5 <idle>-0 [010] d.s2. 154.392245: prepare_playback_urb: prepare: pkt 0 [7]: avail=982, counts=6 <idle>-0 [010] d.s2. 154.392246: prepare_playback_urb: prepare: pkt 0 [8]: avail=976, counts=5 <idle>-0 [010] d.s2. 154.392247: prepare_playback_urb: prepare: pkt 0 [9]: avail=971, counts=6 <idle>-0 [010] d.s2. 154.392247: prepare_playback_urb: prepare: pkt 0 [10]: avail=965, counts=5 <idle>-0 [010] d.s2. 154.392248: prepare_playback_urb: prepare: pkt 0 [11]: avail=960, counts=6 <idle>-0 [010] d.s2. 154.392248: prepare_playback_urb: prepare: pkt 0 [12]: avail=954, counts=5 <idle>-0 [010] d.s2. 154.392249: prepare_playback_urb: prepare: pkt 0 [13]: avail=949, counts=6 <idle>-0 [010] d.s2. 154.392250: prepare_playback_urb: prepare: pkt 0 [14]: avail=943, counts=5 <idle>-0 [010] d.s2. 154.392250: prepare_playback_urb: prepare: pkt 0 [15]: avail=938, counts=6 <idle>-0 [010] d.s2. 154.392251: prepare_playback_urb: prepare: pkt 0 [16]: avail=932, counts=5 <idle>-0 [010] d.s2. 154.392252: prepare_playback_urb: prepare: pkt 0 [17]: avail=927, counts=6 <idle>-0 [010] d.s2. 154.392252: prepare_playback_urb: prepare: pkt 0 [18]: avail=921, counts=5 <idle>-0 [010] d.s2. 154.392253: prepare_playback_urb: prepare: pkt 0 [19]: avail=916, counts=6 <idle>-0 [010] d.s2. 154.392253: prepare_playback_urb: prepare: pkt 0 [20]: avail=910, counts=5 <idle>-0 [010] d.s2. 154.392254: prepare_playback_urb: prepare: pkt 0 [21]: avail=905, counts=6 <idle>-0 [010] d.s2. 154.392254: prepare_playback_urb: prepare: pkt 0 [22]: avail=899, counts=5 <idle>-0 [010] d.s2. 154.392255: prepare_playback_urb: prepare: pkt 0 [23]: avail=894, counts=6 <idle>-0 [010] d.s2. 154.392255: prepare_playback_urb: prepare: pkt 0 [24]: avail=888, counts=5 <idle>-0 [010] d.s2. 154.392256: prepare_playback_urb: prepare: pkt 0 [25]: avail=883, counts=6 <idle>-0 [010] d.s2. 154.392257: prepare_playback_urb: prepare: pkt 0 [26]: avail=877, counts=5 <idle>-0 [010] d.s2. 154.392257: prepare_playback_urb: prepare: pkt 0 [27]: avail=872, counts=6 <idle>-0 [010] d.s2. 154.392258: prepare_playback_urb: prepare: pkt 0 [28]: avail=866, counts=5 <idle>-0 [010] d.s2. 154.392258: prepare_playback_urb: prepare: pkt 0 [29]: avail=861, counts=6 <idle>-0 [010] d.s2. 154.392259: prepare_playback_urb: prepare: pkt 0 [30]: avail=855, counts=5 <idle>-0 [010] d.s2. 154.392259: prepare_playback_urb: prepare: pkt 0 [31]: avail=850, counts=6 <idle>-0 [010] d.s2. 154.392260: prepare_playback_urb: prepare: pkt 0 [32]: avail=844, counts=5 <idle>-0 [010] d.s2. 154.392260: prepare_playback_urb: prepare: pkt 0 [33]: avail=839, counts=6 <idle>-0 [010] d.s2. 154.392261: prepare_playback_urb: prepare: pkt 0 [34]: avail=833, counts=5 <idle>-0 [010] d.s2. 154.392261: prepare_playback_urb: prepare: pkt 0 [35]: avail=828, counts=6 <idle>-0 [010] d.s2. 154.392262: prepare_playback_urb: prepare: pkt 0 [36]: avail=822, counts=5 <idle>-0 [010] d.s2. 154.392263: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2444, hwptr=13116 <idle>-0 [010] ..s1. 154.392264: snd_usb_queue_pending_output_urbs: pkt 0 submitted <idle>-0 [010] ..s1. 154.396852: snd_complete_urb: pkt complete 1 <idle>-0 [010] ..s1. 154.396854: push_back_to_ready_list: pkt 1 push back <idle>-0 [010] ..s1. 154.396856: snd_usb_queue_pending_output_urbs: checking queue pkt 1 (active_mask=5) <idle>-0 [010] d.s2. 154.396858: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=3279, avail=817 <idle>-0 [010] d.s2. 154.396859: prepare_playback_urb: prepare: pkt 1 [0]: avail=817, counts=6 <idle>-0 [010] d.s2. 154.396860: prepare_playback_urb: prepare: pkt 1 [1]: avail=811, counts=5 <idle>-0 [010] d.s2. 154.396860: prepare_playback_urb: prepare: pkt 1 [2]: avail=806, counts=6 <idle>-0 [010] d.s2. 154.396861: prepare_playback_urb: prepare: pkt 1 [3]: avail=800, counts=5 <idle>-0 [010] d.s2. 154.396861: prepare_playback_urb: prepare: pkt 1 [4]: avail=795, counts=6 <idle>-0 [010] d.s2. 154.396862: prepare_playback_urb: prepare: pkt 1 [5]: avail=789, counts=6 <idle>-0 [010] d.s2. 154.396862: prepare_playback_urb: prepare: pkt 1 [6]: avail=783, counts=5 <idle>-0 [010] d.s2. 154.396863: prepare_playback_urb: prepare: pkt 1 [7]: avail=778, counts=6 <idle>-0 [010] d.s2. 154.396863: prepare_playback_urb: prepare: pkt 1 [8]: avail=772, counts=5 <idle>-0 [010] d.s2. 154.396864: prepare_playback_urb: prepare: pkt 1 [9]: avail=767, counts=6 <idle>-0 [010] d.s2. 154.396865: prepare_playback_urb: prepare: pkt 1 [10]: avail=761, counts=5 <idle>-0 [010] d.s2. 154.396865: prepare_playback_urb: prepare: pkt 1 [11]: avail=756, counts=6 <idle>-0 [010] d.s2. 154.396866: prepare_playback_urb: prepare: pkt 1 [12]: avail=750, counts=5 <idle>-0 [010] d.s2. 154.396866: prepare_playback_urb: prepare: pkt 1 [13]: avail=745, counts=6 <idle>-0 [010] d.s2. 154.396867: prepare_playback_urb: prepare: pkt 1 [14]: avail=739, counts=5 <idle>-0 [010] d.s2. 154.396867: prepare_playback_urb: prepare: pkt 1 [15]: avail=734, counts=6 <idle>-0 [010] d.s2. 154.396868: prepare_playback_urb: prepare: pkt 1 [16]: avail=728, counts=5 <idle>-0 [010] d.s2. 154.396868: prepare_playback_urb: prepare: pkt 1 [17]: avail=723, counts=6 <idle>-0 [010] d.s2. 154.396869: prepare_playback_urb: prepare: pkt 1 [18]: avail=717, counts=5 <idle>-0 [010] d.s2. 154.396869: prepare_playback_urb: prepare: pkt 1 [19]: avail=712, counts=6 <idle>-0 [010] d.s2. 154.396870: prepare_playback_urb: prepare: pkt 1 [20]: avail=706, counts=5 <idle>-0 [010] d.s2. 154.396870: prepare_playback_urb: prepare: pkt 1 [21]: avail=701, counts=6 <idle>-0 [010] d.s2. 154.396871: prepare_playback_urb: prepare: pkt 1 [22]: avail=695, counts=5 <idle>-0 [010] d.s2. 154.396872: prepare_playback_urb: prepare: pkt 1 [23]: avail=690, counts=6 <idle>-0 [010] d.s2. 154.396872: prepare_playback_urb: prepare: pkt 1 [24]: avail=684, counts=5 <idle>-0 [010] d.s2. 154.396873: prepare_playback_urb: prepare: pkt 1 [25]: avail=679, counts=6 <idle>-0 [010] d.s2. 154.396873: prepare_playback_urb: prepare: pkt 1 [26]: avail=673, counts=5 <idle>-0 [010] d.s2. 154.396874: prepare_playback_urb: prepare: pkt 1 [27]: avail=668, counts=6 <idle>-0 [010] d.s2. 154.396874: prepare_playback_urb: prepare: pkt 1 [28]: avail=662, counts=5 <idle>-0 [010] d.s2. 154.396875: prepare_playback_urb: prepare: pkt 1 [29]: avail=657, counts=6 <idle>-0 [010] d.s2. 154.396875: prepare_playback_urb: prepare: pkt 1 [30]: avail=651, counts=5 <idle>-0 [010] d.s2. 154.396876: prepare_playback_urb: prepare: pkt 1 [31]: avail=646, counts=6 <idle>-0 [010] d.s2. 154.396876: prepare_playback_urb: prepare: pkt 1 [32]: avail=640, counts=5 <idle>-0 [010] d.s2. 154.396877: prepare_playback_urb: prepare: pkt 1 [33]: avail=635, counts=6 <idle>-0 [010] d.s2. 154.396877: prepare_playback_urb: prepare: pkt 1 [34]: avail=629, counts=5 <idle>-0 [010] d.s2. 154.396878: prepare_playback_urb: prepare: pkt 1 [35]: avail=624, counts=6 <idle>-0 [010] d.s2. 154.396878: prepare_playback_urb: prepare: pkt 1 [36]: avail=618, counts=5 <idle>-0 [010] d.s2. 154.396880: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2444, hwptr=13932 <idle>-0 [010] ..s1. 154.396881: snd_usb_queue_pending_output_urbs: pkt 1 submitted <idle>-0 [010] ..s1. 154.401469: snd_complete_urb: pkt complete 2 <idle>-0 [010] ..s1. 154.401472: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.401474: snd_usb_queue_pending_output_urbs: checking queue pkt 2 (active_mask=3) <idle>-0 [010] d.s2. 154.401475: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=3483, avail=613 <idle>-0 [010] d.s2. 154.401476: prepare_playback_urb: prepare: pkt 2 [0]: avail=613, counts=6 <idle>-0 [010] d.s2. 154.401477: prepare_playback_urb: prepare: pkt 2 [1]: avail=607, counts=5 <idle>-0 [010] d.s2. 154.401477: prepare_playback_urb: prepare: pkt 2 [2]: avail=602, counts=6 <idle>-0 [010] d.s2. 154.401478: prepare_playback_urb: prepare: pkt 2 [3]: avail=596, counts=5 <idle>-0 [010] d.s2. 154.401479: prepare_playback_urb: prepare: pkt 2 [4]: avail=591, counts=6 <idle>-0 [010] d.s2. 154.401479: prepare_playback_urb: prepare: pkt 2 [5]: avail=585, counts=5 <idle>-0 [010] d.s2. 154.401480: prepare_playback_urb: prepare: pkt 2 [6]: avail=580, counts=6 <idle>-0 [010] d.s2. 154.401480: prepare_playback_urb: prepare: pkt 2 [7]: avail=574, counts=6 <idle>-0 [010] d.s2. 154.401481: prepare_playback_urb: prepare: pkt 2 [8]: avail=568, counts=5 <idle>-0 [010] d.s2. 154.401481: prepare_playback_urb: prepare: pkt 2 [9]: avail=563, counts=6 <idle>-0 [010] d.s2. 154.401482: prepare_playback_urb: prepare: pkt 2 [10]: avail=557, counts=5 <idle>-0 [010] d.s2. 154.401482: prepare_playback_urb: prepare: pkt 2 [11]: avail=552, counts=6 <idle>-0 [010] d.s2. 154.401483: prepare_playback_urb: prepare: pkt 2 [12]: avail=546, counts=5 <idle>-0 [010] d.s2. 154.401483: prepare_playback_urb: prepare: pkt 2 [13]: avail=541, counts=6 <idle>-0 [010] d.s2. 154.401484: prepare_playback_urb: prepare: pkt 2 [14]: avail=535, counts=5 <idle>-0 [010] d.s2. 154.401484: prepare_playback_urb: prepare: pkt 2 [15]: avail=530, counts=6 <idle>-0 [010] d.s2. 154.401485: prepare_playback_urb: prepare: pkt 2 [16]: avail=524, counts=5 <idle>-0 [010] d.s2. 154.401486: prepare_playback_urb: prepare: pkt 2 [17]: avail=519, counts=6 <idle>-0 [010] d.s2. 154.401486: prepare_playback_urb: prepare: pkt 2 [18]: avail=513, counts=5 <idle>-0 [010] d.s2. 154.401487: prepare_playback_urb: prepare: pkt 2 [19]: avail=508, counts=6 <idle>-0 [010] d.s2. 154.401488: prepare_playback_urb: prepare: pkt 2 [20]: avail=502, counts=5 <idle>-0 [010] d.s2. 154.401488: prepare_playback_urb: prepare: pkt 2 [21]: avail=497, counts=6 <idle>-0 [010] d.s2. 154.401489: prepare_playback_urb: prepare: pkt 2 [22]: avail=491, counts=5 <idle>-0 [010] d.s2. 154.401489: prepare_playback_urb: prepare: pkt 2 [23]: avail=486, counts=6 <idle>-0 [010] d.s2. 154.401490: prepare_playback_urb: prepare: pkt 2 [24]: avail=480, counts=5 <idle>-0 [010] d.s2. 154.401490: prepare_playback_urb: prepare: pkt 2 [25]: avail=475, counts=6 <idle>-0 [010] d.s2. 154.401491: prepare_playback_urb: prepare: pkt 2 [26]: avail=469, counts=5 <idle>-0 [010] d.s2. 154.401492: prepare_playback_urb: prepare: pkt 2 [27]: avail=464, counts=6 <idle>-0 [010] d.s2. 154.401492: prepare_playback_urb: prepare: pkt 2 [28]: avail=458, counts=5 <idle>-0 [010] d.s2. 154.401493: prepare_playback_urb: prepare: pkt 2 [29]: avail=453, counts=6 <idle>-0 [010] d.s2. 154.401493: prepare_playback_urb: prepare: pkt 2 [30]: avail=447, counts=5 <idle>-0 [010] d.s2. 154.401494: prepare_playback_urb: prepare: pkt 2 [31]: avail=442, counts=6 <idle>-0 [010] d.s2. 154.401494: prepare_playback_urb: prepare: pkt 2 [32]: avail=436, counts=5 <idle>-0 [010] d.s2. 154.401495: prepare_playback_urb: prepare: pkt 2 [33]: avail=431, counts=6 <idle>-0 [010] d.s2. 154.401495: prepare_playback_urb: prepare: pkt 2 [34]: avail=425, counts=5 <idle>-0 [010] d.s2. 154.401496: prepare_playback_urb: prepare: pkt 2 [35]: avail=420, counts=6 <idle>-0 [010] d.s2. 154.401496: prepare_playback_urb: prepare: pkt 2 [36]: avail=414, counts=5 <idle>-0 [010] d.s2. 154.401498: urb_ctx_queue_advance: PCM bytes=816, queued=816, inflight=2448, hwptr=14748 <idle>-0 [010] ..s1. 154.401499: snd_usb_queue_pending_output_urbs: pkt 2 submitted <idle>-0 [010] ..s1. 154.406098: snd_complete_urb: pkt complete 0 <idle>-0 [010] ..s1. 154.406100: push_back_to_ready_list: pkt 0 push back <idle>-0 [010] ..s1. 154.406102: snd_usb_queue_pending_output_urbs: checking queue pkt 0 (active_mask=6) <idle>-0 [010] d.s2. 154.406104: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=3687, avail=409 <idle>-0 [010] d.s2. 154.406105: prepare_playback_urb: prepare: pkt 0 [0]: avail=409, counts=6 <idle>-0 [010] d.s2. 154.406106: prepare_playback_urb: prepare: pkt 0 [1]: avail=403, counts=5 <idle>-0 [010] d.s2. 154.406106: prepare_playback_urb: prepare: pkt 0 [2]: avail=398, counts=6 <idle>-0 [010] d.s2. 154.406107: prepare_playback_urb: prepare: pkt 0 [3]: avail=392, counts=5 <idle>-0 [010] d.s2. 154.406107: prepare_playback_urb: prepare: pkt 0 [4]: avail=387, counts=6 <idle>-0 [010] d.s2. 154.406108: prepare_playback_urb: prepare: pkt 0 [5]: avail=381, counts=5 <idle>-0 [010] d.s2. 154.406109: prepare_playback_urb: prepare: pkt 0 [6]: avail=376, counts=6 <idle>-0 [010] d.s2. 154.406109: prepare_playback_urb: prepare: pkt 0 [7]: avail=370, counts=5 <idle>-0 [010] d.s2. 154.406110: prepare_playback_urb: prepare: pkt 0 [8]: avail=365, counts=6 <idle>-0 [010] d.s2. 154.406110: prepare_playback_urb: prepare: pkt 0 [9]: avail=359, counts=5 <idle>-0 [010] d.s2. 154.406111: prepare_playback_urb: prepare: pkt 0 [10]: avail=354, counts=6 <idle>-0 [010] d.s2. 154.406111: prepare_playback_urb: prepare: pkt 0 [11]: avail=348, counts=6 <idle>-0 [010] d.s2. 154.406112: prepare_playback_urb: prepare: pkt 0 [12]: avail=342, counts=5 <idle>-0 [010] d.s2. 154.406112: prepare_playback_urb: prepare: pkt 0 [13]: avail=337, counts=6 <idle>-0 [010] d.s2. 154.406113: prepare_playback_urb: prepare: pkt 0 [14]: avail=331, counts=5 <idle>-0 [010] d.s2. 154.406113: prepare_playback_urb: prepare: pkt 0 [15]: avail=326, counts=6 <idle>-0 [010] d.s2. 154.406114: prepare_playback_urb: prepare: pkt 0 [16]: avail=320, counts=5 <idle>-0 [010] d.s2. 154.406114: prepare_playback_urb: prepare: pkt 0 [17]: avail=315, counts=6 <idle>-0 [010] d.s2. 154.406115: prepare_playback_urb: prepare: pkt 0 [18]: avail=309, counts=5 <idle>-0 [010] d.s2. 154.406115: prepare_playback_urb: prepare: pkt 0 [19]: avail=304, counts=6 <idle>-0 [010] d.s2. 154.406116: prepare_playback_urb: prepare: pkt 0 [20]: avail=298, counts=5 <idle>-0 [010] d.s2. 154.406116: prepare_playback_urb: prepare: pkt 0 [21]: avail=293, counts=6 <idle>-0 [010] d.s2. 154.406117: prepare_playback_urb: prepare: pkt 0 [22]: avail=287, counts=5 <idle>-0 [010] d.s2. 154.406117: prepare_playback_urb: prepare: pkt 0 [23]: avail=282, counts=6 <idle>-0 [010] d.s2. 154.406118: prepare_playback_urb: prepare: pkt 0 [24]: avail=276, counts=5 <idle>-0 [010] d.s2. 154.406118: prepare_playback_urb: prepare: pkt 0 [25]: avail=271, counts=6 <idle>-0 [010] d.s2. 154.406119: prepare_playback_urb: prepare: pkt 0 [26]: avail=265, counts=5 <idle>-0 [010] d.s2. 154.406120: prepare_playback_urb: prepare: pkt 0 [27]: avail=260, counts=6 <idle>-0 [010] d.s2. 154.406120: prepare_playback_urb: prepare: pkt 0 [28]: avail=254, counts=5 <idle>-0 [010] d.s2. 154.406121: prepare_playback_urb: prepare: pkt 0 [29]: avail=249, counts=6 <idle>-0 [010] d.s2. 154.406121: prepare_playback_urb: prepare: pkt 0 [30]: avail=243, counts=5 <idle>-0 [010] d.s2. 154.406122: prepare_playback_urb: prepare: pkt 0 [31]: avail=238, counts=6 <idle>-0 [010] d.s2. 154.406122: prepare_playback_urb: prepare: pkt 0 [32]: avail=232, counts=5 <idle>-0 [010] d.s2. 154.406123: prepare_playback_urb: prepare: pkt 0 [33]: avail=227, counts=6 <idle>-0 [010] d.s2. 154.406123: prepare_playback_urb: prepare: pkt 0 [34]: avail=221, counts=5 <idle>-0 [010] d.s2. 154.406124: prepare_playback_urb: prepare: pkt 0 [35]: avail=216, counts=6 <idle>-0 [010] d.s2. 154.406124: prepare_playback_urb: prepare: pkt 0 [36]: avail=210, counts=5 <idle>-0 [010] d.s2. 154.406125: prepare_playback_urb: prepare: pkt 0 [37]: avail=205, counts=6 <idle>-0 [010] d.s2. 154.406126: urb_ctx_queue_advance: PCM bytes=840, queued=840, inflight=2472, hwptr=15588 <idle>-0 [010] ..s1. 154.406127: snd_usb_queue_pending_output_urbs: pkt 0 submitted <idle>-0 [010] ..s1. 154.410652: snd_complete_urb: pkt complete 1 <idle>-0 [010] ..s1. 154.410655: push_back_to_ready_list: pkt 1 push back <idle>-0 [010] ..s1. 154.410657: snd_usb_queue_pending_output_urbs: checking queue pkt 1 (active_mask=5) <idle>-0 [010] d.s2. 154.410658: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=3897, avail=199 <idle>-0 [010] d.s2. 154.410659: prepare_playback_urb: prepare: pkt 1 [0]: avail=199, counts=5 <idle>-0 [010] d.s2. 154.410660: prepare_playback_urb: prepare: pkt 1 [1]: avail=194, counts=6 <idle>-0 [010] d.s2. 154.410661: prepare_playback_urb: prepare: pkt 1 [2]: avail=188, counts=5 <idle>-0 [010] d.s2. 154.410661: prepare_playback_urb: prepare: pkt 1 [3]: avail=183, counts=6 <idle>-0 [010] d.s2. 154.410662: prepare_playback_urb: prepare: pkt 1 [4]: avail=177, counts=5 <idle>-0 [010] d.s2. 154.410662: prepare_playback_urb: prepare: pkt 1 [5]: avail=172, counts=6 <idle>-0 [010] d.s2. 154.410663: prepare_playback_urb: prepare: pkt 1 [6]: avail=166, counts=5 <idle>-0 [010] d.s2. 154.410663: prepare_playback_urb: prepare: pkt 1 [7]: avail=161, counts=6 <idle>-0 [010] d.s2. 154.410664: prepare_playback_urb: prepare: pkt 1 [8]: avail=155, counts=5 <idle>-0 [010] d.s2. 154.410664: prepare_playback_urb: prepare: pkt 1 [9]: avail=150, counts=6 <idle>-0 [010] d.s2. 154.410665: prepare_playback_urb: prepare: pkt 1 [10]: avail=144, counts=5 <idle>-0 [010] d.s2. 154.410666: prepare_playback_urb: prepare: pkt 1 [11]: avail=139, counts=6 <idle>-0 [010] d.s2. 154.410666: prepare_playback_urb: prepare: pkt 1 [12]: avail=133, counts=6 <idle>-0 [010] d.s2. 154.410667: prepare_playback_urb: prepare: pkt 1 [13]: avail=127, counts=5 <idle>-0 [010] d.s2. 154.410667: prepare_playback_urb: prepare: pkt 1 [14]: avail=122, counts=6 <idle>-0 [010] d.s2. 154.410668: prepare_playback_urb: prepare: pkt 1 [15]: avail=116, counts=5 <idle>-0 [010] d.s2. 154.410668: prepare_playback_urb: prepare: pkt 1 [16]: avail=111, counts=6 <idle>-0 [010] d.s2. 154.410669: prepare_playback_urb: prepare: pkt 1 [17]: avail=105, counts=5 <idle>-0 [010] d.s2. 154.410669: prepare_playback_urb: prepare: pkt 1 [18]: avail=100, counts=6 <idle>-0 [010] d.s2. 154.410670: prepare_playback_urb: prepare: pkt 1 [19]: avail=94, counts=5 <idle>-0 [010] d.s2. 154.410670: prepare_playback_urb: prepare: pkt 1 [20]: avail=89, counts=6 <idle>-0 [010] d.s2. 154.410671: prepare_playback_urb: prepare: pkt 1 [21]: avail=83, counts=5 <idle>-0 [010] d.s2. 154.410671: prepare_playback_urb: prepare: pkt 1 [22]: avail=78, counts=6 <idle>-0 [010] d.s2. 154.410672: prepare_playback_urb: prepare: pkt 1 [23]: avail=72, counts=5 <idle>-0 [010] d.s2. 154.410672: prepare_playback_urb: prepare: pkt 1 [24]: avail=67, counts=6 <idle>-0 [010] d.s2. 154.410673: prepare_playback_urb: prepare: pkt 1 [25]: avail=61, counts=5 <idle>-0 [010] d.s2. 154.410674: prepare_playback_urb: prepare: pkt 1 [26]: avail=56, counts=6 <idle>-0 [010] d.s2. 154.410674: prepare_playback_urb: prepare: pkt 1 [27]: avail=50, counts=5 <idle>-0 [010] d.s2. 154.410675: prepare_playback_urb: prepare: pkt 1 [28]: avail=45, counts=6 <idle>-0 [010] d.s2. 154.410675: prepare_playback_urb: prepare: pkt 1 [29]: avail=39, counts=5 <idle>-0 [010] d.s2. 154.410676: prepare_playback_urb: prepare: pkt 1 [30]: avail=34, counts=6 <idle>-0 [010] d.s2. 154.410676: prepare_playback_urb: prepare: pkt 1 [31]: avail=28, counts=5 <idle>-0 [010] d.s2. 154.410677: prepare_playback_urb: prepare: pkt 1 [32]: avail=23, counts=6 <idle>-0 [010] d.s2. 154.410677: prepare_playback_urb: prepare: pkt 1 [33]: avail=17, counts=5 <idle>-0 [010] d.s2. 154.410678: prepare_playback_urb: prepare: pkt 1 [34]: avail=12, counts=6 <idle>-0 [010] d.s2. 154.410678: prepare_playback_urb: prepare: pkt 1 [35]: avail=6, counts=5 <idle>-0 [010] d.s2. 154.410679: prepare_playback_urb: prepare: pkt 1 [36]: avail=1, counts=-11 <idle>-0 [010] d.s2. 154.410680: urb_ctx_queue_advance: PCM bytes=792, queued=792, inflight=2448, hwptr=16380 <idle>-0 [010] ..s1. 154.410682: snd_usb_queue_pending_output_urbs: pkt 1 submitted <idle>-0 [010] ..s1. 154.415281: snd_complete_urb: pkt complete 2 <idle>-0 [010] ..s1. 154.415284: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.415285: snd_usb_queue_pending_output_urbs: checking queue pkt 2 (active_mask=3) <idle>-0 [010] d.s2. 154.415287: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=4095, avail=1 <idle>-0 [010] d.s2. 154.415288: prepare_playback_urb: prepare: pkt 2 [0]: avail=1, counts=-11 <idle>-0 [010] ..s1. 154.415289: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.420028: snd_complete_urb: pkt complete 0 <idle>-0 [010] ..s1. 154.420031: push_back_to_ready_list: pkt 0 push back <idle>-0 [010] ..s1. 154.420033: snd_usb_queue_pending_output_urbs: checking queue pkt 2 (active_mask=2) <idle>-0 [010] d.s2. 154.420035: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=4095, avail=1 <idle>-0 [010] d.s2. 154.420036: prepare_playback_urb: prepare: pkt 2 [0]: avail=1, counts=-11 <idle>-0 [010] ..s1. 154.420036: push_back_to_ready_list: pkt 2 push back <idle>-0 [010] ..s1. 154.424609: snd_complete_urb: pkt complete 1 <idle>-0 [010] ..s1. 154.424612: push_back_to_ready_list: pkt 1 push back <idle>-0 [010] ..s1. 154.424614: snd_usb_queue_pending_output_urbs: checking queue pkt 0 (active_mask=0) <idle>-0 [010] d.s2. 154.424616: prepare_playback_urb: prepare: applptr=0, hwptr_base=0, buffer=4096, hwptr=4095, avail=1 <idle>-0 [010] d.s2. 154.424616: prepare_playback_urb: prepare: pkt 0 [0]: avail=1, counts=-11 <idle>-0 [010] ..s1. 154.424617: push_back_to_ready_list: pkt 0 push back ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-18 23:26 ` Kirill A. Shutemov @ 2021-11-19 9:13 ` Takashi Iwai 2021-11-19 10:09 ` Kirill A. Shutemov 0 siblings, 1 reply; 14+ messages in thread From: Takashi Iwai @ 2021-11-19 9:13 UTC (permalink / raw) To: Kirill A. Shutemov Cc: Takashi Iwai, Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 661 bytes --] On Fri, 19 Nov 2021 00:26:28 +0100, Kirill A. Shutemov wrote: > > On Thu, Nov 18, 2021 at 05:57:35PM +0100, Takashi Iwai wrote: > > And it'd be helpful if you can gather the log (from tracing) with the > > patch below (from the start of speaker-test until the stall). > > The trace is attached. Thanks! From the previous log, I noticed that you're using dmix plugin, and that was the problem. The dmix plugin changes the PCM sw_params parameters at a late stage, and this confused the driver as if it were OK with the low-latency mode. And, while reviewing the code, I also found another bug. Below are two fix patches. Please give it a try. Takashi [-- Attachment #2: 0001-ALSA-usb-audio-Switch-back-to-non-latency-mode-at-a-.patch --] [-- Type: application/octet-stream, Size: 2451 bytes --] From 4b9f4f8e236ef3b40ca4f3e0e59f6e094d090d59 Mon Sep 17 00:00:00 2001 From: Takashi Iwai <tiwai@suse.de> Date: Fri, 19 Nov 2021 10:04:49 +0100 Subject: [PATCH 1/2] ALSA: usb-audio: Switch back to non-latency mode at a later point The recent regression report revealed that the judgment of the low-latency playback mode based on the runtime->stop_threshold cannot work reliably at the prepare stage, as sw_params call may happen at any time, and PCM dmix actually sets it up after the prepare call. This ended up with the stall of the stream as PCM ack won't be issued at all. For addressing this, check the free-wheeling mode again at the PCM trigger right before starting the stream again, and allow switching to the non-LL mode at a late stage. Fixes: d5f871f89e21 ("ALSA: usb-audio: Improved lowlatency playback support") Reported-by: Kirill A. Shutemov <kirill@shutemov.name> Signed-off-by: Takashi Iwai <tiwai@suse.de> --- sound/usb/pcm.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index 95ec8eec1bb0..57b046e73bfe 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -581,6 +581,12 @@ static int snd_usb_hw_free(struct snd_pcm_substream *substream) return 0; } +/* free-wheeling mode? (e.g. dmix) */ +static int in_free_wheeling_mode(struct snd_pcm_runtime *runtime) +{ + return runtime->stop_threshold > runtime->buffer_size; +} + /* check whether early start is needed for playback stream */ static int lowlatency_playback_available(struct snd_pcm_runtime *runtime, struct snd_usb_substream *subs) @@ -592,8 +598,7 @@ static int lowlatency_playback_available(struct snd_pcm_runtime *runtime, /* disabled via module option? */ if (!chip->lowlatency) return false; - /* free-wheeling mode? (e.g. dmix) */ - if (runtime->stop_threshold > runtime->buffer_size) + if (in_free_wheeling_mode(runtime)) return false; /* implicit feedback mode has own operation mode */ if (snd_usb_endpoint_implicit_feedback_sink(subs->data_endpoint)) @@ -1552,6 +1557,8 @@ static int snd_usb_substream_playback_trigger(struct snd_pcm_substream *substrea subs); if (subs->lowlatency_playback && cmd == SNDRV_PCM_TRIGGER_START) { + if (in_free_wheeling_mode(substream->runtime)) + subs->lowlatency_playback = false; err = start_endpoints(subs); if (err < 0) { snd_usb_endpoint_set_callback(subs->data_endpoint, -- 2.31.1 [-- Attachment #3: 0002-ALSA-usb-audio-Don-t-start-stream-for-capture-at-pre.patch --] [-- Type: application/octet-stream, Size: 1075 bytes --] From 2eeb527a4f3481452fd00263d8cee99d5297178a Mon Sep 17 00:00:00 2001 From: Takashi Iwai <tiwai@suse.de> Date: Fri, 19 Nov 2021 10:02:42 +0100 Subject: [PATCH 2/2] ALSA: usb-audio: Don't start stream for capture at prepare The recent change made mistakenly the stream for capture started at prepare stage. Add the stream direction check to avoid it. Fixes: 9c9a3b9da891 ("ALSA: usb-audio: Rename early_playback_start flag with lowlatency_playback") Signed-off-by: Takashi Iwai <tiwai@suse.de> --- sound/usb/pcm.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/sound/usb/pcm.c b/sound/usb/pcm.c index 57b046e73bfe..cec6e91afea2 100644 --- a/sound/usb/pcm.c +++ b/sound/usb/pcm.c @@ -640,7 +640,8 @@ static int snd_usb_pcm_prepare(struct snd_pcm_substream *substream) runtime->delay = 0; subs->lowlatency_playback = lowlatency_playback_available(runtime, subs); - if (!subs->lowlatency_playback) + if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK && + !subs->lowlatency_playback) ret = start_endpoints(subs); unlock: -- 2.31.1 ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-19 9:13 ` Takashi Iwai @ 2021-11-19 10:09 ` Kirill A. Shutemov 2021-11-19 10:24 ` Takashi Iwai 0 siblings, 1 reply; 14+ messages in thread From: Kirill A. Shutemov @ 2021-11-19 10:09 UTC (permalink / raw) To: Takashi Iwai Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Fri, Nov 19, 2021 at 10:13:54AM +0100, Takashi Iwai wrote: > Below are two fix patches. Please give it a try. They fix the issue: Reported-and-tested-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> -- Kirill A. Shutemov ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-19 10:09 ` Kirill A. Shutemov @ 2021-11-19 10:24 ` Takashi Iwai 0 siblings, 0 replies; 14+ messages in thread From: Takashi Iwai @ 2021-11-19 10:24 UTC (permalink / raw) To: Kirill A. Shutemov Cc: Takashi Iwai, Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List On Fri, 19 Nov 2021 11:09:18 +0100, Kirill A. Shutemov wrote: > > On Fri, Nov 19, 2021 at 10:13:54AM +0100, Takashi Iwai wrote: > > Below are two fix patches. Please give it a try. > > They fix the issue: > > Reported-and-tested-by: Kirill A. Shutemov <kirill.shutemov@linux.intel.com> Great, I'll queue the fixes. Thanks! Takashi ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [GIT PULL] sound updates for 5.16-rc1 2021-11-18 8:01 ` Takashi Iwai 2021-11-18 16:57 ` Takashi Iwai @ 2021-11-18 23:17 ` Kirill A. Shutemov 1 sibling, 0 replies; 14+ messages in thread From: Kirill A. Shutemov @ 2021-11-18 23:17 UTC (permalink / raw) To: Takashi Iwai Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List [-- Attachment #1: Type: text/plain, Size: 524 bytes --] On Thu, Nov 18, 2021 at 09:01:38AM +0100, Takashi Iwai wrote: > I checked mine, and all worked fine. So this doesn't look like a > generic breakage but somehow specific to certain devices or system. > > Could you verify the lowlatency flag off? With lowlatency off it works fine. I attached dump form /proc/asound/card*/pcm*/sub*/* for both cases while plaing the sample > Also, the simple aplay invocation (e.g. with a 2-channel 16bit sample) > also goes to the same problem, I suppose? Yes. -- Kirill A. Shutemov [-- Attachment #2: state --] [-- Type: text/plain, Size: 938 bytes --] hw_params:access: MMAP_INTERLEAVED hw_params:format: S16_LE hw_params:subformat: STD hw_params:channels: 2 hw_params:rate: 44100 (44100/1) hw_params:period_size: 1024 hw_params:buffer_size: 4096 info:card: 0 info:device: 0 info:subdevice: 0 info:stream: PLAYBACK info:id: USB Audio info:name: USB Audio info:subname: subdevice #0 info:class: 0 info:subclass: 0 info:subdevices_count: 1 info:subdevices_avail: 0 status:state: RUNNING status:owner_pid : 4268 status:trigger_time: 335.048357663 status:tstamp : 362.520920879 status:delay : -4095 status:avail : 8191 status:avail_max : 0 status:----- status:hw_ptr : 4095 status:appl_ptr : 0 sw_params:tstamp_mode: ENABLE sw_params:period_step: 1 sw_params:avail_min: 1024 sw_params:start_threshold: 1 sw_params:stop_threshold: 4611686018427387904 sw_params:silence_threshold: 0 sw_params:silence_size: 4611686018427387904 sw_params:boundary: 4611686018427387904 [-- Attachment #3: state.no-lowlatency --] [-- Type: text/plain, Size: 949 bytes --] hw_params:access: MMAP_INTERLEAVED hw_params:format: S16_LE hw_params:subformat: STD hw_params:channels: 2 hw_params:rate: 44100 (44100/1) hw_params:period_size: 1024 hw_params:buffer_size: 4096 info:card: 0 info:device: 0 info:subdevice: 0 info:stream: PLAYBACK info:id: USB Audio info:name: USB Audio info:subname: subdevice #0 info:class: 0 info:subclass: 0 info:subdevices_count: 1 info:subdevices_avail: 0 status:state: RUNNING status:owner_pid : 4351 status:trigger_time: 107.480212212 status:tstamp : 111.934757272 status:delay : -196216 status:avail : 200704 status:avail_max : 200704 status:----- status:hw_ptr : 196608 status:appl_ptr : 0 sw_params:tstamp_mode: ENABLE sw_params:period_step: 1 sw_params:avail_min: 1024 sw_params:start_threshold: 1 sw_params:stop_threshold: 4611686018427387904 sw_params:silence_threshold: 0 sw_params:silence_size: 4611686018427387904 sw_params:boundary: 4611686018427387904 ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2021-11-19 10:24 UTC | newest] Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2021-11-03 10:24 [GIT PULL] sound updates for 5.16-rc1 Takashi Iwai 2021-11-03 15:04 ` pr-tracker-bot 2021-11-17 16:18 ` Kirill A. Shutemov 2021-11-17 16:24 ` Takashi Iwai 2021-11-17 17:48 ` Kirill A. Shutemov 2021-11-17 18:02 ` Takashi Iwai 2021-11-17 18:20 ` Kirill A. Shutemov 2021-11-18 8:01 ` Takashi Iwai 2021-11-18 16:57 ` Takashi Iwai 2021-11-18 23:26 ` Kirill A. Shutemov 2021-11-19 9:13 ` Takashi Iwai 2021-11-19 10:09 ` Kirill A. Shutemov 2021-11-19 10:24 ` Takashi Iwai 2021-11-18 23:17 ` Kirill A. Shutemov
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).