Skip to content

Commit 9db0288

Browse files
committed
Merge tag 'asoc-v5.6-2' of https://git.kernel.org/pub/scm/linux/kernel/git/broonie/sound into for-linus
ASoC: Fixes for v5.6 A collection of updates for bugs fixed since the initial pull request, the most important one being the addition of COMMON_CLK for wcd934x which is needed for MFD to be merged.
2 parents c7e661a + 42b7163 commit 9db0288

25 files changed

+118
-123
lines changed

MAINTAINERS

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13947,7 +13947,6 @@ F: include/linux/platform_data/rtc-*
1394713947
F: tools/testing/selftests/rtc/
1394813948

1394913949
REALTEK AUDIO CODECS
13950-
M: Bard Liao <[email protected]>
1395113950
M: Oder Chiou <[email protected]>
1395213951
S: Maintained
1395313952
F: sound/soc/codecs/rt*

sound/soc/amd/raven/acp3x-i2s.c

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -234,30 +234,32 @@ static int acp3x_i2s_trigger(struct snd_pcm_substream *substream,
234234
switch (rtd->i2s_instance) {
235235
case I2S_BT_INSTANCE:
236236
reg_val = mmACP_BTTDM_ITER;
237-
ier_val = mmACP_BTTDM_IER;
238237
break;
239238
case I2S_SP_INSTANCE:
240239
default:
241240
reg_val = mmACP_I2STDM_ITER;
242-
ier_val = mmACP_I2STDM_IER;
243241
}
244242

245243
} else {
246244
switch (rtd->i2s_instance) {
247245
case I2S_BT_INSTANCE:
248246
reg_val = mmACP_BTTDM_IRER;
249-
ier_val = mmACP_BTTDM_IER;
250247
break;
251248
case I2S_SP_INSTANCE:
252249
default:
253250
reg_val = mmACP_I2STDM_IRER;
254-
ier_val = mmACP_I2STDM_IER;
255251
}
256252
}
257253
val = rv_readl(rtd->acp3x_base + reg_val);
258254
val = val & ~BIT(0);
259255
rv_writel(val, rtd->acp3x_base + reg_val);
260-
rv_writel(0, rtd->acp3x_base + ier_val);
256+
257+
if (!(rv_readl(rtd->acp3x_base + mmACP_BTTDM_ITER) & BIT(0)) &&
258+
!(rv_readl(rtd->acp3x_base + mmACP_BTTDM_IRER) & BIT(0)))
259+
rv_writel(0, rtd->acp3x_base + mmACP_BTTDM_IER);
260+
if (!(rv_readl(rtd->acp3x_base + mmACP_I2STDM_ITER) & BIT(0)) &&
261+
!(rv_readl(rtd->acp3x_base + mmACP_I2STDM_IRER) & BIT(0)))
262+
rv_writel(0, rtd->acp3x_base + mmACP_I2STDM_IER);
261263
ret = 0;
262264
break;
263265
default:

sound/soc/amd/raven/acp3x-pcm-dma.c

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -349,20 +349,20 @@ static int acp3x_dma_close(struct snd_soc_component *component,
349349
component = snd_soc_rtdcom_lookup(prtd, DRV_NAME);
350350
adata = dev_get_drvdata(component->dev);
351351

352-
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
353-
adata->play_stream = NULL;
354-
adata->i2ssp_play_stream = NULL;
355-
} else {
356-
adata->capture_stream = NULL;
357-
adata->i2ssp_capture_stream = NULL;
358-
}
359352

360353
/* Disable ACP irq, when the current stream is being closed and
361354
* another stream is also not active.
362355
*/
363356
if (!adata->play_stream && !adata->capture_stream &&
364357
!adata->i2ssp_play_stream && !adata->i2ssp_capture_stream)
365358
rv_writel(0, adata->acp3x_base + mmACP_EXTERNAL_INTR_ENB);
359+
if (substream->stream == SNDRV_PCM_STREAM_PLAYBACK) {
360+
adata->play_stream = NULL;
361+
adata->i2ssp_play_stream = NULL;
362+
} else {
363+
adata->capture_stream = NULL;
364+
adata->i2ssp_capture_stream = NULL;
365+
}
366366
return 0;
367367
}
368368

sound/soc/codecs/Kconfig

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1334,6 +1334,7 @@ config SND_SOC_WCD9335
13341334

13351335
config SND_SOC_WCD934X
13361336
tristate "WCD9340/WCD9341 Codec"
1337+
depends on COMMON_CLK
13371338
depends on MFD_WCD934X
13381339
help
13391340
The WCD9340/9341 is a audio codec IC Integrated in

sound/soc/codecs/max98090.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ static void max98090_shdn_restore_locked(struct max98090_priv *max98090)
5252

