linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [GIT PULL] sound updates for 5.9
@ 2020-08-06 10:21 Takashi Iwai
  2020-08-06 21:59 ` pr-tracker-bot
  2020-08-08  0:23 ` John Stultz
  0 siblings, 2 replies; 11+ messages in thread
From: Takashi Iwai @ 2020-08-06 10:21 UTC (permalink / raw)
  To: Linus Torvalds; +Cc: Mark Brown, Liam Girdwood, Linux Kernel Mailing List

Linus,

please pull sound updates for v5.9 from:

  git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.9-rc1

The topmost commit is c7fabbc51352f50cc58242a6dc3b9c1a3599849b

----------------------------------------------------------------

sound updates for 5.9

This became wide and scattered updates all over the sound tree as
diffstat shows: lots of (still ongoing) refactoring works in ASoC,
fixes and cleanups caught by static analysis, inclusive term
conversions as well as lots of new drivers.  Below are highlights:

ASoC core:
* API cleanups and conversions to the unified mute_stream() call
* Simplify I/O helper functions
* Use helper macros to retrieve RTD from substreams

ASoC drivers:
* Lots of fixes and cleanups in Intel ASoC drivers
* Lots of new stuff: Freescale MQS and i.MX6sx, Intel KeemBay I2S,
  Maxim MAX98360A and MAX98373 SoundWire, various Mediatek boards,
  nVidia Tegra 186 and 210, RealTek RL6231, Samsung Midas and Aries
  boards, TI J721e EVM

ALSA core:
* Minor code refacotring for SG-buffer handling

HD-audio:
* Generalization of mute-LED handling with LED classdev
* Intel silent stream support for HDMI
* Device-specific fixes: CA0132, Loongson-3

Others:
* Usual USB- and HD-audio quirks for various devices
* Fixes for echoaudio DMA position handling
* Various documents and trivial fixes for sparse warnings
* Conversion to adapt inclusive terms

----------------------------------------------------------------

Akshu Agrawal (3):
      ASoC: AMD: Use mixer control to switch between DMICs
      ASoC: amd: Enable interrupt in dma_open
      ASoC: AMD: Restore PME_EN state at Power On

Alexander A. Klimov (5):
      ALSA: Replace HTTP links with HTTPS ones
      ASoC: Replace HTTP links with HTTPS ones
      ASoC: ti: Replace HTTP links with HTTPS ones
      ASoC: fsl: Replace HTTP links with HTTPS ones
      ASoC: omap: Replace HTTP links with HTTPS ones

Alexander Tsoy (1):
      ALSA: usb-audio: Fix some typos

Alper Nebi Yasak (1):
      ASoC: rk3399_gru_sound: Add DAPM pins, kcontrols for jack detection

Bard Liao (2):
      ASoC: intel: cml_rt1011_rt5682: use for_each_card_prelinks
      ASoC: Intel: sof_sdw_rt711: remove hard-coded codec name

Brent Lu (1):
      ASoC: Intel: bxt-da7219-max98357a: support MAX98390 speaker amp

Cezary Rojewski (3):
      ASoC: core: Relocate and expose snd_soc_component_initialize
      ASoC: core: Simplify snd_soc_component_initialize declaration
      ASoC: core: Two step component registration

Charles Keepax (2):
      ASoC: madera: Add channel numbers to AIFs
      ASoC: soc-core: Fix regression causing sysfs entries to disappear

Codrin Ciubotariu (2):
      ASoC: atmel-classd: remove codec component
      ASoC: atmel-pdmic: remove codec component

Colin Ian King (1):
      ASoC: Intel: bxt-da7219-max98357a: return -EINVAL on unrecognized speaker amplifier

Colton Lewis (1):
      snd/soc: correct trivial kernel-doc inconsistency

Connor McAdams (3):
      ALSA: hda/ca0132 - Fix ZxR Headphone gain control get value.
      ALSA: hda/ca0132 - Add new quirk ID for Recon3D.
      ALSA: hda/ca0132 - Fix AE-5 microphone selection commands.

Curtis Malainey (1):
      ALSA: usb-audio: add startech usb audio dock name

Dan Carpenter (1):
      ALSA: echoaudio: re-enable IRQs on failure path

Dan Murphy (17):
      ASoC: tas2562: Update shutdown GPIO property
      ASoC: tas2562: Fix format issue for extra space before a comma
      ASoC: tas2562: Fix shut-down gpio property
      ASoC: tas2562: Add right and left channel slot programming
      ASoC: tas2562: Add voltage sense slot configuration
      ASoC: tas2562: Add voltage sense slot property
      ASoC: tlv320adcx140: Add ASI enable for channel 5-8
      ASoC: tlv320adcx140: Add tx offset slot programming
      ASoC: tas2770: Fix reset gpio property name
      ASoC: tas2770: Convert tas2770 binding to yaml
      ASoC: tas2562: Update shutdown GPIO property
      ASoC: tas2562: Convert the tas2562 binding to yaml
      ASoC: tlv320adcx140: Fix various style errors and warnings
      dt-bindings: tlv320adcx140: Add GPO config and drive config
      ASoC: tlv320adcx140: Add GPO configuration and drive output config
      ASoC: tlv320adcx140: Fix GPO register start address
      ASoC: tlv320adcx140: Move device reset to before programming

Daniel Baluta (7):
      ASoC: SOF: define INFO_ flags in dsp_ops for imx8
      ASoC: SOF: imx: Use ARRAY_SIZE instead of hardcoded value
      ASoC: SOF: imx8: Fix ESAI DAI driver name for i.MX8/iMX8X
      ASoC: SOF: imx8m: Fix SAI DAI driver for i.MX8M
      ASoC: SOF: imx8: Add SAI dai driver for i.MX/i.MX8X
      ASoC: SOF: topology: Update SAI config bclk/fsync rate
      ASoC: SOF: pcm: Update rate/channels for SAI/ESAI DAIs

Dharageswari R (3):
      ASoC: Intel: Boards: tgl_max98373: add dai_trigger function
      ASoC: Intel: Boards: tgl_max98373: Fix the comment for max_98373_components
      ASoC: Intel: Boards: tgl_max98373: Update TDM configuration in hw_params

Fabio Estevam (3):
      ASoC: dt-bindings: keembay-i2s: Fix reg descriptions
      ASoC: dt-bindings: simple-card: Fix 'make dt_binding_check' warnings
      ASoC: wm8962: Do not access WM8962_GPIO_BASE

Fred Oh (6):
      ASoC: intel: sof_rt5682: move disabling jack to dai link's exit()
      ASoC: intel: cml_rt1011_rt5682: disable jack in dailink .exit()
      ASoC: rt1011: fix KASAN out-of-bounds bug in find_next_bit()
      ASoC: Intel: Boards: cml_rt1011_rt5682: reduce log level for printing quirk
      ASoC: Intel: Boards: cml_rt1011_rt5682: use statically define codec config
      ASoc: Intel: cml_rt1011_rt5682: explicitly access first codec

Fuqian Huang (1):
      ASoC: wm0010: Use kmemdup rather than duplicating its implementation

Gustavo A. R. Silva (3):
      ALSA: Use fallthrough pseudo-keyword
      ASoC: codecs: Use fallthrough pseudo-keyword
      ASoC: Intel: Skylake: Avoid the use of one-element array

Hans de Goede (3):
      ASoC: rt5670: Remove struct rt5670_platform_data
      ASoC: rt5670: Rename dev_gpio to gpio1_is_irq
      ASoC: Intel: cht_bsw_rt5672: Improve dai-set-fmt comment in cht_codec_fixup()

Harsha Priya (2):
      ALSA: hda/hdmi: Add Intel silent stream support
      ASoC: Intel: kbl_rt5663_rt5514_max98927: Fix kabylake_ssp_fixup function

Hauke Mehrtens (1):
      spi: lantiq-ssc: Fix warning by using WQ_MEM_RECLAIM

Huacai Chen (1):
      ALSA: hda/realtek: Add alc269/alc662 pin-tables for Loongson-3 laptops

Hui Wang (1):
      Revert "ALSA: hda: call runtime_allow() for all hda controllers"

Jack Yu (1):
      ASoC: rt1015: Flush DAC data before playback.

James Schulman (1):
      ASoC: wm_adsp: Support new metadata block ID's

Jerome Brunet (7):
      ASoC: meson: imply acodec glue on axg sound card
      ASoC: soc-component: don't report of_xlate_dai_name failures
      ASoC: meson: axg-tdm-interface: fix link fmt setup
      ASoC: meson: axg-tdmin: fix g12a skew
      ASoC: meson: axg-tdm-formatters: fix sclk inversion
      ASoC: meson: cards: remove DT_PREFIX for standard daifmt properties
      ASoC: meson: cards: deal dpcm flag change

Jiaxin Yu (2):
      ASoC: mediatek: mt6358: support DMIC one-wire mode
      ASoC: dt-bindings: mediatek: mt6358: add dmic-mode property

Jing Xiangfeng (1):
      ASoC: meson: fixes the missed kfree() for axg_card_add_tdm_loopback

John Stultz (1):
      ASoC: qcom: Kconfig: Tweak dependencies on SND_SOC_SDM845

Jon Hunter (1):
      ALSA: hda/tegra: Disable sync-write operation

Jonathan Bakker (3):
      ASoC: samsung: Add driver for Aries boards
      ASoC: Document wm8994 endpoints
      ASoC: Add bindings for Samsung Aries audio complex

Julia Lawall (4):
      ASoC: Intel: drop unnecessary list_empty
      ASoC: SOF: imx: use resource_size
      ALSA: doc: use correct config variable name
      ALSA: docs: fix typo

Kai Vehmanen (8):
      ALSA: hda: export snd_hda_codec_cleanup_for_unbind()
      ALSA: hda: fix snd_hda_codec_cleanup() documentation
      ASoC: Intel: sof_sdw: add support for systems without i915 audio
      ASoC: Intel: sof_sdw: avoid crash if invalid DSP topology loaded
      ASoC: intel/skl/hda - fix probe regression on systems without i915
      ASoC: hdac_hda: call patch_ops.free() on probe error
      ASoC: hdac_hda: fix memleak on module unload
      ASoC: hdac_hda: fix deadlock after PCM open error

Kai-Heng Feng (2):
      ALSA: usb-audio: Add support for Lenovo ThinkStation P620
      ALSA: hda/hdmi: Add quirk to force connectivity

Kaige Li (1):
      ALSA: hda: Add support for Loongson 7A1000 controller

Katsuhiro Suzuki (3):
      ASoC: convert rk3328 codec binding to yaml
      ASoC: convert ROHM BD28623 amplifier binding to yaml
      ASoC: convert Everest ES8316 binding to yaml

Kuninori Morimoto (90):
      ASoC: soc-component: add soc_component_pin() and share code
      ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component
      ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c
      ASoC: soc-component: add soc_component_err()
      ASoC: soc-component: add snd_soc_pcm_component_prepare()
      ASoC: soc-component: add snd_soc_pcm_component_hw_params()
      ASoC: soc-component: add snd_soc_pcm_component_hw_free()
      ASoC: soc-component: add snd_soc_pcm_component_trigger()
      ASoC: soc-component: add snd_soc_component_init()
      ASoC: soc-component: merge soc-io.c into soc-component.c
      ASoC: soc-component: merge soc_pcm_trigger_start/stop()
      ASoC: soc-component: tidyup Copyright
      ASoC: soc-component: merge snd_soc_component_read() and snd_soc_component_read32()
      ASoC: soc-component: use io_mutex correctly
      ASoC: pxa: rename to snd_soc_component_read()
      ASoC: atmel: rename to snd_soc_component_read()
      ASoC: codecs: rename to snd_soc_component_read()
      ASoC: codecs: wcd*: rename to snd_soc_component_read()
      ASoC: codecs: tlv*: rename to snd_soc_component_read()
      ASoC: codecs: max*: rename to snd_soc_component_read()
      ASoC: codecs: msm*: rename to snd_soc_component_read()
      ASoC: codecs: alc*: rename to snd_soc_component_read()
      ASoC: codecs: wm*: rename to snd_soc_component_read()
      ASoC: codecs: rt*: rename to snd_soc_component_read()
      ASoC: codecs: da*: rename to snd_soc_component_read()
      ASoC: codecs: cs*: rename to snd_soc_component_read()
      ASoC: codecs: ak*: rename to snd_soc_component_read()
      ASoC: remove snd_soc_component_read32()
      ARM: dts: motorola-mapphone-common: remove unneeded "simple-graph-card"
      ASoC: rsnd: don't use discriminatory terms for function names
      ASoC: rsnd: don't use discriminatory terms for comment
      ASoC: fsi: don't use discriminatory terms for comment
      ASoC: siu: don't use discriminatory terms for parameter
      ASoC: ssi: don't use discriminatory terms for debug log
      ASoC: hdmi-codec: return -ENOTSUPP for digital_mute
      ASoC: soc-dai.c: add .no_capture_mute support
      ASoC: hdmi-codec: merge .digital_mute() into .mute_stream()
      ASoC: ti: merge .digital_mute() into .mute_stream()
      ASoC: spear: merge .digital_mute() into .mute_stream()
      ASoC: meson: merge .digital_mute() into .mute_stream()
      ASoC: codecs: merge .digital_mute() into .mute_stream()
      ASoC: codecs: tlv*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: tas*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: ssm*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: pcm*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: max*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: alc*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: wm*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: es*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: da*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: cs*: merge .digital_mute() into .mute_stream()
      ASoC: codecs: ak*: merge .digital_mute() into .mute_stream()
      ASoC: dt-bindings: ak4642: switch to yaml base Documentation
      ASoC: dt-bindings: ak4613: switch to yaml base Documentation
      ASoC: dt-bindings: renesas, fsi: use patternProperties for FSI-A/B
      ASoC: atmel: merge .digital_mute() into .mute_stream()
      ASoC: soc-core: snd_soc_dai_digital_mute() for both CPU/Codec
      ASoC: soc-dai.h: don't use discriminatory terms for comment
      ASoC: soc-dai: remove .digital_mute
      ASoC: soc-xxx: add asoc_substream_to_rtd()
      ASoC: ux500: use asoc_substream_to_rtd()
      ASoC: ti: use asoc_substream_to_rtd()
      ASoC: tegra: use asoc_substream_to_rtd()
      ASoC: sunxi: use asoc_substream_to_rtd()
      ASoC: stm: use asoc_substream_to_rtd()
      ASoC: sof: use asoc_substream_to_rtd()
      ASoC: sh: use asoc_substream_to_rtd()
      ASoC: samsung: use asoc_substream_to_rtd()
      ASoC: pxa: use asoc_substream_to_rtd()
      ASoC: cirrus: use asoc_substream_to_rtd()
      ASoC: rockchip: use asoc_substream_to_rtd()
      ASoC: amd: use asoc_substream_to_rtd()
      ASoC: fsl: use asoc_substream_to_rtd()
      ASoC: mediatek: use asoc_substream_to_rtd()
      ASoC: atmel: use asoc_substream_to_rtd()
      ASoC: qcom: use asoc_substream_to_rtd()
      ASoC: dwc: use asoc_substream_to_rtd()
      ASoC: meson: use asoc_substream_to_rtd()
      ASoC: au1x: use asoc_substream_to_rtd()
      ASoC: bcm: use asoc_substream_to_rtd()
      ASoC: codecs: use asoc_substream_to_rtd()
      ASoC: generic: use asoc_substream_to_rtd()
      ASoC: sprd: use asoc_substream_to_rtd()
      ASoC: kirkwood: use asoc_substream_to_rtd()
      ASoC: xtensa: use asoc_substream_to_rtd()
      ASoC: mxs: use asoc_substream_to_rtd()
      ASoC: uniphier: use asoc_substream_to_rtd()
      ASoC: intel/boards: use asoc_substream_to_rtd()
      ASoC: intel: use asoc_substream_to_rtd()
      ASoC: dt-bindings: ak4613: switch to yaml base Documentation

