Skip to content

Commit 367b130

Browse files
committed
Merge remote-tracking branches 'asoc/fix/adsp', 'asoc/fix/atmel', 'asoc/fix/hdac-hdmi' and 'asoc/fix/mtk' into asoc-linus
5 parents 0cb3a12 + 7b4af79 + cd3ac9a + 2fe42dd + 72cedf5 commit 367b130

File tree

4 files changed

+17
-12
lines changed

4 files changed

+17
-12
lines changed

sound/soc/atmel/atmel-classd.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -349,7 +349,7 @@ static int atmel_classd_codec_dai_digital_mute(struct snd_soc_dai *codec_dai,
349349
}
350350

351351
#define CLASSD_ACLK_RATE_11M2896_MPY_8 (112896 * 100 * 8)
352-
#define CLASSD_ACLK_RATE_12M288_MPY_8 (12228 * 1000 * 8)
352+
#define CLASSD_ACLK_RATE_12M288_MPY_8 (12288 * 1000 * 8)
353353

354354
static struct {
355355
int rate;

sound/soc/codecs/hdac_hdmi.c

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1534,21 +1534,20 @@ static void hdac_hdmi_eld_notify_cb(void *aptr, int port, int pipe)
15341534
pin->mst_capable = false;
15351535
/* if not MST, default is port[0] */
15361536
hport = &pin->ports[0];
1537-
goto out;
15381537
} else {
15391538
for (i = 0; i < pin->num_ports; i++) {
15401539
pin->mst_capable = true;
15411540
if (pin->ports[i].id == pipe) {
15421541
hport = &pin->ports[i];
1543-
goto out;
1542+
break;
15441543
}
15451544
}
15461545
}
1546+
1547+
if (hport)
1548+
hdac_hdmi_present_sense(pin, hport);
15471549
}
15481550

1549-
out:
1550-
if (pin && hport)
1551-
hdac_hdmi_present_sense(pin, hport);
15521551
}
15531552

15541553
static struct i915_audio_component_audio_ops aops = {
@@ -1998,7 +1997,7 @@ static int hdac_hdmi_dev_remove(struct hdac_ext_device *edev)
19981997
struct hdac_hdmi_pin *pin, *pin_next;
19991998
struct hdac_hdmi_cvt *cvt, *cvt_next;
20001999
struct hdac_hdmi_pcm *pcm, *pcm_next;
2001-
struct hdac_hdmi_port *port;
2000+
struct hdac_hdmi_port *port, *port_next;
20022001
int i;
20032002

20042003
snd_soc_unregister_codec(&edev->hdac.dev);
@@ -2008,8 +2007,9 @@ static int hdac_hdmi_dev_remove(struct hdac_ext_device *edev)
20082007
if (list_empty(&pcm->port_list))
20092008
continue;
20102009

2011-
list_for_each_entry(port, &pcm->port_list, head)
2012-
port = NULL;
2010+
list_for_each_entry_safe(port, port_next,
2011+
&pcm->port_list, head)
2012+
list_del(&port->head);
20132013

20142014
list_del(&pcm->head);
20152015
kfree(pcm);

sound/soc/codecs/wm_adsp.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -899,7 +899,10 @@ static int wm_coeff_put(struct snd_kcontrol *kctl,
899899

900900
mutex_lock(&ctl->dsp->pwr_lock);
901901

902-
memcpy(ctl->cache, p, ctl->len);
902+
if (ctl->flags & WMFW_CTL_FLAG_VOLATILE)
903+
ret = -EPERM;
904+
else
905+
memcpy(ctl->cache, p, ctl->len);
903906

904907
ctl->set = 1;
905908
if (ctl->enabled && ctl->dsp->running)
@@ -926,6 +929,8 @@ static int wm_coeff_tlv_put(struct snd_kcontrol *kctl,
926929
ctl->set = 1;
927930
if (ctl->enabled && ctl->dsp->running)
928931
ret = wm_coeff_write_control(ctl, ctl->cache, size);
932+
else if (ctl->flags & WMFW_CTL_FLAG_VOLATILE)
933+
ret = -EPERM;
929934
}
930935

931936
mutex_unlock(&ctl->dsp->pwr_lock);
@@ -947,7 +952,7 @@ static int wm_coeff_put_acked(struct snd_kcontrol *kctl,
947952

948953
mutex_lock(&ctl->dsp->pwr_lock);
949954

950-
if (ctl->enabled)
955+
if (ctl->enabled && ctl->dsp->running)
951956
ret = wm_coeff_write_acked_control(ctl, val);
952957
else
953958
ret = -EPERM;

sound/soc/mediatek/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ config SND_SOC_MT2701
1313

1414
config SND_SOC_MT2701_CS42448
1515
tristate "ASoc Audio driver for MT2701 with CS42448 codec"
16-
depends on SND_SOC_MT2701
16+
depends on SND_SOC_MT2701 && I2C
1717
select SND_SOC_CS42XX8_I2C
1818
select SND_SOC_BT_SCO
1919
help

0 commit comments

Comments
 (0)