[SRU][OEM-5.6][PATCH] Support Intel Soundwire in 5.6-OEM Kernel 20.04

Hui Wang hui.wang at canonical.com
Fri Apr 17 02:27:44 UTC 2020

BugLink: https://bugs.launchpad.net/bugs/1872583

We have 2 Dell laptop modles which have soundwire codec on them, the
audio can't work with the current kernel.

Intel github repo already supported the soundwire codec on those 2
machines, just backport the needed patches.

[Test Case]
Boot the kenrel on those 2 Dell soundwire machines, the audio could
work. Boot the kernel on non-soundwire machines, the audio still work
as before.

[Regression Risk]
Low, I have tested this patch Lenovo / Dell machines, they all worked well.

The following changes since commit 14d69c935cb92b0b086e7870883ad10d1409ae9b:

  soundwire: intel: rename res field as link_res (2020-04-15 19:59:33 +0800)

are available in the Git repository at:


for you to fetch changes up to 3211dae49bc421a8ae4d316e2def4e65590cef94:

  UBUNTU: [Config]: enable intel soundwire audio (2020-04-15 19:59:53 +0800)

Amadeusz Sławiński (1):
      ASoC: topology: Perform component check upfront

Amery Song (2):
      ASoC: SOF: Intel: hda: remove unnecessary ROM IPC filter function
      ASoC: SOF: Intel: remove unnecessary waitq before loading firmware

Bard Liao (27):
      soundwire: stream: only prepare stream when it is configured.
      soundwire: register master device driver
      soundwire: intel/cadence: merge Soundwire interrupt handlers/threads
      soundwire: intel: reinitialize IP+DSP in .prepare(), but only when resuming
      Soundwire: set is_slave only if the slave is attached
      soundwire: test is_slave before list_for_each_entry(slave, &bus->slaves, node)
      Soundwire: intel_init: add sdw adr info to sdw_intel_ctx
      soundwire: dynamic_allocation: set grp_ctrl_valid false
      Soundwire: generic_bandwidth_allocation: don't free params if it is null
      Soundwire: bus: return ret in error
      ALSA: HDA: intel-dsp-config: add DMI info for Dell laptop
      ASoC: SOF: Intel: hda: merge IPC, stream and SoundWire interrupt handlers
      ASoC: SOF: topology: connect dai widget to all cpu-dais
      ASoC: SOF: hda-dai: add stream capability
      ASoC: SOF: intel: hda-dai: Remove stream name from dai driver
      ASoC: SOF: topology: fix: handle DAI widget connections properly with multiple CPU DAI's
      ASoC: intel: sdw_rt711_rt1308_rt715: set different long name for mono/stereo rt1308
      ASoC: intel: sdw_rt711_rt1308_rt715: add components string
      ASoC: intel: sdw_rt711_rt1308_rt715: reset amp_num before creating dai links
      ASoC: intel: sdw_rt700: add headset_init
      ASoC: intel: sof_sdw: remove SOF_SDW_NO_AGGREGATION from Dell laptops
      ASoC: SOF: align sof_ipc_dai_alh_params with FW
      ASoC: SOF: intel: set rate and channels params to ALH config
      ASoC: intel: sof_sdw: init all aggregated codecs
      ALSA: HDA: intel-dsp-config: add DMI info for Dell laptop
      ASoC: Return error if the function does not support multi-cpu
      ASoC: pcm: check if cpu-dai supports a given stream

Bard liao (2):
      soundwire: intel_init: Replace list_for_each_entry by list_for_each
      soundwire: intel_init: check return value of md->driver->probe

Cezary Rojewski (11):
      ASoC: SOF: Intel: Account for compress streams when servicing IRQs
      ASoC: SOF: Implement Probe IPC API
      ASoC: SOF: Generic probe compress operations
      ASoC: SOF: Intel: Expose SDnFMT helpers
      ASoC: SOF: Intel: Probe compress operations
      ASoC: SOF: Provide probe debugfs support
      ASoC: SOF: Intel: Add Probe compress CPU DAIs
      ASoC: SOF: Fix probe point getter
      ASoC: SOF: Intel: Fix stream cleanup on hw free
      ALSA: core: Implement compress page allocation and free routines
      ALSA: core: Expand DMA buffer information

Curtis Malainey (1):
      ASoC: Intel: Make glk+rt5682 echo ref dynamic

Daniel Baluta (2):
      ASoC: SOF: imx: Add i.MX8M HW support
      ASoC: SOF: Add i.MX8MP device descriptor

Guennadi Liakhovetski (9):
      ASoC: codecs: hdac_hdmi: (cosmetic) remove redundant variable initialisations
      ASoC: SOF: (cosmetic) use for_each_pcm_streams() in sof_dai_load()
      ASoC: SOF: fix uninitialised "work" with VirtIO
      ASoC: Intel: (cosmetic) simplify structure member access
      ASoC: Intel: sdw_rt700: (cosmetic) simplify structure member access
      ASoC: Intel: sdw_rt711_i2s_rt1308: (cosmetic) simplify structure member access
      ASoC: Intel: sdw_rt711_rt1308_rt715: (cosmetic) simplify structure member access
      ASoC: (cosmetic) simplify dpcm_prune_paths()
      ASoC: export DPCM runtime update functions

