aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2019-04-04ASoC: cs42l51: add regulator managementOlivier Moysan3-1/+50
Add cs42l51 audio codec power supply management through regulator framework. Signed-off-by: Olivier Moysan <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: dt-bindings: update cs42l51 bindingsOlivier Moysan1-0/+16
Add compatible, reg, regulator, and reset to Cirrus CS42L51 audio codec bindings. Signed-off-by: Olivier Moysan <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: wm_adsp: Avoid calling snd_compr_stop_error from WDT expiryCharles Keepax1-6/+4
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 <[email protected]> Signed-off-by: Mark Brown <[email protected]> Cc: [email protected]
2019-04-04ASoC: max98357a: add missing supported ratesJerome Brunet1-0/+3
According the publicly available datasheet (and some test) the max98357a also supports 32, 44.1 and 88.2 kHz sample rate. Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: tlv320aic32x4: Add Playback PowerTune ControlsAnnaliese McDermond2-0/+11
PowerTune controls the power level of the chip. On playback this indirectly controls things like the gain of the various output amplifiers. This can allow for the decrease of output levels from the codec. This adds controls for those power levels to the driver. Signed-off-by: Annaliese McDermond <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: tlv320aic32x4: Add Switch for Setting Common Mode VoltageAnnaliese McDermond1-0/+7
Add a switch for setting common mode voltage. This can allow for higher drive levels on the amplifier outputs. Signed-off-by: Annaliese McDermond <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: Mark RXFIFO_DATA as volatile and preciousSugar Zhang1-0/+13
This patch marks RXFIFO_DATA as precious to avoid being read outside a call from the driver, such as regmap debugfs Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: sprd: Fix spelling mistake "faied" -> "failed"Colin Ian King1-2/+2
There are two identical spelling mistakes in dev_err messages. Fix them. Signed-off-by: Colin Ian King <[email protected]> Reviewed-by: Mukesh Ojha <[email protected]> Reviewed-by: Baolin Wang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: Correct PDM_CTRL0 reg valueSugar Zhang1-2/+5
This patch fix the wrong reg value for rk322x/rk322xh, cuz there is no STORE JUSTIFIED MODE on it. on rk322x/rk322xh, the same bit means PDM_MODE/RESERVED, if the bit is set to RESERVED, the controller will not work. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: adjust waterlevel in frame unitSugar Zhang1-1/+2
This patch make the waterlevel more reasonable, because the pdm controller share the single FIFO(128 entries) with each channel. adjust waterlevel in frame to meet the vad or dma frames request. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04dt-bindings: sound: add compatible for rk1808Sugar Zhang1-0/+1
This patch adds bindings for rk1808 soc. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: add compatible for rk1808Sugar Zhang1-0/+2
This patch adds support for rk1808, the pdm controller is the same as rk3308. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04dt-bindings: sound: rockchip: add compatible for rk3308/px30Sugar Zhang1-0/+4
This patch adds bindings for rk3308/px30. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: fixup pdm fractional divSugar Zhang2-42/+139
This patch adds support fractional div for rk3308. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04Merge branch 'asoc-5.1' into asoc-5.2Mark Brown16-33/+181
2019-04-04ASoC: rockchip: pdm: optimize clear logicSugar Zhang1-3/+2
There is no need to reset controller every time, do this once in pdm_probe. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: add default regsSugar Zhang1-0/+8
This patch add default regs value for controller. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: using left justified store modeSugar Zhang2-0/+4
This patch set left justified store mode default. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: change dma burst to 8Sugar Zhang1-1/+1
This patch decreases the transfer bursts to avoid the fifo overrun. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: rockchip: pdm: fix regmap_ops hang issueSugar Zhang1-0/+2
This is because set_fmt ops maybe called when PD is off, and in such case, regmap_ops will lead system hang. enale PD before doing regmap_ops. Signed-off-by: Sugar Zhang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: simple-card: don't select DPCM via simple-audio-cardKuninori Morimoto1-3/+9
commit da215354eb55c ("ASoC: simple-card: merge simple-scu-card") merged simple-scu-audio-card which can handle DPCM into simple-audio-card. By this patch, the judgement to select "normal sound card" or "DPCM sound card" is based on its CPU/Codec DAI count. But, because of it, existing "simple-audio-card" user who is assuming "normal sound card" might select DPCM unintentionally. To solve this issue, this patch allows "simple-audio-card" user can select "normal sound card", and "simple-scu-audio-card" user can select both "normal sound card" and "DPCM sound card". This keeps compatibility collectry. Fixes: da215354eb55c ("ASoC: simple-card: merge simple-scu-card") Signed-off-by: Kuninori Morimoto <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: audio-graph-card: don't select DPCM via audio-graph-cardKuninori Morimoto1-3/+8
commit ae3cb5790906b ("ASoC: audio-graph-card: merge audio-graph-scu-card") merged audio-graph-scu-card which can handle DPCM into audio-graph-card. By this patch, the judgement to select "normal sound card" or "DPCM sound card" is based on its OF-graph endpoint connection. But, because of it, existing "audio-graph-card" user who is assuming "normal sound card" might select DPCM unintentionally. To solve this issue, this patch allows "audio-graph-card" user can select "normal sound card", and "audio-graph-scu-card" user can select both "normal sound card" and "DPCM sound card". This keeps compatibility collectry. Fixes: ae3cb5790906b ("ASoC: audio-graph-card: merge audio-graph-scu-card") Reported-by: Arnaud Pouliquen <[email protected]> Signed-off-by: Kuninori Morimoto <[email protected]> Acked-by: Arnaud Pouliquen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: tlv320aic32x4: Update copyright and use SPDX identifierAnnaliese McDermond2-24/+4
Update the copyright dates and use the SPDX identifier instead of reciting the license. Signed-off-by: Annaliese McDermond <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: sprd: Fix the smatch warningBaolin Wang1-2/+1
Remove the unnecessary validation of the 'cstream' variable to fix below smatch warning: sprd_platform_compr_drain_notify() warn: variable dereferenced before check 'cstream' (see line 105) Reported-by: Dan Carpenter <[email protected]> Signed-off-by: Baolin Wang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warningsYueHaibing1-1/+0
Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: YueHaibing <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: Mediatek: MT8183: Fix platform_no_drv_owner.cocci warningsYueHaibing1-1/+0
Remove .owner field if calls are used which set it automatically Generated by: scripts/coccinelle/api/platform_no_drv_owner.cocci Signed-off-by: YueHaibing <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-04ASoC: tlv320aic32x4: Change author's nameAnnaliese McDermond2-4/+4
The author of these files has changed her name. Update instances in the code of her dead name to current legal name. Signed-off-by: Annaliese McDermond <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: sprd: Fix modular buildMark Brown1-1/+3
Reported-by: Stephen Rothwell <[email protected]> Suggested-by: Baolin Wang <[email protected]> Tested-by: Baolin Wang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: Intel: cht_bsw_max98090_ti: Enable codec clock once and keep it enabledHans de Goede1-6/+41
Users have been seeing sound stability issues with max98090 codecs since: commit 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL") At first that commit broke sound for Chromebook Swanky and Clapper models, the problem was that the machine-driver has been controlling the wrong clock on those models since support for them was added. This was hidden by clk-pmc-atom.c keeping the actual clk on unconditionally. With the machine-driver controlling the proper clock, sound works again but we are seeing bug reports describing it as: low volume, "sounds like played at 10x speed" and instable. When these issues are hit the following message is seen in dmesg: "max98090 i2c-193C9890:00: PLL unlocked". Attempts have been made to fix this by inserting a delay between enabling the clk and enabling and checking the pll, but this has not helped. It seems that at least on boards which use pmc_plt_clk_0 as clock, if we ever disable the clk, the pll looses its lock and after that we get various issues. This commit fixes this by enabling the clock once at probe time on these boards. In essence this restores the old behavior of clk-pmc-atom.c always keeping the clk on on these boards. Fixes: 648e921888ad ("clk: x86: Stop marking clocks as CLK_IS_CRITICAL") Reported-by: Mogens Jensen <[email protected]> Reported-by: Dean Wallace <[email protected]> Signed-off-by: Hans de Goede <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: Mediatek: MT8183: Fix build error in mt8183_da7219_max98357_dev_probeYueHaibing1-1/+1
When building CONFIG_SND_SOC_MT8183_DA7219_MAX98357A=m gcc warn this: sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c: In function mt8183_da7219_max98357_dev_probe: sound/soc/mediatek/mt8183/mt8183-da7219-max98357.c:413:13: error: struct snd_soc_dai_link has no member named platform; did you mean platforms? dai_link->platform = NULL; ^~~~~~~~ platforms use 'dai_link->platforms' instead of 'dai_link->platform'. Fixes: 11c0269017b2 ("ASoC: Mediatek: MT8183: Add machine driver with TS3A227") Signed-off-by: YueHaibing <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: Mediatek: MT8183: TS3A227: fix build errorAnders Roxell1-1/+1
When building CONFIG_SND_SOC_MT8183_MT6358_TS3A227E_MAX98357A=m the following error pops up: ../sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c: In function ‘mt8183_mt6358_ts3a227_max98357_dev_probe’: ../sound/soc/mediatek/mt8183/mt8183-mt6358-ts3a227-max98357.c:325:13: error: ‘struct snd_soc_dai_link’ has no member named ‘platform’; did you mean ‘platforms’? dai_link->platform = NULL; ^~~~~~~~ platforms Rework to use 'dai_link->platforms' instead of 'dai_link->platform'. Fixes: 11c0269017b2 ("ASoC: Mediatek: MT8183: Add machine driver with TS3A227") Signed-off-by: Anders Roxell <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: wm_adsp: Make use of local variablesCharles Keepax1-3/+3
Tidy up some instances of dereferencing to obtain things that are already stored in local variables. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: wm_adsp: Remove redundant NULL check in wm_adsp_buffer_freeCharles Keepax1-2/+1
wm_adsp_compr_detach is NULL aware so there is no need to check for NULL before calling it, remove the redundant check. Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: tlv320aic31xx: aic31xx_set_jack() can be statickbuild test robot1-2/+2
Fixes: ebf3326cd969 ("ASoC: tlv320aic31xx: Add headphone/headset detection") Signed-off-by: kbuild test robot <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-03ASoC: wm_adsp: Check for buffer in trigger stopCharles Keepax1-1/+2
Trigger stop can be called in situations where trigger start failed and as such it can't be assumed the buffer is already attached to the compressed stream or a NULL pointer may be dereferenced. Fixes: 639e5eb3c7d6 ("ASoC: wm_adsp: Correct handling of compressed streams that restart") Signed-off-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02Merge branch 'acpi-utils' of ↵Mark Brown846-9819/+11550
git://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm into asoc-5.2
2019-04-02ASoC: eukrea-tlv320: fix a leaked reference by adding missing of_node_putWen Yang1-2/+2
The call to of_parse_phandle returns a node pointer with refcount incremented thus it must be explicitly decremented after the last usage. Detected by coccinelle with the following warnings: ./sound/soc/fsl/eukrea-tlv320.c:121:3-9: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 102, but without a correspo nding object release within this function. ./sound/soc/fsl/eukrea-tlv320.c:127:3-9: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 102, but without a correspo nding object release within this function. Signed-off-by: Wen Yang <[email protected]> Cc: Liam Girdwood <[email protected]> Cc: Mark Brown <[email protected]> Cc: Jaroslav Kysela <[email protected]> Cc: Takashi Iwai <[email protected]> Cc: [email protected] Cc: [email protected] Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: fsl_utils: fix a leaked reference by adding missing of_node_putWen Yang1-0/+1
The call to of_parse_phandle returns a node pointer with refcount incremented thus it must be explicitly decremented after the last usage. Detected by coccinelle with the following warnings: ./sound/soc/fsl/fsl_utils.c:74:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 38, but without a corresponding object release within this function. Signed-off-by: Wen Yang <[email protected]> Cc: Timur Tabi <[email protected]> Cc: Nicolin Chen <[email protected]> Cc: Xiubo Li <[email protected]> Cc: Fabio Estevam <[email protected]> Cc: Liam Girdwood <[email protected]> Cc: Mark Brown <[email protected]> Cc: Jaroslav Kysela <[email protected]> Cc: Takashi Iwai <[email protected]> Cc: [email protected] Cc: [email protected] Cc: [email protected] Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: wcd9335: fix a leaked reference by adding missing of_node_putWen Yang1-0/+1
The call to of_parse_phandle returns a node pointer with refcount incremented thus it must be explicitly decremented after the last usage. Detected by coccinelle with the following warnings: ./sound/soc/codecs/wcd9335.c:5193:2-8: ERROR: missing of_node_put; acquired a node pointer with refcount incremented on line 5183, but without a correspon ding object release within this function. Signed-off-by: Wen Yang <[email protected]> Cc: Liam Girdwood <[email protected]> Cc: Mark Brown <[email protected]> Cc: Jaroslav Kysela <[email protected]> Cc: Takashi Iwai <[email protected]> Cc: Srinivas Kandagatla <[email protected]> Cc: Vinod Koul <[email protected]> Cc: Dan Carpenter <[email protected]> (commit_signer:1/11=9%,authored:1/11=9%) Cc: [email protected] Cc: [email protected] Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: topology: Align tplg pointer increment across all kcontrolsLiam Girdwood1-8/+9
This aligns all kcontrol tplg pointer increments to be consistent in the respective create methods and ensures that the position is pointing to the next widget rather the current invalid widget. Signed-off-by: Liam Girdwood <[email protected]> Signed-off-by: Ranjani Sridharan <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: core: support driver alias names for FE topology overridesPierre-Louis Bossart1-2/+5
When the same machine driver is reused between platforms but with a different alias, using the driver name is not enough. Add additional fallback case to use the card device name. Tested on GeminiLake with bxt_da7219_max98357a machine driver Suggested-by: Liam Girdwood <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: sprd: Add Spreadtrum audio compress offload supportBaolin Wang5-2/+721
We use 2-stage DMA mode to support Spreadtrum audio compress offload, which means we use one DMA source channel to transfer data from IRAM buffer to the DSP fifo to do decoding/encoding, once IRAM buffer is empty by transferring done, another DMA destination channel will be triggered automatically to start to transfer data from DDR buffer to the IRAM buffer. This can reduce the AP subsystem wakeup times to save power. Co-developed-by: Yintang Ren <[email protected]> Signed-off-by: Baolin Wang <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: fix SND_SOC_LOCHNAGAR_SC kconfig warningRandy Dunlap1-1/+1
Fix kconfig warning for SND_SOC_LOCHNAGAR_SC: WARNING: unmet direct dependencies detected for SND_SOC_LOCHNAGAR_SC Depends on [n]: SOUND [=y] && !UML && SND [=y] && SND_SOC [=m] && MFD_LOCHNAGAR [=n] Selected by [m]: - SND_SOC_ALL_CODECS [=m] && SOUND [=y] && !UML && SND [=y] && SND_SOC [=m] && COMPILE_TEST [=y] Signed-off-by: Randy Dunlap <[email protected]> Cc: Piotr Stankiewicz <[email protected]> Cc: Charles Keepax <[email protected]> Cc: Richard Fitzgerald <[email protected]> Cc: [email protected] Cc: Liam Girdwood <[email protected]> Cc: Mark Brown <[email protected]> Cc: [email protected] Acked-by: Charles Keepax <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: dapm: set power_check callback for widgets that shouldnt be always onRanjani Sridharan1-0/+7
Currently, buffers, schedulers, src's, encoders, decoders and effect type dapm widgets remain always on as their power_check method is not set. Setting this callback allows these widgets in the audio path to be powered managed properly. Signed-off-by: Ranjani Sridharan <[email protected]> Signed-off-by: Pierre-Louis Bossart <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: tlv320aic31xx: Add button press detectionAndrew F. Davis2-3/+17
This device can optionally detect headset or microphone button presses. Add support for this by passing this event to the jack layer. Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: tlv320aic31xx: Add headphone/headset detectionAndrew F. Davis2-1/+58
This device can detect the insertion/removal of headphones and headsets. Enable reporting this status by enabling this interrupt and forwarding this to upper-layers if a jack has been defined. This jack definition and the resulting operation from a jack detection event must currently be defined by sound card platform code until CODEC outputs to jack mappings can be defined generically. Signed-off-by: Andrew F. Davis <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-02ASoC: dpcm: skip missing substream while applying symmetryJerome Brunet1-1/+6
If for any reason, the backend does not have the requested substream (like capture on a playback only backend), the BE will be skipped in dpcm_be_dai_startup(). However, dpcm_apply_symmetry() does not skip those BE and will dereference the be_substream (NULL) pointer anyway. Like in dpcm_be_dai_startup(), just skip those BE. Fixes: 906c7d690c3b ("ASoC: dpcm: Apply symmetry for DPCM") Signed-off-by: Jerome Brunet <[email protected]> Signed-off-by: Mark Brown <[email protected]>
2019-04-01ACPI / utils: Remove deprecated function since no user leftAndy Shevchenko3-25/+0
There is no more user of acpi_dev_get_first_match_name(), which is deprecated and has no user left, so, remove it for good. Signed-off-by: Andy Shevchenko <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2019-04-01ASoC: Intel: cht_bsw_rt5672: Convert to use acpi_dev_get_first_match_dev()Andy Shevchenko1-4/+5
acpi_dev_get_first_match_name() is deprecated and going to be removed because it leaks a reference. Convert the driver to use acpi_dev_get_first_match_dev() instead. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>
2019-04-01ASoC: Intel: cht_bsw_rt5645: Convert to use acpi_dev_get_first_match_dev()Andy Shevchenko1-4/+5
acpi_dev_get_first_match_name() is deprecated and going to be removed because it leaks a reference. Convert the driver to use acpi_dev_get_first_match_dev() instead. Signed-off-by: Andy Shevchenko <[email protected]> Acked-by: Pierre-Louis Bossart <[email protected]> Reviewed-by: Mika Westerberg <[email protected]> Signed-off-by: Rafael J. Wysocki <[email protected]>