Liam Girdwood [Fri, 12 Apr 2019 16:05:11 +0000 (11:05 -0500)]
ASoC: SOF: Add support for loading topologies
SOF uses topology to define the DAPM graphs and widgets, DAIs, PCMs and set
parameters for init and run time usage. This patch loads topology and
maps it to IPC commands that are build the topology on the DSP.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Liam Girdwood [Fri, 12 Apr 2019 16:05:10 +0000 (11:05 -0500)]
ASoC: SOF: Add PCM operations support
Add support for exposing PCMs to userspace. PCMs are defined by topology
and the operations in this patch map to SOF IPC calls.
The .get_module_upon_open field is set to allow for module load/unload
tests. There is no risk of the sof-pci/acpi-dev module being removed
while the platform components are in use. This may need to be
revisited when DT platforms are supported.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Liam Girdwood [Fri, 12 Apr 2019 16:05:09 +0000 (11:05 -0500)]
ASoC: SOF: Add support for IPC IO between DSP and Host
Define an IPC ABI for all host <--> DSP communication. This ABI should
be transport agnostic. i.e. it should work on MMIO and SPI/I2C style
interfaces.
Signed-off-by: Guennadi Liakhovetski <guennadi.liakhovetski@linux.intel.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Liam Girdwood [Fri, 12 Apr 2019 16:05:08 +0000 (11:05 -0500)]
ASoC: SOF: Add driver debug support.
Add debugFS files that can be used to expose DSP memories and
and peripherals to userspace to assist with firmware debugging.
Since we cannot rely on debugFS, errors are logged but don't stop
execution.
When a resource cannot be read in D3, it is optionally cached on
suspend. Copying memories from IO will increase the suspend latency,
this should only used in engineering builds w/ debug options. This
part will have to be enhanced when support for D0ix states is
provided, currently only D0 and D3 are supported.
Signed-off-by: Pan Xiuli <xiuli.pan@linux.intel.com>
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Liam Girdwood [Fri, 12 Apr 2019 16:05:07 +0000 (11:05 -0500)]
ASoC: SOF: Add Sound Open Firmware KControl support
SOF exposes regular ALSA Kcontrols that are defined by topology. This
patch converts the Kcontrol IO to DSP IPC.
The current implementation is aligned with previous Intel solutions,
but is not optimal and can be improved:
a) for every get/put the host wakes up the DSP and generates an
IPC. The kernel should cache the values and generate an IPC only when
strictly necessary.
b) the firmware can be implemented to only instantiate the pipelines
and related control-related parts that are needed at a given time, and
power-gate the relevant SRAM blocks.
The development tasks for these two improvements has started, once
validated they will be provided in an update.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Liam Girdwood [Fri, 12 Apr 2019 16:05:06 +0000 (11:05 -0500)]
ASoC: SOF: Add Sound Open Firmware driver core
The Sound Open Firmware driver core is a generic architecture
independent layer that allows SOF to be used on many different
architectures and platforms. It abstracts DSP operations and IO
methods so that the target DSP can be an internal memory mapped or
external SPI or I2C based device. This abstraction also allows SOF to
be run on many different VMs on the same physical HW.
SOF also requires some data in ASoC PCM runtime data for looking up
SOF data during ASoC PCM operations.
Signed-off-by: Liam Girdwood <liam.r.girdwood@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnaud Pouliquen [Tue, 23 Apr 2019 15:58:08 +0000 (17:58 +0200)]
ASoC: stm32: sai: simplify dai driver initialisation
Suppress the useless dynamic allocation of the dai driver structure.
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Fri, 26 Apr 2019 10:02:03 +0000 (11:02 +0100)]
Merge branch 'asoc-5.1' into asoc-5.2
Paul Cercueil [Fri, 26 Apr 2019 02:25:50 +0000 (04:25 +0200)]
ASoC: simple-card: Read pin switches conf from devicetree
When the routing path between a widget (e.g. "Speaker") and the codec
goes through an external amplifier, having a pin switch for this widget
allows the amplifier to be disabled when the widget is not to be used
(e.g. when using headphones).
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
Nicolin Chen [Fri, 26 Apr 2019 03:20:50 +0000 (20:20 -0700)]
ASoC: fsl_sai: Add missing return 0 in remove()
Build warning being reported:
sound/soc/fsl/fsl_sai.c: In function 'fsl_sai_remove':
sound/soc/fsl/fsl_sai.c:921:1: warning: no return statement in
function returning non-void [-Wreturn-type]
So this patch just adds a "return 0" to fix it.
Fixes:
812ad463e089 ("ASoC: fsl_sai: Add support for runtime pm")
Reported-by: Stephen Rothwell <sfr@canb.auug.org.au>
Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Reviewed-by: Daniel Baluta <daniel.baluta@nxp.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Paul Cercueil [Fri, 26 Apr 2019 02:25:49 +0000 (04:25 +0200)]
ASoC: simple-card-utils: add asoc_simple_parse_pin_switches()
This function is a helper that permits to create pin switch controls for
a list of widgets whose names are listed in the PREFIX "pin-switches"
devicetree property.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
KaiChieh Chuang [Fri, 26 Apr 2019 02:09:43 +0000 (10:09 +0800)]
ASoC: mediatek: btcvsd fix irq mask
disable = 1
enable = 0
prevent AP wake up, when not AP BTSCO scenario
Signed-off-by: KaiChieh Chuang <kaichieh.chuang@mediatek.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Fri, 19 Apr 2019 20:12:18 +0000 (15:12 -0500)]
ASoC: Intel: bytcr_rt5651: align quirk override handling
As discussed on alsa-devel, a zero value is useful to get rid of all
quirks. Set default to -1 and align types as done in other machine
drivers.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Fri, 19 Apr 2019 20:12:17 +0000 (15:12 -0500)]
ASoC: Intel: bytcr_rt5640: align quirk override handling
As discussed on alsa-devel, a zero value is useful to get rid of all
quirks. Set default to -1 and align types as done in other machine
drivers.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Fri, 19 Apr 2019 20:12:16 +0000 (15:12 -0500)]
ASoC: Intel: bytcht_es8316: fix compilation warning
Remove warning below, align with other machine drivers.
bytcht_es8316.c:508:11: warning: cast from pointer to integer of
different size [-Wpointer-to-int-cast]
quirk = (int)dmi_id->driver_data;
^
Fixes:
a8d218f4fe811 ('ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II')
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Daniel Baluta [Sun, 21 Apr 2019 19:39:09 +0000 (19:39 +0000)]
ASoC: fsl_sai: Add support for runtime pm
Basically the same actions as for system PM, so make use
of pm_runtime_force_suspend/pm_runtime_force_resume.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Daniel Baluta [Sun, 21 Apr 2019 19:39:08 +0000 (19:39 +0000)]
ASoC: fsl_sai: Update is_slave_mode with correct value
is_slave_mode defaults to false because sai structure
that contains it is kzalloc'ed.
Anyhow, if we decide to set the following configuration
SAI slave -> SAI master, is_slave_mode will remain set on true
although SAI being master it should be set to false.
Fix this by updating is_slave_mode for each call of
fsl_sai_set_dai_fmt.
Signed-off-by: Daniel Baluta <daniel.baluta@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Paul Cercueil [Sat, 20 Apr 2019 10:45:51 +0000 (12:45 +0200)]
ASoC: doc: simple-card: Add pin-switches property
The simple-audio-card,pin-switches property can contain the list of
widget names for which pin switches must be created.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
Baolin Wang [Tue, 23 Apr 2019 02:26:22 +0000 (10:26 +0800)]
ASoC: sprd: Add Spreadtrum multi-channel data transfer support
On Spreadtrum platform, the audio subsystem will use the multi-channel
data transfer controller to transfer sound stream between audio subsystem
and other AP/CP subsystem.
It can support 10 DAC channel and 10 ADC channel, and each channel has
512 bytes depth data fifo. Moreover each channel can be used DMA mode
or interrupt mode to transfer data.
Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Baolin Wang [Tue, 23 Apr 2019 02:26:21 +0000 (10:26 +0800)]
dt-bindings: ASoC: Add Spreadtrum multi-channel data transfer support
On Spreadtrum platform, the audio subsystem will use the multi-channel
data transfer controller to transfer sound stream between audio subsystem
and other AP/CP subsystem.
It can support 10 DAC channel and 10 ADC channel, and each channel has
512 bytes depth data fifo. Moreover each channel can be used DMA mode
or interrupt mode to transfer data.
Signed-off-by: Baolin Wang <baolin.wang@linaro.org>
Signed-off-by: Mark Brown <broonie@kernel.org>
Xun Zhang [Fri, 19 Apr 2019 20:53:49 +0000 (15:53 -0500)]
ASoC: codecs: rt5682: initialize mutex before using
In rt5682 codec driver, a mutex called "calibrate_mutex" is used
in rt5682_calibrate() before initialization, which causes warning
in lock debug. Move the initialization before the usage of mutex.
Signed-off-by: Xun Zhang <xun2.zhang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Fabien Dessenne [Wed, 24 Apr 2019 15:28:44 +0000 (17:28 +0200)]
ASoC: stm32: i2s: return the get_irq error
During probe, return the "get_irq" error value instead of -ENOENT. This
allows the driver to be deferred probed if needed.
Signed-off-by: Fabien Dessenne <fabien.dessenne@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Kuninori Morimoto [Thu, 25 Apr 2019 06:16:58 +0000 (15:16 +0900)]
ASoC: rsnd: fixup 6ch settings to 8ch
rsnd need to use 8ch clock settings for 6ch for TDM.
Otherwise, it can't work correctly.
This patch fixup it.
Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Libin Yang [Sat, 13 Apr 2019 13:18:12 +0000 (21:18 +0800)]
ASoC: codec: hdac_hdmi add device_link to card device
In resume from S3, HDAC HDMI codec driver dapm event callback may be
operated before HDMI codec driver turns on the display audio power
domain because of the contest between display driver and hdmi codec driver.
This patch adds the device_link between soc card device (consumer) and
hdmi codec device (supplier) to make sure the sequence is always correct.
Signed-off-by: Libin Yang <libin.yang@intel.com>
Reviewed-by: Takashi Iwai <tiwai@suse.de>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@vger.kernel.org
YueHaibing [Thu, 18 Apr 2019 02:48:48 +0000 (10:48 +0800)]
ASoC: Intel: Haswell: Remove set but not used variable 'stage_type'
Fixes gcc '-Wunused-but-set-variable' warning:
sound/soc/intel/haswell/sst-haswell-ipc.c: In function 'hsw_stream_message':
sound/soc/intel/haswell/sst-haswell-ipc.c:669:29: warning: variable 'stage_type' set but not used [-Wunused-but-set-variable]
It is never used since introduction in
commit
ba57f68235cf ("ASoC: Intel: create haswell folder and move haswell platform files in")
Signed-off-by: YueHaibing <yuehaibing@huawei.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Libin Yang [Fri, 19 Apr 2019 01:53:12 +0000 (09:53 +0800)]
ASoC: pcm: save fixed-up hw_params of BE
Some drivers mandate setting up hw params after resuming from system sleep.
Since, the hw_params ioctl is not invoked upon resuming, the fixed-up BE
dai hw params should be saved so the driver can use it in its resume
sequence.
Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:22:02 +0000 (12:22 +0200)]
ASoC: samsung: tobermory: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:22:01 +0000 (12:22 +0200)]
ASoC: samsung: tm2_wm5110: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:22:00 +0000 (12:22 +0200)]
ASoC: samsung: speyside: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:59 +0000 (12:21 +0200)]
ASoC: samsung: spdif: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:58 +0000 (12:21 +0200)]
ASoC: samsung: snow: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:57 +0000 (12:21 +0200)]
ASoC: samsung: smdk_wm8994*: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:56 +0000 (12:21 +0200)]
ASoC: samsung: smdk_wm8580: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:55 +0000 (12:21 +0200)]
ASoC: samsung: smdk_spdif: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:54 +0000 (12:21 +0200)]
ASoC: samsung: smartq_wm8987: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:53 +0000 (12:21 +0200)]
ASoC: samsung: s3c24xx_uda134x: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:52 +0000 (12:21 +0200)]
ASoC: samsung: s3c24xx_simtec*: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:51 +0000 (12:21 +0200)]
ASoC: samsung: s3c2412-i2s: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:50 +0000 (12:21 +0200)]
ASoC: samsung: rx1950_uda1380: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:49 +0000 (12:21 +0200)]
ASoC: samsung: s3c24xx-i2s: Convert to SPDX License Identifier
Replace GPL v2.0(+) license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:48 +0000 (12:21 +0200)]
ASoC: samsung: s3c-i2s-v2: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:47 +0000 (12:21 +0200)]
ASoC: samsung: pcm: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:46 +0000 (12:21 +0200)]
ASoC: samsung: odroid: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:45 +0000 (12:21 +0200)]
ASoC: samsung: neo1973_wm8753: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:44 +0000 (12:21 +0200)]
ASoC: samsung: lowland: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:43 +0000 (12:21 +0200)]
ASoC: samsung: littlemill: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:42 +0000 (12:21 +0200)]
ASoC: samsung: jive_wm8750: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:41 +0000 (12:21 +0200)]
ASoC: samsung: idma: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:40 +0000 (12:21 +0200)]
ASoC: samsung: i2s: Convert to SPDX License Identifier
Replace remaining GPL v2.0 license statements with SPDX license
identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:39 +0000 (12:21 +0200)]
ASoC: samsung: h1940_uda1380: Convert to SPDX License Identifier
Replace GPL v2.0+ license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:38 +0000 (12:21 +0200)]
ASoC: samsung: dmaengine: Convert to SPDX License Indentifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:37 +0000 (12:21 +0200)]
ASoC: samsung: bells: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Sylwester Nawrocki [Fri, 19 Apr 2019 10:21:36 +0000 (12:21 +0200)]
ASoC: samsung: arndale: Convert to SPDX License Identifier
Replace GPL v2.0 license statements with SPDX license identifier.
Signed-off-by: Sylwester Nawrocki <s.nawrocki@samsung.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Annaliese McDermond [Fri, 5 Apr 2019 21:54:30 +0000 (14:54 -0700)]
ASoC: tlv320aic32x4: Fix spacing
Fix some cosmetic spacing issues reported by Julia Lawall
<julia.lawall@lip6.fr>.
Signed-off-by: Annaliese McDermond <nh6z@nh6z.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jenny TC [Tue, 26 Mar 2019 17:20:56 +0000 (22:50 +0530)]
ASoC: Intel: kbl_da7219_max98927: remove headset
kbl_da7219_max98927 supports two configurations - One with da7219 &
max98927/373 and other one with max98927/373 alone. This patch
removes the headset dais from max98927/373 configuration. Since the
snd_soc_dapm_ignore_suspend for DMIC is called from da7219_codec_init,
the code is re-arranged to invoke snd_soc_dapm_ignore_suspend from
kabylake_dmic_init.
Signed-off-by: Jenny TC <jenny.tc@intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 5 Apr 2019 16:57:09 +0000 (09:57 -0700)]
ASoC: pcm: update module refcount if module_get_upon_open is set
Setting the module_get_upon_open field for component driver
prevents the module refcount from being incremented during
component probe(). This could lead to the module being
allowed to be unloaded when a pcm stream is open. So,
if this field is set, the module's refcount should be
incremented during pcm open to prevent module removal
when the component is in use. And, the refcount should
be decremented upon pcm close.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 5 Apr 2019 16:57:08 +0000 (09:57 -0700)]
ASoC: core: conditionally increase module refcount on component open
Recently, for Intel platforms the "ignore_module_refcount" field
was introduced for the component driver. In order to avoid a
deadlock preventing the PCI modules from being removed
even when the card was idle, the refcounts were not incremented
for the device driver module during component probe.
However, this change introduced a nasty side effect:
the device driver module can be unloaded while a pcm stream is open.
This patch proposes to change the field to be renamed as
"module_get_upon_open". When this field is set, the module
refcount should be incremented on pcm open amd decremented
upon pcm close. This will enable modules to be removed
when no PCM playback/capture happens and prevent removal
when the component is actually in use.
Also, align with the skylake component driver with the new name.
Fixes:
b450b878('ASoC: core: don't increase component module refcount
unconditionally'
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Acked-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Paul Cercueil [Fri, 29 Mar 2019 21:50:45 +0000 (22:50 +0100)]
ASoC: Intel: bytcht_es8316: Add quirk for the Teclast X98+ II
The Teclast X98+ II is a Cherrytrail tablet, which require two quirks:
- it has stereo speakers,
- its jack detection mechanism is inverted.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
Paul Cercueil [Fri, 29 Mar 2019 21:50:44 +0000 (22:50 +0100)]
ASoC: Intel: bytcht_es8316: Add quirk for inverted jack detect
Add a quirk to support boards whose jack detection mechanism is
inverted.
It will set the 'everest,jack-detect-inverted' boolean device property
for the es8316 codec driver.
Signed-off-by: Paul Cercueil <paul@crapouillou.net>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:10 +0000 (14:50 +0300)]
ASoC: wm1133-ev1: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:09 +0000 (14:50 +0300)]
ASoC: phycore-ac97: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:08 +0000 (14:50 +0300)]
ASoC: pcm030-audio-fabric: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:07 +0000 (14:50 +0300)]
ASoC: p1022_rdk: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:06 +0000 (14:50 +0300)]
ASoC: p1022_ds: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:05 +0000 (14:50 +0300)]
ASoC: mx27vis-aic32x4: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:04 +0000 (14:50 +0300)]
ASoC: mpc8610_hpcd: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:03 +0000 (14:50 +0300)]
ASoC: mpc5200_psc_i2s: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:02 +0000 (14:50 +0300)]
ASoC: mpc5200_psc_ac97: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:01 +0000 (14:50 +0300)]
ASoC: mpc5200_dma: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:50:00 +0000 (14:50 +0300)]
ASoC: imx-ssi: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:59 +0000 (14:49 +0300)]
ASoC: imx-spdif: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:58 +0000 (14:49 +0300)]
ASoC: imx-pcm-fiq: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:57 +0000 (14:49 +0300)]
ASoC: imx-mc13783: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:56 +0000 (14:49 +0300)]
ASoC: imx-es8328: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:55 +0000 (14:49 +0300)]
ASoC: imx-audmux: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:54 +0000 (14:49 +0300)]
ASoC: fsl-dma: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:53 +0000 (14:49 +0300)]
ASoC: eukrea-tlv320: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Andra Danciu [Fri, 5 Apr 2019 11:49:51 +0000 (14:49 +0300)]
ASoC: imx-pcm: Switch to SPDX identifier
Adopt the SPDX license identifier headers to ease license compliance
management.
Signed-off-by: Andra Danciu <andradanciu1997@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Arnaud Pouliquen [Fri, 5 Apr 2019 09:19:11 +0000 (11:19 +0200)]
ASoC: stm32: fix sai driver name initialisation
This patch fixes the sai driver structure overwriting which results in
a cpu dai name equal NULL.
Fixes: 3e086ed ("ASoC: stm32: add SAI driver")
Signed-off-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 5 Apr 2019 02:48:33 +0000 (19:48 -0700)]
ASoC: topology: Use the correct dobj to free enum control values and texts
The control values and texts of the enum kcontrol associated
with a widget need to be freed when the widget is removed.
However, both struct snd_soc_dapm_widget and struct soc_enum
contain a dobj member, which resulted in a confusion.
The existing code generates a null pointer dereference by
attempting to free the values and texts from the dobj which
belongs to the widget instead of the dobj belonging to the
enum kcontrol.
The suggested fix is to use the correct dobj member (se->dobj)
of the enum kcontrol.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Olivier Moysan [Wed, 3 Apr 2019 13:23:35 +0000 (15:23 +0200)]
ASoC: cs42l51: change mic bias DAPM
Use SND_SOC_DAPM_SUPPLY for mic bias DAPM
instead of deprecated SND_SOC_DAPM_MICBIAS.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
S.j. Wang [Thu, 4 Apr 2019 09:40:56 +0000 (09:40 +0000)]
ASoC: fsl_esai: Support synchronous mode
In ESAI synchronous mode, the clock is generated by Tx, So
we should always set registers of Tx which relate with the
bit clock and frame clock generation (TCCR, TCR, ECR), even
there is only Rx is working.
Signed-off-by: Shengjiu Wang <shengjiu.wang@nxp.com>
Acked-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Thu, 4 Apr 2019 19:13:58 +0000 (14:13 -0500)]
ASoC: topology: fix big-endian check
Use an explicit define to avoid Sparse issues coming from the use of
cpu_to_be32
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Thu, 4 Apr 2019 19:13:57 +0000 (14:13 -0500)]
ASoC: topology: fix endianness issues
Use le16/32/64_to_cpu() as needed to make Sparse happy.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jerome Brunet [Thu, 4 Apr 2019 11:17:33 +0000 (13:17 +0200)]
ASoC: meson: axg-tdmout: add g12a support
The axg tdmout driver just need a different skew offset to operate
correctly on the g12a SoC family.
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jerome Brunet [Thu, 4 Apr 2019 11:17:32 +0000 (13:17 +0200)]
ASoC: meson: axg-tdm-formatter: rework quirks settings
The g12a tdmout requires a different signal skew offset than the axg.
With this change, the skew offset is added as a parameter of the tdm
formatters to prepare the addition of the g12a support.
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jerome Brunet [Thu, 4 Apr 2019 11:17:31 +0000 (13:17 +0200)]
ASoC: meson: axg-frddr: add g12a support
On the axg, frddr could only be connected to 1 downstream element, so the
playback was possible on 1 interface only at a time.
On the g12a, the frddr may connect and wait for the request of up to 3
downstream elements. With this, it possible for single playback to be
played on several interfaces at the same time.
Like the toddr fifo, the g12a frddr also need to take care of resetting
the read pointer to the initial fifo address when preparing a playback.
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jerome Brunet [Thu, 4 Apr 2019 11:17:30 +0000 (13:17 +0200)]
ASoC: meson: axg-toddr: add g12a support
Since the g12a SoC fifo can set the fifo initial start address, we must
make sure to actually reset the write pointer to this address when
starting a capture.
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jerome Brunet [Thu, 4 Apr 2019 11:17:29 +0000 (13:17 +0200)]
ASoC: meson: axg-fifo: add g12a support
The g12a fifos gained the ability to set the initial address of the
pointer within the buffer, instead of defaulting to the buffer start
address.
It is not very useful to us (yet) but we need to put a copy the buffer
start address in the related register for the fifo to work properly on the
g12a SoC family
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Jerome Brunet [Thu, 4 Apr 2019 11:17:28 +0000 (13:17 +0200)]
ASoC: meson: add g12a compatibles
Add new compatible strings for the g12a devices.
Audio wise, the g12a is fairly to close to the axg, yet some differences
need to be handled.
Signed-off-by: Jerome Brunet <jbrunet@baylibre.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 5 Apr 2019 00:30:40 +0000 (17:30 -0700)]
ASoC: core: remove link components before cleaning up card resources
When the card is registered by the machine driver,
dai link components are probed after the snd_card is
created. This is done in snd_soc_bind_card() which calls
snd_soc_instantiate_card() to first create the snd_card
and then probes the link components by calling
soc_probe_link_components(). The snd_card is used by the
component driver to add the kcontrols associated
with dapm widgets to the card.
When the machine driver is unregistered, the snd_card
is freed when the card resources are cleaned up.
But the snd_card needs to be valid while unloading the
topology dapm widgets in order to remove the kcontrols
from the card.
Since, unloading topology is done when the component
driver is removed, the link components should be removed
in snd_soc_unbind_card(). This will ensure that the kcontrols
are removed before the card resources are cleaned up and
the snd_card itself is freed.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Ranjani Sridharan [Fri, 5 Apr 2019 00:30:39 +0000 (17:30 -0700)]
ASoC: intel: skylake: add remove() callback for component driver
Topology is not unloaded in the core during unregister_component()
anymore. So, add the remove() callback that will unload the
topology.
Signed-off-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Thu, 4 Apr 2019 16:27:20 +0000 (17:27 +0100)]
ASoC: cs35l35: Disable regulators on driver removal
The chips main power supplies VA and VP are enabled during probe but
then never disabled, this will cause warnings from the regulator
framework on driver removal. Fix this by adding a remove callback and
disabling the supplies, whilst doing so follow best practice and put the
chip back into reset as well.
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Olivier Moysan [Wed, 3 Apr 2019 13:23:37 +0000 (15:23 +0200)]
ASoC: cs42l51: add adc volume control
Add ADC boost volume control for CS42L51 codec.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Olivier Moysan [Wed, 3 Apr 2019 13:23:36 +0000 (15:23 +0200)]
ASoC: cs42l51: add power management
Add sleep PM callbacks to support system low power modes.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Olivier Moysan [Wed, 3 Apr 2019 13:23:34 +0000 (15:23 +0200)]
ASoC: cs42l51: add support of master mode
Add support of master mode for cs42l51 cirrus audio codec.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Olivier Moysan [Wed, 3 Apr 2019 13:23:33 +0000 (15:23 +0200)]
ASoC: cs42l51: add reset management
Manage cs42l51 audio codec reset pin.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Olivier Moysan [Wed, 3 Apr 2019 13:23:32 +0000 (15:23 +0200)]
ASoC: cs42l51: add regulator management
Add cs42l51 audio codec power supply management
through regulator framework.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Olivier Moysan [Wed, 3 Apr 2019 13:23:31 +0000 (15:23 +0200)]
ASoC: dt-bindings: update cs42l51 bindings
Add compatible, reg, regulator, and reset
to Cirrus CS42L51 audio codec bindings.
Signed-off-by: Olivier Moysan <olivier.moysan@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Charles Keepax [Thu, 4 Apr 2019 12:56:01 +0000 (13:56 +0100)]
ASoC: wm_adsp: Avoid calling snd_compr_stop_error from WDT expiry
It is unsafe to call snd_compr_stop_error from outside of the
compressed ops. Firstly the compressed device lock needs to be held
and secondly it queues error work to issue a trigger stop which
should not happen after the stream has been freed. To avoid these
issues use the same trick used for the IRQ handling, simply send a
snd_compr_fragment_elapsed to cause user-space to wake on the poll,
then report the error when user-space issues the pointer request
after it wakes.
Fixes:
a2bcbc1b9ac2f ("ASoC: wm_adsp: Shutdown any compressed streams on DSP watchdog timeout")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Cc: stable@kernel.org