Mark Brown [Mon, 7 Mar 2022 20:36:57 +0000 (20:36 +0000)]
ASoC: Intel: boards: cleanups for 5.18
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
Updates to clean-up the GPIOLIB dependency and a quirk for HP
SoundWire devices.
Mark Brown [Mon, 7 Mar 2022 20:36:55 +0000 (20:36 +0000)]
ASoC: audio_graph_card2: Support variable slot widths
Merge series from Richard Fitzgerald <rf@opensource.cirrus.com>:
This adds support for I2S/TDM links where the slot width varies
depending on the sample width, in a way that cannot be guessed by
component hw_params().
A typical example is:
- 16-bit samples use 16-bit slots
- 24-bit samples use 32-bit slots
There is no way for a component hw_params() to deduce from the information
it is passed that 24-bit samples will be in 32-bit slots.
Some audio hardware cannot support a fixed slot width or a slot width
equal to the sample width in all cases. This is usually due either to
limitations of the audio serial port or system clocking restrictions.
Mark Brown [Mon, 7 Mar 2022 20:36:54 +0000 (20:36 +0000)]
ASoC: codecs: Add Awinic AW8738 audio amplifier driver
Merge series from Stephan Gerhold <stephan@gerhold.net>:
This series adds a simple driver and DT schema for the Awinic AW8738
audio amplifier. It's fairly simple - the main difference to
simple-amplifier is that there is a "one-wire pulse control" that
allows configuring the amplifier to one of a few pre-defined modes.
This can be used to configure the speaker-guard function (primarily
the power limit for the amplifier).
Dan Carpenter [Fri, 4 Mar 2022 13:12:56 +0000 (16:12 +0300)]
ASoC: amd: vg: fix signedness bug in acp5x_audio_probe()
The "adata->i2s_irq" variable is unsigned so the error handling
will not work.
Fixes:
87d71a128771 ("ASoC: amd: pcm-dma: Use platform_get_irq() to get the interrupt")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20220304131256.GA28739@kili
Signed-off-by: Mark Brown <broonie@kernel.org>
Richard Fitzgerald [Fri, 4 Mar 2022 14:40:15 +0000 (14:40 +0000)]
ASoC: cs42l42: Add warnings about DETECT_MODE and PLL_START
DETECT_MODE and PLL_START must be zero while HP_PDN and ADC_PDN are
both 1. If this condition is broken it can discharge FILT+ and it
can then take up to 1 second for FILT+ to recharge.
There is no workaround required for this, simply avoiding settings
and sequences that would break the requirement. The driver already
meets the requirement.
But it is not obvious from reading the code that this requirement
exists, or what is ensuring it is met. So it would not currently be
obvious to someone changing the code that there is certain special
behaviour that must be maintained.
To avoid accidental breakage in the future:
- Add comments into the register definitions to warn about this so
that anyone changing the code around DETECT_MODE and PLL_START is
aware of this requirement.
- Add a comment where PLL_START is written to 1 to highlight the
requirement and why it is satisfied.
- Add a comment in cs42l42_setup_hs_type_detect() when DETECT_MODE is
initialized.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220304144015.398656-1-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Simon Trimmer [Thu, 3 Mar 2022 15:50:16 +0000 (15:50 +0000)]
ASoC: wm_adsp: Expand firmware loading search options
The parts supported by this driver can have product-specific
firmware and tunings files. Typically these have been used on
embedded systems where the manufacturer is responsible for
installing the correct product-specific firmware files into
/lib/firmware. However, the linux-firmware repository places all
available firmwares into /lib/firmware and it is up to the driver to
select the correct product-specific firmware from that directory.
For example a product containing four smart amplifiers may provide
firmware specific for that product and each of the amplifiers may
have coefficient files containing tunings for their placement in the
mechanical design.
This change extends firmware (wmfw) and coefficient (bin) filenames
to be of the general form:
<cirrus/>part-dspN-fwtype<-system_name<-asoc_component_prefix>>.type
Where the cirrus subdirectory, system_name and asoc_component_prefix
are optional.
New files will be placed in the cirrus subdirectory to avoid
polluting the main /lib/firmware/ location. The generic name must be
searched in /lib/firmware before /lib/firmware/cirrus so that a
generic file in the new location does not override existing
product-specific files in the legacy location.
The search order for firmware files is:
- cirrus/part-dspN-fwtype-system_name-asoc_component_prefix.wmfw
- cirrus/part-dspN-fwtype-system_name.wmfw
- part-dspN-fwtype.wmfw
- cirrus/part-dspN-fwtype.wmfw
- Qualifications are added to the filename so that rightwards is more
specific.
- The system_name is provided by the codec driver.
- The asoc_component_prefix is used to identify tunings for individual
parts because it would already exist to disambiguate the controls
and it makes it obvious which firmware file applies to which device.
The optional coefficient file must have the same filename
construction as the discovered wmfw except:
- where the wmfw has only system_name then the bin file can
optionally include the asoc_component_prefix. This is to allow a
common wmfw for all amps but separate tunings per amp.
Signed-off-by: Simon Trimmer <simont@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220303155016.122125-1-simont@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiasheng Jiang [Wed, 2 Mar 2022 06:28:44 +0000 (14:28 +0800)]
ASoC: fsi: Add check for clk_enable
As the potential failure of the clk_enable(),
it should be better to check it and return error
if fails.
Fixes:
ab6f6d85210c ("ASoC: fsi: add master clock control functions")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20220302062844.46869-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Fri, 4 Mar 2022 16:09:34 +0000 (16:09 +0000)]
ASoC: qcom: select correct WCD938X config for SC7280
SC7280 config selected WCD938X instead of WCD938X_SDW Soundwire codecs.
WCD938X_SDW actually selects WCD938X, so directly selecting WCD938X results
in unmet dependencies and below warning
WARNING: unmet direct dependencies detected for SND_SOC_WCD938X
Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=m]
&& SND_SOC_WCD938X_SDW [=n] && (SOUNDWIRE [=n] || !SOUNDWIRE [=n])
Selected by [m]:
- SND_SOC_SC7280 [=m] && SOUND [=y] && !UML && SND [=y]
&& SND_SOC [=m] && SND_SOC_QCOM [=m] && (I2C [=y] && SOUNDWIRE [=n] ||
COMPILE_TEST [=y])
Fix this issue by selecting WCD SoundWire codecs instead of component driver.
Fixes:
57350bd41c3a ("ASoC: qcom: SC7280: Add machine driver")
Reported-by: Randy Dunlap <rdunlap@infradead.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220304160934.32010-1-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Lucas Tanure [Fri, 4 Mar 2022 15:07:05 +0000 (15:07 +0000)]
ASoC: cs35l41: Remove unnecessary param
cs35l41_private is not used on cs35l41_handle_pdata
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220304150721.3802-5-tanureal@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Lucas Tanure [Fri, 4 Mar 2022 15:07:03 +0000 (15:07 +0000)]
ASoC: cs35l41: Fix max number of TX channels
This device only has 4 TX channels.
Fixes:
fe1024d50477b ("ASoC: cs35l41: Combine adjacent register writes")
Signed-off-by: Lucas Tanure <tanureal@opensource.cirrus.com>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220304150721.3802-3-tanureal@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Derek Fang [Mon, 7 Mar 2022 10:21:54 +0000 (18:21 +0800)]
ASoC: rt5682s: Stabilize the combo jack detection
Changes:
1. Revise rt5682s_sar_power_mode and rt5682s_headset_detect to be more
rational.
2. Manually set to the jack-unplugging state via rt5682s_headset_detect
during going to suspend. Close unnecessary powers and prepare for
re-detecting the CBJ during resuming.
3. Simplize rt5682s_resume.
Signed-off-by: Derek Fang <derek.fang@realtek.com>
Link: https://lore.kernel.org/r/20220307102154.26065-1-derek.fang@realtek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiasheng Jiang [Fri, 4 Mar 2022 02:38:21 +0000 (10:38 +0800)]
ASoC: wm8350: Handle error for wm8350_register_irq
As the potential failure of the wm8350_register_irq(),
it should be better to check it and return error if fails.
Also, use 'free_' in order to avoid the same code.
Fixes:
a6ba2b2dabb5 ("ASoC: Implement WM8350 headphone jack detection")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Acked-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220304023821.391936-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Miaoqian Lin [Mon, 7 Mar 2022 12:45:39 +0000 (12:45 +0000)]
ASoC: atmel: Add missing of_node_put() in at91sam9g20ek_audio_probe
This node pointer is returned by of_parse_phandle() with refcount
incremented in this function.
Calling of_node_put() to avoid the refcount leak.
Fixes:
531f67e41dcd ("ASoC: at91sam9g20ek-wm8731: convert to dt support")
Signed-off-by: Miaoqian Lin <linmq006@gmail.com>
Reviewed-by: Codrin Ciubotariu <codrin.ciubotariu@microchip.com>
Link: https://lore.kernel.org/r/20220307124539.1743-1-linmq006@gmail.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Dan Carpenter [Fri, 4 Mar 2022 13:15:34 +0000 (16:15 +0300)]
ASoC: amd: pcm-dma: Fix signedness bug in acp3x_audio_probe()
The "adata->i2s_irq" variable is unsigned so this error handling
code will not work.
Fixes:
87d71a128771 ("ASoC: amd: pcm-dma: Use platform_get_irq() to get the interrupt")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20220304131534.GD28739@kili
Signed-off-by: Mark Brown <broonie@kernel.org>
Dan Carpenter [Fri, 4 Mar 2022 13:13:35 +0000 (16:13 +0300)]
ASoC: amd: pcm-dma: Fix signedness bug in acp_pdm_audio_probe()
The "adata->pdm_irq" variable is unsigned so the error handling will
not work.
Fixes:
87d71a128771 ("ASoC: amd: pcm-dma: Use platform_get_irq() to get the interrupt")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20220304131335.GB28739@kili
Signed-off-by: Mark Brown <broonie@kernel.org>
Dan Carpenter [Fri, 4 Mar 2022 13:14:49 +0000 (16:14 +0300)]
ASoC: amd: acp: Fix signedness bug in renoir_audio_probe()
The "adata->i2s_irq" is unsigned so this error handling will not
work.
Fixes:
3304a242f45a ("ASoC: amd: Use platform_get_irq_byname() to get the interrupt")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20220304131449.GC28739@kili
Signed-off-by: Mark Brown <broonie@kernel.org>
Anthony I Gilea [Fri, 4 Mar 2022 20:45:32 +0000 (14:45 -0600)]
ASoC: Intel: sof_sdw: fix quirks for 2022 HP Spectre x360 13"
HP changed the DMI identification for 2022 devices:
Product Name: HP Spectre x360 Conv 13-ap0001na
Product Name: 8709
This patch relaxes the DMI_MATCH criterion to work with all versions of this product.
Reviewed-by: Rander Wang <rander.wang@intel.com>
Signed-off-by: Anthony I Gilea <i@cpp.in>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220304204532.54675-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Fri, 4 Mar 2022 20:45:31 +0000 (14:45 -0600)]
ASoC: Intel: boards: add GPIOLIB dependency where missed
We have eleven machine drivers who make explicit references to
gpios. Let's add the dependency.
The use of 'depends on' instead of 'select' is intentional. On one
side it could be argued that the GPIOs are required, but on the other
it might create more issues with randconfig builds. This patch sticks
with the existing direction of using 'depends' on high-level non-audio
dependencies
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20220304204532.54675-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Fri, 4 Mar 2022 20:45:30 +0000 (14:45 -0600)]
ASoC: Intel: boards: remove explicit dependency on GPIOLIB when DMIC is used"
This patch reverts commit
4262ddc2ad63 ("ASoC: Intel: boards: add
explicit dependency on GPIOLIB when DMIC is used") and all follow-up
additions of this dependency.
Now that the DMIC does not depend on GPIOLIB we can simplify again.
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Reviewed-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Link: https://lore.kernel.org/r/20220304204532.54675-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jonathan Albrieux [Fri, 4 Mar 2022 10:24:52 +0000 (11:24 +0100)]
ASoC: codecs: Add Awinic AW8738 audio amplifier driver
The Awinic AW8738 is a simple audio amplifier using a single GPIO.
The main difference to simple-amplifier is that there is a "one-wire
pulse control" that allows configuring the amplifier to one of a few
pre-defined modes. This can be used to configure the speaker-guard
function (primarily the power limit for the amplifier).
Add a simple driver that allows setting it up in the device tree
with a specified mode number.
Signed-off-by: Jonathan Albrieux <jonathan.albrieux@gmail.com>
Co-developed-by: Stephan Gerhold <stephan@gerhold.net>
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20220304102452.26856-3-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Stephan Gerhold [Fri, 4 Mar 2022 10:24:51 +0000 (11:24 +0100)]
ASoC: dt-bindings: Add schema for "awinic,aw8738"
Add a DT schema for describing Awinic AW8738 audio amplifiers. They are
fairly simple and controlled using a single GPIO. The number of pulses
during power up selects one of a few pre-defined operation modes. This
can be used to configure the speaker-guard function (primarily the
power limit for the amplifier).
Signed-off-by: Stephan Gerhold <stephan@gerhold.net>
Link: https://lore.kernel.org/r/20220304102452.26856-2-stephan@gerhold.net
Signed-off-by: Mark Brown <broonie@kernel.org>
Richard Fitzgerald [Mon, 28 Feb 2022 17:27:54 +0000 (17:27 +0000)]
ASoC: audio_graph_card2: Add support for variable slot widths
Some audio hardware cannot support the same slot width for all sample
widths, or a slot width equal to the sample width for all sample widths.
This is usually due either to limitations of the audio serial port or
system clocking restrictions.
A typical example would be:
- 16-bit samples in 16-bit slots
- 24-bit samples in 32-bit slots
The new dai-tdm-slot-width-map property allows setting a mapping of
sample widths and the corresponding tdm slot widths and slot counts.
Although the slot count is usually the same for all cases this does
allow for adding padding slots to maintain the same bitclk frequency.
The property is added to each endpoint node that needs the component
DAI to be told the TDM slot width and count.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220228172754.453783-3-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Richard Fitzgerald [Mon, 28 Feb 2022 17:27:53 +0000 (17:27 +0000)]
ASoC: dt-bindings: audio-graph-port: Add dai-tdm-slot-width-map
Some audio hardware cannot support a fixed slot width for all sample
widths, or a slot width equal to the sample width for all sample widths.
This is usually due either to limitations of the audio serial port or
system clocking restrictions.
This property allows setting a mapping of sample widths and the
corresponding tdm slot widths. The slot count is also provided for
each slot width - although this would almost always be the same for
all slot widths this allows for possibly adding extra padding slots
to maintain a fixed bitclock frequency.
Signed-off-by: Richard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220228172754.453783-2-rf@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiaxin Yu [Wed, 2 Mar 2022 01:35:33 +0000 (09:35 +0800)]
ASoC: bt-sco: fix bt-sco-pcm-wb dai widget don't connect to the endpoint
This patch fix the second dai driver's dai widget can't connect to the
endpoint. Because "bt-sco-pcm" and "bt-sco-pcm-wb" dai driver have the
same stream_name, so it will cause they have the same widget name.
Therefor it will just create only one route when do snd_soc_dapm_add_route
that only find the widget through the widget name.
Signed-off-by: Jiaxin Yu <jiaxin.yu@mediatek.com>
Link: https://lore.kernel.org/r/20220302013533.29068-1-jiaxin.yu@mediatek.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Meng Tang [Wed, 2 Mar 2022 09:43:51 +0000 (17:43 +0800)]
ASoC: hdac_hda: Avoid unexpected match when pcm_name is "Analog"
pcm name can be "Analog" and "Alt Analog", cpcm->name can be
"Analog Codec DAI" and "Alt Analog Codec DAI". When pcm_name
is "Analog", "Analog Codec DAI" and "Alt Analog Codec DAI" are
both satisfy the 'if (strstr(cpcm->name, pcm_name))' condition,
which may cause the returned cpcm to be "Alt Analog Codec DAI".
Even if we get the pcm name by id, and "Analog Codec DAI" goes
into the loop before "Alt Analog Codec DAI", but I still think
we'd better have multiple insurances against unexpected return
values. After, we can correctly return the expected result
even if other relevant places are changed.
Signed-off-by: Meng Tang <tangmeng@uniontech.com>
Link: https://lore.kernel.org/r/20220302094351.3487-1-tangmeng@uniontech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 2 Mar 2022 16:58:51 +0000 (16:58 +0000)]
ASoC: Intel: machine driver updates for 5.18
Merge series from Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>:
Two cleanups to remove an unused filename and typos, and one addition
of an ACPI matching table for a Dell SoundWire SKU without local
microphones.
The main change is the addition of a common 'sof-ssp-amp' machine
driver for devices with amplifiers only (no headset codec) and
different connections using I2S links (Bluetooth offload, HDMI
receiver). It's likely that the amplifier will be swapped out by OEMs,
this machine driver provides a relatively generic solution to avoid
copy-paste of similar solutions.
Dan Carpenter [Tue, 1 Mar 2022 08:11:04 +0000 (11:11 +0300)]
ASoC: qcom: Fix error code in lpass_platform_copy()
The copy_to/from_user() functions return the number of bytes remaining
to be copied. This function needs to return negative error codes
because snd_soc_pcm_component_copy_user() treats positive returns as
success in soc_component_ret().
Fixes:
7d7209557b67 ("ASoC: qcom: Add support for codec dma driver")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/20220301081104.GB17375@kili
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiasheng Jiang [Fri, 15 Oct 2021 08:13:53 +0000 (08:13 +0000)]
ASoC: soc-compress: prevent the potentially use of null pointer
There is one call trace that snd_soc_register_card()
->snd_soc_bind_card()->soc_init_pcm_runtime()
->snd_soc_dai_compress_new()->snd_soc_new_compress().
In the trace the 'codec_dai' transfers from card->dai_link,
and we can see from the snd_soc_add_pcm_runtime() in
snd_soc_bind_card() that, if value of card->dai_link->num_codecs
is 0, then 'codec_dai' could be null pointer caused
by index out of bound in 'asoc_rtd_to_codec(rtd, 0)'.
And snd_soc_register_card() is called by various platforms.
Therefore, it is better to add the check in the case of misusing.
And because 'cpu_dai' has already checked in soc_init_pcm_runtime(),
there is no need to check again.
Adding the check as follow, then if 'codec_dai' is null,
snd_soc_new_compress() will not pass through the check
'if (playback + capture != 1)', avoiding the leftover use of
'codec_dai'.
Fixes: 467fece ("ASoC: soc-dai: move snd_soc_dai_stream_valid() to soc-dai.c")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Link: https://lore.kernel.org/r/1634285633-529368-1-git-send-email-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Sascha Hauer [Tue, 1 Mar 2022 11:34:46 +0000 (12:34 +0100)]
ASoC: soc-generic-dmaengine-pcm: set period_bytes_min based on maxburst
In dmaengine_pcm_set_runtime_hwparams() period_bytes_min is hardcoded to
256. For some applications that may be too big. This patch changes that
to calculate the value based on dma_data->maxburst. The correct value
would be maxburst multiplied by the address width of the hardware FIFO.
Unfortunately the address width is dynamically calculated based on the
stream parameters and is not known at open time, so the worst case
is chosen here which is 8 bytes, the maximum that is supported by
dmaengine drivers.
Not all drivers may set a maxburst value, so we fall back to the
previously used hardcoded value of 256 bytes.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.kernel.org/r/20220301113446.1053171-1-s.hauer@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiasheng Jiang [Tue, 1 Mar 2022 08:47:42 +0000 (16:47 +0800)]
ASoC: dwc-i2s: Handle errors for clk_enable
As the potential failure of the clk_enable(),
it should be better to check it, as same as clk_prepare_enable().
Fixes:
c9afc1834e81 ("ASoC: dwc: Disallow building designware_pcm as a module")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20220301084742.3751939-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Zhen Ni [Wed, 2 Mar 2022 08:15:02 +0000 (16:15 +0800)]
ASoC: amd: use asoc_substream_to_rtd()
Uses asoc_substream_to_rtd() helper.
Signed-off-by: Zhen Ni <nizhen@uniontech.com>
Link: https://lore.kernel.org/r/20220302081502.25367-1-nizhen@uniontech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiasheng Jiang [Tue, 1 Mar 2022 09:06:37 +0000 (17:06 +0800)]
ASoC: atmel_ssc_dai: Handle errors for clk_enable
As the potential failure of the clk_enable(),
it should be better to check it and return error if fals.
Fixes:
cbaadf0f90d6 ("ASoC: atmel_ssc_dai: refactor the startup and shutdown")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20220301090637.3776558-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiasheng Jiang [Tue, 1 Mar 2022 08:17:17 +0000 (16:17 +0800)]
ASoC: mxs-saif: Handle errors for clk_enable
As the potential failure of the clk_enable(),
it should be better to check it, like mxs_saif_trigger().
Fixes:
d0ba4c014934 ("ASoC: mxs-saif: set a base clock rate for EXTMASTER mode work")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Link: https://lore.kernel.org/r/20220301081717.3727190-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Libin Yang [Tue, 1 Mar 2022 19:49:03 +0000 (13:49 -0600)]
ASoC: Intel: soc-acpi: add entries in ADL match table
Support configuration with SoundWire RT1316 amplifiers on link0 and
link1, and RT711 on link2 for headphone/headset. This product does not
support local microphones.
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-9-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Tue, 1 Mar 2022 19:49:02 +0000 (13:49 -0600)]
ASoC: Intel: sof_ssp_amp: rename driver and support cs35l41 amplifier
Add support of CS35L41 amplifier to the machine driver, as well as
the support of HDMI playback and BT offload DAI Link.
Rename the driver to a generic name to support different amplifiers
from different vendors.
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-8-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Tue, 1 Mar 2022 19:49:01 +0000 (13:49 -0600)]
ASoC: Intel: cirrus-common: support cs35l41 amplifier
Implement cs35l41 support code in this common module so it could be
shared between multiple SOF machine drivers.
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-7-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Tue, 1 Mar 2022 19:49:00 +0000 (13:49 -0600)]
ASoC: Intel: sof_rt1308: move rt1308 code to common module
Move the code related to rt1308 dai link to the realtek common module.
It creates a clean base to add more amplifier support to this machine
driver in the future.
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-6-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Brent Lu [Tue, 1 Mar 2022 19:48:59 +0000 (13:48 -0600)]
ASoC: Intel: boards: create sof-realtek-common module
Move sof_realtek_common.o to a dedicated module like the module to
support maxim amplifiers.
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Signed-off-by: Brent Lu <brent.lu@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-5-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
balamurugan.c [Tue, 1 Mar 2022 19:48:58 +0000 (13:48 -0600)]
ASoC: Intel: add RT1308 I2S machine driver and HDMI-in capture via I2S support.
Adding separate I2S machine driver for RT1308.
Adding support for HDMI-In capture via I2S in slave mode configuration.
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Signed-off-by: balamurugan.c <balamurugan.c@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-4-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Tue, 1 Mar 2022 19:48:57 +0000 (13:48 -0600)]
ASoC: Intel: boards: fix spelling in comments
copy/paste spelling issues with platforms and buttons.
Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com>
Reviewed-by: FRED OH <fred.oh@linux.intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-3-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Pierre-Louis Bossart [Tue, 1 Mar 2022 19:48:56 +0000 (13:48 -0600)]
ASoC: soc-acpi: remove sof_fw_filename
We've been using a default firmware name for each PCI/ACPI/OF platform
for a while. The machine-specific sof_fw_filename is in practice not
different from the default, and newer devices don't set this field, so
let's remove the redundant definitions.
When OEMs modify the base firmware, they can keep the same firmware
name but store the file in a separate directory.
Reviewed-by: Bard Liao <yung-chuan.liao@linux.intel.com>
Reviewed-by: Rander Wang <rander.wang@intel.com>
Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Link: https://lore.kernel.org/r/20220301194903.60859-2-pierre-louis.bossart@linux.intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Mon, 28 Feb 2022 14:42:35 +0000 (14:42 +0000)]
ASoC: codecs: wsa881x: add runtime pm support
WSA SoundWire Controller does not support Clock stop and performs a soft reset
on suspend resume path. Its recommended that WSA881x codecs connected to this
are also reset using a hard reset during suspend resume.
So this codec driver performs a hard reset during suspend resume cycle.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220228144235.24208-1-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Mon, 28 Feb 2022 19:13:38 +0000 (19:13 +0000)]
ASoC: Add power domains support for digital macro codecs
Merge series from Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>:
This patch set is to add power domains support for RX, TX and VA macros.
Mark Brown [Tue, 22 Feb 2022 22:33:00 +0000 (22:33 +0000)]
ASoC: es7241: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the es7241 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222223300.3120298-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:26 +0000 (23:40 +0000)]
ASoC: max98927: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98927 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-10-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:25 +0000 (23:40 +0000)]
ASoC: max98926: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98926 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-9-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:24 +0000 (23:40 +0000)]
ASoC: max98925: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98925 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-8-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:23 +0000 (23:40 +0000)]
ASoC: max9867: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max9867 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-7-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:22 +0000 (23:40 +0000)]
ASoC: max9860: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max9860 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-6-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:21 +0000 (23:40 +0000)]
ASoC: max9850: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max9850 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-5-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:20 +0000 (23:40 +0000)]
ASoC: max98390: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98390 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-4-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:19 +0000 (23:40 +0000)]
ASoC: max98371: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98371 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-3-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:18 +0000 (23:40 +0000)]
ASoC: max98095: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98095 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 23:40:17 +0000 (23:40 +0000)]
ASoC: max98088: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the max98088 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222234026.712070-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:34:09 +0000 (00:34 +0000)]
ASoC: uda134x: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the uda134x driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223003409.1820405-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:16:36 +0000 (00:16 +0000)]
ASoC: ml26124: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the ml26124 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223001636.1321505-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 01:48:46 +0000 (01:48 +0000)]
ASoC: pcm512x: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm512x driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-4-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 01:48:45 +0000 (01:48 +0000)]
ASoC: pcm3168a: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm3168a driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-3-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 01:48:44 +0000 (01:48 +0000)]
ASoC: pcm186x: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm186x driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 01:48:43 +0000 (01:48 +0000)]
ASoC: pcm1681: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm1681 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014846.2765382-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 01:47:31 +0000 (01:47 +0000)]
ASoC: pcm3060: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the pcm3060 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223014731.2765283-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Sascha Hauer [Wed, 23 Feb 2022 13:06:25 +0000 (14:06 +0100)]
ASoC: fsl: Drop unused argument from imx_pcm_dma_init()
Since
70d435ba1cd ("ASoC: imx-pcm-dma: simplify pcm_config") the size
argument to imx_pcm_dma_init() is unused, so drop it. Also remove the
now unused defines that the users of imx_pcm_dma_init() used to pass the
size argument
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Link: https://lore.kernel.org/r/20220223130625.3430589-1-s.hauer@pengutronix.de
Signed-off-by: Mark Brown <broonie@kernel.org>
Yang Li [Thu, 24 Feb 2022 01:10:46 +0000 (09:10 +0800)]
ASoC: mediatek: mt8195: Remove unnecessary print function dev_err()
The print function dev_err() is redundant because platform_get_irq()
already prints an error.
Eliminate the follow coccicheck warning:
./sound/soc/mediatek/mt8195/mt8195-afe-pcm.c:3126:2-9: line 3126 is
redundant because platform_get_irq() already prints an error
Reported-by: Abaci Robot <abaci@linux.alibaba.com>
Signed-off-by: Yang Li <yang.lee@linux.alibaba.com>
Link: https://lore.kernel.org/r/20220224011046.76904-1-yang.lee@linux.alibaba.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Jiasheng Jiang [Mon, 28 Feb 2022 03:15:40 +0000 (11:15 +0800)]
ASoC: ti: davinci-i2s: Add check for clk_enable()
As the potential failure of the clk_enable(),
it should be better to check it and return error
if fails.
Fixes:
5f9a50c3e55e ("ASoC: Davinci: McBSP: add device tree support for McBSP")
Signed-off-by: Jiasheng Jiang <jiasheng@iscas.ac.cn>
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20220228031540.3571959-1-jiasheng@iscas.ac.cn
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:14:16 +0000 (00:14 +0000)]
ASoC: mc13783: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the mc13783 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223001416.1235951-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 22:50:14 +0000 (22:50 +0000)]
ASoC: isabelle: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the isabelle driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222225014.3691208-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Lad Prabhakar [Sun, 27 Feb 2022 22:56:32 +0000 (22:56 +0000)]
ASoC: dt-bindings: renesas,rz-ssi: Document RZ/V2L SoC
Document RZ/V2L SSI bindings. RZ/V2L SSI is identical to one found
on the RZ/G2L SoC. No driver changes are required as generic compatible
string "renesas,rz-ssi" will be used as a fallback.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Biju Das <biju.das.jz@bp.renesas.com>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@canonical.com>
Link: https://lore.kernel.org/r/20220227225633.28829-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Vijendar Mukunda [Fri, 25 Feb 2022 19:30:25 +0000 (01:00 +0530)]
ASoC: amd: vangogh: fix uninitialized symbol warning in machine driver
Fixed below smatch static checker warning.
sound/soc/amd/vangogh/acp5x-mach.c:190 acp5x_cs35l41_hw_params()
error: uninitialized symbol 'ret'.
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/20220225193054.24916-4-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Vijendar Mukunda [Fri, 25 Feb 2022 19:30:24 +0000 (01:00 +0530)]
ASoC: amd: vg: remove warnings and errors pointed out by checkpatch pl
Fix checkpatch pl errors and warnings in vangogh machine driver.
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/20220225193054.24916-3-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Vijendar Mukunda [Fri, 25 Feb 2022 19:30:23 +0000 (01:00 +0530)]
ASoC: amd: vg: update DAI link name
Update DAI link name as "acp5x-8821-play".
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/20220225193054.24916-2-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Vijendar Mukunda [Fri, 25 Feb 2022 19:30:22 +0000 (01:00 +0530)]
ASoC: amd: vg: fix for pm resume callback sequence
The previous condition is used to cross check only the active
stream status for I2S HS instance playback and capture use cases.
Modified logic to invoke sequence for two i2s controller instances.
This also fixes warnings reported by kernel robot:
"warning: variable 'frmt_val' set but not used"
"warning: variable 'reg_val' set but not used"
Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/20220225193054.24916-1-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 22:35:34 +0000 (22:35 +0000)]
ASoC: es8328: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the es8328 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222223534.3212743-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 22:48:16 +0000 (22:48 +0000)]
ASoC: inno_rk3036: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the inno_rk3036 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222224816.3636987-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 22:34:53 +0000 (22:34 +0000)]
ASoC: es8316: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the es8316 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222223453.3190333-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:38:10 +0000 (00:38 +0000)]
ASoC: wl1273: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the wl1273 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223003810.1947495-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 22:27:15 +0000 (22:27 +0000)]
ASoC: es7134: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the es7134 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222222715.2994339-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:30:46 +0000 (00:30 +0000)]
ASoC: twl4030: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the twl4030 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Acked-by: Peter Ujfalusi <peter.ujfalusi@gmail.com>
Link: https://lore.kernel.org/r/20220223003046.1697784-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:32:07 +0000 (00:32 +0000)]
ASoC: uda1334: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the uda1334 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223003207.1748248-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:37:07 +0000 (00:37 +0000)]
ASoC: uda1380: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the uda1380 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223003707.1903798-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:17:37 +0000 (00:17 +0000)]
ASoC: si476x: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the si476x driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223001737.1360028-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:25:02 +0000 (00:25 +0000)]
ASoC: sti-sas: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the sti-sas driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223002502.1451015-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Meng Tang [Sun, 27 Feb 2022 05:09:28 +0000 (13:09 +0800)]
ASoC: amd: pcm-dma: Use platform_get_irq() to get the interrupt
platform_get_resource(pdev, IORESOURCE_IRQ, ..) relies on static
allocation of IRQ resources in DT core code, this causes an issue
when using hierarchical interrupt domains using "interrupts" property
in the node as this bypassed the hierarchical setup and messed up the
irq chaining.
In preparation for removal of static setup of IRQ resource from DT core
code use platform_get_irq().
Signed-off-by: Meng Tang <tangmeng@uniontech.com>
Link: https://lore.kernel.org/r/20220227050928.32270-1-tangmeng@uniontech.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:27:51 +0000 (00:27 +0000)]
ASoC: tscs454: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the tscs454 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223002751.1574345-2-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Wed, 23 Feb 2022 00:27:50 +0000 (00:27 +0000)]
ASoC: tscs42xx: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the tscs42xx driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220223002751.1574345-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Tue, 22 Feb 2022 22:51:35 +0000 (22:51 +0000)]
ASoC: lm49453: Use modern ASoC DAI format terminology
As part of moving to remove the old style defines for the bus clocks update
the lm49453 driver to use more modern terminology for clocking.
Signed-off-by: Mark Brown <broonie@kernel.org>
Link: https://lore.kernel.org/r/20220222225135.3726158-1-broonie@kernel.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivasa Rao Mandadapu [Sat, 26 Feb 2022 18:09:19 +0000 (23:39 +0530)]
ASoC: qcom: dt-bindings: Add bindings for power domains in lpass digital codecs
Include power domain dt-bindings for lpass digital codecs RX, TX and
VA macros, which are required for ADSP bypass architecture.
Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Link: https://lore.kernel.org/r/1645898959-11231-3-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivasa Rao Mandadapu [Sat, 26 Feb 2022 18:09:18 +0000 (23:39 +0530)]
ASoC: codecs: Add power domains support in digital macro codecs
Add support for enabling required power domains in digital macro codecs.
macro and dcodec power domains are being requested as clocks by HLOS
in ADSP based architectures and ADSP internally handling as powerdomains.
In ADSP bypass case need to handle them as power domains explicitly.
Signed-off-by: Srinivasa Rao Mandadapu <quic_srivasam@quicinc.com>
Co-developed-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Signed-off-by: Venkata Prasad Potturu <quic_potturu@quicinc.com>
Reported-by: kernel test robot <lkp@intel.com>
Link: https://lore.kernel.org/r/1645898959-11231-2-git-send-email-quic_srivasam@quicinc.com
Signed-off-by: Mark Brown <broonie@kernel.org>
Mark Brown [Fri, 25 Feb 2022 17:01:44 +0000 (17:01 +0000)]
ASoC: codecs: add pm runtime support for Qualcomm codecs
Merge series from Srinivas Kandagatla <srinivas.kandagatla@linaro.org>:
This patchset adds support for runtime pm on tx/rx/wsa/wcd lpass macro,
wsa881x and wcd938x codecs that are wired up on SoundWire bus. During
pm testing it was also found that soundwire clks enabled by lpass macros
are not enabling all the required clocks correctly, so last 3 patches
corrects them.
Tested this on SM8250 MTP along SoundWire In band Headset Button wakeup
interrupts.
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:18 +0000 (11:17 +0000)]
ASoC: codecs: wcd-mbhc: add runtime pm support
under low power state a SoundWire Wake IRQ could trigger MBHC interrupts
so make sure that codec is not in suspended state when this happens.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-17-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:17 +0000 (11:17 +0000)]
ASoC: codecs: wcd938x: add simple clk stop support
mark WCD938x as clock stop capable.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-16-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:15 +0000 (11:17 +0000)]
ASoC: codecs: tx-macro: add runtime pm support
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-14-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:14 +0000 (11:17 +0000)]
ASoC: codecs: rx-macro: add runtime pm support
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-13-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:13 +0000 (11:17 +0000)]
ASoC: codecs: wsa-macro: add runtime pm support
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-12-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:12 +0000 (11:17 +0000)]
ASoC: codecs: va-macro: add runtime pm support
Add pm runtime support to VA Macro.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-11-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:11 +0000 (11:17 +0000)]
ASoC: codecs: rx-macro: setup soundwire clks correctly
For SoundWire Frame sync to be generated correctly we need both MCLK
and MCLKx2 (npl). Without pm runtime enabled these two clocks will remain on,
however after adding pm runtime support its possible that NPl clock could be
turned off even when SoundWire controller is active.
Fix this by enabling mclk and npl clk when SoundWire clks are enabled.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-10-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:10 +0000 (11:17 +0000)]
ASoC: codecs: tx-macro: setup soundwire clks correctly
For SoundWire Frame sync to be generated correctly we need both MCLK
and MCLKx2 (npl). Without pm runtime enabled these two clocks will remain on,
however after adding pm runtime support its possible that NPl clock could be
turned off even when SoundWire controller is active.
Fix this by enabling mclk and npl clk when SoundWire clks are enabled.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-9-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:09 +0000 (11:17 +0000)]
ASoC: codecs: wsa-macro: setup soundwire clks correctly
For SoundWire Frame sync to be generated correctly we need both MCLK
and MCLKx2 (npl). Without pm runtime enabled these two clocks will remain on,
however after adding pm runtime support its possible that NPl clock could be
turned off even when SoundWire controller is active.
Fix this by enabling mclk and npl clk when SoundWire clks are enabled.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-8-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:08 +0000 (11:17 +0000)]
ASoC: codecs: wsa-macro: move to individual clks from bulk
Using bulk clocks and referencing them individually using array index is
not great for readers.
So move them to individual clocks handling and also remove some unnecessary
error handling in the code.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-7-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:07 +0000 (11:17 +0000)]
ASoC: codecs: tx-macro: move to individual clks from bulk
Using bulk clocks and referencing them individually using array index is
not great for readers.
So move them to individual clocks handling and also remove some unnecessary
error handling in the code.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-6-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>
Srinivas Kandagatla [Thu, 24 Feb 2022 11:17:06 +0000 (11:17 +0000)]
ASoC: codecs: rx-macro: move to individual clks from bulk
Using bulk clocks and referencing them individually using array index is
not great for readers.
So move them to individual clocks handling and also remove some unnecessary
error handling in the code.
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20220224111718.6264-5-srinivas.kandagatla@linaro.org
Signed-off-by: Mark Brown <broonie@kernel.org>