31 Jul, 2020
18 commits
-
…g <michael.wei.hong.sit@intel.com>:
This patch series is to enable multiple features on the Keembay Platform
Michael Sit Wei Hong (4):
ASoC: Intel: KMB: Add 8kHz audio support
ASoC: Intel: KMB: Rework disable channel function
ASoC: Intel: KMB: Enable TDM audio capture
dt-bindings: sound: intel,keembay-i2s: Add channel-max property.../bindings/sound/intel,keembay-i2s.yaml | 8 +
sound/soc/intel/keembay/kmb_platform.c | 137 +++++++++++++-----
sound/soc/intel/keembay/kmb_platform.h | 1 +
3 files changed, 112 insertions(+), 34 deletions(-)--
2.17.1 -
This patcheset is collection of fixes for the TDM input and output the
axg audio architecture. Its fixes:
- slave mode format setting
- g12 and sm1 skew offset
- tdm clock inversion
- standard daifmt props names which don't require a specific prefixJerome Brunet (4):
ASoC: meson: axg-tdm-interface: fix link fmt setup
ASoC: meson: axg-tdmin: fix g12a skew
ASoC: meson: axg-tdm-formatters: fix sclk inversion
ASoC: meson: cards: remove DT_PREFIX for standard daifmt propertiessound/soc/meson/axg-tdm-formatter.c | 11 ++++++-----
sound/soc/meson/axg-tdm-formatter.h | 1 -
sound/soc/meson/axg-tdm-interface.c | 26 +++++++++++++++++---------
sound/soc/meson/axg-tdmin.c | 16 +++++++++++++++-
sound/soc/meson/axg-tdmout.c | 3 ---
sound/soc/meson/meson-card-utils.c | 2 +-
6 files changed, 39 insertions(+), 20 deletions(-)--
2.25.4 -
This patch switches from .txt base to .yaml base Document.
Signed-off-by: Kuninori Morimoto
Reviewed-by: Rob Herring
Link: https://lore.kernel.org/r/87mu4cxlo2.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/87o8pf3923.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/873659bpbk.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown -
Adding rt1015 hw_params which set Bit-clock ratio,
PLL and appropriate sys clk specific with RTK1015.Signed-off-by: Ravulapati Vishnu vardhan rao
Link: https://lore.kernel.org/r/20200728160255.31020-6-Vishnuvardhanrao.Ravulapati@amd.com
Signed-off-by: Mark Brown -
DAI link support for RTK 1015 and providing the codec details
depending on the snd_soc_card selected by ACPI ID.Signed-off-by: Ravulapati Vishnu vardhan rao
Link: https://lore.kernel.org/r/20200728160255.31020-5-Vishnuvardhanrao.Ravulapati@amd.com
Signed-off-by: Mark Brown -
Adding support for ALC1015 RTK codec in machine driver.
Passing specific card structure based on its ACPI ID.Signed-off-by: Ravulapati Vishnu vardhan rao
Link: https://lore.kernel.org/r/20200728160255.31020-4-Vishnuvardhanrao.Ravulapati@amd.com
Signed-off-by: Mark Brown -
Passing specific snd_soc_card structure depending on the ACPI ID.
In future we can add other IDs in the ACPI table and pass the structure.Signed-off-by: Ravulapati Vishnu vardhan rao
Link: https://lore.kernel.org/r/20200728160255.31020-3-Vishnuvardhanrao.Ravulapati@amd.com
Signed-off-by: Mark Brown -
As in future our machine driver supports multiple codecs
So changing naming convention of snd_soc_card struct and its fields.Signed-off-by: Ravulapati Vishnu vardhan rao
Link: https://lore.kernel.org/r/20200728160255.31020-2-Vishnuvardhanrao.Ravulapati@amd.com
Signed-off-by: Mark Brown -
This patch adds support for voice and BT calls, along with standard
audio output via the speaker, earpiece, headphone jack, HDMI, and
any accessories compatible with Midas boards. This patch also supports
headphone/headset detection and headsets with inline buttons.[m.szyprowski: adaptation to v5.1+ kernels (DAI links initialization)]
[s.nawrocki: removal of the clk API calls for CODEC MCLK, the jack data
structure moved to struct midas_priv, coding style and typo fixes,
conversion to new cpu/codec/dai-node binding]Signed-off-by: Simon Shields
Signed-off-by: Marek Szyprowski
Signed-off-by: Sylwester Nawrocki
Acked-by: Krzysztof Kozlowski
Link: https://lore.kernel.org/r/20200728131111.14334-2-s.nawrocki@samsung.com
Signed-off-by: Mark Brown -
This patch adds documentation of DT biding for the Midas sound complex.
Partially based on the *txt version by Simon Shields .Signed-off-by: Sylwester Nawrocki
Reviewed-by: Krzysztof Kozlowski
Link: https://lore.kernel.org/r/20200728131111.14334-1-s.nawrocki@samsung.com
Signed-off-by: Mark Brown -
Reset the device before programming the registers or all programming
will be lost as the device resets registers to default settings.Signed-off-by: Dan Murphy
Link: https://lore.kernel.org/r/20200730142419.28205-2-dmurphy@ti.com
Signed-off-by: Mark Brown -
The header was updated to align with the data sheet to start the GPO_CFG
at GPO_CFG0. The code was not updated to the change and therefore the
GPO_CFG0 register was not written to.Fixes: 6617cff6a05e ("ASoC: tlv320adcx140: Add GPO configuration and drive output config")
Signed-off-by: Dan Murphy
Link: https://lore.kernel.org/r/20200730142419.28205-1-dmurphy@ti.com
Signed-off-by: Mark Brown -
All channels are enabled at boot up, this patch ensures that all
channels are disabled at boot and whenever the function is called.Signed-off-by: Michael Sit Wei Hong
Reviewed-by: Sia Jee Heng
Reviewed-by: Pierre-Louis Bossart
Link: https://lore.kernel.org/r/20200730055319.1522-3-michael.wei.hong.sit@intel.com
Signed-off-by: Mark Brown -
Enable 8kHz audio support for Intel Keem Bay platform.
Signed-off-by: Michael Sit Wei Hong
Reviewed-by: Sia Jee Heng
Reviewed-by: Pierre-Louis Bossart
Link: https://lore.kernel.org/r/20200730055319.1522-2-michael.wei.hong.sit@intel.com
Signed-off-by: Mark Brown -
Standard dai format property don't need the "amlogic," prefix.
There nothing amlogic specific about them. Just remove it.Fixes: 435857e015dc ("ASoC: meson: align axg card driver with DT bindings documentation")
Signed-off-by: Jerome Brunet
Link: https://lore.kernel.org/r/20200729154456.1983396-5-jbrunet@baylibre.com
Signed-off-by: Mark Brown -
After carefully checking, it appears that both tdmout and tdmin require the
rising edge of the sclk they get to be synchronized with the frame sync
event (which should be a rising edge of lrclk).TDMIN was improperly set before this patch. Remove the sclk_invert quirk
which is no longer needed and fix the sclk phase.Fixes: 1a11d88f499c ("ASoC: meson: add tdm formatter base driver")
Signed-off-by: Jerome Brunet
Link: https://lore.kernel.org/r/20200729154456.1983396-4-jbrunet@baylibre.com
Signed-off-by: Mark Brown -
After carefully checking the result provided by the TDMIN on the g12a and
sm1 SoC families, the TDMIN skew offset appears to be 3 instead of 2 on the
axg.Fixes: f01bc67f58fd ("ASoC: meson: axg-tdm-formatter: rework quirks settings")
Signed-off-by: Jerome Brunet
Link: https://lore.kernel.org/r/20200729154456.1983396-3-jbrunet@baylibre.com
Signed-off-by: Mark Brown -
The .set_fmt() callback of the axg tdm interface incorrectly
test the content of SND_SOC_DAIFMT_MASTER_MASK as if it was a
bitfield, which it is not.Implement the test correctly.
Fixes: d60e4f1e4be5 ("ASoC: meson: add tdm interface driver")
Signed-off-by: Jerome Brunet
Link: https://lore.kernel.org/r/20200729154456.1983396-2-jbrunet@baylibre.com
Signed-off-by: Mark Brown
29 Jul, 2020
5 commits
-
Add General Purpose Output (GPO) configuration and driver output
configuration. The GPOs can be configured as a GPO, IRQ, SDOUT or a
PDMCLK output. In addition the output drive can be configured with
various configurations.Signed-off-by: Dan Murphy
Link: https://lore.kernel.org/r/20200728160833.24130-2-dmurphy@ti.com
Signed-off-by: Mark Brown -
Add properties for configuring the General Purpose Outputs (GPO). The
GPOs. There are 2 settings for each GPO, configuration and the output drive
type.Signed-off-by: Dan Murphy
Link: https://lore.kernel.org/r/20200728160833.24130-1-dmurphy@ti.com
Signed-off-by: Mark Brown -
Fix white space issues and remove else case where it was not needed.
Convert "static const char *" to "static const char * const"Fixes: 689c7655b50 ("ASoC: tlv320adcx140: Add the tlv320adcx140 codec driver family")
Signed-off-by: Dan Murphy
Link: https://lore.kernel.org/r/20200728164339.16841-1-dmurphy@ti.com
Signed-off-by: Mark Brown -
Revert 5b235b5522bf38 ("ASoC: dt-bindings: ak4613: switch to yaml base
Documentation") for the time being since it depends on other conversions.Reported-by: Rob Herring
Signed-off-by: Mark Brown -
Silence clk_get() error with dev_dbg() on -EPROBE_DEFER.
Signed-off-by: Seung-Woo Kim
Link: https://lore.kernel.org/r/1595564371-13692-1-git-send-email-sw0312.kim@samsung.com
Signed-off-by: Mark Brown
28 Jul, 2020
7 commits
-
… <ranjani.sridharan@linux.intel.com>:
This set of patches is required for facilitating system S0ix
entry when the DSP is in D0I3. This first patch adds the missing
CORB/RIRB DMA stop and restart to the suspend/resume sequence along
with powering up/down the links. The second patch ensures that the
FW traces are disabled when the system enters S0ix with the DSP in D0I3.Marcin Rajwa (2):
ASoC: SOF: Intel: fix the suspend procedure to support s0ix entry
ASoC: SOF: Intel: disable traces when switching to S0Ix D0I3sound/soc/sof/intel/hda-dsp.c | 48 ++++++++++++++++++++++++++++++++---
1 file changed, 44 insertions(+), 4 deletions(-)--
2.25.1 -
Convert the TAS2562 text file to yaml format.
Signed-off-by: Dan Murphy
Reviewed-by: Rob Herring
Link: https://lore.kernel.org/r/20200723160838.9738-1-dmurphy@ti.com
Signed-off-by: Mark Brown -
Update the shutdown GPIO property to be shutdown from shut-down.
Fixes: c173dba44c2d2 ("ASoC: tas2562: Introduce the TAS2562 amplifier")
Signed-off-by: Dan Murphy
Link: https://lore.kernel.org/r/20200723160838.9738-2-dmurphy@ti.com
Signed-off-by: Mark Brown -
This patch converts Everest Semiconductor ES8316 low power audio
CODEC binding to DT schema.Signed-off-by: Katsuhiro Suzuki
Reviewed-by: Rob Herring
Link: https://lore.kernel.org/r/20200724155933.1040501-1-katsuhiro@katsuster.net
Signed-off-by: Mark Brown -
Set the channel number on each AIF widget to allow unused channels not
to be powered up across AIFs.Signed-off-by: Charles Keepax
Link: https://lore.kernel.org/r/20200728144141.16104-1-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown -
We should always disable DMA trace on S0Ix. When staying at S0-D0I3,
we should enable DMA trace while both DMA Trace debug is enabled and
hda_enable_trace_D0I3_S0 is set. This commit corrects the existed
logic errors about that.Signed-off-by: Marcin Rajwa
Signed-off-by: Keyon Jie
Signed-off-by: Ranjani Sridharan
Reviewed-by: Pierre-Louis Bossart
Reviewed-by: Kai Vehmanen
Link: https://lore.kernel.org/r/20200727183613.1419005-3-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown -
This patch fixes the suspend & resume procedure to allow entry into the
low power states with some streams being active as a wake source - wake on
voice is a perfect example. The current implementation does not stop
the CORB/RIRB DMA and does not power down the HDA links. With firmware's
help, the platform has been able to still enter s0ix state on older
platforms, but the sequence is still incorrect, and the additional
driver actions are needed to ensure correct s0ix behaviour.Signed-off-by: Marcin Rajwa
Signed-off-by: Keyon Jie
Signed-off-by: Ranjani Sridharan
Reviewed-by: Pierre-Louis Bossart
Reviewed-by: Kai Vehmanen
Link: https://lore.kernel.org/r/20200727183613.1419005-2-ranjani.sridharan@linux.intel.com
Signed-off-by: Mark Brown
27 Jul, 2020
5 commits
-
…kuninori.morimoto.gx@renesas.com>:
Hi Mark
I have posted "ASoC: add asoc_substream_to_rtd() macro"
patch-set to ALSA SoC ML (= see Link), and then Pierre-Louis
wanted that Intel patch was separated for boards.The patches which are not for Intel were already accepted.
This is for Intel, and Intel boards.Link: https://lore.kernel.org/r/87y2nf0yw2.wl-kuninori.morimoto.gx@renesas.com
Link: https://lore.kernel.org/r/877duz0ysw.wl-kuninori.morimoto.gx@renesas.comKuninori Morimoto (2):
ASoC: intel/boards: use asoc_substream_to_rtd()
ASoC: intel: use asoc_substream_to_rtd()sound/soc/intel/atom/sst-mfld-platform-pcm.c | 6 +++---
sound/soc/intel/baytrail/sst-baytrail-pcm.c | 16 ++++++++--------
sound/soc/intel/boards/bdw-rt5650.c | 2 +-
sound/soc/intel/boards/bdw-rt5677.c | 4 ++--
sound/soc/intel/boards/broadwell.c | 2 +-
sound/soc/intel/boards/bxt_rt298.c | 2 +-
sound/soc/intel/boards/byt-rt5640.c | 2 +-
sound/soc/intel/boards/bytcht_da7213.c | 4 ++--
sound/soc/intel/boards/bytcr_rt5640.c | 2 +-
sound/soc/intel/boards/bytcr_rt5651.c | 2 +-
sound/soc/intel/boards/cht_bsw_max98090_ti.c | 2 +-
sound/soc/intel/boards/cht_bsw_nau8824.c | 2 +-
sound/soc/intel/boards/cht_bsw_rt5645.c | 2 +-
sound/soc/intel/boards/cht_bsw_rt5672.c | 2 +-
sound/soc/intel/boards/cml_rt1011_rt5682.c | 4 ++--
sound/soc/intel/boards/ehl_rt5660.c | 2 +-
sound/soc/intel/boards/glk_rt5682_max98357a.c | 2 +-
sound/soc/intel/boards/haswell.c | 2 +-
sound/soc/intel/boards/kbl_da7219_max98927.c | 8 ++++----
sound/soc/intel/boards/kbl_rt5660.c | 2 +-
sound/soc/intel/boards/kbl_rt5663_max98927.c | 4 ++--
.../intel/boards/kbl_rt5663_rt5514_max98927.c | 4 ++--
sound/soc/intel/boards/skl_nau88l25_max98357a.c | 2 +-
sound/soc/intel/boards/skl_nau88l25_ssm4567.c | 2 +-
sound/soc/intel/boards/skl_rt286.c | 2 +-
sound/soc/intel/boards/sof_da7219_max98373.c | 2 +-
sound/soc/intel/boards/sof_maxim_common.c | 4 ++--
sound/soc/intel/boards/sof_pcm512x.c | 4 ++--
sound/soc/intel/boards/sof_rt5682.c | 4 ++--
sound/soc/intel/boards/sof_sdw_rt1308.c | 2 +-
sound/soc/intel/boards/sof_wm8804.c | 2 +-
sound/soc/intel/haswell/sst-haswell-pcm.c | 12 ++++++------
sound/soc/intel/keembay/kmb_platform.c | 2 +-
sound/soc/intel/skylake/skl-pcm.c | 8 ++++----
34 files changed, 62 insertions(+), 62 deletions(-)--
2.25.1 -
Right now the direction of a DAI has to be specified as a literal
number in the device tree, e.g.:dai@0 {
reg = ;
direction = ;
};but this does not make it immediately clear that this is a
playback/RX-only DAI.Actually, q6asm-dai.c has useful defines for this. Move them to the
dt-bindings header to allow using them in the dts(i) files.
The example above then becomes:dai@0 {
reg = ;
direction = ;
};which is immediately recognizable as playback/RX-only DAI.
Signed-off-by: Stephan Gerhold
Reviewed-by: Srinivas Kandagatla
Cc: Srinivas Kandagatla
Link: https://lore.kernel.org/r/20200727082502.2341-1-stephan@gerhold.net
Signed-off-by: Mark Brown -
PME_EN state needs to restored to the value set by fmw.
For the devices which are not using I2S wake event which gets
enabled by PME_EN bit, keeping PME_EN enabled burns considerable amount
of power as it blocks low power state.
For the devices using I2S wake event, PME_EN gets enabled in fmw and the
state should be maintained after ACP Power On.Signed-off-by: Akshu Agrawal
Link: https://lore.kernel.org/r/20200724195600.11798-1-akshu.agrawal@amd.com
Signed-off-by: Mark Brown -
Now we can use asoc_substream_to_rtd() macro,
let's use it.Signed-off-by: Kuninori Morimoto
Reviewed-by: Pierre-Louis Bossart
Link: https://lore.kernel.org/r/87tuxtydcz.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown -
Now we can use asoc_substream_to_rtd() macro,
let's use it.Signed-off-by: Kuninori Morimoto
Reviewed-by: Pierre-Louis Bossart
Link: https://lore.kernel.org/r/87v9i9yddc.wl-kuninori.morimoto.gx@renesas.com
Signed-off-by: Mark Brown
25 Jul, 2020
1 commit
-
runtime_usage of sound card has been observed to grow without bound.
For example:
$ cat /sys/devices/platform/sound/power/runtime_usage
46
$ sox -n -t s16 -r 48000 -c 2 - synth 1 sine 440 vol 0.1 | \
aplay -q -D hw:0,0 -f S16_LE -r 48000 -c 2
$ cat /sys/devices/platform/sound/power/runtime_usage
52Commit 4e872a46823c ("ASoC: dapm: Don't force card bias level to be
updated") stops to force update bias_level on card. If card doesn't
provide set_bias_level callback, the snd_soc_dapm_set_bias_level()
is equivalent to NOP for card device.As a result, dapm_pre_sequence_async() doesn't change the bias_level of
card device correctly. Thus, pm_runtime_get_sync() would be called in
dapm_pre_sequence_async() without symmetric pm_runtime_put() in
dapm_post_sequence_async().Don't call pm_runtime_* on card device.
Signed-off-by: Tzung-Bi Shih
Link: https://lore.kernel.org/r/20200724070731.451377-1-tzungbi@google.com
Signed-off-by: Mark Brown
24 Jul, 2020
4 commits
-
…Gerhold <stephan@gerhold.net>:
At the moment we have two separate functions to parse the sound card
properties from the device tree: qcom_snd_parse_of() for DPCM and
apq8016_sbc_parse_of() without DPCM. These functions are almost identical
except for a few minor differences.This patch set extends qcom_snd_parse_of() to handle links without DPCM,
so that we can use one common function for all (qcom) machine drivers.Stephan Gerhold (7):
ASoC: qcom: Use devm for resource management
ASoC: qcom: common: Use snd_soc_dai_link_set_capabilities()
ASoC: q6afe: Remove unused q6afe_is_rx_port() function
ASoC: qcom: common: Support parsing links without DPCM
ASoC: qcom: common: Parse properties with "qcom," prefix
ASoC: qcom: apq8016_sbc: Use qcom_snd_parse_of()
ASoC: qcom: common: Avoid printing errors for -EPROBE_DEFERsound/soc/qcom/Kconfig | 1 +
sound/soc/qcom/apq8016_sbc.c | 120 ++++-------------------------------
sound/soc/qcom/apq8096.c | 28 +-------
sound/soc/qcom/common.c | 58 ++++++++++-------
sound/soc/qcom/qdsp6/q6afe.c | 8 ---
sound/soc/qcom/qdsp6/q6afe.h | 1 -
sound/soc/qcom/sdm845.c | 40 ++----------
7 files changed, 59 insertions(+), 197 deletions(-)--
2.27.0 -
MAX98390_DSM_PARAM_MAX_SIZE is changed to support extended
register update.Signed-off-by: Steve Lee
Link: https://lore.kernel.org/r/20200724085644.9837-1-steves.lee@maximintegrated.com
Signed-off-by: Mark Brown -
Modify dsm_init sequence and dsm param bin check condition.
- Move dsm_init() to after amp init setting to
make sure dsm init is last setting.
- dsm param bin check condition changed for extended register setting.Signed-off-by: Steve Lee
Link: https://lore.kernel.org/r/20200724060149.19261-1-steves.lee@maximintegrated.com
Signed-off-by: Mark Brown -
With commit e2329eeba45f ("ASoC: soc-component: add soc_component_err()")
every error different for ENOTSUPP or EPROBE_DEFER will log an error.However, as explained in snd_soc_get_dai_name(), this callback may error
to indicate that the DAI is not matched by the component tested. If the
device provides other components, those may still match. Logging an error
in this case is misleading.Don't use soc_component_ret() in snd_soc_component_of_xlate_dai_name()
to avoid spamming the log.Fixes: e2329eeba45f ("ASoC: soc-component: add soc_component_err()")
Signed-off-by: Jerome Brunet
Cc: Kuninori Morimoto
Link: https://lore.kernel.org/r/20200723142020.1338740-1-jbrunet@baylibre.com
Signed-off-by: Mark Brown