Hui Wang (1):
      UBUNTU: [Config]: enable intel soundwire audio

Jaska Uimonen (1):
      ASoC: SOF: ipc: check ipc return value before data copy

Jerome Brunet (4):
      ASoC: core: allow a dt node to provide several components
      ASoC: core: ensure component names are unique
      ASoC: fix card registration regression.
      ASoC: dpcm: remove confusing trace in dpcm_get_be()

Kai Vehmanen (11):
      ASoC: SOF: Intel: hda: remove SND_SOC_SOF_HDA_COMMON_HDMI_CODEC
      ASoC: SOF: Intel: hda: allow operation without i915 gfx
      ASoC: SOF: Intel: hda: do not leave clock gating off upon error
      ASoC: SOF: Intel: hda: call codec wake at chip init
      ASoC: Intel: boards: drop reverse deps for SND_HDA_CODEC_HDMI
      ASoC: Intel: sof_pcm512x: drop reverse deps for SND_HDA_CODEC_HDMI
      ASoC: Intel: sdw_rt700: drop reverse deps for SND_HDA_CODEC_HDMI
      ASoC: intel: sdw_rt711_rt1308_rt715: drop reverse deps for SND_HDA_CODEC_HDMI
      ASoC: Intel: sof_pcm512x: make HDMI optional for all platforms
      ASoC: intel/skl/hda - add no-HDMI cases to generic HDA driver
      ASoC: soc-pcm: fix state tracking error in snd_soc_component_open/close()

Karol Trzcinski (8):
      ASoC: SOF: Make sof_ipc_ext_data enum more rigid
      ASoC: SOF: Mark get_ext* function ext_hdr arguments as const
      ASoC: SOF: Introduce offset in firmware data
      ASoC: SOF: Introduce extended manifest
      ASoC: SOF: ext_manifest: parse firmware version
      ASoC: SOF: ext_manifest: parse windows
      ASoC: SOF: ext_manifest: parse compiler version

Keyon Jie (2):
      ASoC: SOF: pcm: skip DMA buffer pre-allocation
      ASoC: SOF: Intel: hda-loader: clear the IPC ack bit after FW_PURGE done

Kuninori Morimoto (54):
      ASoC: soundwaire: qcom: use for_each_rtd_codec_dai() macro
      ASoC: qcom: apq8016_sbc: use for_each_rtd_codec_dai() macro
      ASoC: qcom: sdm845: use for_each_rtd_codec_dai() macro
      ASoC: qcom: use for_each_rtd_codecs/cpus_dai() macro
      ASoC: sof: sof-audio: use for_each_pcm_streams() macro
      ASoC: intel: cml_rt1011_rt5682: use for_each_rtd_codec_dai() macro
      ASoC: intel: kbl_da7219_max98927: use for_each_rtd_codec_dai() macro
      ASoC: Intel: use for_each_rtd_codecs/cpus_dai() macro
      ASoC: soc.h: add for_each_rtd_codecs/cpus_dai() macro
      ASoC: soc-dapm: add for_each_card_dapms() macro
      ASoC: soc-dapm: add for_each_card_widgets() macro
      ASoC: soc-core: Merge CPU/Codec DAIs
      ASoC: soc-pcm: call snd_soc_dai_startup()/shutdown() once
      ASoC: soc-pcm: add snd_soc_dai_get_pcm_stream()
      ALSA: pcm.h: add for_each_pcm_streams()
      ASoC: soc-pcm: add snd_soc_runtime_action()
      ASoC: soc-pcm: adjustment for DAI member 0 reset
      ASoC: soc-pcm: add for_each_dapm_widgets() macro
      ASoC: soc-pcm: don't use bit-OR'ed error
      ASoC: soc-pcm: call snd_soc_component_open/close() once
      ASoC: soc-pcm: move soc_pcm_close() next to soc_pcm_open()
      ASoC: soc-pcm: tidyup soc_pcm_open() order
      ASoC: soc-pcm: move dai_get_widget()
      ASoC: soc-pcm: use dai_get_widget() at dpcm_get_be()
      ASoC: soc-pcm: use dai_get_widget() at dpcm_end_walk_at_be()
      ASoC: soc-pcm: use dpcm_get_be() at dpcm_end_walk_at_be()
      ASoC: soc-pcm: remove soc_dpcm_be_digital_mute()
      ASoC: soc-pcm: remove snd_soc_dpcm_be_get/set_state()
      ASoC: soc-pcm: add snd_soc_dpcm_can_be() and remove duplicate code
      ASoC: soc-pcm: use goto and remove multi return
      ASoC: soc-pcm: merge playback/cature_active into stream_active
      ASoC: soc-core: use for_each_pcm_streams() macro
      ASoC: soc-pcm: use for_each_pcm_streams() macro
      ASoC: soc-generic-dmaengine-pcm: use for_each_pcm_streams() macro
      ASoC: soc-pcm: cleanup soc_pcm_apply_msb()
      ASoC: soc-pcm: add snd_soc_dai_get_widget()
      ASoC: soc-pcm: merge dpcm_run_new/old_update() into dpcm_fe_runtime_update()
      ASoC: soc-pcm: move dpcm_path_put() to soc-pcm.c
      ASoC: soc-pcm: move CONFIG_DEBUG_FS functions to top side
      ASoC: soc-pcm: add dpcm_create/remove_debugfs_state()
      ASoC: soc-dapm: don't use rtd->cpu_dai on for_each_rtd_cpu_dai()
      ASoC: soc-pcm: use defined stream
      ASoC: soc-pcm: remove duplicate be check from dpcm_add_paths()
      ASoC: soc-pcm: move dpcm_fe_dai_close()
      ASoC: soc-pcm: add dpcm_fe_dai_cleanup()
      ASoC: soc-pcm: use snd_soc_dai_get_pcm_stream() at dpcm_set_fe_runtime()
      ASoC: soc-pcm: tidyup dulicate handing at dpcm_fe_dai_startup()
      ASoC: soc-pcm: check DAI's activity more simply
      ASoC: soc-pcm: Do Digital Mute for both CPU/Codec in same timing.
      ASoC: soc: use for_each_rtd_codecs/cpus_dai() macro
      ASoC: soc-core: Merge for_each_rtd_cpu/codec_dais()
      ASoC: soc-dapm: Merge for_each_rtd_cpu/codec_dais()
      ASoC: soc-pcm: Merge for_each_rtd_cpu/codec_dais()
      ASoC: soc-core: Merge CPU/Codec for soc_dai_pcm_new()