Lad Prabhakar (1):
      dt-bindings: sound: renesas, rsnd: Document r8a774e1 bindings

Laurent Pinchart (1):
      ASoC: sh: Replace 'select' DMADEVICES 'with depends on'

Lee Jones (9):
      ASoC: codecs: jz4770: Remove defined but never used variable 'mic_boost_tlv'
      ASoC: ti: omap-mcbsp-st: Remove set, but unused variable 'w'
      ASoC: sunxi: sun4i-spdif: Fix misspelling of 'reg_dac_txdata' in kernel-doc
      ASoC: pxa: pxa-ssp: Demote seemingly unintentional kerneldoc header
      ASoC: ux500: ux500_msp_i2s: Remove unused variables 'reg_val_DR' and 'reg_val_TSTDR'
      ASoC: codecs: rt5659: Remove many unused const variables
      ASoC: codecs: tlv320aic26: Demote seemingly unintentional kerneldoc header
      ASoC: codecs: ak4458: Remove set but never checked variable 'ret'
      ASoC: fsl: fsl-asoc-card: Trivial: Fix misspelling of 'exists'

Liao Pingfang (1):
      ASoC: fsl: mpc8610_hpcd: Add missing of_node_put()

Libin Yang (1):
      ASoC: Intel: common: change match table ehl-rt5660

Marcin Rajwa (2):
      ASoC: SOF: Intel: fix the suspend procedure to support s0ix entry
      ASoC: SOF: Intel: disable traces when switching to S0Ix D0I3

Mark Brown (1):
      ASoC: ak4613: Undo conversion to YAML bindings

Mark Hills (5):
      ALSA: echoaudio: Remove redundant check
      ALSA: echoaudio: Race conditions around "opencount"
      ALSA: echoaudio: Prevent races in calls to set_audio_format()
      ALSA: echoaudio: Prevent some noise on unloading the module
      ALSA: echoaudio: Address bugs in the interrupt handling

Masahiro Yamada (2):
      ASoC: Convert UniPhier EVEA codec to json-schema
      ASoC: Convert UniPhier AIO audio system to json-schema

Masanari Iida (1):
      ASoC: samsung: Fix a typo in Kconfig

Michael Sit Wei Hong (2):
      ASoC: Intel: KMB: Add 8kHz audio support
      ASoC: Intel: KMB: Rework disable channel function

Mohan Kumar (3):
      ASoC: hda/tegra: Set buffer alignment to 128 bytes
      ALSA: hda: Add dma stop delay variable
      ALSA: hda/tegra: Add 100us dma stop delay

Nathan Chancellor (1):
      ASoC: Intel: KeemBay: Fix header guard

Naveen Manohar (2):
      ASoC: Intel: common: add match table for TGL MAX98373 + RT5682 SoundWire driver
      ASoC: Intel: sof_sdw: Add MAX98373 support

Peter Ujfalusi (3):
      ASoC: ti: davinci-mcasp: Specify stream_name for playback/capture
      ASoC: dt-bindings: Add documentation for TI j721e EVM (CPB and IVI)
      ASoC: ti: Add custom machine driver for j721e EVM (CPB and IVI)

Pierre-Louis Bossart (86):
      ASoC: soc-core: reduce verbosity of BE override message
      ASoC: soc-pcm: improve error messages in soc_pcm_new()
      ASoC: soc-pcm/compress: reduce verbosity on mapping ok messages
      ASoC: Intel: byt*: simplify card names for SOF uses
      ASoC: Intel: cht*: simplify card names for SOF uses
      ASoC: Intel: broadwell: simplify card names for SOF uses
      ASoC: soc-link: introduce exit() callback
      ASoC: Intel: bdw-rt5677: fix module load/unload issues
      ASoC: Intel: kbl-rt5660: use .exit() dailink callback to release gpiod
      ASoC: SOF: nocodec: add missing .owner field
      ASoC: Intel: cml_rt1011_rt5682: add missing .owner field
      ASoC: Intel: sof_sdw: add missing .owner field
      ASoC: Intel: bxt_rt298: add missing .owner field
      ASoC: Intel: sof_sdw: add quirk override with kernel parameter
      ASoC: Intel: boards: byt*.c: remove cast in dev_info quirk log
      ASoC: Intel: atom: fix kernel-doc
      ASoC: Intel: atom: fix 'defined but not used' warning
      ASoC: SOF: sof-acpi-dev: fix 'defined but unused' warning
      ASoC: codecs: cs4270: fix kernel-doc
      ASoC: codecs: cs42l42: remove always-true comparisons
      ASoC: codecs: wm8986: fix missing kernel-doc arguments
      ASoC: codecs: wm8960: fix kernel-doc
      ASoC: codecs: wm9713: remove spurious kernel-doc comment start
      ASoC: codecs: wm8994: fix kernel-doc
      ASoC: fsl: fsl_ssi_dbg: remove spurious kernel-doc comment start
      ASoC: fsl: fsl_ssi: fix kernel-doc
      ASoC: fsl: fsl-asoc-card: fix kernel-doc
      ASoC: fsl: fsl_spdif: fix kernel-doc
      ASoC: fsl: fsl_asrc: fix kernel-doc
      ASoC: fsl: fsl_esai: fix kernel-doc
      ASoC: soc-ac97: fix kernel-doc
      ASoC: fsl: fsl_ssi: fix kernel-doc
      ASoC: fsl: fsl_asrc: fix kernel-doc
      ASoC: codecs: wm8400: remove unused variables
      ALSA: core: pcm_iec958: fix kernel-doc
      ALSA: isa/gus: remove -Wmissing-prototypes warnings
      ALSA: isa/gus: remove 'set but not used' warning
      ALSA: pci/asihpi: remove 'set but not used' warnings
      ALSA: pci/asihpi: fix kernel-doc
      ALSA: pci/asihpi: remove 'set but not used' warning
      ALSA: pci/echoaudio: remove 'set but not used' warning
      ALSA: pci/aw2-saa7146: remove 'set but not used' warning
      ALSA: pci/ctxfi/ctatc: fix kernel-doc
      ALSA: pci/ctxfi: fix kernel-doc warnings
      ASoC: pci/emu10k1: remove "set but not used' warnings
      ALSA: firewire: fix kernel-doc
      ALSA: pci/emu10k1: remove 'set but not used' warning
      ALSA: pci/korg1212: remove 'set but not used' warnings
      ALSA: pci/rme9652/hdspm: remove always true condition
      ALSA: pci/oxygen/xonar_wm87x6: remove always true condition
      ALSA: xen: remove 'set but not used' warning
      ALSA: pci/es1938: remove 'set but not used' warning
      ALSA: pci/fm801: fix kernel-doc
      ALSA: pci/via82xx: remove 'set but not used' warnings
      ALSA: pcmcia/pdaudiocf: fix kernel-doc
      ALSA: vx_core: remove warning for empty loop body
      ALSA: pci/au88x0: remove "defined but not used" warnings
      ASoC: amd: acp-da7219-max98357a: fix 'defined but not used' warning
      ASoC: amd: acp-rt5645: fix 'defined but not used' warning
      ASoC: amd: raven: acp3x-pcm-dma: fix 'set but not used' warning
      ASoC: amd: raven: acp3x-i2s: fix 'set but not used' warning
      ASoC: amd: raven: acp3x-pcm-dma: remove unused-but-set variable
      ASoC: amd: raven: acp3x-i2s: remove unused-but-set variable
      ALSA: usb/line6: remove 'defined but not used' warning
      ASoC: topology: use break on errors, not continue
      ASoC: topology: factor kfree(se) in error handling
      ASoC: topology: add more logs when topology load fails.
      ASoC: codecs: max98373: split I2C and common parts
      ASoC: Intel: sof-sdw: add MAX98373 I2C dependencies
      ASoC: atmel: fix kernel-doc
      ASoC: samsung: spdif: fix kernel-doc
      ASoC: samsung: pcm: fix kernel-doc
      ASoC: tegra: tegra20_das: remove always-true comparison
      ASoC: uniphier: aio-core: fix kernel-doc
      ASoC: codecs: da7210: fix kernel-doc
      ASoC: codecs: da7219: fix 'defined but not used' warning
      ASoC: codecs: cros_ec_codec: fix 'defined but not used' warning
      ASoC: codecs: es8316: fix 'defined but not used' warning
      ASoC: codecs: max98390: fix 'defined but not used' warning
      ASoC: codecs: rt*: fix 'defined but not used' warning
      ASoC: sti: uniperif: fix 'defined by not used' warning
      ASoC: qcom: qdsp6: q6asm: Provide documentation for 'codec_profile'
      ASoC: sunxi: sun4i-i2s: add missing clock and format arguments in kernel-doc
      ASoC: codecs: rt5631: fix spurious kernel-doc start and missing arguments
      ASoC: Intel: sof_sdw_rt711: remove properties in card remove
      ASoC: core: use less strict tests for dailink capabilities

Qiushi Wu (3):
      ASoC: img: Fix a reference count leak in img_i2s_in_set_fmt
      ASoC: img-parallel-out: Fix a reference count leak
      ASoC: tegra: Fix reference count leaks.

Randy Dunlap (9):
      ASoC: Documentation: fix reference to renamed source file
      ALSA: hda: fix SND_HDA_GENERIC kconfig & build
      ALSA: asihpi: delete duplicated word
      ASoC: tegra20_das.h: delete duplicated words
      ASoC: wcd9335.h: fix duplicated word
      ASoC: soc-dai.h: drop a duplicated word
      ASoC: ti: fix SND_SOC_J721E_EVM warnings & errors
      ALSA: isa: delete repeated words in comments
      ALSA: pci: delete repeated words in comments

Ravulapati Vishnu vardhan rao (6):
      ASoC: amd: Removing unnecessary instance initialization
      ASoC: amd: Renaming snd-soc-card structure and fields
      ASoC: amd: Passing card structure based on codec
      ASoC: amd: Adding support for ALC1015 codec in machine driver
      ASoC: amd: Adding DAI LINK for rt1015 codec
      ASoC: amd: Added hw_params support for ALC1015

Rohit kumar (1):
      asoc: Update supported rate and format for dummy dai

Ryan Lee (1):
      ASoC: codecs: max98373: add SoundWire support

Sameer Pujar (8):
      ASoC: dt-bindings: tegra: Add DT bindings for Tegra210
      ASoC: tegra: Add support for CIF programming
      ASoC: tegra: Add Tegra210 based DMIC driver
      ASoC: tegra: Add Tegra210 based I2S driver
      ASoC: tegra: Add Tegra210 based AHUB driver
      ASoC: tegra: Add Tegra186 based DSPK driver
      ASoC: tegra: Add Tegra210 based ADMAIF driver
      ASoC: tegra: Fix build error due to 64-by-32 division

Sebastian Reichel (1):
      ASoC: da7213: add default clock handling

Seung-Woo Kim (1):
      ASoC: bcm2835: Silence clk_get() error on -EPROBE_DEFER

Shengjiu Wang (25):
      ASoC: fsl_easrc: Fix -Wmissing-prototypes warning
      ASoC: fsl_easrc: Fix -Wunused-but-set-variable
      ASoC: fsl_easrc: Fix "Function parameter not described" warnings
      ASoC: bindings: wm8960: Add property for headphone detection
      ASoC: wm8960: Support headphone jack detection function
      ASoC: bindings: fsl-asoc-card: Add compatible string for MQS
      ASoC: fsl-asoc-card: Add MQS support
      ASoC: bindings: fsl_spdif: Add new compatible string for imx6sx
      ASoC: fsl_spdif: Add support for imx6sx platform
      ASoC: fsl_spdif: Add pm runtime function
      ASoC: fsl_easrc: Fix uninitialized scalar variable in fsl_easrc_set_ctx_format
      ASoC: fsl-asoc-card: Add WM8524 support
      ASoC: bindings: fsl-asoc-card: Add compatible string for wm8524
      ASoC: fsl_sai: Refine regcache usage with pm runtime
      ASoC: fsl_asrc: Add an option to select internal ratio mode
      ASoC: fsl_spdif: Clear the validity bit for TX
      ASoC: fsl_spdif: Add kctl for configuring TX validity bit
      ASoC: simple-card-utils: Support configure pin_name for asoc_simple_init_jack
      ASoC: bindings: fsl-asoc-card: Support hp-det-gpio and mic-det-gpio
      ASoC: fsl-asoc-card: Support Headphone and Microphone Jack detection
      ASoC: soc-component: Add missed return for calling soc_component_ret
      ASoC: fsl_esai: add IRQF_SHARED for devm_request_irq
      ASoC: fsl-asoc-card: Support configuring dai fmt from DT
      ASoC: bindings: fsl-asoc-card: Support properties for configuring dai fmt
      ASoC: fsl_sai: Fix value of FSL_SAI_CR1_RFW_MASK

Shuming Fan (2):
      ASoC: rt5682: disable MICBIAS and Vref2 widget in default
      ASoC: rt5682: optimize the power consumption

Sia Jee Heng (3):
      ASoC: Intel: Add KeemBay platform driver
      ASoC: Intel: Add makefiles and kconfig changes for KeemBay
      ASoC: Add documentation for KeemBay i2s

Simon Shields (1):
      ASoC: samsung: Add sound support for Midas boards

Srinivas Kandagatla (2):
      ASoC: q6asm: add command opcode to timeout error report
      ASoC: qdsp6: use dev_err instead of pr_err

