soc-pcm.c (fc30eea1542dd787c6aa46e970014e97e390c5b2) | soc-pcm.c (754590651ccbbcc74a7c20907be4bb15d642bde3) |
---|---|
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. --- 1195 unchanged lines hidden (view full) --- 1204 be_substream = snd_soc_dpcm_get_substream(be, stream); 1205 1206 if (!fe_substream->pcm->nonatomic && be_substream->pcm->nonatomic) { 1207 dev_err(be->dev, "%s: FE is atomic but BE is nonatomic, invalid configuration\n", 1208 __func__); 1209 return -EINVAL; 1210 } 1211 if (fe_substream->pcm->nonatomic && !be_substream->pcm->nonatomic) { | 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. --- 1195 unchanged lines hidden (view full) --- 1204 be_substream = snd_soc_dpcm_get_substream(be, stream); 1205 1206 if (!fe_substream->pcm->nonatomic && be_substream->pcm->nonatomic) { 1207 dev_err(be->dev, "%s: FE is atomic but BE is nonatomic, invalid configuration\n", 1208 __func__); 1209 return -EINVAL; 1210 } 1211 if (fe_substream->pcm->nonatomic && !be_substream->pcm->nonatomic) { |
1212 dev_warn(be->dev, "%s: FE is nonatomic but BE is not, forcing BE as nonatomic\n", 1213 __func__); | 1212 dev_dbg(be->dev, "FE is nonatomic but BE is not, forcing BE as nonatomic\n"); |
1214 be_substream->pcm->nonatomic = 1; 1215 } 1216 1217 dpcm = kzalloc(sizeof(struct snd_soc_dpcm), GFP_KERNEL); 1218 if (!dpcm) 1219 return -ENOMEM; 1220 1221 dpcm->be = be; --- 91 unchanged lines hidden (view full) --- 1313 1314 dev_dbg(card->dev, "ASoC: find BE for widget %s\n", widget->name); 1315 1316 for_each_card_rtds(card, be) { 1317 1318 if (!be->dai_link->no_pcm) 1319 continue; 1320 | 1213 be_substream->pcm->nonatomic = 1; 1214 } 1215 1216 dpcm = kzalloc(sizeof(struct snd_soc_dpcm), GFP_KERNEL); 1217 if (!dpcm) 1218 return -ENOMEM; 1219 1220 dpcm->be = be; --- 91 unchanged lines hidden (view full) --- 1312 1313 dev_dbg(card->dev, "ASoC: find BE for widget %s\n", widget->name); 1314 1315 for_each_card_rtds(card, be) { 1316 1317 if (!be->dai_link->no_pcm) 1318 continue; 1319 |
1320 if (!snd_soc_dpcm_get_substream(be, stream)) 1321 continue; 1322 |
|
1321 for_each_rtd_dais(be, i, dai) { 1322 w = snd_soc_dai_get_widget(dai, stream); 1323 1324 dev_dbg(card->dev, "ASoC: try BE : %s\n", 1325 w ? w->name : "(not set)"); 1326 1327 if (w == widget) 1328 return be; --- 1733 unchanged lines hidden --- | 1323 for_each_rtd_dais(be, i, dai) { 1324 w = snd_soc_dai_get_widget(dai, stream); 1325 1326 dev_dbg(card->dev, "ASoC: try BE : %s\n", 1327 w ? w->name : "(not set)"); 1328 1329 if (w == widget) 1330 return be; --- 1733 unchanged lines hidden --- |