Naveen Manohar (2):
      ASoC: Intel: sof_sdw: Add Volteer support with RT5682 SNDW helper function
      ASoC: Intel: common: add match table for TGL RT5682 SoundWire driver

Pan Xiuli (1):
      ASoC: SOF: Intel: ignore set power state for non-support platforms

Paul Olaru (3):
      sound: soc: sof: Rename i.MX8 platform to i.MX8X
      sound: soc: sof: Add ops for i.MX8QM
      sound: soc: sof: imx: Add i.MX8QM device descriptor

Pierre-Louis Bossart (137):
      soundwire: intel: free all resources on hw_free()
      soundwire: stream: update state machine and add state checks
      soundwire: bus: fix race condition with probe_complete signaling
      soundwire: bus: fix race condition with enumeration_complete signaling
      soundwire: bus: fix race condition with initialization_complete signaling
      soundwire: bus: add PM/no-PM versions of read/write functions
      soundwire: bus: write Slave Device Number without runtime_pm
      soundwire: bus: add helper to clear Slave status to UNATTACHED
      soundwire: bus: disable pm_runtime in sdw_slave_delete
      soundwire: bus: don't treat CMD_IGNORED as error on ClockStop
      soundwire: add support for sdw_slave_type
      soundwire: slave: move uevent handling to slave device level
      soundwire: add initial definitions for sdw_master_device
      soundwire: intel: remove platform devices and use 'Master Devices' instead
      soundwire: intel_init: add implementation of sdw_intel_enable_irq()
      soundwire: intel_init: use EXPORT_SYMBOL_NS
      soundwire: intel: use EXPORT_SYMBOL_NS
      soundwire: intel: add helpers for link power down and shim wake
      soundwire: intel: Add basic power management support
      soundwire: intel: add pm_runtime support
      soundwire: intel: reset pm_runtime status during system resume
      soundwire: intel: fix race condition on system resume
      soundwire: intel: call helper to reset Slave states on resume
      soundwire: intel: disable pm_runtime when removing a master
      soundwire: intel: pm_runtime idle scheduling
      soundwire: intel: add mutex to prevent concurrent access to SHIM registers
      soundwire: intel_init: add support for clock_stop quirks
      soundwire: intel: add CLK_STOP_TEARDOWN for pm_runtime suspend
      soundwire: intel: add CLK_STOP_NOT_ALLOWED support
      soundwire: intel_init: handle power rail dependencies for clock stop mode
      soundwire: intel: support clock_stop mode without quirks
      soundwire: cadence_master: fix usage of CMD_ACCEPT
      soundwire: cadence_master: enter clock stop if there are no Slaves present
      soundwire: cadence: disable exit_clock_stop when doing a bus_reset
      soundwire: intel: don't program Sync registers in clock stop mode
      soundwire: Add generic bandwidth allocation algorithm
      soundwire: intel: add interface to process wake events
      soundwire: add helper macros for devID fields
      soundwire: intel: follow documentation sequences for shim/IO controls
      soundwire: intel: disable shim wake on suspend
      soundwire: cadence_master: mask Slave interrupt before stopping clock
      soundwire: intel: use component suspend instead of dai suspend
      soundwire: revert to platform devices
      soundwire: stream: enable hw_sync as needed by hardware
      soundwire: stream: only change state if needed
      soundwire: stream: add helper to startup/shutdown streams
      soundwire: stream: do not update parameters during DISABLED-PREPARED transition
      soundwire: intel: fix memory leak with stream name
      soundwire: cadence: merge routines to clear/set bits
      soundwire: cadence: s/update_config/config_update
      soundwire: cadence: handle error cases with CONFIG_UPDATE
      soundwire: cadence: move clock/SSP related inits to dedicated function
      soundwire: cadence: make SSP interval programmable
      soundwire: cadence: reorder MCP_CONFIG settings
      soundwire: cadence: enable NORMAL operation in cdns_init()
      soundwire: cadence: remove PREQ_DELAY assignment
      soundwire: cadence: remove automatic command retries
      soundwire: cadence: remove reset support from clock_restart
      soundwire: cadence: commit changes in the exit_reset() sequence
      soundwire: cadence: multi-link support
      soundwire: intel: ignore software command retries
      soundwire: intel: reuse code for wait loops to set/clear bits
      soundwire: intel: add definitions for shim_mask
      soundwire: intel: follow the recommended hardware flow to set SHIM_SYNC
      soundwire: intel: introduce a helper to arm link synchronization
      soundwire: intel: introduce helper for link synchronization
      soundwire: intel: add multi-link support
      soundwire: intel: add missing support for all clock stop modes
      soundwire: intel: add multi-link hw_synchronization information
      soundwire: intel: add dynamic debug trace for clock-stop invalid configs
      soundwire: intel: disable pm_runtime before unregistering platform device
      soundwire: intel: pass link_mask information to each master
      soundwire: intel: don't manage link power individually
      soundwire: cadence: remove useless prototypes
      soundwire: intel: implement get_sdw_stream() operations
      soundwire: intel: remove stream allocation/free
      soundwire: cadence: allocate/free dma_data in set_sdw_stream
      soundwire: intel: don't free dma_data in DAI shutdown
      soundwire: intel: disable pm_runtime before unregistering master device
      soundwire: bus: align with upstream
      soundwire: cadence: fix clock_stop() return value
      soundwire: intel: remove unnecessary dev_err logs
      soundwire: cadence: remove dev_dgb log in sdw_cadence_is_clock_stop()
      soundwire: cadence: simplify code for sdw_cdns_clock_stop()
      soundwire: stream: move to for_each_rtd_dais
      ASoC: rt1308-sdw: add set_tdm_slot() support
      ASoC: rt1308-sdw: use slot and rx_mask to configure stream
      ASoC: SOF: Intel: hda-dsp: fix cross-compilation issue
      ASoC: SOF: Intel: hda-dsp: fix double-return
      ASoC: SOF: Intel: cnl: remove unused variable
      ASoC: SOF: Intel: add SoundWire configuration interface
      ASoC: SOF: Intel: hda: add SoundWire stream config/free callbacks
      ASoC: SOF: Intel: hda: initial SoundWire machine driver autodetect
      ASoC: SOF: Intel: hda: disable SoundWire interrupts on suspend
      ASoC: SOF: Intel: hda: specify behavior for clock stop
      ASoC: SOF: Intel: hda: add parameter to control SoundWire clock stop quirks
      ASoC: SOF: Intel: hda: import SOUNDWIRE_INIT namespace
      ASoC: SOF: Intel: add build support for SoundWire
      ASoC: SOF: Intel: hda-ctrl: add reset cycle before parsing capabilities
      ASoC: SOF: Intel: hda: use SDW macros to extract devID information
      ASoC: SOF: core: free trace on errors
      ASoC: SOF: core: release resources on errors in probe_continue
      ASoC: SOF: imx: fix compilation with allyesconfig
      ASoC: SOF: imx: fix undefined reference issue
      ASoC: SOF: Intel: hda: add indirection due to soc-acpi header change
      ASoC: Intel: Kconfig: filter out not-recommended features
      fixup! ASoC: SOF: Introduce extended manifest
      ASoC: SOF: Intel: add PCI ID for CometLake-S
      ASoC: Intel: BXT: switch pcm512x based boards to sof_pcm512x
      ASoC: Intel: CHT: add support for pcm512x boards
      ASoC: Intel: boards: add sdw_rt700 machine driver
      ASoC: Intel: boards: add sdw_rt711_rt1308_rt715 3-in-1 config support
      ASoC: Intel: boards: SoundWire rt711 + I2S RT1308 configuration
      ASoC: Intel: sof_pcm512x: add support for SOF platforms with pcm512x
      ASoC: Intel: sdw_rt700: remove support for HDAC_HDMI
      ASoC: Intel: sdw_rt711_rt1308_rt715: use correct Kconfig to disable HDMI support
      ASoC: Intel: remove sdw_rt711_i2s_rt1308 machine driver
      ASoC: Intel: sdw_rt711_rt1308_rt715: add I2C and RT1308 dependency
      ASoC: soc-acpi: expand description of _ADR-based devices
      ASoC: Intel: soc-acpi: fix ICL 3-in-1 default table
      ASoC: Intel: sdw_rt700: handle SoundWire stream creation in dailink
      ASoC: Intel: sdw_rt711_rt1308_rt715: handle SoundWire stream creation in dailink
      ASoC: Intel: sdw_711_rt1308_rt715: add indirection to access _ADR information
      ASoC: Intel: don't use GFP_ATOMIC for machine driver contexts
      ASoC: Intel: skl_nau88l25_ssm4567: disable route checks
      ASoC: Intel: sdw_rt711_1308_715: set tdm slots for amplifiers
      ASoC: Intel: transition to generic SoundWire machine driver
      ASoC: Intel: boards: sof_sdw: redefined MONO_SPK quirk
      ASoC: Intel: sof_sdw: only init DMICs once
      ASoC: Intel: sof_sdw: use PRODUCT_SKU instead of PRODUCT_NAME
      ASoC: Intel: sof_sdw: add SKU for validation device
      ASoC: Intel: soc-acpi: transition to generic SoundWire machine driver
      ASoC: Intel: soc-acpi: fix CML RVP
      ASoC: SOF: IPC: dai-intel: move ALH declarations in header file
      soundwire: bus: update multi-link definition with hw sync details
      ASoC: soc-core: disable route checks for legacy devices
      ASoC: soc-dai: add get_sdw_stream() callback

