soc-pcm.c (1b8cb123f3dd6f205541299e2a573237452a6ffe) soc-pcm.c (4fe28461e289e7209dc969d5878997069f5be157)
1// SPDX-License-Identifier: GPL-2.0+
2//
3// soc-pcm.c -- ALSA SoC PCM
4//
5// Copyright 2005 Wolfson Microelectronics PLC.
6// Copyright 2005 Openedhand Ltd.
7// Copyright (C) 2010 Slimlogic Ltd.
8// Copyright (C) 2010 Texas Instruments Inc.

--- 1664 unchanged lines hidden (view full) ---

1673
1674 pcm = snd_soc_dai_get_pcm_stream(dai, stream);
1675
1676 soc_pcm_hw_update_rate(hw, pcm);
1677 }
1678 }
1679}
1680
1// SPDX-License-Identifier: GPL-2.0+
2//
3// soc-pcm.c -- ALSA SoC PCM
4//
5// Copyright 2005 Wolfson Microelectronics PLC.
6// Copyright 2005 Openedhand Ltd.
7// Copyright (C) 2010 Slimlogic Ltd.
8// Copyright (C) 2010 Texas Instruments Inc.

--- 1664 unchanged lines hidden (view full) ---

1673
1674 pcm = snd_soc_dai_get_pcm_stream(dai, stream);
1675
1676 soc_pcm_hw_update_rate(hw, pcm);
1677 }
1678 }
1679}
1680
1681static void dpcm_set_fe_runtime(struct snd_pcm_substream *substream)
1682{
1683 dpcm_runtime_setup_fe(substream);
1684
1685 dpcm_runtime_setup_be_format(substream);
1686 dpcm_runtime_setup_be_chan(substream);
1687 dpcm_runtime_setup_be_rate(substream);
1688}
1689
1690static int dpcm_apply_symmetry(struct snd_pcm_substream *fe_substream,
1691 int stream)
1692{
1693 struct snd_soc_dpcm *dpcm;
1694 struct snd_soc_pcm_runtime *fe = asoc_substream_to_rtd(fe_substream);
1695 struct snd_soc_dai *fe_cpu_dai;
1696 int err;
1697 int i;

--- 63 unchanged lines hidden (view full) ---

1761 ret = soc_pcm_open(fe_substream);
1762 if (ret < 0) {
1763 dev_err(fe->dev,"ASoC: failed to start FE %d\n", ret);
1764 goto unwind;
1765 }
1766
1767 fe->dpcm[stream].state = SND_SOC_DPCM_STATE_OPEN;
1768
1681static int dpcm_apply_symmetry(struct snd_pcm_substream *fe_substream,
1682 int stream)
1683{
1684 struct snd_soc_dpcm *dpcm;
1685 struct snd_soc_pcm_runtime *fe = asoc_substream_to_rtd(fe_substream);
1686 struct snd_soc_dai *fe_cpu_dai;
1687 int err;
1688 int i;

--- 63 unchanged lines hidden (view full) ---

1752 ret = soc_pcm_open(fe_substream);
1753 if (ret < 0) {
1754 dev_err(fe->dev,"ASoC: failed to start FE %d\n", ret);
1755 goto unwind;
1756 }
1757
1758 fe->dpcm[stream].state = SND_SOC_DPCM_STATE_OPEN;
1759
1769 dpcm_set_fe_runtime(fe_substream);
1760 dpcm_runtime_setup_fe(fe_substream);
1770
1761
1762 dpcm_runtime_setup_be_format(fe_substream);
1763 dpcm_runtime_setup_be_chan(fe_substream);
1764 dpcm_runtime_setup_be_rate(fe_substream);
1765
1771 ret = dpcm_apply_symmetry(fe_substream, stream);
1772 if (ret < 0)
1773 dev_err(fe->dev, "ASoC: failed to apply dpcm symmetry %d\n",
1774 ret);
1775
1776unwind:
1777 if (ret < 0)
1778 dpcm_be_dai_startup_unwind(fe, stream);

--- 1173 unchanged lines hidden ---
1766 ret = dpcm_apply_symmetry(fe_substream, stream);
1767 if (ret < 0)
1768 dev_err(fe->dev, "ASoC: failed to apply dpcm symmetry %d\n",
1769 ret);
1770
1771unwind:
1772 if (ret < 0)
1773 dpcm_be_dai_startup_unwind(fe, stream);

--- 1173 unchanged lines hidden ---