5353
static void max98090_shdn_save(struct max98090_priv *max98090)
5454
{
55-
mutex_lock(&max98090->component->card->dapm_mutex);
55+
mutex_lock_nested(&max98090->component->card->dapm_mutex,
56+
SND_SOC_DAPM_CLASS_RUNTIME);
5657
max98090_shdn_save_locked(max98090);
5758
}
5859

sound/soc/codecs/rt1015.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -389,7 +389,7 @@ static const char * const rt1015_boost_mode[] = {
389389
"Bypass", "Adaptive", "Fixed Adaptive"
390390
};
391391

392-
static const SOC_ENUM_SINGLE_DECL(rt1015_boost_mode_enum, 0, 0,
392+
static SOC_ENUM_SINGLE_DECL(rt1015_boost_mode_enum, 0, 0,
393393
rt1015_boost_mode);
394394

395395
static int rt1015_boost_mode_get(struct snd_kcontrol *kcontrol,

sound/soc/codecs/rt1308-sdw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -673,7 +673,7 @@ static const struct sdw_device_id rt1308_id[] = {
673673
};
674674
MODULE_DEVICE_TABLE(sdw, rt1308_id);
675675

676-
static int rt1308_dev_suspend(struct device *dev)
676+
static int __maybe_unused rt1308_dev_suspend(struct device *dev)
677677
{
678678
struct rt1308_sdw_priv *rt1308 = dev_get_drvdata(dev);
679679

@@ -687,7 +687,7 @@ static int rt1308_dev_suspend(struct device *dev)
687687

688688
#define RT1308_PROBE_TIMEOUT 2000
689689

690-
static int rt1308_dev_resume(struct device *dev)
690+
static int __maybe_unused rt1308_dev_resume(struct device *dev)
691691
{
692692
struct sdw_slave *slave = dev_to_sdw_dev(dev);
693693
struct rt1308_sdw_priv *rt1308 = dev_get_drvdata(dev);

sound/soc/codecs/rt700-sdw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -486,7 +486,7 @@ static const struct sdw_device_id rt700_id[] = {
486486
};
487487
MODULE_DEVICE_TABLE(sdw, rt700_id);
488488

489-
static int rt700_dev_suspend(struct device *dev)
489+
static int __maybe_unused rt700_dev_suspend(struct device *dev)
490490
{
491491
struct rt700_priv *rt700 = dev_get_drvdata(dev);
492492

@@ -500,7 +500,7 @@ static int rt700_dev_suspend(struct device *dev)
500500

501501
#define RT700_PROBE_TIMEOUT 2000
502502

503-
static int rt700_dev_resume(struct device *dev)
503+
static int __maybe_unused rt700_dev_resume(struct device *dev)
504504
{
505505
struct sdw_slave *slave = dev_to_sdw_dev(dev);
506506
struct rt700_priv *rt700 = dev_get_drvdata(dev);

sound/soc/codecs/rt711-sdw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -487,7 +487,7 @@ static const struct sdw_device_id rt711_id[] = {
487487
};
488488
MODULE_DEVICE_TABLE(sdw, rt711_id);
489489

490-
static int rt711_dev_suspend(struct device *dev)
490+
static int __maybe_unused rt711_dev_suspend(struct device *dev)
491491
{
492492
struct rt711_priv *rt711 = dev_get_drvdata(dev);
493493

@@ -501,7 +501,7 @@ static int rt711_dev_suspend(struct device *dev)
501501

502502
#define RT711_PROBE_TIMEOUT 2000
503503

504-
static int rt711_dev_resume(struct device *dev)
504+
static int __maybe_unused rt711_dev_resume(struct device *dev)
505505
{
506506
struct sdw_slave *slave = dev_to_sdw_dev(dev);
507507
struct rt711_priv *rt711 = dev_get_drvdata(dev);

sound/soc/codecs/rt715-sdw.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -549,7 +549,7 @@ static const struct sdw_device_id rt715_id[] = {
549549
};
550550
MODULE_DEVICE_TABLE(sdw, rt715_id);
551551

552-
static int rt715_dev_suspend(struct device *dev)
552+
static int __maybe_unused rt715_dev_suspend(struct device *dev)
553553
{
554554
struct rt715_priv *rt715 = dev_get_drvdata(dev);
555555

@@ -563,7 +563,7 @@ static int rt715_dev_suspend(struct device *dev)
563563

564564
#define RT715_PROBE_TIMEOUT 2000
565565

566-
static int rt715_dev_resume(struct device *dev)
566+
static int __maybe_unused rt715_dev_resume(struct device *dev)
567567
{
568568
struct sdw_slave *slave = dev_to_sdw_dev(dev);
569569
struct rt715_priv *rt715 = dev_get_drvdata(dev);

0 commit comments

Comments
 (0)