Rander Wang (24):
      soundwire: intel: add prepare support in sdw dai driver
      soundwire: intel: add trigger support in sdw dai driver
      soundwire: intel: add sdw_stream_setup helper for .startup callback
      soundwire: stream: fix support for multiple Slaves on the same link
      soundwire: stream: don't program ports when a stream that has not been prepared
      soundwire: bus: fix io error when processing alert event
      soundwire: bus: add clock stop helpers
      soundwire: cadence_master: simplifiy cdns_init()
      soundwire: cadence_master: add clock_stop/restart routines
      soundwire: intel: add CLK_STOP_BUS_RESET support
      soundwire: intel: add wake interrupt support
      soundwire: cadence_master: add interface to check clock status
      soundwire: intel: Fix a io timeout issue if SDW_INTEL_CLK_STOP_BUS_RESET is set
      soundwire: intel: refine runtime pm for SDW_INTEL_CLK_STOP_BUS_RESET
      soundwire: intel: add delay between hardware states in transition
      soundwire: cadence_master: fix a io timeout issue in S3 test
      soundwire: intel: refine function for wakeen event processing
      soundwire: intel: use a single module
      soundwire: cadence: fix a io timeout issue in S3 test
      ASoC: SOF: Intel: hda: add WAKEEN interrupt support for SoundWire
      Asoc: SOF: Intel: hda: check SoundWire wakeen interrupt in irq thread
      ASoC: Intel: common: tgl: rename topology name in ACPI match table
      ASoC: intel: sdw_711_1038_715: prepare for rework
      ASoC: intel: rt711_rt1308_rt715: create dai link dynamically