Stephan Gerhold (8):
      ASoC: qcom: Use devm for resource management
      ASoC: qcom: common: Use snd_soc_dai_link_set_capabilities()
      ASoC: q6afe: Remove unused q6afe_is_rx_port() function
      ASoC: qcom: common: Support parsing links without DPCM
      ASoC: qcom: common: Parse properties with "qcom," prefix
      ASoC: qcom: apq8016_sbc: Use qcom_snd_parse_of()
      ASoC: qcom: common: Avoid printing errors for -EPROBE_DEFER
      ASoC: dt-bindings: q6asm: Add Q6ASM_DAI_{TX_RX, TX, RX} defines

Steve Lee (5):
      dt-bindings: Added device tree binding for max98390
      ASoC: max98390: Add Amp init common setting func.
      ASoC: max98390: Fix dac event dapm mixer.
      ASoC: max98390: Update dsm init sequence and condition.
      ASoC: max98390: update dsm param bin max size

Sugar Zhang (1):
      ASoC: rockchip: spdif: Handle clk by pm runtime

Sylwester Nawrocki (1):
      ASoC: samsung: Document DT bindings for Midas sound subsystem

Takashi Iwai (35):
      ALSA: pcm: Use dma_mmap_coherent() on x86, too
      ALSA: memalloc: Initialize all fields of snd_dma_buffer properly
      ALSA: memalloc: Make SG-buffer helper usable for continuous buffer, too
      ALSA: pcm: Use SG-buffer only when direct DMA is available
      ALSA: hda: generic: Always call led-trigger for mic mute LED
      ALSA: hda: generic: Add a helper for mic-mute LED with LED classdev
      ALSA: hda/realtek: Convert to cdev-variant of mic-mute LED controls
      ALSA: hda/conexant: Convert to cdev-variant of mic-mute LED controls
      ALSA: hda/sigmatel: Convert to cdev-variant of mic-mute LED controls
      ALSA: hda: generic: Drop unused snd_hda_gen_fixup_micmute_led()
      ALSA: hda: generic: Drop the old mic-mute LED hook
      ALSA: hda: generic: Add vmaster mute LED helper
      ALSA: hda/realtek: Use the new vmaster mute LED helper
      ALSA: hda/conexant: Use the new vmaster mute LED helper
      ALSA: hda/sigmatel: Use the new vmaster mute LED helper
      ALSA: hda/realtek: Unify LED helper code
      ALSA: hda: Let LED cdev handling suspend/resume
      ALSA: hda: Enable sync-write operation as default for all controllers
      ALSA: core: Warn on empty module
      ALSA: pcm: Fix build error on m68k and others
      ALSA: atmel: Remove invalid "fall through" comments
      ALSA: xen: Remove superfluous fall through comments
      ALSA: Replace with fallthrough pseudo keyword in the remaining places
      ALSA: ac97: Replace the words white/blacklist
      ALSA: bt87x: Replace the words white/blacklist
      ALSA: ctxfi: Replace the word blacklist
      ALSA: es1968: Replace the words white/blacklist
      ALSA: hda: Replace the words white/blacklist
      ALSA: intel8x0: Replace the words white/blacklist
      ALSA: nm256: Replace the words blacklist
      ALSA: via82xx: Replace the words whitelist
      ALSA: usb-audio: Replace blacklist word
      Revert "ALSA: pcm: Use SG-buffer only when direct DMA is available"
      ALSA: Replace the word "slave" in vmaster API
      ALSA: seq: oss: Serialize ioctls

Takashi Sakamoto (1):
      ALSA: firewire-motu: wait for notification when changing clock configuration for protocol v3

Tang Bin (2):
      ASoC: qcom: qdsp6: Use the defined variable to clean code
      ASoC: qcom: qdsp6: Use IS_ERR() instead of IS_ERR_OR_NULL()

Thierry Reding (1):
      ASoC: sgtl5000: Convert to json-schema

Tzung-Bi Shih (25):
      ASoC: max98357a: add compatible string for MAX98360A
      ASoC: dt-bindings: add compatible string for MAX98360A
      ASoC: mediatek: mt8183-da7219: set playback and capture constraints
      ASoC: core: move definition of enum snd_soc_bias_level
      ASoC: dapm: declare missing structure prototypes
      ASoC: rt1015: add missing header inclusion
      ASoC: mediatek: mt8183: sort header inclusions in alphabetical
      ASoC: mediatek: mt8183: support machine driver with rt1015
      ASoC: mt8183: add compatible string for using rt1015
      ASoC: mediatek: mt8183-da7219: sort header inclusions in alphabetical
      ASoC: mediatek: mt8183-da7219: remove forward declaration of headset_init
      ASoC: mediatek: mt8183-da7219: extract codec and DAI names
      ASoC: mediatek: mt8183-da7219: add compatible string for using rt1015
      ASoC: mediatek: mt8183-da7219: support machine driver with rt1015
      ASoC: dt-bindings: mt8183: add a property "mediatek, hdmi-codec"
      ASoC: mediatek: mt8183: use hdmi-codec
      ASoC: mediatek: mt8183: support HDMI jack reporting
      ASoC: dt-bindings: mt8183-da7219: add a property "mediatek, hdmi-codec"
      ASoC: mediatek: mt8183-da7219: use hdmi-codec
      ASoC: mediatek: mt8183-da7219: support HDMI jack reporting
      ASoC: max98357a: move control of SD_MODE back to DAI ops
      ASoC: mediatek: mt8183: support left justified format for I2S
      ASoC: dt-bindings: mt8183: add compatible string for using max98357b
      ASoC: mediatek: mt8183: support machine driver with max98357b
      ASoC: dapm: don't call pm_runtime_* on card device

Vasily Khoruzhick (1):
      ALSA: line6: add hw monitor volume control for POD HD500

Vijendar Mukunda (3):
      ASoC: amd: add logic to check dmic hardware runtime
      ASoC: amd: add ACPI dependency check
      ASoC: amd: fixed kernel warnings

Vinod Koul (2):
      ALSA: compress: document the compress audio state machine
      ALSA: compress: document the compress gapless audio state machine

Vlad Karpovich (1):
      ASoC: wm_adsp: Add controls for calibration and diagnostic FW

Wei Yongjun (1):
      ASoC: ti: j721e-evm: Fix missing unlock on error in j721e_audio_hw_params()

Xu Wang (1):
      ALSA: usb-audio: endpoint : remove needless check before usb_free_coherent()

Yong Zhi (2):
      ASoC: intel: sof_rt5682: Add support for jsl-max98360a-rt5682
      ASoC: intel: board: sof_rt5682: Update rt1015 pll input clk freq

YueHaibing (1):
      ALSA: line6: Use kmemdup in podhd_set_monitor_level()

derek.fang (3):
      ASoC: rl6231: Add new supports on rl6231
      ASoC: rt5682: Let PLL2 support the freq conversion for 44100Hz sample rate
      ASoC: rt5682: DAI wclk supports 44100 Hz output

randerwang (1):
      ASoC: Intel: sdw_max98373: add card_late_probe support

