Linus, please pull sound updates for v4.13-rc1 from:
git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound.git tags/sound-4.13-rc1 The topmost commit is fc18282cdcba984ab89c74d7e844c10114ae0795 ---------------------------------------------------------------- sound updates for 4.13-rc1 This development cycle resulted in a fair amount of changes in both core and driver sides. The most significant change in ALSA core is about PCM. Also the support of of-graph card and the new DAPM widget for DSP are noteworthy changes in ASoC core. And there're lots of small changes splat over the tree, as you can see in diffstat. Below are a few highlights: ALSA core: - Removal of set_fs() hackery from PCM core stuff, and the code reorganization / optimization thereafter - Improved support of PCM ack ops, and a new ABI for improved control/status mmap handling - Lots of constifications in various codes ASoC core: - The support of of-graph card, which may work as a better generic device for a replacement of simple-card - New widget types intended mainly for use with DSPs ASoC drivers: - New drivers for Allwinner V3s SoCs - Ensonic ES8316 codec support - More Intel SKL and KBL works - More device support for Intel SST Atom (mostly for cheap tablets and 2-in-1 devices) - Support for Rockchip PDM controllers - Support for STM32 I2S and S/PDIF controllers - Support for ZTE AUD96P22 codecs HD-audio: - Support of new Realtek codecs (ALC215/ALC285/ALC289), more quirks for HP and Dell machines - A few more fixes for i915 component binding Note that of-graph change may bring the conflicts with a later pull request of devicetree, as currently found in linux-next. ---------------------------------------------------------------- Adam Thomson (4): ASoC: da7213: Update driver to use device_property* FW functions ASoC: da7218: Fix incorrect usage of bitwise '&' operator for SRM check ASoC: da7219: Fix HP detection procedure for all MCLK frequencies ASoC: Intel: bxt: Move codec sysclk config to codec_init function Andy Shevchenko (7): ALSA: atmel: Remove AVR32 bits from the driver dmaengine: dw: Remove AVR32 bits from the driver ASoC: omap-mcbsp: Use sysfs_match_string() helper ASoC: Intel: byt-max98090: Add GPIO ACPI mapping table ASoC: rt5677: Introduce proper table for ACPI enumeration ASoC: rt5677: Move platform code to board file ASoC: Intel: bdw-rt5677: Switch to devm_acpi_dev_add_driver_gpios() Arnd Bergmann (5): ASoC: rt5514: fix gcc-7 warning ASoC: rt5665: fix gcc-7 warning ALSA: pcm: use "do {} while (0)" for empty macro ALSA: pcm/oss: mark snd_pcm_plug_slave_format arg as const ASoC: es8316: add I2C dependency Arvind Yadav (5): ALSA : pcsp: pcsp_lib: constify snd_pcsp_playback_ops ALSA: vx: vx_pcm: constify vx_pcm_playback_ops and vx_pcm_capture_ops. ALSA: pcm: constify attribute_group structures. ALSA: hda: constify attribute_group structures. ASoC: rsnd: constify dev_pm_ops structures. Axel Lin (1): ASoC: ak4613: Fix out of bounds array access for ak4613_iface Baoyou Xie (2): ASoC: add bindings for ZTE zx-aud96p22 audio codec ASoC: zx_aud96p22: add ZTE ZX AUD96P22 codec driver Bard Liao (11): ASoC: rt5665: add ADC STO2 ASRC support ASoC: rt5645: read jd1_1 status for jd detection ASoC: rt5645: rename jd_invert flag in platform data ASoC: rt5645: add inv_jd1_1 flag ASoC: rt5670: fix wrong audio route ASoC: rt5670: remove duplicate route. ASoC: rt5670: move set_sysclk to codec level ASoC: rt5651: remove unexisting Muxes ASoC: rt5645: enable speaker protection features ASoC: rt5670: fix incompatible pointer type of set_sysclk ASoC: rt5665: calibration should be done before jack detection Bhumika Goyal (5): ALSA: sound/isa: constify snd_kcontrol_new structures ALSA: ice1712: constify snd_kcontrol_new structures ALSA: cs46xx: constify snd_kcontrol_new structures ALSA: mixart: constify snd_kcontrol_new structures ALSA: declare snd_kcontrol_new structures as const Brian Austin (2): ASoC: cs35l35: Add Boost Inductor Calculation ASoC: cs35l35: Add DT handling for Inductor Charles Keepax (3): ASoC: cs35l35: Correctly handle 0 for bst_ipk ASoC: cs4271: Remove unnecessary additional variable definition ASoC: cs35l35: Add additional delay for reset Christoph Hellwig (1): ALSA: hal2: switch to dma_alloc_attrs Christophe Jaillet (1): ASoC: rockchip: Fix an error handling in 'rockchip_i2s_probe' Colin Ian King (7): ASoC: Intel: sst: fix spelling mistake: "allocationf" -> "allocation" ASoC: hdmi-codec: fix spelling mistake: "deteced" -> "detected" ASoC: audio-graph-card: fix spelling mistake: "missmatch" -> "mismatch" ALSA: pcm: include pcm_local.h and remove some extraneous tabs ASoC: max9867: make array ni_div static const ASoC: ak4642: make arrays fs_list and ps_list static const ASoC: rsnd: make arrays path and cmd_case static const Dan Carpenter (1): ASoC: stm32: sai: remove some stray tabs Daniel Drake (2): ASoC: add es8316 codec driver ASoC: Intel: add machine driver for BYT/CHT + ES8316 Dharageswari R (3): ASoC: Intel: Skylake: Add mic-select module type ASoC: Intel: Skylake: Add enum control for mic selection ASoC: Intel: Boards: Add 4-channel DMIC fixup. Douglas Anderson (1): ASoC: Intel: sst: Delete sst_shim_regs64; saved regs are never used Geert Uytterhoeven (3): ASoC: rt5665: Fix uninitialized warning in rt5665_i2s_pin_event() ASoC: fsi: Move inline fsi_stream_is_play() before use ASoC: rsnd: Document optional reset properties Guneshwor Singh (1): ASoC: Intel: Skylake: Add sram address to sst_addr structure Gustavo A. R. Silva (2): ALSA: x86: fix error return code in hdmi_lpe_audio_probe() ALSA: atmel: ac97c: fix error return code in atmel_ac97c_probe() Hans P. Möller Ebner (2): ALSA: line6: add support for POD HD500X ALSA: line6: remove unnecessary initialization to PODHD500X Hans de Goede (1): ASoC: rt5645: del btn_check_timer on remove Harsha Priya N (3): ASoC: Intel: Add Kabylake machine driver for RT5514, RT5663 and MAX98927 ASoC: Intel: Convert all sst_codecs data definition to c99 style ASoC: Intel: Add Kabylake RT5663+RT5514+MAX98927 machine driver entry Hui Wang (1): ALSA: hda/realtek - There is no loopback mixer in the ALC234/274/294 Icenowy Zheng (4): ASoC: sun8i-codec-analog: split out mbias ASoC: sun8i-codec-analog: prepare a mixer control/widget/route set for V3s ASoC: sun8i-codec-analog: add support for V3s SoC ASoC: sun4i-codec: Add support for V3s codec Johan Hovold (2): ALSA: us122l: clean up US144 handling ALSA: us122l: enable compile testing John Hsu (6): ASoC: nau8824: TDM support ASoC: nau8825: default value for property ASoC: nau8825: fix jack type detection issue after resume ASoC: nau8825: make crosstalk function optional ASoC: nau8825: debug message of crosstalk bypass ASoC: nau8825: change crosstalk-bypass property to bool type John Stultz (1): drm: adv7511_audio: Add .get_dai_id callback to map port number to dai id Julian Scheel (1): ASoC: simple-card: Fix misleading error message Kai-Heng Feng (1): ALSA: hda/realtek - Remove GPIO_MASK Kailang Yang (6): ALSA: hda/realtek - Add ALC256 HP depop function ALSA: hda/realtek - Support headset mode for ALC234/ALC274/ALC294 ALSA: hda/realtek - Add default procedure for suspend and resume state ALSA: hda/realtek - Support Dell headset mode for ALC3271 ALSA: hda/realtek - Remove ALC285 device ID ALSA: hda/realtek - New codecs support for ALC215/ALC285/ALC289 Kuninori Morimoto (83): ASoC: ak4613: disable asymmetric audio interface format of-graph: export symbol of_phandle_iterator_init/next of_graph: add of_graph_get_remote_endpoint() of_graph: add of_graph_get_port_parent() of_graph: add of_graph_get_endpoint_count() ASoC: soc-core: enable "dai-format" on snd_soc_of_parse_daifmt() ASoC: simple-card-utils: enable "label" on asoc_simple_card_parse_card_name ASoC: simple-card-utils: add asoc_simple_card_parse_graph_dai() ASoC: add audio-graph-card document ASoC: add audio-graph-card support ASoC: rsnd: move "renesas,rsrc-card" to "simple-scu-audio-card" on Document ASoC: rsnd: add missing clocks/clock-names on Document ASoC: rsnd: remove un-used OUF_SRCO/I macro ASoC: rsnd: remove mismatch explain comment from src.c ASoC: rsnd: clkout-lr-asynchronous is AUDIO_CLKOUT related property ASoC: rsnd: remove error pointer for adg->clkout[i] ASoC: rsnd: need to call nolock_stop if nolock_start was failed ASoC: rsnd: check src mod pointer for rsnd_mod_id() ASoC: simple-card: tidyup return method from probe() ASoC: simple-scu-card: tidyup return method from probe() ASoC: audio-graph-card: tidyup return method from probe() ASoC: simple-scu-card: cleanup documentation ASoC: rsnd: add support graph base DT phase 1 ASoC: rsnd: add support graph base DT phase 2 ASoC: rsnd: add HDMI output support ASoC: add snd_soc_get_dai_id() function ASoC: simple-card-utils: support snd_soc_get_dai_id() ASoC: hdmi-codec: remove multi detection support ASoC: hdmi-codec: add .get_dai_id support ASoC: simple-card-utils: remove strict limitation of bit/frame master ASoC: add audio-graph-scu-card document ASoC: add audio-graph-scu-card support ASoC: audio-graph-scu-card: tidyup return method from probe() ASoC: rsnd: remove unused rsnd_ssi_non_ops ASoC: rsnd: remove unused rsnd_dai_path_info ASoC: simple-scu-card: tidyup "Sampling Rate Conversion" ASoC: audio-graph-scu-card: add missing MIX binding example ASoC: simple-card-utils: share same dev_dbg() for Card Name ASoC: simple-card-utils: share same dev_dbg() for DAI format ASoC: simple-card-utils: share same dev_dbg() for Dai Name ASoC: simple-card-utils: share same dev_dbg() for sysclk ASoC: hdmi-codec: remove unused ratec ASoC: simple-card: remove duplicate parameter from asoc_simple_card_parse_of() ASoC: simple-scu-card: remove duplicate paramera from asoc_simple_card_parse_of ASoC: rsnd: update pointer more accurate ASoC: rsnd: cleanup pointer related code ASoC: rsnd: don't call free_irq() on Parent SSI ASoC: rsnd: add detail explanation of L/R conversion timing ASoC: rsnd: control kctrl items acceptance anytime/runtime ASoC: simple_card_utils: add asoc_simple_card_clk_xxx() ASoC: simple-card: use asoc_simple_card_clk_xxx() ASoC: simple-scu-card: use asoc_simple_card_clk_xxx() ASoC: audio-graph-scu-card: use asoc_simple_card_clk_xxx() ASoC: audio-graph-card: use asoc_simple_card_clk_xxx() ASoC: simple_card_utils: add EXPORT_SYMBOL_GPL() for asoc_simple_card_clk_xxx() ASoC: rsnd: reduce confusable macro parameter magic ASoC: ak4613: add missing 64000 in ak4613_dai_hw_params() ASoC: simple-card-utils: add asoc_simple_card_of_parse_tdm() ASoC: simple-card: use asoc_simple_card_of_parse_tdm() ASoC: simple-scu-card: use asoc_simple_card_of_parse_tdm() ASoC: audio-graph-card: use asoc_simple_card_of_parse_tdm() ASoC: audio-graph-scu-card: use asoc_simple_card_of_parse_tdm() ASoC: simple-card-utils: add asoc_simple_card_convert_fixup() ASoC: simple-scu-card: use asoc_simple_card_convert_fixup() ASoC: audio-graph-scu-card: use asoc_simple_card_convert_fixup() ASoC: simple-card-utils: add asoc_simple_card_of_parse_routing() ASoC: simple-card: use asoc_simple_card_of_parse_routing() ASoC: simple-scu-card: use asoc_simple_card_of_parse_routing() ASoC: audio-graph-scu-card: use asoc_simple_card_of_parse_routing() ASoC: rsnd: rename "slots" related variable ASoC: rsnd: add rsnd_adg_clk_query() ASoC: rsnd: add rsnd_ssi_clk_query() ASoC: rsnd: add rsnd_soc_hw_rule/constraint() ASoC: ak4613: add hw_constraint rule for Sampling Rate ASoC: simple-card-utils: add asoc_simple_card_of_parse_widgets() ASoC: simple-card: use asoc_simple_card_of_parse_widgets() ASoC: fsl: mpc5200_dma: remove unused psc_dma ASoC: pxa: add COMPILE_TEST on SND_PXA2XX_SOC ASoC: rsnd: fixup unsigned expression compared with zero: main_rate ASoC: audio-graph-card: tidyup asoc_simple_card_canonicalize_cpu() parameter ASoC: audio-graph-scu-card: tidyup asoc_simple_card_canonicalize_cpu() parameter ASoC: audio-graph-scu-card: support 2nd codec endpoint on DT drm: dw-hdmi-i2s: add .get_dai_id callback for ALSA SoC Liam Girdwood (8): ASoC: topology: Allow bespoke configuration post widget creation ASoC: topology: rephrase deferred binding warning. ASoC: topology: Dont free template strings whilst they are in use. ASoC: topology: Fix potential build issues with undeclared structs ASoC: topology: Allow bespoke configuration post widget creation ASoC: topology: Fix usage of SND_SOC_TPLG_INDEX_ALL during load ASoC: topology: show index in debug when adding DAPM routes ASoC: dapm: Add new widget type for constructing DAPM graphs on DSPs. Mark Brown (2): ASoC: Back out post commit widget creation changes ASoC: rockchip: Fix build Matthias Kaehlcke (2): ASoC: cht_bsw_max98090_ti: Remove unused function cht_get_codec_dai() ASoC: Intel: sst: Remove unused function sst_restore_shim64() Mauro Carvalho Chehab (1): ALSA: pcm: fix the comments that refers to kernel-doc Mengdong Lin (1): ASoC: Drop invalid DMI fields when setting card long name from DMI info Naveen M (7): ASoC: Intel: Convert atom machine data to C99 style ASoC: Intel: Convert skl machine data to C99 style ASoC: Intel: Create a helper to search for matching machine ASoC: Move quirk to identify correct machine driver ASoC: Improve machine driver selection based on quirk data ASoC: Intel: Add Kabylake Realtek Maxim machine driver ASoC: Intel: Add Kabylake RT5663+MAX98927 machine driver entry Oder Chiou (4): ASoC: rt5514: Add more width and channels support in the TDM mode ASoC: rt5514: Add ACPI match ID ASoC: rt5663: Fix the IRQ issue ASoC: rt5663: Check the JD status in the resume function Peter Rosin (1): ASoC: atmel: tse850: fix off-by-one in the "ANA" enumeration count Peter Ujfalusi (1): ASoC: davinci-mcasp: Support for one channel (mono) audio Pierre-Louis Bossart (2): ASoC: Intel: cht_bsw_rt5672: 19.2MHz clock for Baytrail platforms ASoC: codecs: rt5670: fix jd mode for Lenovo Miix 2 10 Ramesh Babu (2): ASoC: Intel: Skylake: Add deep buffer support ASoC: Intel: Skylake: Fix dma buffer size calculation Richard Fitzgerald (3): ASoC: wm_adsp: Fix type warning in sprintf ASoC: wm_adsp: Remove unused member of struct wm_coeff_ctl_ops ASoC: wm_adsp: Fix typo in algorithm list warning message Richard Leitner (1): ASoC: sgtl5000: add avc support Ryo Kodama (1): ASoC: ak4613: Improve counting DAI number Satish Babu Patakokila (1): ASoC: compress: Derive substream from stream based on direction Shawn Guo (4): ASoC: zx-i2s: fix harsh noise with 16-bit audio ASoC: zx-i2s: flip I2S master/slave mode ASoC: audio-graph-card: update bindings for amplifier support ASoC: audio-graph-card: add widgets and routing for external amplifier support Shih-Yuan Lee (FourDollars) (1): ALSA: hda/realtek - Fix typo of pincfg for Dell quirk Shreyas NC (1): ASoC: Intel: Skylake: Support for multiple data blocks Subhransu S. Prusty (2): ASoC: Intel: Skylake: Fix typo for token d0i3 caps ASoC: skl_rt286: Add deepbuffer dai link Sugar Zhang (3): ASoC: rockchip: add support for pdm controller ASoC: rockchip: add bindings for spdif controller ASoC: rockchip: i2s: add a delay before i2s clear Sylwester Nawrocki (1): ASoC: samsung: Odroid DT binding documentation corrections Takashi Iwai (127): ALSA: vx222: Use container_of() ALSA: vxpocket: Use container_of() ALSA: ak411x: Use array instead of offsetof() ALSA: pcm: Build pcm notifier code conditionally ALSA: Use IS_ENABLED() in common headers ALSA: cmi8238: Use IS_ENABLED() ALSA: opl4: Use IS_REACHABLE() ALSA: sb: Use IS_REACHABLE() ALSA: cs4281: Fix the leftover comment ALSA: hda - Simplify bound-beep mute control for ALC268 ALSA: hda - Move bind-mixer switch codes to generic parser ALSA: hda - Remove the generic bind ctl helpers ALSA: hda - Remove the use of set_fs() ALSA: hda - Fix a typo in comment ALSA: hda - Remove superfluous header inclusions ALSA: opl3: Kill unused set_fs() ALSA: emu10k1: Get rid of set_fs() usage ALSA: Enable build with m68k ASoC: atmel: Use IS_ENABLED() ALSA: pcm: Use a common helper for PCM state check and hwsync ALSA: pcm: Simplify forward/rewind codes ALSA: control: Simplify snd_ctl_elem_list() implementation ALSA: pcm: Remove set_fs() in PCM core code ALSA: info: Use kvzalloc() for a temporary write buffer ALSA: pcm: Fix negative appl_ptr handling in pcm-indirect helpers ALSA: mips: Deliver indirect-PCM transfer error ALSA: cs46xx: Deliver indirect-PCM transfer error ALSA: emu10k1: Deliver indirect-PCM transfer error ALSA: rme32: Deliver indirect-PCM transfer error staging: bcm2835-audio: Deliver indirect-PCM transfer error ALSA: pcm: Call ack() whenever appl_ptr is updated ALSA: pcm: Introduce copy_user, copy_kernel and fill_silence ops ALSA: dummy: Convert to new PCM copy ops ALSA: es1938: Convert to the new PCM copy ops ALSA: nm256: Convert to new PCM copy ops ALSA: korg1212: Convert to the new PCM ops ALSA: rme32: Convert to the new PCM copy ops ALSA: rme96: Convert to the new PCM ops ALSA: rme9652: Convert to the new PCM ops ALSA: hdsp: Convert to the new PCM ops ALSA: gus: Convert to the new PCM ops ALSA: sb: Convert to the new PCM ops ALSA: sh: Convert to the new PCM ops ASoC: blackfin: Convert to the new PCM ops [media] solo6x10: Convert to the new PCM ops ALSA: pcm: Drop the old copy and silence ops ALSA: pcm: Check PCM state by a common helper function ALSA: pcm: Shuffle codes ALSA: pcm: Call directly the common read/write helpers ALSA: pcm: More unification of PCM transfer codes ALSA: pcm: Unify read/write loop ALSA: pcm: Simplify snd_pcm_playback_silence() ALSA: pcm: Direct in-kernel read/write support usb: gadget: u_uac1: Kill set_fs() usage ALSA: pcm: Kill set_fs() in PCM OSS layer ALSA: pcm: Build OSS writev/readv helpers conditionally ALSA: doc: Update copy_user, copy_kernel and fill_silence PCM ops ALSA: timer: Improve user queue reallocation ALSA: timer: Wrap with spinlock for queue access ALSA: cs423x: Constify hw_constraints ALSA: es1688: Constify hw_constraints ALSA: es18xx: Constify hw_constraints ALSA: gus: Constify hw_constraints ALSA: sb: Constify hw_constraints ALSA: wss: Constify hw_constraints ALSA: parisc: Constify hw_constraints ALSA: ali5451: Constify hw_constraints ALSA: atiixp: Constify hw_constraints ALSA: au88x0: Constify hw_constraints ALSA: azt3328: Constify hw_constraints ALSA: bt87x: Constify hw_constraints ALSA: cmipci: Constify hw_constraints ALSA: cs46xx: Constify hw_constraints ALSA: emu10k1: Constify hw_constraints ALSA: fm801: Constify hw_constraints ALSA: ens137x: Constify hw_constraints ALSA: es1938: Constify hw_constraints ALSA: hda: Constify hw_constraints ALSA: ice1712: Constify hw_constraints ALSA: ice1724: Constify hw_constraints ALSA: intel8x0: Constify hw_constraints ALSA: nm256: Constify hw_constraints ALSA: rme32: Constify hw_constraints ALSA: rme96: Constify hw_constraints ALSA: hdsp: Constify hw_constraints ALSA: hdspm: Constify hw_constraints ALSA: rme9652: Constify hw_constraints ALSA: sonicvibes: Constify hw_constraints ALSA: via82xx: Constify hw_constraints ALSA: sparc: Constify hw_constraints ALSA: Make CONFIG_SND_OSSEMUL user-selectable ALSA: seq: Allow the tristate build of OSS emulation ALSA: seq: Reorganize kconfig and build ALSA: synth: Select snd-emux-synth explicitly ALSA: seq: Allow the modular sequencer registration ASoC: intel: byt: Constify hw_constraints ASoC: intel: skl: Constify hw_constraints ASoC: cs35l34: Constify hw_constraints ASoC: cs53l30: Constify hw_constraints ASoC: mediatek: Constify hw_constraints ASoC: samsung: Constify hw_constraints ALSA: pcm: Clean up SNDRV_PCM_IOCTL_PAUSE code ALSA: pcm: Apply power lock globally to common ioctls ALSA: pcm: Allow dropping stream directly after resume ALSA: pcm: Preprocess PAUSED or SUSPENDED stream before PREPARE ALSA: pcm: Use common PCM_RUNTIME_CHECK() for sanity checks ALSA: pcm: Skip ack callback without actual appl_ptr update ASoC: intel: bxt: Constify hw_constraints ASoC: intel: Use kvzalloc() for suspend buffers ALSA: pcm: Follow standard EXPORT_SYMBOL() declarations ALSA: seq: Follow standard EXPORT_SYMBOL() declarations ALSA: timer: Follow standard EXPORT_SYMBOL() declarations ALSA: core: Follow standard EXPORT_SYMBOL() declarations ALSA: hda - Add AZX_DRIVER_SKL for simplification ALSA: hda: Fix potential race at unregistration and unsol events ALSA: pcm: Fix possible inconsistent appl_ptr update via mmap ALSA: pcm: Add the explicit appl_ptr sync support ALSA: pcm: Add an ioctl to specify the supported protocol version ALSA: pcm: Disable only control mmap for explicit appl_ptr sync ALSA: Fix forgotten dependency fix for tristate OSS sequencer kconfig ALSA: hda - Skip card registration when no codec is found ALSA: hda - Bind with i915 component before codec binding ALSA: hda - Minor code refactoring for Intel HDMI codec parsers ASoC: rt5645: Add jack detection workaround for GPD Win ALSA: hda - Fix doubly initialization of i915 component ASoC: rt5645: Add quirk override by module option ALSA: hda - Fix unbalance of i915 module refcount Takashi Sakamoto (40): ASoC: codecs: msm8916: fix invalid cast to bool type ASoC: hisilicon: localize functions without external linkage ASoC: intel: atom: localize variable without external linkage ALSA: pcm: add const qualifier for read-only table for sampling rate ALSA: pcm: use helper function to refer parameter as read-only ALSA: pcm/oss: refer to parameters instead of copying to reduce usage of kernel stack ALSA: pcm: constify function local and read-only table ALSA: firewire: remove support for 16 bit PCM samples in playback substream ALSA: control: remove entry limitation for list operation ALSA: gus: remove unused local flag ALSA: sb: remove needless evaluation in implementation for copy callback ALSA: pcm: add local header file for snd-pcm module ALSA: firewire: process packets in 'struct snd_pcm_ops.ack' callback ALSA: fireface: constify ALSA specific operations ALSA: pcm: tracepoints for refining PCM parameters ALSA: pcm: enable parameter tracepoints only when CONFIG_SND_DEBUG is enabled ALSA: pcm: obsolete RULES_DEBUG local macro ALSA: firewire: arrange common PCM info/constraints for AMDTP engine applications ALSA: pcm: add a helper function to constrain mask-type parameters ALSA: pcm: add a helper function to constrain interval-type parameters ALSA: pcm: add a helper function to apply parameter rules ALSA: pcm: use goto statement instead of while statement to reduce indentation ALSA: pcm: remove function local variable with alternative evaluation ALSA: pcm: adaption of code formatting ALSA: pcm: use helper functions to check whether parameters are determined ALSA: pcm: add comment about application of rule to PCM parameters ALSA: pcm: use helper functions to refer parameters as constants ALSA: pcm: calculate non-mask/non-interval parameters always when possible ALSA: pcm: move fixup of info flag after selecting single parameters ALSA: pcm: localize snd_pcm_hw_params_choose() ALSA: pcm: add tracepoints for final selection process of hardware parameters ALSA: pcm: use friendly name for id of PCM substream in trace print ALSA: pcm: return error immediately for parameters handling ALSA: pcm: probe events when parameters are changed actually ALSA: pcm: unify codes to operate application-side position on PCM buffer ALSA: pcm: add 'applptr' event of tracepoint ALSA: pcm: use %s instead of %c for format of PCM buffer tracepoints ALSA: pcm: remove SNDRV_PCM_IOCTL1_INFO internal command ALSA: pcm: remove SNDRV_PCM_IOCTL1_GSTATE internal command ALSA: pcm: add a documentation for tracepoints Tomas Vilda (1): ASoC: tlv320dac31xx: Fix mistype in tlv320dac31xx codec Vijendar Mukunda (1): ASoC: dwc: Added a quirk DW_I2S_QUIRK_16BIT_IDX_OVERRIDE to dwc driver Vinod Koul (4): ASoC: Intel: Skylake: Add debugfs support ASoC: Intel: Skylake: Debugfs facility to dump module config ASoC: Intel: Skylake: explicitly add the headers sst-dsp.h ASoC: Intel: Skylake: Remove driver debugfs exit Vunny Sodhi (1): ASoC: Intel: Skylake: Add support to read firmware registers Wei Yongjun (1): ASoC: rt5665: make local symbol rt5665_i2c_driver static Wu Fengguang (1): ASoC: fix semicolon.cocci warnings olivier moysan (14): ASoC: stm32: Document STM32 I2S bindings ASoC: stm32: Add I2S driver ASoC: stm32: Add full duplex support to i2s ASoC: stm32: sai: fix DT example ASoC: stm32: sai: typo fixes ASoC: stm32: sai: remove spurious trace ASoC: stm32: sai: change stop sequence ASoC: stm32: sai: fix clock management ASoC: stm32: sai: manage master clock ASoC: stm32: add h7 support for sai ASoC: stm32: sai: add h7 support ASoC: stm32: change configuration flag ASoC: stm32: Add DT bindings for SPDIFRX interface ASoC: stm32: Add SPDIFRX support zhangjun (1): ASoC: rockchip: i2s: add other configurable formats --- .../bindings/display/bridge/adi,adv7511.txt | 8 + .../bindings/display/bridge/renesas,dw-hdmi.txt | 9 +- .../devicetree/bindings/sound/audio-graph-card.txt | 129 +++ .../bindings/sound/audio-graph-scu-card.txt | 122 +++ .../devicetree/bindings/sound/cs35l35.txt | 3 + .../devicetree/bindings/sound/nau8825.txt | 3 + .../devicetree/bindings/sound/renesas,rsnd.txt | 37 +- .../devicetree/bindings/sound/rockchip,pdm.txt | 39 + .../devicetree/bindings/sound/rockchip-spdif.txt | 2 + .../devicetree/bindings/sound/samsung,odroid.txt | 15 +- .../devicetree/bindings/sound/simple-scu-card.txt | 67 +- .../devicetree/bindings/sound/st,stm32-i2s.txt | 62 ++ .../devicetree/bindings/sound/st,stm32-sai.txt | 41 +- .../devicetree/bindings/sound/st,stm32-spdifrx.txt | 56 ++ .../devicetree/bindings/sound/sun4i-codec.txt | 11 +- .../bindings/sound/sun8i-codec-analog.txt | 1 + .../devicetree/bindings/sound/zte,zx-aud96p22.txt | 24 + Documentation/sound/designs/index.rst | 1 + Documentation/sound/designs/tracepoints.rst | 172 ++++ .../sound/kernel-api/writing-an-alsa-driver.rst | 111 ++- Documentation/sound/soc/dapm.rst | 18 + drivers/dma/dw/Kconfig | 7 +- drivers/dma/dw/core.c | 332 +------ drivers/dma/dw/regs.h | 50 +- drivers/gpu/drm/bridge/adv7511/adv7511_audio.c | 22 + .../gpu/drm/bridge/synopsys/dw-hdmi-i2s-audio.c | 21 + drivers/media/pci/solo6x10/solo6x10-g723.c | 32 +- drivers/of/base.c | 62 +- .../vc04_services/bcm2835-audio/bcm2835-pcm.c | 5 +- drivers/usb/gadget/function/u_uac1_legacy.c | 7 +- include/linux/dma/dw.h | 21 - include/linux/of_graph.h | 21 + include/sound/ak4113.h | 13 +- include/sound/ak4114.h | 13 +- include/sound/ak4117.h | 13 +- include/sound/core.h | 6 +- include/sound/cs35l35.h | 2 + include/sound/designware_i2s.h | 1 + include/sound/emux_synth.h | 8 +- include/sound/hdmi-codec.h | 9 + include/sound/mixer_oss.h | 2 +- include/sound/opl3.h | 8 +- include/sound/pcm-indirect.h | 10 +- include/sound/pcm.h | 144 +-- include/sound/rawmidi.h | 4 +- include/sound/rt5645.h | 6 +- include/sound/simple_card_utils.h | 43 +- include/sound/soc-dapm.h | 7 + include/sound/soc-topology.h | 5 + include/sound/soc.h | 3 + include/uapi/sound/asoc.h | 10 +- include/uapi/sound/asound.h | 4 +- include/uapi/sound/snd_sst_tokens.h | 8 +- sound/Kconfig | 6 +- sound/aoa/codecs/tas.c | 14 +- sound/aoa/fabrics/layout.c | 8 +- sound/atmel/Kconfig | 13 +- sound/atmel/Makefile | 2 - sound/atmel/abdac.c | 610 ------------ sound/atmel/ac97c.c | 451 ++------- sound/core/Kconfig | 59 +- sound/core/Makefile | 3 + sound/core/control.c | 70 +- sound/core/ctljack.c | 2 +- sound/core/info.c | 12 +- sound/core/info_oss.c | 1 - sound/core/init.c | 8 +- sound/core/isadma.c | 3 - sound/core/memalloc.c | 13 +- sound/core/memory.c | 2 - sound/core/misc.c | 1 - sound/core/oss/io.c | 4 +- sound/core/oss/mixer_oss.c | 3 +- sound/core/oss/pcm_oss.c | 101 +- sound/core/oss/pcm_plugin.c | 5 +- sound/core/oss/pcm_plugin.h | 10 +- sound/core/pcm.c | 37 +- sound/core/pcm_compat.c | 13 +- sound/core/pcm_drm_eld.c | 8 +- sound/core/pcm_lib.c | 668 +++++-------- sound/core/pcm_local.h | 50 + sound/core/pcm_memory.c | 6 - sound/core/pcm_misc.c | 14 +- sound/core/pcm_native.c | 1013 +++++++++++--------- sound/core/pcm_param_trace.h | 142 +++ sound/core/pcm_timer.c | 14 +- sound/core/pcm_trace.h | 50 +- sound/core/rawmidi.c | 4 +- sound/core/seq/Kconfig | 68 +- sound/core/seq/Makefile | 21 +- sound/core/seq/oss/Makefile | 2 +- sound/core/seq/seq_clientmgr.c | 8 - sound/core/seq/seq_lock.c | 1 - sound/core/seq/seq_memory.c | 2 - sound/core/seq/seq_midi_emul.c | 9 +- sound/core/seq/seq_midi_event.c | 21 +- sound/core/seq/seq_ports.c | 2 - sound/core/seq/seq_virmidi.c | 3 +- sound/core/{seq => }/seq_device.c | 0 sound/core/sound.c | 2 - sound/core/sound_oss.c | 3 - sound/core/timer.c | 125 ++- sound/drivers/Kconfig | 15 + sound/drivers/dummy.c | 20 +- sound/drivers/opl3/Makefile | 4 +- sound/drivers/opl3/opl3_lib.c | 2 +- sound/drivers/opl3/opl3_oss.c | 14 - sound/drivers/opl3/opl3_seq.c | 4 +- sound/drivers/opl3/opl3_voice.h | 5 +- sound/drivers/opl4/opl4_lib.c | 4 +- sound/drivers/opl4/opl4_local.h | 2 +- sound/drivers/pcsp/pcsp_lib.c | 2 +- sound/drivers/vx/vx_mixer.c | 24 +- sound/drivers/vx/vx_pcm.c | 4 +- sound/firewire/amdtp-am824.c | 71 +- sound/firewire/amdtp-am824.h | 6 +- sound/firewire/amdtp-stream.c | 38 + sound/firewire/amdtp-stream.h | 1 + sound/firewire/bebob/bebob_maudio.c | 8 +- sound/firewire/bebob/bebob_pcm.c | 41 +- sound/firewire/dice/dice-pcm.c | 44 +- sound/firewire/digi00x/amdtp-dot.c | 63 +- sound/firewire/digi00x/digi00x-pcm.c | 56 +- sound/firewire/digi00x/digi00x.h | 1 - sound/firewire/fireface/ff-midi.c | 22 +- sound/firewire/fireface/ff-pcm.c | 83 +- sound/firewire/fireworks/fireworks_pcm.c | 41 +- sound/firewire/motu/motu-pcm.c | 36 +- sound/firewire/oxfw/oxfw-pcm.c | 40 +- sound/firewire/tascam/amdtp-tascam.c | 62 +- sound/firewire/tascam/tascam-pcm.c | 58 +- sound/firewire/tascam/tascam.h | 1 - sound/hda/hdac_bus.c | 1 + sound/hda/hdac_device.c | 1 + sound/i2c/other/ak4113.c | 23 +- sound/i2c/other/ak4114.c | 23 +- sound/i2c/other/ak4117.c | 23 +- sound/isa/Kconfig | 8 + sound/isa/cmi8328.c | 2 +- sound/isa/cs423x/cs4236_lib.c | 4 +- sound/isa/es1688/es1688_lib.c | 4 +- sound/isa/es18xx.c | 8 +- sound/isa/gus/gus_main.c | 2 +- sound/isa/gus/gus_pcm.c | 122 ++- sound/isa/sb/emu8000.c | 2 +- sound/isa/sb/emu8000_callback.c | 6 +- sound/isa/sb/emu8000_pcm.c | 214 +++-- sound/isa/sb/sb16.c | 2 +- sound/isa/sb/sb16_csp.c | 4 +- sound/isa/sb/sb16_main.c | 2 +- sound/isa/sb/sb8_main.c | 6 +- sound/isa/sscape.c | 2 +- sound/isa/wss/wss_lib.c | 4 +- sound/mips/hal2.c | 38 +- sound/mips/sgio2audio.c | 14 +- sound/parisc/harmony.c | 6 +- sound/pci/Kconfig | 8 + sound/pci/ali5451/ali5451.c | 4 +- sound/pci/atiixp_modem.c | 4 +- sound/pci/au88x0/au88x0_pcm.c | 4 +- sound/pci/azt3328.c | 4 +- sound/pci/bt87x.c | 4 +- sound/pci/cmipci.c | 12 +- sound/pci/cs4281.c | 2 +- sound/pci/cs46xx/cs46xx_lib.c | 14 +- sound/pci/emu10k1/emu10k1.c | 2 +- sound/pci/emu10k1/emufx.c | 127 +-- sound/pci/emu10k1/emupcm.c | 12 +- sound/pci/ens1370.c | 16 +- sound/pci/es1938.c | 37 +- sound/pci/fm801.c | 8 +- sound/pci/hda/hda_codec.c | 251 +---- sound/pci/hda/hda_controller.c | 3 + sound/pci/hda/hda_controller.h | 6 +- sound/pci/hda/hda_generic.c | 46 +- sound/pci/hda/hda_intel.c | 112 ++- sound/pci/hda/hda_local.h | 61 -- sound/pci/hda/hda_sysfs.c | 2 +- sound/pci/hda/patch_hdmi.c | 104 +- sound/pci/hda/patch_realtek.c | 281 +++++- sound/pci/hda/patch_si3054.c | 4 +- sound/pci/ice1712/ice1712.c | 10 +- sound/pci/ice1712/ice1712.h | 2 +- sound/pci/ice1712/ice1724.c | 10 +- sound/pci/ice1712/juli.c | 6 +- sound/pci/ice1712/maya44.c | 4 +- sound/pci/ice1712/quartet.c | 6 +- sound/pci/intel8x0.c | 12 +- sound/pci/intel8x0m.c | 4 +- sound/pci/korg1212/korg1212.c | 112 ++- sound/pci/mixart/mixart_mixer.c | 6 +- sound/pci/nm256/nm256.c | 61 +- sound/pci/rme32.c | 80 +- sound/pci/rme96.c | 74 +- sound/pci/rme9652/hdsp.c | 75 +- sound/pci/rme9652/hdspm.c | 4 +- sound/pci/rme9652/rme9652.c | 75 +- sound/pci/sonicvibes.c | 4 +- sound/pci/via82xx.c | 4 +- sound/pci/via82xx_modem.c | 4 +- sound/pci/vx222/vx222.c | 4 +- sound/pci/vx222/vx222.h | 2 + sound/pci/vx222/vx222_ops.c | 26 +- sound/pcmcia/vx/vxp_mixer.c | 14 +- sound/pcmcia/vx/vxp_ops.c | 28 +- sound/pcmcia/vx/vxpocket.c | 4 +- sound/pcmcia/vx/vxpocket.h | 2 + sound/ppc/awacs.c | 4 +- sound/ppc/beep.c | 2 +- sound/ppc/tumbler.c | 8 +- sound/sh/aica.c | 4 +- sound/sh/sh_dac_audio.c | 54 +- sound/soc/atmel/atmel-pcm.h | 6 +- sound/soc/atmel/tse850-pcm5142.c | 4 +- sound/soc/blackfin/bf5xx-ac97-pcm.c | 27 +- sound/soc/blackfin/bf5xx-i2s-pcm.c | 36 +- sound/soc/codecs/Kconfig | 10 + sound/soc/codecs/Makefile | 4 + sound/soc/codecs/ak4613.c | 95 +- sound/soc/codecs/ak4642.c | 4 +- sound/soc/codecs/cs35l34.c | 4 +- sound/soc/codecs/cs35l35.c | 94 +- sound/soc/codecs/cs35l35.h | 6 + sound/soc/codecs/cs4271.c | 2 - sound/soc/codecs/cs53l30.c | 2 +- sound/soc/codecs/da7213.c | 37 +- sound/soc/codecs/da7218.c | 2 +- sound/soc/codecs/da7219-aad.c | 31 +- sound/soc/codecs/da7219.c | 53 +- sound/soc/codecs/da7219.h | 5 +- sound/soc/codecs/es8316.c | 637 ++++++++++++ sound/soc/codecs/es8316.h | 129 +++ sound/soc/codecs/hdmi-codec.c | 92 +- sound/soc/codecs/max9867.c | 2 +- sound/soc/codecs/msm8916-wcd-analog.c | 6 +- sound/soc/codecs/nau8824.c | 52 + sound/soc/codecs/nau8824.h | 12 + sound/soc/codecs/nau8825.c | 76 +- sound/soc/codecs/nau8825.h | 1 + sound/soc/codecs/rt5514.c | 37 +- sound/soc/codecs/rt5514.h | 6 + sound/soc/codecs/rt5645.c | 97 +- sound/soc/codecs/rt5651.c | 44 +- sound/soc/codecs/rt5663.c | 4 +- sound/soc/codecs/rt5663.h | 4 + sound/soc/codecs/rt5665.c | 158 +-- sound/soc/codecs/rt5670.c | 25 +- sound/soc/codecs/rt5677.c | 32 +- sound/soc/codecs/sgtl5000.c | 89 ++ sound/soc/codecs/tlv320aic31xx.c | 2 +- sound/soc/codecs/wm_adsp.c | 6 +- sound/soc/codecs/zx_aud96p22.c | 403 ++++++++ sound/soc/davinci/davinci-mcasp.c | 12 +- sound/soc/dwc/dwc-i2s.c | 6 + sound/soc/fsl/mpc5200_dma.c | 1 - sound/soc/generic/Kconfig | 17 + sound/soc/generic/Makefile | 4 + sound/soc/generic/audio-graph-card.c | 338 +++++++ sound/soc/generic/audio-graph-scu-card.c | 411 ++++++++ sound/soc/generic/simple-card-utils.c | 198 +++- sound/soc/generic/simple-card.c | 69 +- sound/soc/generic/simple-scu-card.c | 55 +- sound/soc/hisilicon/hi6210-i2s.c | 11 +- sound/soc/intel/Kconfig | 42 + sound/soc/intel/atom/sst-mfld-platform-pcm.c | 2 +- sound/soc/intel/atom/sst/sst.c | 59 +- sound/soc/intel/atom/sst/sst.h | 30 +- sound/soc/intel/atom/sst/sst_acpi.c | 232 +++-- sound/soc/intel/boards/Makefile | 6 + sound/soc/intel/boards/bdw-rt5677.c | 26 + sound/soc/intel/boards/bxt_da7219_max98357a.c | 26 +- sound/soc/intel/boards/bxt_rt298.c | 19 +- sound/soc/intel/boards/byt-max98090.c | 24 +- sound/soc/intel/boards/bytcht_es8316.c | 300 ++++++ sound/soc/intel/boards/bytcht_nocodec.c | 4 +- sound/soc/intel/boards/bytcr_rt5651.c | 4 +- sound/soc/intel/boards/cht_bsw_max98090_ti.c | 12 - sound/soc/intel/boards/cht_bsw_rt5672.c | 89 +- sound/soc/intel/boards/kbl_rt5663_max98927.c | 687 +++++++++++++ .../soc/intel/boards/kbl_rt5663_rt5514_max98927.c | 640 +++++++++++++ sound/soc/intel/boards/skl_nau88l25_max98357a.c | 16 +- sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 16 +- sound/soc/intel/boards/skl_rt286.c | 30 +- sound/soc/intel/common/sst-acpi.h | 23 + sound/soc/intel/common/sst-dsp-priv.h | 4 + sound/soc/intel/common/sst-match-acpi.c | 47 +- sound/soc/intel/skylake/Makefile | 4 + sound/soc/intel/skylake/bxt-sst.c | 4 + sound/soc/intel/skylake/skl-debug.c | 261 +++++ sound/soc/intel/skylake/skl-messages.c | 31 +- sound/soc/intel/skylake/skl-pcm.c | 6 +- sound/soc/intel/skylake/skl-sst.c | 5 + sound/soc/intel/skylake/skl-topology.c | 187 +++- sound/soc/intel/skylake/skl-topology.h | 21 + sound/soc/intel/skylake/skl-tplg-interface.h | 2 + sound/soc/intel/skylake/skl.c | 114 ++- sound/soc/intel/skylake/skl.h | 23 + sound/soc/mediatek/mt2701/mt2701-cs42448.c | 2 +- sound/soc/omap/mcbsp.c | 12 +- sound/soc/pxa/Kconfig | 2 +- sound/soc/rockchip/Kconfig | 9 + sound/soc/rockchip/Makefile | 2 + sound/soc/rockchip/rockchip_i2s.c | 41 +- sound/soc/rockchip/rockchip_i2s.h | 3 + sound/soc/rockchip/rockchip_pdm.c | 516 ++++++++++ sound/soc/rockchip/rockchip_pdm.h | 83 ++ sound/soc/rockchip/rockchip_spdif.c | 4 + sound/soc/samsung/s3c24xx_uda134x.c | 2 +- sound/soc/sh/Kconfig | 2 +- sound/soc/sh/fsi.c | 13 +- sound/soc/sh/rcar/adg.c | 61 +- sound/soc/sh/rcar/cmd.c | 7 +- sound/soc/sh/rcar/core.c | 494 +++++++--- sound/soc/sh/rcar/ctu.c | 6 + sound/soc/sh/rcar/dma.c | 32 +- sound/soc/sh/rcar/dvc.c | 12 +- sound/soc/sh/rcar/gen.c | 2 + sound/soc/sh/rcar/rsnd.h | 68 +- sound/soc/sh/rcar/src.c | 20 +- sound/soc/sh/rcar/ssi.c | 241 ++++- sound/soc/sh/rcar/ssiu.c | 37 + sound/soc/sh/siu_dai.c | 4 +- sound/soc/soc-compress.c | 6 +- sound/soc/soc-core.c | 86 +- sound/soc/soc-pcm.c | 5 +- sound/soc/soc-topology.c | 37 +- sound/soc/stm/Kconfig | 29 +- sound/soc/stm/Makefile | 12 +- sound/soc/stm/stm32_i2s.c | 946 ++++++++++++++++++ sound/soc/stm/stm32_sai.c | 15 +- sound/soc/stm/stm32_sai.h | 73 +- sound/soc/stm/stm32_sai_sub.c | 143 ++- sound/soc/stm/stm32_spdifrx.c | 998 +++++++++++++++++++ sound/soc/sunxi/sun4i-codec.c | 63 ++ sound/soc/sunxi/sun8i-codec-analog.c | 145 ++- sound/soc/zte/zx-i2s.c | 15 +- sound/sparc/cs4231.c | 4 +- sound/synth/Kconfig | 2 + sound/synth/emux/Makefile | 8 +- sound/synth/emux/emux.c | 6 +- sound/synth/emux/emux_effect.c | 2 +- sound/synth/emux/emux_oss.c | 4 - sound/usb/Kconfig | 2 +- sound/usb/line6/driver.h | 2 + sound/usb/line6/podhd.c | 27 +- sound/usb/mixer_quirks.c | 2 +- sound/usb/usx2y/us122l.c | 36 +- sound/usb/usx2y/us122l.h | 2 + sound/x86/intel_hdmi_audio.c | 4 +- 349 files changed, 13826 insertions(+), 5620 deletions(-) create mode 100644 Documentation/devicetree/bindings/sound/audio-graph-card.txt create mode 100644 Documentation/devicetree/bindings/sound/audio-graph-scu-card.txt create mode 100644 Documentation/devicetree/bindings/sound/rockchip,pdm.txt create mode 100644 Documentation/devicetree/bindings/sound/st,stm32-i2s.txt create mode 100644 Documentation/devicetree/bindings/sound/st,stm32-spdifrx.txt create mode 100644 Documentation/devicetree/bindings/sound/zte,zx-aud96p22.txt create mode 100644 Documentation/sound/designs/tracepoints.rst delete mode 100644 sound/atmel/abdac.c create mode 100644 sound/core/pcm_local.h create mode 100644 sound/core/pcm_param_trace.h rename sound/core/{seq => }/seq_device.c (100%) create mode 100644 sound/soc/codecs/es8316.c create mode 100644 sound/soc/codecs/es8316.h create mode 100644 sound/soc/codecs/zx_aud96p22.c create mode 100644 sound/soc/generic/audio-graph-card.c create mode 100644 sound/soc/generic/audio-graph-scu-card.c create mode 100644 sound/soc/intel/boards/bytcht_es8316.c create mode 100644 sound/soc/intel/boards/kbl_rt5663_max98927.c create mode 100644 sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c create mode 100644 sound/soc/intel/skylake/skl-debug.c create mode 100644 sound/soc/rockchip/rockchip_pdm.c create mode 100644 sound/soc/rockchip/rockchip_pdm.h create mode 100644 sound/soc/stm/stm32_i2s.c create mode 100644 sound/soc/stm/stm32_spdifrx.c create mode 100644 sound/synth/Kconfig