Ranjani Sridharan (18):
      ASoC: SOF: pm: Unify suspend/resume routines
      ASoC: SOF: Do not reset hw_params for streams that ignored suspend
      ASoC: SOF: Add system_suspend_target field to struct snd_sof_dev
      ASoC: SOF: pm: Introduce DSP power states
      ASoC: SOF: Move DSP power state transitions to platform-specific ops
      ASoC: SOF: audio: Add helper to check if only D0i3 streams are active
      ASoC: SOF: Intel: hda: Amend the DSP state transition diagram
      ASoC: SOF: Intel: hda: Allow trace DMA in S0 when DSP is in D0I3 for debug
      ASoC: SOF: Intel: hda: add debug log when the DSP power state changes
      ASoC: SOF: Intel: hda: amend return value when PM_GATE IPC fails
      ASoC: SOF: Intel: hda: resume DSP to D0I0 before taking the tx_mutex
      ASoC: SOF: Intel: hda: use set_power_state op
      ASoC: SOF: Intel: hda: Use set_power_state op
      ASoC: SOF: topology: fix: Replace old macro
      ASoC: SOF: Intel: hda: Improve DSP state logging
      ASoC: Intel: broadwell: Fix oops during module removal
      ASoC: Intel: sof_rt5682: fix: Replace old macro
      ASoC: Intel sdw_rt711_rt1308_rt715: Replace old macro

Samuel Holland (2):
      ASoC: pcm: Export parameter intersection logic
      ALSA: pcm: Add a standalone version of snd_pcm_limit_hw_rates