---
 .../devicetree/bindings/sound/adi,adau1977.txt     |   6 +-
 Documentation/devicetree/bindings/sound/ak4613.txt |  27 -
 .../devicetree/bindings/sound/ak4613.yaml          |  49 ++
 Documentation/devicetree/bindings/sound/ak4642.txt |  37 -
 .../devicetree/bindings/sound/ak4642.yaml          |  58 ++
 .../devicetree/bindings/sound/everest,es8316.txt   |  23 -
 .../devicetree/bindings/sound/everest,es8316.yaml  |  50 ++
 .../devicetree/bindings/sound/fsl,spdif.txt        |   6 +-
 .../devicetree/bindings/sound/fsl-asoc-card.txt    |  20 +-
 .../bindings/sound/intel,keembay-i2s.yaml          |  70 ++
 .../devicetree/bindings/sound/max98357a.txt        |  12 +-
 .../devicetree/bindings/sound/maxim,max98390.yaml  |  51 ++
 Documentation/devicetree/bindings/sound/mt6358.txt |   6 +
 .../bindings/sound/mt8183-da7219-max98357.txt      |   9 +-
 .../sound/mt8183-mt6358-ts3a227-max98357.txt       |   8 +-
 .../bindings/sound/nvidia,tegra186-dspk.yaml       |  83 ++
 .../bindings/sound/nvidia,tegra210-admaif.yaml     | 111 +++
 .../bindings/sound/nvidia,tegra210-ahub.yaml       | 136 ++++
 .../bindings/sound/nvidia,tegra210-dmic.yaml       |  83 ++
 .../bindings/sound/nvidia,tegra210-i2s.yaml        | 101 +++
 .../devicetree/bindings/sound/qcom,q6asm.txt       |   9 +-
 .../devicetree/bindings/sound/renesas,fsi.yaml     |  19 +-
 .../devicetree/bindings/sound/renesas,rsnd.txt     |   1 +
 .../bindings/sound/rockchip,rk3328-codec.txt       |  28 -
 .../bindings/sound/rockchip,rk3328-codec.yaml      |  69 ++
 .../devicetree/bindings/sound/rohm,bd28623.txt     |  29 -
 .../devicetree/bindings/sound/rohm,bd28623.yaml    |  67 ++
 .../bindings/sound/samsung,aries-wm8994.yaml       | 147 ++++
 .../bindings/sound/samsung,midas-audio.yaml        | 108 +++
 .../devicetree/bindings/sound/sgtl5000.txt         |  60 --
 .../devicetree/bindings/sound/sgtl5000.yaml        | 103 +++
 .../bindings/sound/socionext,uniphier-aio.yaml     |  81 ++
 .../bindings/sound/socionext,uniphier-evea.yaml    |  70 ++
 .../devicetree/bindings/sound/tas2552.txt          |   2 +-
 .../devicetree/bindings/sound/tas2562.txt          |   7 +-
 .../devicetree/bindings/sound/tas2562.yaml         |  69 ++
 .../devicetree/bindings/sound/tas2770.txt          |  37 -
 .../devicetree/bindings/sound/tas2770.yaml         |  76 ++
 .../devicetree/bindings/sound/tas5720.txt          |   6 +-
 .../bindings/sound/ti,j721e-cpb-audio.yaml         |  95 +++
 .../bindings/sound/ti,j721e-cpb-ivi-audio.yaml     | 150 ++++
 .../devicetree/bindings/sound/ti,tas6424.txt       |   2 +-
 .../devicetree/bindings/sound/tlv320adcx140.yaml   |  34 +-
 .../devicetree/bindings/sound/uniphier,aio.txt     |  45 --
 .../devicetree/bindings/sound/uniphier,evea.txt    |  26 -
 Documentation/devicetree/bindings/sound/wm8960.txt |  11 +
 Documentation/devicetree/bindings/sound/wm8994.txt |  23 +
 .../devicetree/bindings/trivial-devices.yaml       |   2 -
 .../devicetree/bindings/vendor-prefixes.yaml       |   2 +-
 Documentation/sound/alsa-configuration.rst         |   6 +-
 Documentation/sound/cards/audigy-mixer.rst         |   2 +-
 Documentation/sound/cards/sb-live-mixer.rst        |   2 +-
 Documentation/sound/designs/compress-offload.rst   |  83 ++
 Documentation/sound/designs/procfile.rst           |   2 +-
 Documentation/sound/hd-audio/notes.rst             |   6 +-
 Documentation/sound/kernel-api/alsa-driver-api.rst |   2 +-
 .../sound/kernel-api/writing-an-alsa-driver.rst    |   2 +-
 Documentation/sound/soc/dai.rst                    |   2 +-
 arch/arm/boot/dts/motorola-mapphone-common.dtsi    |   4 +-
 drivers/gpu/drm/bridge/sii902x.c                   |   7 +-
 drivers/gpu/drm/exynos/exynos_hdmi.c               |   6 +-
 drivers/gpu/drm/i2c/tda998x_drv.c                  |   7 +-
 drivers/gpu/drm/mediatek/mtk_hdmi.c                |   6 +-
 drivers/gpu/drm/rockchip/cdn-dp-core.c             |   7 +-
 drivers/gpu/drm/sti/sti_hdmi.c                     |   6 +-
 drivers/gpu/drm/zte/zx_hdmi.c                      |   7 +-
 drivers/spi/spi-lantiq-ssc.c                       |   2 +-
 include/dt-bindings/sound/qcom,q6asm.h             |   4 +
 include/sound/control.h                            |  45 +-
 include/sound/gus.h                                |   4 +
 include/sound/hda_codec.h                          |   4 +-
 include/sound/hdaudio.h                            |   3 +
 include/sound/hdmi-codec.h                         |   8 +-
 include/sound/memalloc.h                           |   9 +-
 include/sound/omap-hdmi-audio.h                    |   2 +-
 include/sound/rt5670.h                             |  26 -
 include/sound/simple_card_utils.h                  |   6 +-
 include/sound/soc-component.h                      |  30 +-
 include/sound/soc-dai.h                            |  14 +-
 include/sound/soc-dapm.h                           |  20 +
 include/sound/soc-link.h                           |   1 +
 include/sound/soc.h                                |  34 +-
 include/sound/wm8960.h                             |  17 +
 sound/atmel/ac97c.c                                |  20 +-
 sound/core/init.c                                  |   3 +
 sound/core/memalloc.c                              |   9 +-
 sound/core/oss/pcm_oss.c                           |   2 +-
 sound/core/oss/pcm_plugin.c                        |   2 +-
 sound/core/pcm_iec958.c                            |   2 +-
 sound/core/pcm_memory.c                            |   1 +
 sound/core/pcm_native.c                            |  10 +-
 sound/core/seq/oss/seq_oss.c                       |   8 +-
 sound/core/seq/oss/seq_oss_timer.c                 |   2 +-
 sound/core/seq/seq_midi_emul.c                     |   2 +-
 sound/core/sgbuf.c                                 |   3 +
 sound/core/vmaster.c                               | 263 +++---
 sound/drivers/opl3/opl3_midi.c                     |   4 +-
 sound/drivers/vx/vx_core.c                         |   3 +-
 sound/firewire/cmp.c                               |   1 -
 sound/firewire/motu/motu-protocol-v3.c             |  16 +-
 sound/hda/hdac_stream.c                            |   7 +
 sound/isa/cs423x/cs4236_lib.c                      |   2 +-
 sound/isa/es18xx.c                                 |   4 +-
 sound/isa/galaxy/galaxy.c                          |   6 +-
 sound/isa/gus/gus_reset.c                          |   2 -
 sound/isa/gus/gus_uart.c                           |   3 +-
 sound/isa/msnd/msnd_pinnacle_mixer.c               |   4 +-
 sound/isa/opti9xx/miro.c                           |  10 +-
 sound/isa/opti9xx/opti92x-ad1848.c                 |  12 +-
 sound/isa/sb/sb8_main.c                            |  10 +-
 sound/oss/dmasound/dmasound_atari.c                |   2 +-
 sound/oss/dmasound/dmasound_core.c                 |   4 +-
 sound/pci/ac97/ac97_codec.c                        |   4 +-
 sound/pci/ac97/ac97_patch.c                        |  34 +-
 sound/pci/asihpi/asihpi.c                          |  12 +-
 sound/pci/asihpi/hpi_internal.h                    |   2 +-
 sound/pci/asihpi/hpicmn.c                          |  26 +-
 sound/pci/atiixp.c                                 |   6 +-
 sound/pci/au88x0/au88x0_a3ddata.c                  |   8 +-
 sound/pci/au88x0/au88x0_core.c                     |  12 +-
 sound/pci/au88x0/au88x0_xtalk.c                    |  36 +-
 sound/pci/aw2/aw2-saa7146.c                        |   2 +-
 sound/pci/azt3328.c                                |   2 +-
 sound/pci/bt87x.c                                  |  14 +-
 sound/pci/ca0106/ca0106_mixer.c                    |  18 +-
 sound/pci/cs46xx/cs46xx_lib.c                      |   2 +-
 sound/pci/cs46xx/dsp_spos_scb_lib.c                |   2 +-
 sound/pci/ctxfi/ctatc.c                            |   6 +-
 sound/pci/ctxfi/cthardware.c                       |   2 +-
 sound/pci/ctxfi/cthw20k1.c                         |   2 +-
 sound/pci/ctxfi/cthw20k2.c                         |   2 +-
 sound/pci/ctxfi/ctimap.c                           |   2 +-
 sound/pci/ctxfi/ctmixer.c                          |   2 +-
 sound/pci/ctxfi/ctpcm.c                            |   2 +-
 sound/pci/echoaudio/echoaudio.c                    | 183 +++--
 sound/pci/echoaudio/echoaudio.h                    |  14 +-
 sound/pci/echoaudio/echoaudio_dsp.c                |   4 +-
 sound/pci/echoaudio/mona_dsp.c                     |   5 -
 sound/pci/emu10k1/emu10k1_main.c                   |   4 +-
 sound/pci/emu10k1/emu10k1_patch.c                  |   3 +-
 sound/pci/emu10k1/emupcm.c                         |   5 +-
 sound/pci/es1938.c                                 |   3 +-
 sound/pci/es1968.c                                 |  20 +-
 sound/pci/fm801.c                                  |  27 +
 sound/pci/hda/Kconfig                              |  24 +
 sound/pci/hda/hda_beep.c                           |   2 +-
 sound/pci/hda/hda_codec.c                          | 101 +--
 sound/pci/hda/hda_controller.c                     |  11 +-
 sound/pci/hda/hda_controller.h                     |   2 +-
 sound/pci/hda/hda_generic.c                        | 156 ++--
 sound/pci/hda/hda_generic.h                        |  15 +-
 sound/pci/hda/hda_intel.c                          |  45 +-
 sound/pci/hda/hda_local.h                          |  10 +-
 sound/pci/hda/hda_tegra.c                          |   4 +
 sound/pci/hda/patch_ca0132.c                       |  22 +-
 sound/pci/hda/patch_conexant.c                     |  49 +-
 sound/pci/hda/patch_hdmi.c                         |  80 +-
 sound/pci/hda/patch_realtek.c                      | 344 +++++---
 sound/pci/hda/patch_sigmatel.c                     |  26 +-
 sound/pci/hda/thinkpad_helper.c                    |  19 +-
 sound/pci/ice1712/delta.c                          |   2 +-
 sound/pci/ice1712/juli.c                           |  20 +-
 sound/pci/ice1712/prodigy192.c                     |   2 +-
 sound/pci/ice1712/quartet.c                        |  14 +-
 sound/pci/intel8x0.c                               |  14 +-
 sound/pci/korg1212/korg1212.c                      |   4 +-
 sound/pci/mixart/mixart.c                          |   2 +-
 sound/pci/mixart/mixart_core.c                     |   2 +-
 sound/pci/nm256/nm256.c                            |  14 +-
 sound/pci/oxygen/oxygen_pcm.c                      |   2 +-
 sound/pci/oxygen/xonar_dg.c                        |   2 +-
 sound/pci/oxygen/xonar_wm87x6.c                    |   6 +-
 sound/pci/rme9652/hdspm.c                          |   4 +-
 sound/pci/via82xx.c                                |   8 +-
 sound/pci/via82xx_modem.c                          |   2 +-
 sound/pci/ymfpci/ymfpci_main.c                     |   2 +-
 sound/pcmcia/pdaudiocf/pdaudiocf.c                 |   1 +
 sound/pcmcia/pdaudiocf/pdaudiocf_pcm.c             |   4 +-
 sound/ppc/awacs.c                                  |  12 +-
 sound/soc/Makefile                                 |   2 +-
 sound/soc/amd/Kconfig                              |   1 +
 sound/soc/amd/acp-da7219-max98357a.c               |  14 +-
 sound/soc/amd/acp-pcm-dma.c                        |   2 +-
 sound/soc/amd/acp-rt5645.c                         |   4 +-
 sound/soc/amd/acp3x-rt5682-max9836.c               | 236 ++++--
 sound/soc/amd/raven/acp3x-i2s.c                    |  14 +-
 sound/soc/amd/raven/acp3x-pcm-dma.c                |  12 +-
 sound/soc/amd/raven/pci-acp3x.c                    |  21 +-
 sound/soc/amd/renoir/rn-pci-acp3x.c                |  33 +
 sound/soc/amd/renoir/rn_acp3x.h                    |   2 +
 sound/soc/atmel/atmel-classd.c                     | 141 ++--
 sound/soc/atmel/atmel-pcm-dma.c                    |   6 +-
 sound/soc/atmel/atmel-pcm-pdc.c                    |   2 +-
 sound/soc/atmel/atmel-pdmic.c                      | 124 ++-
 sound/soc/atmel/atmel_ssc_dai.c                    |   1 +
 sound/soc/atmel/atmel_wm8904.c                     |   2 +-
 sound/soc/au1x/db1200.c                            |   2 +-
 sound/soc/au1x/dbdma2.c                            |   2 +-
 sound/soc/au1x/dma.c                               |   2 +-
 sound/soc/bcm/bcm2835-i2s.c                        |   9 +-
 sound/soc/bcm/bcm63xx-pcm-whistler.c               |  12 +-
 sound/soc/bcm/cygnus-pcm.c                         |  16 +-
 sound/soc/cirrus/edb93xx.c                         |   2 +-
 sound/soc/cirrus/ep93xx-ac97.c                     |   2 +-
 sound/soc/cirrus/snappercl15.c                     |   2 +-
 sound/soc/codecs/88pm860x-codec.c                  |  22 +-
 sound/soc/codecs/Kconfig                           |  20 +-
 sound/soc/codecs/Makefile                          |   4 +
 sound/soc/codecs/ab8500-codec.c                    |  10 +-
 sound/soc/codecs/ad193x.c                          |   5 +-
 sound/soc/codecs/ad1980.c                          |   4 +-
 sound/soc/codecs/adau1701.c                        |   5 +-
 sound/soc/codecs/adau1761.c                        |   4 +-
 sound/soc/codecs/adau17x1.c                        |   4 +-
 sound/soc/codecs/adav80x.c                         |   2 +-
 sound/soc/codecs/ak4458.c                          |  13 +-
 sound/soc/codecs/ak4535.c                          |  10 +-
 sound/soc/codecs/ak4613.c                          |  10 +-
 sound/soc/codecs/ak4641.c                          |   8 +-
 sound/soc/codecs/ak4671.c                          |   8 +-
 sound/soc/codecs/alc5623.c                         |  11 +-
 sound/soc/codecs/alc5632.c                         |  11 +-
 sound/soc/codecs/arizona.c                         |  18 +-
 sound/soc/codecs/cpcap.c                           |  11 +-
 sound/soc/codecs/cq93vc.c                          |   5 +-
 sound/soc/codecs/cros_ec_codec.c                   |   2 +
 sound/soc/codecs/cs4265.c                          |   5 +-
 sound/soc/codecs/cs4270.c                          |  19 +-
 sound/soc/codecs/cs42l42.c                         |  16 +-
 sound/soc/codecs/cs42l51.c                         |  13 +-
 sound/soc/codecs/cs42l52.c                         |   5 +-
 sound/soc/codecs/cs42l56.c                         |   5 +-
 sound/soc/codecs/cs42l73.c                         |   4 +-
 sound/soc/codecs/cs42xx8.c                         |   5 +-
 sound/soc/codecs/cs4341.c                          |   5 +-
 sound/soc/codecs/cs4349.c                          |   5 +-
 sound/soc/codecs/cs47l15.c                         |  36 +-
 sound/soc/codecs/cs47l35.c                         |  58 +-
 sound/soc/codecs/cs47l85.c                         | 102 ++-
 sound/soc/codecs/cs47l90.c                         |  92 +--
 sound/soc/codecs/cs47l92.c                         |  96 +--
 sound/soc/codecs/da7210.c                          |  41 +-
 sound/soc/codecs/da7213.c                          | 112 ++-
 sound/soc/codecs/da7213.h                          |   2 +
 sound/soc/codecs/da7218.c                          |  34 +-
 sound/soc/codecs/da7219-aad.c                      |  16 +-
 sound/soc/codecs/da7219.c                          |  22 +-
 sound/soc/codecs/da732x.c                          |  18 +-
 sound/soc/codecs/da9055.c                          |  19 +-
 sound/soc/codecs/es8316.c                          |   7 +-
 sound/soc/codecs/es8328.c                          |   9 +-
 sound/soc/codecs/hdac_hda.c                        |  30 +-
 sound/soc/codecs/hdmi-codec.c                      |  27 +-
 sound/soc/codecs/inno_rk3036.c                     |   6 +-
 sound/soc/codecs/isabelle.c                        |  15 +-
 sound/soc/codecs/jz4770.c                          |   6 +-
 sound/soc/codecs/lm49453.c                         |  25 +-
 sound/soc/codecs/madera.c                          |  49 +-
 sound/soc/codecs/max98088.c                        |  24 +-
 sound/soc/codecs/max98090.c                        |  26 +-
 sound/soc/codecs/max98095.c                        |  16 +-
 sound/soc/codecs/max98357a.c                       |  51 +-
 sound/soc/codecs/max98373-i2c.c                    | 612 ++++++++++++++
 sound/soc/codecs/max98373-sdw.c                    | 887 ++++++++++++++++++++
 sound/soc/codecs/max98373-sdw.h                    |  72 ++
 sound/soc/codecs/max98373.c                        | 611 +-------------
 sound/soc/codecs/max98373.h                        |  17 +-
 sound/soc/codecs/max98390.c                        |  40 +-
 sound/soc/codecs/max98390.h                        |   2 +-
 sound/soc/codecs/max9850.c                         |   4 +-
 sound/soc/codecs/max9860.c                         |   2 +-
 sound/soc/codecs/max9867.c                         |   5 +-
 sound/soc/codecs/mc13783.c                         |   2 +-
 sound/soc/codecs/ml26124.c                         |   5 +-
 sound/soc/codecs/msm8916-wcd-analog.c              |  16 +-
 sound/soc/codecs/msm8916-wcd-digital.c             |  16 +-
 sound/soc/codecs/mt6358.c                          |  23 +-
 sound/soc/codecs/nau8822.c                         |  11 +-
 sound/soc/codecs/pcm1681.c                         |   5 +-
 sound/soc/codecs/pcm1789.c                         |   5 +-
 sound/soc/codecs/pcm179x.c                         |   5 +-
 sound/soc/codecs/pcm186x-i2c.c                     |   2 +-
 sound/soc/codecs/pcm186x-spi.c                     |   2 +-
 sound/soc/codecs/pcm186x.c                         |   2 +-
 sound/soc/codecs/pcm186x.h                         |   2 +-
 sound/soc/codecs/pcm3168a.c                        |   5 +-
 sound/soc/codecs/pcm512x.c                         |   5 +-
 sound/soc/codecs/rk3328_codec.c                    |   5 +-
 sound/soc/codecs/rl6231.c                          |   2 +
 sound/soc/codecs/rt1011.c                          |  20 +-
 sound/soc/codecs/rt1015.c                          |  35 +-
 sound/soc/codecs/rt1015.h                          |   5 +
 sound/soc/codecs/rt1305.c                          |   2 +-
 sound/soc/codecs/rt274.c                           |   6 +-
 sound/soc/codecs/rt286.c                           |   2 +
 sound/soc/codecs/rt298.c                           |   4 +-
 sound/soc/codecs/rt5616.c                          |   2 +-
 sound/soc/codecs/rt5631.c                          |  40 +-
 sound/soc/codecs/rt5640.c                          |  14 +-
 sound/soc/codecs/rt5645.c                          |  16 +-
 sound/soc/codecs/rt5651.c                          |   6 +-
 sound/soc/codecs/rt5659.c                          |  51 +-
 sound/soc/codecs/rt5660.c                          |   4 +-
 sound/soc/codecs/rt5663.c                          |  34 +-
 sound/soc/codecs/rt5665.c                          |  16 +-
 sound/soc/codecs/rt5668.c                          |  16 +-
 sound/soc/codecs/rt5670.c                          |  93 +--
 sound/soc/codecs/rt5670.h                          |  16 +-
 sound/soc/codecs/rt5677-spi.c                      |   6 +-
 sound/soc/codecs/rt5677.c                          |   2 +-
 sound/soc/codecs/rt5682-i2c.c                      |   4 +-
 sound/soc/codecs/rt5682-sdw.c                      |   2 +-
 sound/soc/codecs/rt5682.c                          |  93 ++-
 sound/soc/codecs/rt5682.h                          |   4 +
 sound/soc/codecs/sgtl5000.c                        |  21 +-
 sound/soc/codecs/ssm2518.c                         |   5 +-
 sound/soc/codecs/ssm2602.c                         |   5 +-
 sound/soc/codecs/ssm4567.c                         |   5 +-
 sound/soc/codecs/sta32x.c                          |   6 +-
 sound/soc/codecs/sta350.c                          |   2 +-
 sound/soc/codecs/sta529.c                          |   5 +-
 sound/soc/codecs/tas2552.c                         |  13 +-
 sound/soc/codecs/tas2552.h                         |   2 +-
 sound/soc/codecs/tas2562.c                         | 166 +++-
 sound/soc/codecs/tas2562.h                         |   7 +-
 sound/soc/codecs/tas2770.c                         |  10 +-
 sound/soc/codecs/tas2770.h                         |   2 +-
 sound/soc/codecs/tas571x.c                         |   5 +-
 sound/soc/codecs/tas5720.c                         |  11 +-
 sound/soc/codecs/tas5720.h                         |   2 +-
 sound/soc/codecs/tas6424.c                         |   7 +-
 sound/soc/codecs/tas6424.h                         |   2 +-
 sound/soc/codecs/tda7419.c                         |   9 +-
 sound/soc/codecs/tfa9879.c                         |   5 +-
 sound/soc/codecs/tlv320adcx140.c                   | 124 ++-
 sound/soc/codecs/tlv320adcx140.h                   |  16 +-
 sound/soc/codecs/tlv320aic23.c                     |  21 +-
 sound/soc/codecs/tlv320aic26.c                     |  11 +-
 sound/soc/codecs/tlv320aic31xx.c                   |  13 +-
 sound/soc/codecs/tlv320aic31xx.h                   |   2 +-
 sound/soc/codecs/tlv320aic32x4.c                   |  21 +-
 sound/soc/codecs/tlv320aic3x.c                     |  19 +-
 sound/soc/codecs/tpa6130a2.c                       |   2 +-
 sound/soc/codecs/tscs42xx.c                        |   4 +-
 sound/soc/codecs/tscs454.c                         |  24 +-
 sound/soc/codecs/twl6040.c                         |   5 +-
 sound/soc/codecs/uda134x.c                         |   5 +-
 sound/soc/codecs/wcd-clsh-v2.c                     |   2 +-
 sound/soc/codecs/wcd9335.c                         |  48 +-
 sound/soc/codecs/wcd9335.h                         |   6 +-
 sound/soc/codecs/wcd934x.c                         |  52 +-
 sound/soc/codecs/wm0010.c                          |   4 +-
 sound/soc/codecs/wm2200.c                          |   4 +-
 sound/soc/codecs/wm5100.c                          |  18 +-
 sound/soc/codecs/wm5110.c                          |   6 +-
 sound/soc/codecs/wm8350.c                          |  37 +-
 sound/soc/codecs/wm8400.c                          |  67 +-
 sound/soc/codecs/wm8510.c                          |  33 +-
 sound/soc/codecs/wm8523.c                          |   6 +-
 sound/soc/codecs/wm8580.c                          |  17 +-
 sound/soc/codecs/wm8711.c                          |  13 +-
 sound/soc/codecs/wm8728.c                          |  15 +-
 sound/soc/codecs/wm8731.c                          |  11 +-
 sound/soc/codecs/wm8741.c                          |   5 +-
 sound/soc/codecs/wm8750.c                          |  13 +-
 sound/soc/codecs/wm8753.c                          |  56 +-
 sound/soc/codecs/wm8770.c                          |   7 +-
 sound/soc/codecs/wm8776.c                          |   7 +-
 sound/soc/codecs/wm8804.c                          |   2 +-
 sound/soc/codecs/wm8900.c                          |  27 +-
 sound/soc/codecs/wm8903.c                          |  27 +-
 sound/soc/codecs/wm8904.c                          |  25 +-
 sound/soc/codecs/wm8940.c                          |  37 +-
 sound/soc/codecs/wm8955.c                          |   9 +-
 sound/soc/codecs/wm8958-dsp2.c                     |  18 +-
 sound/soc/codecs/wm8960.c                          |  49 +-
 sound/soc/codecs/wm8961.c                          |  65 +-
 sound/soc/codecs/wm8962.c                          |  49 +-
 sound/soc/codecs/wm8971.c                          |  13 +-
 sound/soc/codecs/wm8974.c                          |  29 +-
 sound/soc/codecs/wm8978.c                          |  17 +-
 sound/soc/codecs/wm8983.c                          |  15 +-
 sound/soc/codecs/wm8985.c                          |  15 +-
 sound/soc/codecs/wm8988.c                          |  17 +-
 sound/soc/codecs/wm8990.c                          |  23 +-
 sound/soc/codecs/wm8991.c                          |  45 +-
 sound/soc/codecs/wm8993.c                          |  37 +-
 sound/soc/codecs/wm8994.c                          |  77 +-
 sound/soc/codecs/wm8995.c                          |  26 +-
 sound/soc/codecs/wm8996.c                          |  35 +-
 sound/soc/codecs/wm8998.c                          |   8 +-
 sound/soc/codecs/wm9081.c                          |  43 +-
 sound/soc/codecs/wm9090.c                          |   4 +-
 sound/soc/codecs/wm9713.c                          |   4 +-
 sound/soc/codecs/wm_adsp.c                         |  11 +-
 sound/soc/codecs/wm_hubs.c                         |  30 +-
 sound/soc/codecs/wmfw.h                            |   1 +
 sound/soc/dwc/dwc-pcm.c                            |   2 +-
 sound/soc/fsl/Kconfig                              |   1 +
 sound/soc/fsl/eukrea-tlv320.c                      |   2 +-
 sound/soc/fsl/fsl-asoc-card.c                      | 216 ++++-
 sound/soc/fsl/fsl_asrc.c                           | 103 ++-
 sound/soc/fsl/fsl_asrc_dma.c                       |   4 +-
 sound/soc/fsl/fsl_audmix.c                         |  10 +-
 sound/soc/fsl/fsl_dma.c                            |   2 +-
 sound/soc/fsl/fsl_easrc.c                          |  49 +-
 sound/soc/fsl/fsl_esai.c                           |  34 +-
 sound/soc/fsl/fsl_sai.c                            |   8 +-
 sound/soc/fsl/fsl_sai.h                            |   2 +-
 sound/soc/fsl/fsl_spdif.c                          | 233 ++++--
 sound/soc/fsl/fsl_ssi.c                            |  78 +-
 sound/soc/fsl/fsl_ssi_dbg.c                        |   4 +-
 sound/soc/fsl/imx-audmix.c                         |  10 +-
 sound/soc/fsl/imx-audmux.c                         |   2 +-
 sound/soc/fsl/imx-mc13783.c                        |   2 +-
 sound/soc/fsl/mpc5200_dma.c                        |   8 +-
 sound/soc/fsl/mpc5200_psc_i2s.c                    |   2 +-
 sound/soc/fsl/mpc8610_hpcd.c                       |   4 +-
 sound/soc/fsl/mx27vis-aic32x4.c                    |   2 +-
 sound/soc/fsl/p1022_ds.c                           |   2 +-
 sound/soc/fsl/p1022_rdk.c                          |   2 +-
 sound/soc/fsl/wm1133-ev1.c                         |   2 +-
 sound/soc/generic/simple-card-utils.c              |  13 +-
 sound/soc/img/img-i2s-in.c                         |   4 +-
 sound/soc/img/img-parallel-out.c                   |   4 +-
 sound/soc/intel/Kconfig                            |   7 +
 sound/soc/intel/Makefile                           |   1 +
 sound/soc/intel/atom/sst-atom-controls.c           |  65 +-
 sound/soc/intel/atom/sst-mfld-platform-pcm.c       |   6 +-
 sound/soc/intel/atom/sst/sst_loader.c              |  14 +-
 sound/soc/intel/atom/sst/sst_stream.c              |  43 +-
 sound/soc/intel/baytrail/sst-baytrail-pcm.c        |  16 +-
 sound/soc/intel/boards/Kconfig                     |  15 +-
 sound/soc/intel/boards/Makefile                    |   2 +
 sound/soc/intel/boards/bdw-rt5650.c                |  14 +-
 sound/soc/intel/boards/bdw-rt5677.c                |  34 +-
 sound/soc/intel/boards/broadwell.c                 |  14 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c      | 117 ++-
 sound/soc/intel/boards/bxt_rt298.c                 |   4 +-
 sound/soc/intel/boards/byt-rt5640.c                |   2 +-
 sound/soc/intel/boards/bytcht_cx2072x.c            |  12 +-
 sound/soc/intel/boards/bytcht_da7213.c             |  16 +-
 sound/soc/intel/boards/bytcht_es8316.c             |  17 +-
 sound/soc/intel/boards/bytcr_rt5640.c              |  18 +-
 sound/soc/intel/boards/bytcr_rt5651.c              |  18 +-
 sound/soc/intel/boards/cht_bsw_max98090_ti.c       |  14 +-
 sound/soc/intel/boards/cht_bsw_nau8824.c           |  14 +-
 sound/soc/intel/boards/cht_bsw_rt5645.c            |  19 +-
 sound/soc/intel/boards/cht_bsw_rt5672.c            |  32 +-
 sound/soc/intel/boards/cml_rt1011_rt5682.c         | 102 +--
 sound/soc/intel/boards/ehl_rt5660.c                |   2 +-
 sound/soc/intel/boards/glk_rt5682_max98357a.c      |   2 +-
 sound/soc/intel/boards/haswell.c                   |   2 +-
 sound/soc/intel/boards/kbl_da7219_max98927.c       |   8 +-
 sound/soc/intel/boards/kbl_rt5660.c                |  19 +-
 sound/soc/intel/boards/kbl_rt5663_max98927.c       |   4 +-
 .../soc/intel/boards/kbl_rt5663_rt5514_max98927.c  |  45 +-
 sound/soc/intel/boards/skl_hda_dsp_common.h        |   1 +
 sound/soc/intel/boards/skl_hda_dsp_generic.c       |  17 +-
 sound/soc/intel/boards/skl_nau88l25_max98357a.c    |   2 +-
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c      |   2 +-
 sound/soc/intel/boards/skl_rt286.c                 |   2 +-
 sound/soc/intel/boards/sof_da7219_max98373.c       |   2 +-
 sound/soc/intel/boards/sof_maxim_common.c          |  57 +-
 sound/soc/intel/boards/sof_maxim_common.h          |   3 +
 sound/soc/intel/boards/sof_pcm512x.c               |   4 +-
 sound/soc/intel/boards/sof_rt5682.c                |  69 +-
 sound/soc/intel/boards/sof_sdw.c                   | 103 ++-
 sound/soc/intel/boards/sof_sdw_common.h            |  17 +
 sound/soc/intel/boards/sof_sdw_hdmi.c              |   6 +
 sound/soc/intel/boards/sof_sdw_max98373.c          |  86 ++
 sound/soc/intel/boards/sof_sdw_rt1308.c            |   2 +-
 sound/soc/intel/boards/sof_sdw_rt711.c             |  17 +-
 sound/soc/intel/boards/sof_wm8804.c                |   2 +-
 sound/soc/intel/common/soc-acpi-intel-cml-match.c  |  13 +
 sound/soc/intel/common/soc-acpi-intel-ehl-match.c  |   2 +-
 sound/soc/intel/common/soc-acpi-intel-jsl-match.c  |  13 +
 sound/soc/intel/common/soc-acpi-intel-tgl-match.c  |  25 +
 sound/soc/intel/haswell/sst-haswell-pcm.c          |  12 +-
 sound/soc/intel/keembay/Makefile                   |   4 +
 sound/soc/intel/keembay/kmb_platform.c             | 668 +++++++++++++++
 sound/soc/intel/keembay/kmb_platform.h             | 146 ++++
 sound/soc/intel/skylake/skl-pcm.c                  |  16 +-
 sound/soc/intel/skylake/skl-topology.c             |   5 +-
 sound/soc/intel/skylake/skl-topology.h             |   2 +-
 sound/soc/kirkwood/armada-370-db.c                 |   2 +-
 sound/soc/mediatek/Kconfig                         |  12 +-
 sound/soc/mediatek/common/mtk-afe-fe-dai.c         |  12 +-
 .../soc/mediatek/common/mtk-afe-platform-driver.c  |   2 +-
 sound/soc/mediatek/mt2701/mt2701-afe-pcm.c         |   2 +-
 sound/soc/mediatek/mt2701/mt2701-cs42448.c         |   2 +-
 sound/soc/mediatek/mt2701/mt2701-wm8960.c          |   2 +-
 sound/soc/mediatek/mt6797/mt6797-afe-pcm.c         |   4 +-
 sound/soc/mediatek/mt8173/mt8173-afe-pcm.c         |   2 +-
 sound/soc/mediatek/mt8173/mt8173-max98090.c        |   2 +-
 sound/soc/mediatek/mt8173/mt8173-rt5650-rt5514.c   |   2 +-
 sound/soc/mediatek/mt8173/mt8173-rt5650-rt5676.c   |   2 +-
 sound/soc/mediatek/mt8173/mt8173-rt5650.c          |   2 +-
 sound/soc/mediatek/mt8183/mt8183-afe-pcm.c         |   4 +-
 sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c | 321 ++++++--
 sound/soc/mediatek/mt8183/mt8183-dai-i2s.c         |  59 +-
 .../mt8183/mt8183-mt6358-ts3a227-max98357.c        | 230 +++++-
 sound/soc/meson/Kconfig                            |   1 +
 sound/soc/meson/aiu-encoder-i2s.c                  |   3 +-
 sound/soc/meson/aiu-fifo-i2s.c                     |   3 +-
 sound/soc/meson/aiu-fifo.c                         |   3 +-
 sound/soc/meson/axg-card.c                         |  22 +-
 sound/soc/meson/axg-spdifout.c                     |   5 +-
 sound/soc/meson/axg-tdm-formatter.c                |  11 +-
 sound/soc/meson/axg-tdm-formatter.h                |   1 -
 sound/soc/meson/axg-tdm-interface.c                |  26 +-
 sound/soc/meson/axg-tdmin.c                        |  16 +-
 sound/soc/meson/axg-tdmout.c                       |   3 -
 sound/soc/meson/gx-card.c                          |  20 +-
 sound/soc/meson/meson-card-utils.c                 |   8 +-
 sound/soc/meson/meson-codec-glue.c                 |   2 +-
 sound/soc/mxs/mxs-sgtl5000.c                       |   2 +-
 sound/soc/pxa/brownstone.c                         |   2 +-
 sound/soc/pxa/corgi.c                              |   4 +-
 sound/soc/pxa/hx4700.c                             |   2 +-
 sound/soc/pxa/imote2.c                             |   2 +-
 sound/soc/pxa/magician.c                           |   6 +-
 sound/soc/pxa/mioa701_wm9713.c                     |   8 +-
 sound/soc/pxa/mmp-pcm.c                            |   2 +-
 sound/soc/pxa/poodle.c                             |   4 +-
 sound/soc/pxa/pxa-ssp.c                            |   2 +-
 sound/soc/pxa/pxa2xx-i2s.c                         |   2 +-
 sound/soc/pxa/spitz.c                              |   4 +-
 sound/soc/pxa/tosa.c                               |   2 +-
 sound/soc/pxa/z2.c                                 |   2 +-
 sound/soc/pxa/zylonite.c                           |   2 +-
 sound/soc/qcom/Kconfig                             |   5 +-
 sound/soc/qcom/apq8016_sbc.c                       | 120 +--
 sound/soc/qcom/apq8096.c                           |  30 +-
 sound/soc/qcom/common.c                            |  58 +-
 sound/soc/qcom/lpass-platform.c                    |  14 +-
 sound/soc/qcom/qdsp6/q6adm.c                       |   7 +-
 sound/soc/qcom/qdsp6/q6afe.c                       |   8 -
 sound/soc/qcom/qdsp6/q6afe.h                       |   1 -
 sound/soc/qcom/qdsp6/q6asm-dai.c                   |  36 +-
 sound/soc/qcom/qdsp6/q6asm.c                       |   6 +-
 sound/soc/qcom/qdsp6/q6routing.c                   |   2 +-
 sound/soc/qcom/sdm845.c                            |  54 +-
 sound/soc/qcom/storm.c                             |   2 +-
 sound/soc/rockchip/rk3288_hdmi_analog.c            |   2 +-
 sound/soc/rockchip/rk3399_gru_sound.c              |  25 +-
 sound/soc/rockchip/rockchip_i2s.c                  |   2 +-
 sound/soc/rockchip/rockchip_max98090.c             |   2 +-
 sound/soc/rockchip/rockchip_rt5645.c               |   2 +-
 sound/soc/rockchip/rockchip_spdif.c                |  59 +-
 sound/soc/samsung/Kconfig                          |  23 +-
 sound/soc/samsung/Makefile                         |   4 +
 sound/soc/samsung/aries_wm8994.c                   | 695 ++++++++++++++++
 sound/soc/samsung/arndale.c                        |   4 +-
 sound/soc/samsung/h1940_uda1380.c                  |   2 +-
 sound/soc/samsung/i2s.c                            |   2 +-
 sound/soc/samsung/jive_wm8750.c                    |   2 +-
 sound/soc/samsung/littlemill.c                     |   2 +-
 sound/soc/samsung/midas_wm1811.c                   | 543 +++++++++++++
 sound/soc/samsung/neo1973_wm8753.c                 |   8 +-
 sound/soc/samsung/odroid.c                         |   6 +-
 sound/soc/samsung/pcm.c                            |   9 +-
 sound/soc/samsung/rx1950_uda1380.c                 |   2 +-
 sound/soc/samsung/s3c-i2s-v2.c                     |   2 +-
 sound/soc/samsung/s3c24xx_simtec.c                 |   2 +-
 sound/soc/samsung/s3c24xx_uda134x.c                |   6 +-
 sound/soc/samsung/smartq_wm8987.c                  |   2 +-
 sound/soc/samsung/smdk_spdif.c                     |   2 +-
 sound/soc/samsung/smdk_wm8580.c                    |   2 +-
 sound/soc/samsung/smdk_wm8994.c                    |   2 +-
 sound/soc/samsung/smdk_wm8994pcm.c                 |   2 +-
 sound/soc/samsung/snow.c                           |   2 +-
 sound/soc/samsung/spdif.c                          |  12 +-
 sound/soc/samsung/tm2_wm5110.c                     |   8 +-
 sound/soc/sh/Kconfig                               |   2 +-
 sound/soc/sh/dma-sh7760.c                          |  12 +-
 sound/soc/sh/fsi.c                                 |   6 +-
 sound/soc/sh/migor.c                               |   4 +-
 sound/soc/sh/rcar/core.c                           |   8 +-
 sound/soc/sh/rcar/rsnd.h                           |   2 +-
 sound/soc/sh/rcar/ssi.c                            |  28 +-
 sound/soc/sh/rcar/ssiu.c                           |   6 +-
 sound/soc/sh/siu_pcm.c                             |   6 +-
 sound/soc/sh/ssi.c                                 |   2 +-
 sound/soc/soc-ac97.c                               |   9 +-
 sound/soc/soc-component.c                          | 670 ++++++++++-----
 sound/soc/soc-compress.c                           |   4 +-
 sound/soc/soc-core.c                               | 158 ++--
 sound/soc/soc-dai.c                                |  36 +-
 sound/soc/soc-dapm.c                               |  41 +-
 sound/soc/soc-generic-dmaengine-pcm.c              |  18 +-
 sound/soc/soc-io.c                                 | 202 -----
 sound/soc/soc-link.c                               |  18 +-
 sound/soc/soc-ops.c                                |  43 +-
 sound/soc/soc-pcm.c                                | 232 +++---
 sound/soc/soc-topology.c                           |  73 +-
 sound/soc/soc-utils.c                              |   5 +-
 sound/soc/sof/imx/imx8.c                           |  24 +-
 sound/soc/sof/imx/imx8m.c                          |   7 +-
 sound/soc/sof/intel/hda-dai.c                      |  10 +-
 sound/soc/sof/intel/hda-dsp.c                      |  50 +-
 sound/soc/sof/intel/hda-pcm.c                      |   2 +-
 sound/soc/sof/nocodec.c                            |   1 +
 sound/soc/sof/pcm.c                                |  26 +-
 sound/soc/sof/sof-acpi-dev.c                       |   8 +-
 sound/soc/sof/topology.c                           |   2 +
 sound/soc/spear/spdif_out.c                        |   8 +-
 sound/soc/sprd/sprd-pcm-dma.c                      |   2 +-
 sound/soc/sti/uniperif.h                           |   2 +-
 sound/soc/stm/stm32_adfsdm.c                       |  21 +-
 sound/soc/stm/stm32_sai_sub.c                      |   2 +-
 sound/soc/sunxi/sun4i-codec.c                      |  12 +-
 sound/soc/sunxi/sun4i-i2s.c                        |  10 +-
 sound/soc/sunxi/sun4i-spdif.c                      |   4 +-
 sound/soc/tegra/Kconfig                            |  56 ++
 sound/soc/tegra/Makefile                           |  10 +
 sound/soc/tegra/tegra186_dspk.c                    | 442 ++++++++++
 sound/soc/tegra/tegra186_dspk.h                    |  70 ++
 sound/soc/tegra/tegra20_das.c                      |   3 +-
 sound/soc/tegra/tegra20_das.h                      |   4 +-
 sound/soc/tegra/tegra210_admaif.c                  | 800 ++++++++++++++++++
 sound/soc/tegra/tegra210_admaif.h                  | 162 ++++
 sound/soc/tegra/tegra210_ahub.c                    | 676 ++++++++++++++++
 sound/soc/tegra/tegra210_ahub.h                    | 127 +++
 sound/soc/tegra/tegra210_dmic.c                    | 456 +++++++++++
 sound/soc/tegra/tegra210_dmic.h                    |  82 ++
 sound/soc/tegra/tegra210_i2s.c                     | 812 +++++++++++++++++++
 sound/soc/tegra/tegra210_i2s.h                     | 126 +++
 sound/soc/tegra/tegra30_ahub.c                     |   4 +-
 sound/soc/tegra/tegra30_i2s.c                      |   4 +-
 sound/soc/tegra/tegra_alc5632.c                    |   2 +-
 sound/soc/tegra/tegra_cif.h                        |  65 ++
 sound/soc/tegra/tegra_max98090.c                   |   2 +-
 sound/soc/tegra/tegra_pcm.c                        | 235 +++++-
 sound/soc/tegra/tegra_pcm.h                        |  21 +-
 sound/soc/tegra/tegra_rt5640.c                     |   2 +-
 sound/soc/tegra/tegra_rt5677.c                     |   2 +-
 sound/soc/tegra/tegra_sgtl5000.c                   |   2 +-
 sound/soc/tegra/tegra_wm8753.c                     |   2 +-
 sound/soc/tegra/tegra_wm8903.c                     |   2 +-
 sound/soc/tegra/trimslice.c                        |   2 +-
 sound/soc/ti/Kconfig                               |   9 +
 sound/soc/ti/Makefile                              |   2 +
 sound/soc/ti/ams-delta.c                           |   9 +-
 sound/soc/ti/davinci-evm.c                         |   6 +-
 sound/soc/ti/davinci-mcasp.c                       |   3 +
 sound/soc/ti/davinci-vcif.c                        |   4 +-
 sound/soc/ti/j721e-evm.c                           | 896 +++++++++++++++++++++
 sound/soc/ti/n810.c                                |   4 +-
 sound/soc/ti/omap-abe-twl6040.c                    |   4 +-
 sound/soc/ti/omap-hdmi.c                           |   2 +-
 sound/soc/ti/omap-mcbsp-st.c                       |   3 -
 sound/soc/ti/omap-mcbsp.c                          |   4 +-
 sound/soc/ti/omap-twl4030.c                        |   4 +-
 sound/soc/ti/omap3pandora.c                        |   2 +-
 sound/soc/ti/osk5912.c                             |   2 +-
 sound/soc/ti/rx51.c                                |   4 +-
 sound/soc/ti/sdma-pcm.c                            |   2 +-
 sound/soc/ti/sdma-pcm.h                            |   2 +-
 sound/soc/ti/udma-pcm.c                            |   2 +-
 sound/soc/ti/udma-pcm.h                            |   2 +-
 sound/soc/uniphier/aio-core.c                      |   7 +-
 sound/soc/uniphier/aio-dma.c                       |   6 +-
 sound/soc/ux500/mop500_ab8500.c                    |   8 +-
 sound/soc/ux500/ux500_msp_i2s.c                    |   8 +-
 sound/soc/ux500/ux500_pcm.c                        |   2 +-
 sound/soc/xtensa/xtfpga-i2s.c                      |   2 +-
 sound/sparc/dbri.c                                 |  10 +-
 sound/usb/6fire/control.c                          |   2 +-
 sound/usb/caiaq/audio.c                            |   2 +-
 sound/usb/caiaq/device.c                           |   2 +-
 sound/usb/card.c                                   |   2 +-
 sound/usb/clock.c                                  |   2 +-
 sound/usb/endpoint.c                               |   5 +-
 sound/usb/line6/driver.c                           |   3 +-
 sound/usb/line6/driver.h                           |   8 +-
 sound/usb/line6/podhd.c                            | 125 ++-
 sound/usb/midi.c                                   |   2 +-
 sound/usb/mixer.c                                  |   4 +
 sound/usb/mixer_maps.c                             |  11 +-
 sound/usb/mixer_s1810c.c                           |   6 +-
 sound/usb/mixer_scarlett_gen2.c                    |   4 +-
 sound/usb/pcm.c                                    |   6 +-
 sound/usb/quirks-table.h                           |  27 +-
 sound/usb/quirks.c                                 |  14 +-
 sound/usb/stream.c                                 |   3 +-
 sound/xen/xen_snd_front.c                          |   6 +-
 sound/xen/xen_snd_front_evtchnl.c                  |   4 -
 688 files changed, 17934 insertions(+), 5766 deletions(-)
 delete mode 100644 Documentation/devicetree/bindings/sound/ak4613.txt
 create mode 100644 Documentation/devicetree/bindings/sound/ak4613.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/ak4642.txt
 create mode 100644 Documentation/devicetree/bindings/sound/ak4642.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/everest,es8316.txt
 create mode 100644 Documentation/devicetree/bindings/sound/everest,es8316.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/intel,keembay-i2s.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/maxim,max98390.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra186-dspk.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-admaif.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-ahub.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-dmic.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/nvidia,tegra210-i2s.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/rockchip,rk3328-codec.txt
 create mode 100644 Documentation/devicetree/bindings/sound/rockchip,rk3328-codec.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/rohm,bd28623.txt
 create mode 100644 Documentation/devicetree/bindings/sound/rohm,bd28623.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/samsung,aries-wm8994.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/samsung,midas-audio.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/sgtl5000.txt
 create mode 100644 Documentation/devicetree/bindings/sound/sgtl5000.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/socionext,uniphier-aio.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/socionext,uniphier-evea.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/tas2562.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/tas2770.txt
 create mode 100644 Documentation/devicetree/bindings/sound/tas2770.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/ti,j721e-cpb-audio.yaml
 create mode 100644 Documentation/devicetree/bindings/sound/ti,j721e-cpb-ivi-audio.yaml
 delete mode 100644 Documentation/devicetree/bindings/sound/uniphier,aio.txt
 delete mode 100644 Documentation/devicetree/bindings/sound/uniphier,evea.txt
 delete mode 100644 include/sound/rt5670.h
 create mode 100644 sound/soc/codecs/max98373-i2c.c
 create mode 100644 sound/soc/codecs/max98373-sdw.c
 create mode 100644 sound/soc/codecs/max98373-sdw.h
 create mode 100644 sound/soc/intel/boards/sof_sdw_max98373.c
 create mode 100644 sound/soc/intel/keembay/Makefile
 create mode 100644 sound/soc/intel/keembay/kmb_platform.c
 create mode 100644 sound/soc/intel/keembay/kmb_platform.h
 create mode 100644 sound/soc/samsung/aries_wm8994.c
 create mode 100644 sound/soc/samsung/midas_wm1811.c
 delete mode 100644 sound/soc/soc-io.c
 create mode 100644 sound/soc/tegra/tegra186_dspk.c
 create mode 100644 sound/soc/tegra/tegra186_dspk.h
 create mode 100644 sound/soc/tegra/tegra210_admaif.c
 create mode 100644 sound/soc/tegra/tegra210_admaif.h
 create mode 100644 sound/soc/tegra/tegra210_ahub.c
 create mode 100644 sound/soc/tegra/tegra210_ahub.h
 create mode 100644 sound/soc/tegra/tegra210_dmic.c
 create mode 100644 sound/soc/tegra/tegra210_dmic.h
 create mode 100644 sound/soc/tegra/tegra210_i2s.c
 create mode 100644 sound/soc/tegra/tegra210_i2s.h
 create mode 100644 sound/soc/tegra/tegra_cif.h
 create mode 100644 sound/soc/ti/j721e-evm.c


