diff options
author | Mark Brown <broonie@kernel.org> | 2016-07-01 12:05:30 -0400 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2016-07-01 12:05:30 -0400 |
commit | de07bb5b11350082494b96cc2ec63714556cf213 (patch) | |
tree | 43e2e8b521d7ebbe17034311c93c9ced9a1745a4 | |
parent | 4c2e07c6a29e0129e975727b9f57eede813eea85 (diff) | |
parent | 18f5839932e5c8c019f394d433dc5efcd6ae737a (diff) |
Merge remote-tracking branch 'asoc/fix/intel' into asoc-linus
-rw-r--r-- | sound/soc/codecs/hdac_hdmi.c | 20 | ||||
-rw-r--r-- | sound/soc/intel/atom/sst-mfld-platform-compress.c | 9 | ||||
-rw-r--r-- | sound/soc/intel/skylake/bxt-sst.c | 1 |
3 files changed, 28 insertions, 2 deletions
diff --git a/sound/soc/codecs/hdac_hdmi.c b/sound/soc/codecs/hdac_hdmi.c index 181cd3bf0b92..2abb742fc47b 100644 --- a/sound/soc/codecs/hdac_hdmi.c +++ b/sound/soc/codecs/hdac_hdmi.c | |||
@@ -1474,6 +1474,11 @@ static int hdmi_codec_probe(struct snd_soc_codec *codec) | |||
1474 | * exit, we call pm_runtime_suspend() so that will do for us | 1474 | * exit, we call pm_runtime_suspend() so that will do for us |
1475 | */ | 1475 | */ |
1476 | hlink = snd_hdac_ext_bus_get_link(edev->ebus, dev_name(&edev->hdac.dev)); | 1476 | hlink = snd_hdac_ext_bus_get_link(edev->ebus, dev_name(&edev->hdac.dev)); |
1477 | if (!hlink) { | ||
1478 | dev_err(&edev->hdac.dev, "hdac link not found\n"); | ||
1479 | return -EIO; | ||
1480 | } | ||
1481 | |||
1477 | snd_hdac_ext_bus_link_get(edev->ebus, hlink); | 1482 | snd_hdac_ext_bus_link_get(edev->ebus, hlink); |
1478 | 1483 | ||
1479 | ret = create_fill_widget_route_map(dapm); | 1484 | ret = create_fill_widget_route_map(dapm); |
@@ -1634,6 +1639,11 @@ static int hdac_hdmi_dev_probe(struct hdac_ext_device *edev) | |||
1634 | 1639 | ||
1635 | /* hold the ref while we probe */ | 1640 | /* hold the ref while we probe */ |
1636 | hlink = snd_hdac_ext_bus_get_link(edev->ebus, dev_name(&edev->hdac.dev)); | 1641 | hlink = snd_hdac_ext_bus_get_link(edev->ebus, dev_name(&edev->hdac.dev)); |
1642 | if (!hlink) { | ||
1643 | dev_err(&edev->hdac.dev, "hdac link not found\n"); | ||
1644 | return -EIO; | ||
1645 | } | ||
1646 | |||
1637 | snd_hdac_ext_bus_link_get(edev->ebus, hlink); | 1647 | snd_hdac_ext_bus_link_get(edev->ebus, hlink); |
1638 | 1648 | ||
1639 | hdmi_priv = devm_kzalloc(&codec->dev, sizeof(*hdmi_priv), GFP_KERNEL); | 1649 | hdmi_priv = devm_kzalloc(&codec->dev, sizeof(*hdmi_priv), GFP_KERNEL); |
@@ -1744,6 +1754,11 @@ static int hdac_hdmi_runtime_suspend(struct device *dev) | |||
1744 | } | 1754 | } |
1745 | 1755 | ||
1746 | hlink = snd_hdac_ext_bus_get_link(ebus, dev_name(dev)); | 1756 | hlink = snd_hdac_ext_bus_get_link(ebus, dev_name(dev)); |
1757 | if (!hlink) { | ||
1758 | dev_err(dev, "hdac link not found\n"); | ||
1759 | return -EIO; | ||
1760 | } | ||
1761 | |||
1747 | snd_hdac_ext_bus_link_put(ebus, hlink); | 1762 | snd_hdac_ext_bus_link_put(ebus, hlink); |
1748 | 1763 | ||
1749 | return 0; | 1764 | return 0; |
@@ -1765,6 +1780,11 @@ static int hdac_hdmi_runtime_resume(struct device *dev) | |||
1765 | return 0; | 1780 | return 0; |
1766 | 1781 | ||
1767 | hlink = snd_hdac_ext_bus_get_link(ebus, dev_name(dev)); | 1782 | hlink = snd_hdac_ext_bus_get_link(ebus, dev_name(dev)); |
1783 | if (!hlink) { | ||
1784 | dev_err(dev, "hdac link not found\n"); | ||
1785 | return -EIO; | ||
1786 | } | ||
1787 | |||
1768 | snd_hdac_ext_bus_link_get(ebus, hlink); | 1788 | snd_hdac_ext_bus_link_get(ebus, hlink); |
1769 | 1789 | ||
1770 | err = snd_hdac_display_power(bus, true); | 1790 | err = snd_hdac_display_power(bus, true); |
diff --git a/sound/soc/intel/atom/sst-mfld-platform-compress.c b/sound/soc/intel/atom/sst-mfld-platform-compress.c index 395168986462..1bead81bb510 100644 --- a/sound/soc/intel/atom/sst-mfld-platform-compress.c +++ b/sound/soc/intel/atom/sst-mfld-platform-compress.c | |||
@@ -182,24 +182,29 @@ static int sst_platform_compr_trigger(struct snd_compr_stream *cstream, int cmd) | |||
182 | case SNDRV_PCM_TRIGGER_START: | 182 | case SNDRV_PCM_TRIGGER_START: |
183 | if (stream->compr_ops->stream_start) | 183 | if (stream->compr_ops->stream_start) |
184 | return stream->compr_ops->stream_start(sst->dev, stream->id); | 184 | return stream->compr_ops->stream_start(sst->dev, stream->id); |
185 | break; | ||
185 | case SNDRV_PCM_TRIGGER_STOP: | 186 | case SNDRV_PCM_TRIGGER_STOP: |
186 | if (stream->compr_ops->stream_drop) | 187 | if (stream->compr_ops->stream_drop) |
187 | return stream->compr_ops->stream_drop(sst->dev, stream->id); | 188 | return stream->compr_ops->stream_drop(sst->dev, stream->id); |
189 | break; | ||
188 | case SND_COMPR_TRIGGER_DRAIN: | 190 | case SND_COMPR_TRIGGER_DRAIN: |
189 | if (stream->compr_ops->stream_drain) | 191 | if (stream->compr_ops->stream_drain) |
190 | return stream->compr_ops->stream_drain(sst->dev, stream->id); | 192 | return stream->compr_ops->stream_drain(sst->dev, stream->id); |
193 | break; | ||
191 | case SND_COMPR_TRIGGER_PARTIAL_DRAIN: | 194 | case SND_COMPR_TRIGGER_PARTIAL_DRAIN: |
192 | if (stream->compr_ops->stream_partial_drain) | 195 | if (stream->compr_ops->stream_partial_drain) |
193 | return stream->compr_ops->stream_partial_drain(sst->dev, stream->id); | 196 | return stream->compr_ops->stream_partial_drain(sst->dev, stream->id); |
197 | break; | ||
194 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: | 198 | case SNDRV_PCM_TRIGGER_PAUSE_PUSH: |
195 | if (stream->compr_ops->stream_pause) | 199 | if (stream->compr_ops->stream_pause) |
196 | return stream->compr_ops->stream_pause(sst->dev, stream->id); | 200 | return stream->compr_ops->stream_pause(sst->dev, stream->id); |
201 | break; | ||
197 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: | 202 | case SNDRV_PCM_TRIGGER_PAUSE_RELEASE: |
198 | if (stream->compr_ops->stream_pause_release) | 203 | if (stream->compr_ops->stream_pause_release) |
199 | return stream->compr_ops->stream_pause_release(sst->dev, stream->id); | 204 | return stream->compr_ops->stream_pause_release(sst->dev, stream->id); |
200 | default: | 205 | break; |
201 | return -EINVAL; | ||
202 | } | 206 | } |
207 | return -EINVAL; | ||
203 | } | 208 | } |
204 | 209 | ||
205 | static int sst_platform_compr_pointer(struct snd_compr_stream *cstream, | 210 | static int sst_platform_compr_pointer(struct snd_compr_stream *cstream, |
diff --git a/sound/soc/intel/skylake/bxt-sst.c b/sound/soc/intel/skylake/bxt-sst.c index 965ce40ce752..8b95e09e23e8 100644 --- a/sound/soc/intel/skylake/bxt-sst.c +++ b/sound/soc/intel/skylake/bxt-sst.c | |||
@@ -291,6 +291,7 @@ int bxt_sst_dsp_init(struct device *dev, void __iomem *mmio_base, int irq, | |||
291 | sst_dsp_mailbox_init(sst, (BXT_ADSP_SRAM0_BASE + SKL_ADSP_W0_STAT_SZ), | 291 | sst_dsp_mailbox_init(sst, (BXT_ADSP_SRAM0_BASE + SKL_ADSP_W0_STAT_SZ), |
292 | SKL_ADSP_W0_UP_SZ, BXT_ADSP_SRAM1_BASE, SKL_ADSP_W1_SZ); | 292 | SKL_ADSP_W0_UP_SZ, BXT_ADSP_SRAM1_BASE, SKL_ADSP_W1_SZ); |
293 | 293 | ||
294 | INIT_LIST_HEAD(&sst->module_list); | ||
294 | ret = skl_ipc_init(dev, skl); | 295 | ret = skl_ipc_init(dev, skl); |
295 | if (ret) | 296 | if (ret) |
296 | return ret; | 297 | return ret; |