Sathyanarayana Nujella (2):
      ASoC: Intel: sof_rt5682: Add support for tgl-max98373-rt5682
      ASoC: Intel: common: Add mach table for tgl-max98373-rt5682

Shreyas NC (4):
      ASoC: Add initial support for multiple CPU DAIs
      ASoC: Add multiple CPU DAI support for PCM ops
      ASoC: Add dapm_add_valid_dai_widget helper
      ASoC: Add multiple CPU DAI support in DAPM

Srinivas Kandagatla (4):
      soundwire: stream: use sdw_write instead of update
      soundwire: stream: Add read_only_wordlength flag to port properties
      soundwire: qcom: add support for get_sdw_stream()
      ASoC: soc-dai: return proper error for get_sdw_stream()

Stephan Gerhold (1):
      ASoC: soc-pcm: fix regression in soc_new_pcm()

Takashi Iwai (2):
      ALSA: hda: Use scnprintf() for string truncation
      ASoC: pcm: Fix (again) possible buffer overflow in dpcm state sysfs output

Tomasz Lauda (1):
      ASoC: SOF: add core id to sof_ipc_comp

Tzung-Bi Shih (1):
      ASoC: dapm: select sleep_state when initializing PINCTRL widget

Yong Zhi (3):
      ASoC: Intel: sof_da7219_max98373: Add support for max98360a speaker amp
      ASoC: Intel: sof_rt5682: Add rt1015 speaker amp support
      ASoC: intel: sof_da7219_max98373: Add speaker switch