^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-06 10:21 [GIT PULL] sound updates for 5.9 Takashi Iwai
@ 2020-08-06 21:59 ` pr-tracker-bot
  2020-08-08  0:23 ` John Stultz
  1 sibling, 0 replies; 11+ messages in thread
From: pr-tracker-bot @ 2020-08-06 21:59 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Linus Torvalds, Mark Brown, Liam Girdwood, Linux Kernel Mailing List

The pull request you sent on Thu, 06 Aug 2020 12:21:10 +0200:

> git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.9-rc1

has been merged into torvalds/linux.git:
https://git.kernel.org/torvalds/c/3f9df56480fc8ce492fc9e988d67bdea884ed15c

Thank you!

-- 
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/prtracker.html

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-06 10:21 [GIT PULL] sound updates for 5.9 Takashi Iwai
  2020-08-06 21:59 ` pr-tracker-bot
@ 2020-08-08  0:23 ` John Stultz
  2020-08-08  6:46   ` Takashi Iwai
  2020-08-10 17:06   ` Srinivas Kandagatla
  1 sibling, 2 replies; 11+ messages in thread
From: John Stultz @ 2020-08-08  0:23 UTC (permalink / raw)
  To: Takashi Iwai, Kuninori Morimoto, Srini Kandagatla
  Cc: Linus Torvalds, Mark Brown, Liam Girdwood,
	Linux Kernel Mailing List, Bjorn Andersson, Amit Pundir,
	Vinod Koul

On Thu, Aug 6, 2020 at 3:33 AM Takashi Iwai <tiwai@suse.de> wrote:
>
> Linus,
>
> please pull sound updates for v5.9 from:
>
>   git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.9-rc1
>
> The topmost commit is c7fabbc51352f50cc58242a6dc3b9c1a3599849b
>
> ----------------------------------------------------------------
>
> sound updates for 5.9
>
> This became wide and scattered updates all over the sound tree as
> diffstat shows: lots of (still ongoing) refactoring works in ASoC,
> fixes and cleanups caught by static analysis, inclusive term
> conversions as well as lots of new drivers.  Below are highlights:
>
> ASoC core:
> * API cleanups and conversions to the unified mute_stream() call
> * Simplify I/O helper functions
> * Use helper macros to retrieve RTD from substreams
...
> Kuninori Morimoto (90):
>       ASoC: soc-component: add soc_component_pin() and share code
>       ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component
>       ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c
>       ASoC: soc-component: add soc_component_err()
>       ASoC: soc-component: add snd_soc_pcm_component_prepare()
>       ASoC: soc-component: add snd_soc_pcm_component_hw_params()
>       ASoC: soc-component: add snd_soc_pcm_component_hw_free()
>       ASoC: soc-component: add snd_soc_pcm_component_trigger()
>       ASoC: soc-component: add snd_soc_component_init()
>       ASoC: soc-component: merge soc-io.c into soc-component.c