randerwang (14):
      soundwire: cadence: fix pop noise issue when start playback
      soundwire: optimize bandwidth for multiple Slaves on single link
      ASoC: SOF: Intel: set link params for machine driver
      ASoC: SOF: Intel: hda: ignore unused links in sdw machine select
      ASoC: Intel: sdw_rt711_rt1308_rt715: refine HDMI support
      ASoC: Intel: sdw_rt711_rt1308_rt715: fix DAI link ID for rt715 on Latitude
      ASoC: Intel: sdw_rt711_rt1308_rt715: add ACPI ID check to support I2S mode
      ASoC: Intel: sdw_711_rt1308_rt715: support multi-cpu DAI in init_dai_link
      ASoC: Intel: sdw_711_rt1308_rt715: check endpoint descriptor to get BE DAI number
      ASoC: Intel: sdw_711_rt1308_rt715: generate CPU & codec DAI base on endpoint descriptor
      ASoC: Intel: sdw_711_rt1308_rt715: fix DMIC DAI on DELL XPS
      ASoC: Intel: sdw_711_rt1308_rt715: refine format for all calls to init_dai_link
      ASoC: Intel: sdw_rt711_rt1308_rt715: Disable aggregated feature for validation
      ASoC: SOF: Intel: fix pop noise when stop playback on sdw platforms

 Documentation/driver-api/soundwire/stream.rst       |   61 ++++--
 debian.oem/config/annotations                       |   10 -
 debian.oem/config/config.common.ubuntu              |   31 ++-
 drivers/soundwire/Kconfig                           |    5 +
 drivers/soundwire/Makefile                          |   10 +-
 drivers/soundwire/bus.c                             |  554 ++++++++++++++++++++++++++++++++++++++++++++-----
 drivers/soundwire/bus.h                             |   55 ++++-
 drivers/soundwire/bus_type.c                        |  142 ++++++++++++-
 drivers/soundwire/cadence_master.c                  |  355 +++++++++++++++++++++++++------
 drivers/soundwire/cadence_master.h                  |   25 ++-
 drivers/soundwire/generic_bandwidth_allocation.c    |  424 ++++++++++++++++++++++++++++++++++++++
 drivers/soundwire/intel.c                           | 1220 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++----------
 drivers/soundwire/intel.h                           |   20 +-
 drivers/soundwire/intel_init.c                      |  387 ++++++++++++++++++++++++++++------
 drivers/soundwire/master.c                          |  100 +++++++++
 drivers/soundwire/qcom.c                            |   15 +-
 drivers/soundwire/slave.c                           |   11 +-
 drivers/soundwire/stream.c                          |  250 +++++++++++++++++++---
 include/linux/soundwire/sdw.h                       |  136 ++++++++++++
 include/linux/soundwire/sdw_intel.h                 |    2 +
 include/linux/soundwire/sdw_type.h                  |   36 +++-
 include/sound/compress_driver.h                     |   40 +++-
 include/sound/hdaudio.h                             |    2 +
 include/sound/pcm.h                                 |   14 +-
 include/sound/soc-acpi.h                            |   39 +++-
 include/sound/soc-dai.h                             |   44 +++-
 include/sound/soc-dapm.h                            |    6 +
 include/sound/soc-dpcm.h                            |   20 +-
 include/sound/soc.h                                 |   46 +++++
 include/sound/sof.h                                 |    3 +
 include/sound/sof/dai-intel.h                       |   20 +-
 include/sound/sof/header.h                          |   11 +
 include/sound/sof/info.h                            |   22 +-
 include/sound/sof/topology.h                        |    3 +-
 include/uapi/sound/sof/abi.h                        |    2 +-
 include/uapi/sound/sof/ext_manifest.h               |   91 ++++++++
 sound/core/compress_offload.c                       |   42 ++++
 sound/core/pcm_misc.c                               |   18 +-
 sound/hda/hdac_device.c                             |    2 +-
 sound/hda/intel-dsp-config.c                        |   19 ++
 sound/soc/codecs/cs4271.c                           |    4 +-
 sound/soc/codecs/hdac_hdmi.c                        |    6 +-
 sound/soc/codecs/rt1308-sdw.c                       |   38 +++-
 sound/soc/codecs/rt1308-sdw.h                       |    2 +
 sound/soc/dwc/dwc-i2s.c                             |    4 +-
 sound/soc/intel/Kconfig                             |   22 +-
 sound/soc/intel/boards/Kconfig                      |   62 +++++-
 sound/soc/intel/boards/Makefile                     |   12 +-
 sound/soc/intel/boards/bdw-rt5650.c                 |    2 +-
 sound/soc/intel/boards/bdw-rt5677.c                 |    2 +-
 sound/soc/intel/boards/broadwell.c                  |   19 +-
 sound/soc/intel/boards/bxt_da7219_max98357a.c       |    2 +-
 sound/soc/intel/boards/bxt_rt298.c                  |    2 +-
 sound/soc/intel/boards/bytcht_da7213.c              |    2 +-
 sound/soc/intel/boards/cht_bsw_max98090_ti.c        |    2 +-
 sound/soc/intel/boards/cht_bsw_nau8824.c            |    2 +-
 sound/soc/intel/boards/cht_bsw_rt5645.c             |    2 +-
 sound/soc/intel/boards/cml_rt1011_rt5682.c          |    7 +-
 sound/soc/intel/boards/glk_rt5682_max98357a.c       |    3 +-
 sound/soc/intel/boards/haswell.c                    |    2 +-
 sound/soc/intel/boards/kbl_da7219_max98927.c        |    8 +-
 sound/soc/intel/boards/kbl_rt5663_max98927.c        |    4 +-
 sound/soc/intel/boards/kbl_rt5663_rt5514_max98927.c |    4 +-
 sound/soc/intel/boards/skl_hda_dsp_common.h         |    4 +
 sound/soc/intel/boards/skl_hda_dsp_generic.c        |   27 ++-
 sound/soc/intel/boards/skl_nau88l25_max98357a.c     |    2 +-
 sound/soc/intel/boards/skl_nau88l25_ssm4567.c       |    3 +-
 sound/soc/intel/boards/sof_da7219_max98373.c        |   75 ++++++-
 sound/soc/intel/boards/sof_maxim_common.c           |   80 +++++++
 sound/soc/intel/boards/sof_maxim_common.h           |   24 +++
 sound/soc/intel/boards/sof_pcm512x.c                |  448 ++++++++++++++++++++++++++++++++++++++++
 sound/soc/intel/boards/sof_rt5682.c                 |  131 +++++++++++-
 sound/soc/intel/boards/sof_sdw.c                    |  973 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 sound/soc/intel/boards/sof_sdw_common.h             |  114 ++++++++++
 sound/soc/intel/boards/sof_sdw_dmic.c               |   42 ++++
 sound/soc/intel/boards/sof_sdw_hdmi.c               |   97 +++++++++
 sound/soc/intel/boards/sof_sdw_rt1308.c             |  151 ++++++++++++++
 sound/soc/intel/boards/sof_sdw_rt5682.c             |  126 +++++++++++
 sound/soc/intel/boards/sof_sdw_rt700.c              |  125 +++++++++++
 sound/soc/intel/boards/sof_sdw_rt711.c              |  156 ++++++++++++++
 sound/soc/intel/boards/sof_sdw_rt715.c              |   42 ++++
 sound/soc/intel/common/soc-acpi-intel-bxt-match.c   |    2 +-
 sound/soc/intel/common/soc-acpi-intel-cht-match.c   |    7 +
 sound/soc/intel/common/soc-acpi-intel-cml-match.c   |  111 ++++++++--
 sound/soc/intel/common/soc-acpi-intel-icl-match.c   |  103 ++++++---
 sound/soc/intel/common/soc-acpi-intel-jsl-match.c   |   34 ++-
 sound/soc/intel/common/soc-acpi-intel-tgl-match.c   |   92 ++++++++-
 sound/soc/intel/skylake/skl-pcm.c                   |   10 +-
 sound/soc/qcom/apq8016_sbc.c                        |    7 +-
 sound/soc/qcom/sdm845.c                             |   20 +-
 sound/soc/soc-compress.c                            |    5 +-
 sound/soc/soc-core.c                                |  290 ++++++++++++++------------
 sound/soc/soc-dai.c                                 |   18 +-
 sound/soc/soc-dapm.c                                |  220 +++++++++++---------
 sound/soc/soc-generic-dmaengine-pcm.c               |   26 ++-
 sound/soc/soc-pcm.c                                 | 1627 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++-----------------------------------------------------------------------------
 sound/soc/soc-topology.c                            |   24 ++-
 sound/soc/sof/Kconfig                               |    9 +
 sound/soc/sof/Makefile                              |    1 +
 sound/soc/sof/compress.c                            |  146 +++++++++++++
 sound/soc/sof/compress.h                            |   31 +++
 sound/soc/sof/core.c                                |   10 +-
 sound/soc/sof/debug.c                               |  226 ++++++++++++++++++++
 sound/soc/sof/imx/Kconfig                           |   17 +-
 sound/soc/sof/imx/Makefile                          |    2 +
 sound/soc/sof/imx/imx8.c                            |   59 +++++-
 sound/soc/sof/imx/imx8m.c                           |  279 +++++++++++++++++++++++++
 sound/soc/sof/intel/Kconfig                         |   68 +++++-
 sound/soc/sof/intel/Makefile                        |    1 +
 sound/soc/sof/intel/apl.c                           |    9 +
 sound/soc/sof/intel/cnl.c                           |   51 ++++-
 sound/soc/sof/intel/hda-codec.c                     |   11 +-
 sound/soc/sof/intel/hda-compress.c                  |  114 ++++++++++
 sound/soc/sof/intel/hda-ctrl.c                      |   40 +++-
 sound/soc/sof/intel/hda-dai.c                       |  124 +++++++++++
 sound/soc/sof/intel/hda-dsp.c                       |  328 +++++++++++++++++++++++++++--
 sound/soc/sof/intel/hda-ipc.c                       |   24 +--
 sound/soc/sof/intel/hda-loader.c                    |   49 ++++-
 sound/soc/sof/intel/hda-pcm.c                       |    8 +-
 sound/soc/sof/intel/hda-stream.c                    |   27 ++-
 sound/soc/sof/intel/hda.c                           |  436 +++++++++++++++++++++++++++++++++++++--
 sound/soc/sof/intel/hda.h                           |  120 ++++++++++-
 sound/soc/sof/ipc.c                                 |   41 +++-
 sound/soc/sof/loader.c                              |  232 +++++++++++++++++++--
 sound/soc/sof/ops.h                                 |   59 +++++-
 sound/soc/sof/pcm.c                                 |   30 ++-
 sound/soc/sof/pm.c                                  |  176 ++++++----------
 sound/soc/sof/probe.c                               |  290 ++++++++++++++++++++++++++
 sound/soc/sof/probe.h                               |   85 ++++++++
 sound/soc/sof/sof-audio.c                           |   59 ++++--
 sound/soc/sof/sof-audio.h                           |    6 +-
 sound/soc/sof/sof-of-dev.c                          |   24 +++
 sound/soc/sof/sof-pci-dev.c                         |    4 +
 sound/soc/sof/sof-priv.h                            |   71 +++++--
 sound/soc/sof/topology.c                            |   53 ++++-
 135 files changed, 10994 insertions(+), 2048 deletions(-)
 create mode 100644 drivers/soundwire/generic_bandwidth_allocation.c
 create mode 100644 drivers/soundwire/master.c
 create mode 100644 include/uapi/sound/sof/ext_manifest.h
 create mode 100644 sound/soc/intel/boards/sof_maxim_common.c
 create mode 100644 sound/soc/intel/boards/sof_maxim_common.h
 create mode 100644 sound/soc/intel/boards/sof_pcm512x.c
 create mode 100644 sound/soc/intel/boards/sof_sdw.c
 create mode 100644 sound/soc/intel/boards/sof_sdw_common.h
 create mode 100644 sound/soc/intel/boards/sof_sdw_dmic.c
 create mode 100644 sound/soc/intel/boards/sof_sdw_hdmi.c
 create mode 100644 sound/soc/intel/boards/sof_sdw_rt1308.c
 create mode 100644 sound/soc/intel/boards/sof_sdw_rt5682.c
 create mode 100644 sound/soc/intel/boards/sof_sdw_rt700.c
 create mode 100644 sound/soc/intel/boards/sof_sdw_rt711.c
 create mode 100644 sound/soc/intel/boards/sof_sdw_rt715.c
 create mode 100644 sound/soc/sof/compress.c
 create mode 100644 sound/soc/sof/compress.h
 create mode 100644 sound/soc/sof/imx/imx8m.c
 create mode 100644 sound/soc/sof/intel/hda-compress.c
 create mode 100644 sound/soc/sof/probe.c
 create mode 100644 sound/soc/sof/probe.h


More information about the kernel-team mailing list