So oddly, today I bisected down the change "ASoC: soc-component: merge
soc-io.c into soc-component.c":
  https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=460b42d162e3cf634586999e6a84e74ca52e626d

as causing audio regressions on Dragonboard 845c running AOSP.

On boot I was seeing tons of:
q6routing remoteproc-adsp:glink-edge:apr:apr-service@8:routing: ASoC:
error at soc_component_read_no_lock on
remoteproc-adsp:glink-edge:apr:: -5

And when audio was supposed to play I'd see:
[  227.462986] qcom-q6afe aprsvc:apr-service:4:4: cmd = 0x100e5
returned error = 0x9
[  227.470720] qcom-q6afe aprsvc:apr-service:4:4: DSP returned error[9]
[  227.477168] qcom-q6afe aprsvc:apr-service:4:4: AFE enable for port
0x4000 failed -22
[  227.485038] q6afe-dai
remoteproc-adsp:glink-edge:apr:apr-service@4:dais: fail to start AFE
port 2
[  227.494013] q6afe-dai
remoteproc-adsp:glink-edge:apr:apr-service@4:dais: ASoC: error at
snd_soc_pcm_dai_prepare on SLIMBUS_0_RX: -22
[  227.506034]  SLIM Playback: ASoC: DAI prepare error: -22
[  227.511415]  SLIM Playback: ASoC: backend prepare failed -22

Its strange, as the bisected patch is really just moving code around
and there's very little in the way of logic changes. After minimizing
the code movement and just focusing on what changed I forward ported a
revert to mainline and minimized it until things were working.

The resulting patch is a twoliner here:
https://git.linaro.org/people/john.stultz/android-dev.git/commit/?h=dev/db845c-mainline-WIP&id=a3527193f39b1224d59bf1519fce3ef8c57d0f5e

I'm a bit baffled as to why this patch works. Logically we are
returning the same value. I suspect when we hit the error, all the
extra error print messages on the console slow things down and end up
causing some timing related initialization failure?

Anyway, I wanted to raise the issue in case anyone had ideas what
might be going wrong.

thanks
-john

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-08  0:23 ` John Stultz
@ 2020-08-08  6:46   ` Takashi Iwai
  2020-08-08  8:07     ` Takashi Iwai
  2020-08-08 21:32     ` John Stultz
  2020-08-10 17:06   ` Srinivas Kandagatla
  1 sibling, 2 replies; 11+ messages in thread
From: Takashi Iwai @ 2020-08-08  6:46 UTC (permalink / raw)
  To: John Stultz
  Cc: Kuninori Morimoto, Srini Kandagatla, Linus Torvalds, Mark Brown,
	Liam Girdwood, Linux Kernel Mailing List, Bjorn Andersson,
	Amit Pundir, Vinod Koul

On Sat, 08 Aug 2020 02:23:24 +0200,
John Stultz wrote:
> 
> On Thu, Aug 6, 2020 at 3:33 AM Takashi Iwai <tiwai@suse.de> wrote:
> >
> > Linus,
> >
> > please pull sound updates for v5.9 from:
> >
> >   git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.9-rc1
> >
> > The topmost commit is c7fabbc51352f50cc58242a6dc3b9c1a3599849b
> >
> > ----------------------------------------------------------------
> >
> > sound updates for 5.9
> >
> > This became wide and scattered updates all over the sound tree as
> > diffstat shows: lots of (still ongoing) refactoring works in ASoC,
> > fixes and cleanups caught by static analysis, inclusive term
> > conversions as well as lots of new drivers.  Below are highlights:
> >
> > ASoC core:
> > * API cleanups and conversions to the unified mute_stream() call
> > * Simplify I/O helper functions
> > * Use helper macros to retrieve RTD from substreams
> ...
> > Kuninori Morimoto (90):
> >       ASoC: soc-component: add soc_component_pin() and share code
> >       ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component
> >       ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c
> >       ASoC: soc-component: add soc_component_err()
> >       ASoC: soc-component: add snd_soc_pcm_component_prepare()
> >       ASoC: soc-component: add snd_soc_pcm_component_hw_params()
> >       ASoC: soc-component: add snd_soc_pcm_component_hw_free()
> >       ASoC: soc-component: add snd_soc_pcm_component_trigger()
> >       ASoC: soc-component: add snd_soc_component_init()
> >       ASoC: soc-component: merge soc-io.c into soc-component.c
> 
> So oddly, today I bisected down the change "ASoC: soc-component: merge
> soc-io.c into soc-component.c":
>   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=460b42d162e3cf634586999e6a84e74ca52e626d
> 
> as causing audio regressions on Dragonboard 845c running AOSP.
> 
> On boot I was seeing tons of:
> q6routing remoteproc-adsp:glink-edge:apr:apr-service@8:routing: ASoC:
> error at soc_component_read_no_lock on
> remoteproc-adsp:glink-edge:apr:: -5
> 
> And when audio was supposed to play I'd see:
> [  227.462986] qcom-q6afe aprsvc:apr-service:4:4: cmd = 0x100e5
> returned error = 0x9
> [  227.470720] qcom-q6afe aprsvc:apr-service:4:4: DSP returned error[9]
> [  227.477168] qcom-q6afe aprsvc:apr-service:4:4: AFE enable for port
> 0x4000 failed -22
> [  227.485038] q6afe-dai
> remoteproc-adsp:glink-edge:apr:apr-service@4:dais: fail to start AFE
> port 2
> [  227.494013] q6afe-dai
> remoteproc-adsp:glink-edge:apr:apr-service@4:dais: ASoC: error at
> snd_soc_pcm_dai_prepare on SLIMBUS_0_RX: -22
> [  227.506034]  SLIM Playback: ASoC: DAI prepare error: -22
> [  227.511415]  SLIM Playback: ASoC: backend prepare failed -22
> 
> Its strange, as the bisected patch is really just moving code around
> and there's very little in the way of logic changes. After minimizing
> the code movement and just focusing on what changed I forward ported a
> revert to mainline and minimized it until things were working.
> 
> The resulting patch is a twoliner here:
> https://git.linaro.org/people/john.stultz/android-dev.git/commit/?h=dev/db845c-mainline-WIP&id=a3527193f39b1224d59bf1519fce3ef8c57d0f5e
> 
> I'm a bit baffled as to why this patch works. Logically we are
> returning the same value. I suspect when we hit the error, all the
> extra error print messages on the console slow things down and end up
> causing some timing related initialization failure?

Does the patch below fix the bug?  If so, it's rather a bug in the
commit cf6e26c71bfd ("ASoC: soc-component: merge
snd_soc_component_read() and snd_soc_component_read32()").


thanks,

Takashi

--- a/sound/soc/soc-component.c
+++ b/sound/soc/soc-component.c
@@ -406,7 +406,7 @@ static unsigned int soc_component_read_no_lock(
 		ret = -EIO;
 
 	if (ret < 0)
-		soc_component_ret(component, ret);
+		return soc_component_ret(component, ret);
 
 	return val;
 }

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-08  6:46   ` Takashi Iwai
@ 2020-08-08  8:07     ` Takashi Iwai
  2020-08-10 12:22       ` Mark Brown
  2020-08-08 21:32     ` John Stultz
  1 sibling, 1 reply; 11+ messages in thread
From: Takashi Iwai @ 2020-08-08  8:07 UTC (permalink / raw)
  To: John Stultz
  Cc: Kuninori Morimoto, Srini Kandagatla, Linus Torvalds, Mark Brown,
	Liam Girdwood, Linux Kernel Mailing List, Bjorn Andersson,
	Amit Pundir, Vinod Koul

On Sat, 08 Aug 2020 08:46:18 +0200,
Takashi Iwai wrote:
> 
> On Sat, 08 Aug 2020 02:23:24 +0200,
> John Stultz wrote:
> > 
> > On Thu, Aug 6, 2020 at 3:33 AM Takashi Iwai <tiwai@suse.de> wrote:
> > >
> > > Linus,
> > >
> > > please pull sound updates for v5.9 from:
> > >
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.9-rc1
> > >
> > > The topmost commit is c7fabbc51352f50cc58242a6dc3b9c1a3599849b
> > >
> > > ----------------------------------------------------------------
> > >
> > > sound updates for 5.9
> > >
> > > This became wide and scattered updates all over the sound tree as
> > > diffstat shows: lots of (still ongoing) refactoring works in ASoC,
> > > fixes and cleanups caught by static analysis, inclusive term
> > > conversions as well as lots of new drivers.  Below are highlights:
> > >
> > > ASoC core:
> > > * API cleanups and conversions to the unified mute_stream() call
> > > * Simplify I/O helper functions
> > > * Use helper macros to retrieve RTD from substreams
> > ...
> > > Kuninori Morimoto (90):
> > >       ASoC: soc-component: add soc_component_pin() and share code
> > >       ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component
> > >       ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c
> > >       ASoC: soc-component: add soc_component_err()
> > >       ASoC: soc-component: add snd_soc_pcm_component_prepare()
> > >       ASoC: soc-component: add snd_soc_pcm_component_hw_params()
> > >       ASoC: soc-component: add snd_soc_pcm_component_hw_free()
> > >       ASoC: soc-component: add snd_soc_pcm_component_trigger()
> > >       ASoC: soc-component: add snd_soc_component_init()
> > >       ASoC: soc-component: merge soc-io.c into soc-component.c
> > 
> > So oddly, today I bisected down the change "ASoC: soc-component: merge
> > soc-io.c into soc-component.c":
> >   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=460b42d162e3cf634586999e6a84e74ca52e626d
> > 
> > as causing audio regressions on Dragonboard 845c running AOSP.
> > 
> > On boot I was seeing tons of:
> > q6routing remoteproc-adsp:glink-edge:apr:apr-service@8:routing: ASoC:
> > error at soc_component_read_no_lock on
> > remoteproc-adsp:glink-edge:apr:: -5
> > 
> > And when audio was supposed to play I'd see:
> > [  227.462986] qcom-q6afe aprsvc:apr-service:4:4: cmd = 0x100e5
> > returned error = 0x9
> > [  227.470720] qcom-q6afe aprsvc:apr-service:4:4: DSP returned error[9]
> > [  227.477168] qcom-q6afe aprsvc:apr-service:4:4: AFE enable for port
> > 0x4000 failed -22
> > [  227.485038] q6afe-dai
> > remoteproc-adsp:glink-edge:apr:apr-service@4:dais: fail to start AFE
> > port 2
> > [  227.494013] q6afe-dai
> > remoteproc-adsp:glink-edge:apr:apr-service@4:dais: ASoC: error at
> > snd_soc_pcm_dai_prepare on SLIMBUS_0_RX: -22
> > [  227.506034]  SLIM Playback: ASoC: DAI prepare error: -22
> > [  227.511415]  SLIM Playback: ASoC: backend prepare failed -22
> > 
> > Its strange, as the bisected patch is really just moving code around
> > and there's very little in the way of logic changes. After minimizing
> > the code movement and just focusing on what changed I forward ported a
> > revert to mainline and minimized it until things were working.
> > 
> > The resulting patch is a twoliner here:
> > https://git.linaro.org/people/john.stultz/android-dev.git/commit/?h=dev/db845c-mainline-WIP&id=a3527193f39b1224d59bf1519fce3ef8c57d0f5e
> > 
> > I'm a bit baffled as to why this patch works. Logically we are
> > returning the same value. I suspect when we hit the error, all the
> > extra error print messages on the console slow things down and end up
> > causing some timing related initialization failure?
> 
> Does the patch below fix the bug?  If so, it's rather a bug in the
> commit cf6e26c71bfd ("ASoC: soc-component: merge
> snd_soc_component_read() and snd_soc_component_read32()").

That said, the commit cf6e26c71bfd dropped the capability of returning
an error code from snd_soc_component_read() completely, while many
code still expect an error gets returned.  The assumption mentioned in
the patch (the error can be ignored) looks too naive.

Morimoto-san, Mark, could you address it?  IMO, we may still need two
variants in the end again: the former snd_soc_component_read32() that
returns the value directly and snd_soc_component_read() that returns 0
or an error.  Only once after we deal with the error handling in each
caller side, we can unify the read functions.


Takashi

> 
> thanks,
> 
> Takashi
> 
> --- a/sound/soc/soc-component.c
> +++ b/sound/soc/soc-component.c
> @@ -406,7 +406,7 @@ static unsigned int soc_component_read_no_lock(
>  		ret = -EIO;
>  
>  	if (ret < 0)
> -		soc_component_ret(component, ret);
> +		return soc_component_ret(component, ret);
>  
>  	return val;
>  }

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-08  6:46   ` Takashi Iwai
  2020-08-08  8:07     ` Takashi Iwai
@ 2020-08-08 21:32     ` John Stultz
  1 sibling, 0 replies; 11+ messages in thread
From: John Stultz @ 2020-08-08 21:32 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: Kuninori Morimoto, Srini Kandagatla, Linus Torvalds, Mark Brown,
	Liam Girdwood, Linux Kernel Mailing List, Bjorn Andersson,
	Amit Pundir, Vinod Koul

On Fri, Aug 7, 2020 at 11:46 PM Takashi Iwai <tiwai@suse.de> wrote:
>
> On Sat, 08 Aug 2020 02:23:24 +0200,
> John Stultz wrote:
> >
> > On Thu, Aug 6, 2020 at 3:33 AM Takashi Iwai <tiwai@suse.de> wrote:
> > >
> > > Linus,
> > >
> > > please pull sound updates for v5.9 from:
> > >
> > >   git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-5.9-rc1
> > >
> > > The topmost commit is c7fabbc51352f50cc58242a6dc3b9c1a3599849b
> > >
> > > ----------------------------------------------------------------
> > >
> > > sound updates for 5.9
> > >
> > > This became wide and scattered updates all over the sound tree as
> > > diffstat shows: lots of (still ongoing) refactoring works in ASoC,
> > > fixes and cleanups caught by static analysis, inclusive term
> > > conversions as well as lots of new drivers.  Below are highlights:
> > >
> > > ASoC core:
> > > * API cleanups and conversions to the unified mute_stream() call
> > > * Simplify I/O helper functions
> > > * Use helper macros to retrieve RTD from substreams
> > ...
> > > Kuninori Morimoto (90):
> > >       ASoC: soc-component: add soc_component_pin() and share code
> > >       ASoC: soc-component: move snd_soc_component_xxx_regmap() to soc-component
> > >       ASoC: soc-component: move snd_soc_component_initialize() to soc-component.c
> > >       ASoC: soc-component: add soc_component_err()
> > >       ASoC: soc-component: add snd_soc_pcm_component_prepare()
> > >       ASoC: soc-component: add snd_soc_pcm_component_hw_params()
> > >       ASoC: soc-component: add snd_soc_pcm_component_hw_free()
> > >       ASoC: soc-component: add snd_soc_pcm_component_trigger()
> > >       ASoC: soc-component: add snd_soc_component_init()
> > >       ASoC: soc-component: merge soc-io.c into soc-component.c
> >
> > So oddly, today I bisected down the change "ASoC: soc-component: merge
> > soc-io.c into soc-component.c":
> >   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=460b42d162e3cf634586999e6a84e74ca52e626d
> >
> > as causing audio regressions on Dragonboard 845c running AOSP.
> >
> > On boot I was seeing tons of:
> > q6routing remoteproc-adsp:glink-edge:apr:apr-service@8:routing: ASoC:
> > error at soc_component_read_no_lock on
> > remoteproc-adsp:glink-edge:apr:: -5
> >
> > And when audio was supposed to play I'd see:
> > [  227.462986] qcom-q6afe aprsvc:apr-service:4:4: cmd = 0x100e5
> > returned error = 0x9
> > [  227.470720] qcom-q6afe aprsvc:apr-service:4:4: DSP returned error[9]
> > [  227.477168] qcom-q6afe aprsvc:apr-service:4:4: AFE enable for port
> > 0x4000 failed -22
> > [  227.485038] q6afe-dai
> > remoteproc-adsp:glink-edge:apr:apr-service@4:dais: fail to start AFE
> > port 2
> > [  227.494013] q6afe-dai
> > remoteproc-adsp:glink-edge:apr:apr-service@4:dais: ASoC: error at
> > snd_soc_pcm_dai_prepare on SLIMBUS_0_RX: -22
> > [  227.506034]  SLIM Playback: ASoC: DAI prepare error: -22
> > [  227.511415]  SLIM Playback: ASoC: backend prepare failed -22
> >
> > Its strange, as the bisected patch is really just moving code around
> > and there's very little in the way of logic changes. After minimizing
> > the code movement and just focusing on what changed I forward ported a
> > revert to mainline and minimized it until things were working.
> >
> > The resulting patch is a twoliner here:
> > https://git.linaro.org/people/john.stultz/android-dev.git/commit/?h=dev/db845c-mainline-WIP&id=a3527193f39b1224d59bf1519fce3ef8c57d0f5e
> >
> > I'm a bit baffled as to why this patch works. Logically we are
> > returning the same value. I suspect when we hit the error, all the
> > extra error print messages on the console slow things down and end up
> > causing some timing related initialization failure?
>
> Does the patch below fix the bug?  If so, it's rather a bug in the
> commit cf6e26c71bfd ("ASoC: soc-component: merge
> snd_soc_component_read() and snd_soc_component_read32()").
>
>
> thanks,
>
> Takashi
>
> --- a/sound/soc/soc-component.c
> +++ b/sound/soc/soc-component.c
> @@ -406,7 +406,7 @@ static unsigned int soc_component_read_no_lock(
>                 ret = -EIO;
>
>         if (ret < 0)
> -               soc_component_ret(component, ret);
> +               return soc_component_ret(component, ret);

Oh, that's so obvious now! I can't believe I was staring at that code
and just didn't see it!
Thanks so much for pointing this out!

I'm sure this will fix it, but will validate on monday when I am
working with the board.

thanks!
-john

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-08  8:07     ` Takashi Iwai
@ 2020-08-10 12:22       ` Mark Brown
  2020-08-10 13:52         ` Takashi Iwai
  0 siblings, 1 reply; 11+ messages in thread
From: Mark Brown @ 2020-08-10 12:22 UTC (permalink / raw)
  To: Takashi Iwai
  Cc: John Stultz, Kuninori Morimoto, Srini Kandagatla, Linus Torvalds,
	Liam Girdwood, Linux Kernel Mailing List, Bjorn Andersson,
	Amit Pundir, Vinod Koul

[-- Attachment #1: Type: text/plain, Size: 1828 bytes --]

On Sat, Aug 08, 2020 at 10:07:36AM +0200, Takashi Iwai wrote:
> Takashi Iwai wrote:

> > Does the patch below fix the bug?  If so, it's rather a bug in the
> > commit cf6e26c71bfd ("ASoC: soc-component: merge
> > snd_soc_component_read() and snd_soc_component_read32()").

> That said, the commit cf6e26c71bfd dropped the capability of returning
> an error code from snd_soc_component_read() completely, while many
> code still expect an error gets returned.  The assumption mentioned in
> the patch (the error can be ignored) looks too naive.

I did an audit of the users when the series was posted and wasn't able
to turn up any code doing anything constructive with the return values,
but then once you're past probe error handling often makes things worse
if you try.  This is the first one which actually seems to have had an
impact.

> Morimoto-san, Mark, could you address it?  IMO, we may still need two
> variants in the end again: the former snd_soc_component_read32() that
> returns the value directly and snd_soc_component_read() that returns 0
> or an error.  Only once after we deal with the error handling in each
> caller side, we can unify the read functions.

I'm not sure if that specifically is what we need but yeah we should do
something, if it fixes things your change is certainly good for the
immediate problem so could you send it with a signoff please?  

With the new code we do now have the core code printing an error message
if the I/O fails, before they were just being ignored more often than
not.  This did turn up a couple of cases where drivers were relying on
being able to do things like silently read from registers that just
don't exist or aren't currently accessible without any diagnostics which
is it's own problem :/ (especially the volatile cases).

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-10 12:22       ` Mark Brown
@ 2020-08-10 13:52         ` Takashi Iwai
  0 siblings, 0 replies; 11+ messages in thread
From: Takashi Iwai @ 2020-08-10 13:52 UTC (permalink / raw)
  To: Mark Brown
  Cc: John Stultz, Kuninori Morimoto, Srini Kandagatla, Linus Torvalds,
	Liam Girdwood, Linux Kernel Mailing List, Bjorn Andersson,
	Amit Pundir, Vinod Koul

On Mon, 10 Aug 2020 14:22:54 +0200,
Mark Brown wrote:
> 
> On Sat, Aug 08, 2020 at 10:07:36AM +0200, Takashi Iwai wrote:
> > Takashi Iwai wrote:
> 
> > > Does the patch below fix the bug?  If so, it's rather a bug in the
> > > commit cf6e26c71bfd ("ASoC: soc-component: merge
> > > snd_soc_component_read() and snd_soc_component_read32()").
> 
> > That said, the commit cf6e26c71bfd dropped the capability of returning
> > an error code from snd_soc_component_read() completely, while many
> > code still expect an error gets returned.  The assumption mentioned in
> > the patch (the error can be ignored) looks too naive.
> 
> I did an audit of the users when the series was posted and wasn't able
> to turn up any code doing anything constructive with the return values,
> but then once you're past probe error handling often makes things worse
> if you try.  This is the first one which actually seems to have had an
> impact.
> 
> > Morimoto-san, Mark, could you address it?  IMO, we may still need two
> > variants in the end again: the former snd_soc_component_read32() that
> > returns the value directly and snd_soc_component_read() that returns 0
> > or an error.  Only once after we deal with the error handling in each
> > caller side, we can unify the read functions.
> 
> I'm not sure if that specifically is what we need but yeah we should do
> something, if it fixes things your change is certainly good for the
> immediate problem so could you send it with a signoff please?  

OK, will do soon later.

> With the new code we do now have the core code printing an error message
> if the I/O fails, before they were just being ignored more often than
> not.  This did turn up a couple of cases where drivers were relying on
> being able to do things like silently read from registers that just
> don't exist or aren't currently accessible without any diagnostics which
> is it's own problem :/ (especially the volatile cases).

Yeah, we may need some raw access helper for such a case...


thanks,

Takashi



	

		

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-08  0:23 ` John Stultz
  2020-08-08  6:46   ` Takashi Iwai
@ 2020-08-10 17:06   ` Srinivas Kandagatla
  2020-08-10 17:50     ` Mark Brown
  2020-08-11  5:10     ` John Stultz
  1 sibling, 2 replies; 11+ messages in thread
From: Srinivas Kandagatla @ 2020-08-10 17:06 UTC (permalink / raw)
  To: John Stultz, Takashi Iwai, Kuninori Morimoto
  Cc: Linus Torvalds, Mark Brown, Liam Girdwood,
	Linux Kernel Mailing List, Bjorn Andersson, Amit Pundir,
	Vinod Koul

Hi John,
Thanks for reporting this.

On 08/08/2020 01:23, John Stultz wrote:
> q6routing remoteproc-adsp:glink-edge:apr:apr-service@8:routing: ASoC:
> error at soc_component_read_no_lock on
> remoteproc-adsp:glink-edge:apr:: -5

This is an -EIO error which is reported when the ASoC component driver 
does not have both regmap and read callback and someone is trying to 
read a register!

In q6routing case all the dapm widgets reuse reg field in 
snd_soc_dapm_widget to store offset information or routing table indexs 
or some DSP related id and so on... These are not real registers.

I think the core is trying to read the state of these widgets during 
startup, Which will fail in qdsp6 case as we do not have any regmap or 
read callback associated with this ASoC component.

Previously we never had chance to see these messages so we did not 
implement any dummy read callback.

Adding a dummy callback to q6routing and q6afe-dai ASoC component will 
fix this issue at-least in Qualcomm case!

thanks,
srini




^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-10 17:06   ` Srinivas Kandagatla
@ 2020-08-10 17:50     ` Mark Brown
  2020-08-11  5:10     ` John Stultz
  1 sibling, 0 replies; 11+ messages in thread
From: Mark Brown @ 2020-08-10 17:50 UTC (permalink / raw)
  To: Srinivas Kandagatla
  Cc: John Stultz, Takashi Iwai, Kuninori Morimoto, Linus Torvalds,
	Liam Girdwood, Linux Kernel Mailing List, Bjorn Andersson,
	Amit Pundir, Vinod Koul

[-- Attachment #1: Type: text/plain, Size: 1043 bytes --]

On Mon, Aug 10, 2020 at 06:06:14PM +0100, Srinivas Kandagatla wrote:

> In q6routing case all the dapm widgets reuse reg field in
> snd_soc_dapm_widget to store offset information or routing table indexs or
> some DSP related id and so on... These are not real registers.

> I think the core is trying to read the state of these widgets during
> startup, Which will fail in qdsp6 case as we do not have any regmap or read
> callback associated with this ASoC component.

Yes, it will try to figure out the current state of things during
startup.

> Previously we never had chance to see these messages so we did not implement
> any dummy read callback.

So I guess this is another instance of the issues with other things,
just having an effect beyond the cosmetic this time :/

> Adding a dummy callback to q6routing and q6afe-dai ASoC component will fix
> this issue at-least in Qualcomm case!

Yes, that's going to be better for robustness regardless of changes in
the core - just pick a default state if the underlying thing is
undefined.

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 488 bytes --]

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [GIT PULL] sound updates for 5.9
  2020-08-10 17:06   ` Srinivas Kandagatla
  2020-08-10 17:50     ` Mark Brown
@ 2020-08-11  5:10     ` John Stultz
  1 sibling, 0 replies; 11+ messages in thread
From: John Stultz @ 2020-08-11  5:10 UTC (permalink / raw)
  To: Srinivas Kandagatla
  Cc: Takashi Iwai, Kuninori Morimoto, Linus Torvalds, Mark Brown,
	Liam Girdwood, Linux Kernel Mailing List, Bjorn Andersson,
	Amit Pundir, Vinod Koul

On Mon, Aug 10, 2020 at 10:06 AM Srinivas Kandagatla
<srinivas.kandagatla@linaro.org> wrote:
>
> Hi John,
> Thanks for reporting this.
>
> On 08/08/2020 01:23, John Stultz wrote:
> > q6routing remoteproc-adsp:glink-edge:apr:apr-service@8:routing: ASoC:
> > error at soc_component_read_no_lock on
> > remoteproc-adsp:glink-edge:apr:: -5
>
> This is an -EIO error which is reported when the ASoC component driver
> does not have both regmap and read callback and someone is trying to
> read a register!
>
> In q6routing case all the dapm widgets reuse reg field in
> snd_soc_dapm_widget to store offset information or routing table indexs
> or some DSP related id and so on... These are not real registers.
>
> I think the core is trying to read the state of these widgets during
> startup, Which will fail in qdsp6 case as we do not have any regmap or
> read callback associated with this ASoC component.
>
> Previously we never had chance to see these messages so we did not
> implement any dummy read callback.
>
> Adding a dummy callback to q6routing and q6afe-dai ASoC component will
> fix this issue at-least in Qualcomm case!

Yea, just to confirm.  The patch you sent me privately that does the
above seems to work!

Thanks so much!
-john

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2020-08-11  5:10 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-08-06 10:21 [GIT PULL] sound updates for 5.9 Takashi Iwai
2020-08-06 21:59 ` pr-tracker-bot
2020-08-08  0:23 ` John Stultz
2020-08-08  6:46   ` Takashi Iwai
2020-08-08  8:07     ` Takashi Iwai
2020-08-10 12:22       ` Mark Brown
2020-08-10 13:52         ` Takashi Iwai
2020-08-08 21:32     ` John Stultz
2020-08-10 17:06   ` Srinivas Kandagatla
2020-08-10 17:50     ` Mark Brown
2020-08-11  5:10     ` John Stultz

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).