Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit be1dfc13 authored by Banajit Goswami's avatar Banajit Goswami
Browse files

ASoC: compare CPU DAI stream name to find BE DAI



While setting up route for a particular device, compare
stream name of CPU DAI and Backend DAI to find the correct
Backend DAI.

Change-Id: Ic3f7c0e5b2a1055e7fdf52c78ded797a9a126d03
Signed-off-by: default avatarBanajit Goswami <bgoswami@codeaurora.org>
parent 1d77d770
Loading
Loading
Loading
Loading
+58 −58
Original line number Diff line number Diff line
@@ -502,7 +502,7 @@ static struct snd_soc_dai_driver msm_dai_q6_aux_pcm_dai[] = {
	},
	{
		.playback = {
		 .stream_name = "AUX PCM Sec Playback",
			.stream_name = "Sec AUX PCM Playback",
			.aif_name = "SEC_AUX_PCM_RX",
			.rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000),
			.formats = SNDRV_PCM_FMTBIT_S16_LE,
@@ -512,7 +512,7 @@ static struct snd_soc_dai_driver msm_dai_q6_aux_pcm_dai[] = {
			.rate_min = 8000,
		},
		.capture = {
		 .stream_name = "AUX PCM Sec Capture",
			.stream_name = "Sec AUX PCM Capture",
			.aif_name = "SEC_AUX_PCM_TX",
			.rates = (SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000),
			.formats = SNDRV_PCM_FMTBIT_S16_LE,
@@ -1020,7 +1020,7 @@ static struct snd_soc_dai_driver msm_dai_q6_afe_rx_dai[] = {
	},
	{
		.playback = {
			 .stream_name = "AFE Proxy Rx",
			 .stream_name = "AFE-PROXY RX",
			 .rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
			 SNDRV_PCM_RATE_16000,
			 .formats = SNDRV_PCM_FMTBIT_S16_LE | SNDRV_PCM_FMTBIT_S24_LE,
@@ -1054,7 +1054,7 @@ static struct snd_soc_dai_driver msm_dai_q6_afe_tx_dai[] = {
	},
	{
		.capture = {
			.stream_name = "AFE Proxy Tx",
			.stream_name = "AFE-PROXY TX",
			.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
			SNDRV_PCM_RATE_16000,
			.formats = SNDRV_PCM_FMTBIT_S16_LE,
@@ -1071,7 +1071,7 @@ static struct snd_soc_dai_driver msm_dai_q6_afe_tx_dai[] = {

static struct snd_soc_dai_driver msm_dai_q6_bt_sco_rx_dai = {
	.playback = {
		.stream_name = "BT-SCO Playback",
		.stream_name = "Internal BT-SCO Playback",
		.aif_name = "INT_BT_SCO_RX",
		.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000,
		.formats = SNDRV_PCM_FMTBIT_S16_LE,
@@ -1087,7 +1087,7 @@ static struct snd_soc_dai_driver msm_dai_q6_bt_sco_rx_dai = {

static struct snd_soc_dai_driver msm_dai_q6_bt_sco_tx_dai = {
	.capture = {
		.stream_name = "BT-SCO Capture",
		.stream_name = "Internal BT-SCO Capture",
		.aif_name = "INT_BT_SCO_TX",
		.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000,
		.formats = SNDRV_PCM_FMTBIT_S16_LE,
@@ -1103,7 +1103,7 @@ static struct snd_soc_dai_driver msm_dai_q6_bt_sco_tx_dai = {

static struct snd_soc_dai_driver msm_dai_q6_fm_rx_dai = {
	.playback = {
		.stream_name = "FM Playback",
		.stream_name = "Internal FM Playback",
		.aif_name = "INT_FM_RX",
		.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
		SNDRV_PCM_RATE_16000,
@@ -1120,7 +1120,7 @@ static struct snd_soc_dai_driver msm_dai_q6_fm_rx_dai = {

static struct snd_soc_dai_driver msm_dai_q6_fm_tx_dai = {
	.capture = {
		.stream_name = "FM Capture",
		.stream_name = "Internal FM Capture",
		.aif_name = "INT_FM_TX",
		.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
		SNDRV_PCM_RATE_16000,
@@ -1378,7 +1378,7 @@ static struct platform_driver msm_auxpcm_dev_driver = {
static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
	{
		.playback = {
			.stream_name = "SLIM0_RX Playback",
			.stream_name = "Slimbus Playback",
			.aif_name = "SLIMBUS_0_RX",
			.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
			SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_96000 |
@@ -1395,7 +1395,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
	},
	{
		.playback = {
			.stream_name = "SLIM1_RX Playback",
			.stream_name = "Slimbus1 Playback",
			.aif_name = "SLIMBUS_1_RX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000 |
@@ -1412,7 +1412,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
	},
	{
		.playback = {
			.stream_name = "SLIM2_RX Playback",
			.stream_name = "Slimbus2 Playback",
			.aif_name = "SLIMBUS_2_RX",
			.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
			SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_96000 |
@@ -1429,7 +1429,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
	},
	{
		.playback = {
			.stream_name = "SLIM3_RX Playback",
			.stream_name = "Slimbus3 Playback",
			.aif_name = "SLIMBUS_3_RX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000 |
@@ -1446,7 +1446,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
	},
	{
		.playback = {
			.stream_name = "SLIM4_RX Playback",
			.stream_name = "Slimbus4 Playback",
			.aif_name = "SLIMBUS_4_RX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000 |
@@ -1463,7 +1463,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
	},
	{
		.playback = {
			.stream_name = "SLIM6_RX Playback",
			.stream_name = "Slimbus6 Playback",
			.aif_name = "SLIMBUS_6_RX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_96000 |
@@ -1484,7 +1484,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_rx_dai[] = {
static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
	{
		.capture = {
			.stream_name = "SLIM0_TX Capture",
			.stream_name = "Slimbus Capture",
			.aif_name = "SLIMBUS_0_TX",
			.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
			SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_96000 |
@@ -1501,7 +1501,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
	},
	{
		.capture = {
			.stream_name = "SLIM1_TX Capture",
			.stream_name = "Slimbus1 Capture",
			.aif_name = "SLIMBUS_1_TX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000,
@@ -1517,7 +1517,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
	},
	{
		.capture = {
			.stream_name = "SLIM2_TX Capture",
			.stream_name = "Slimbus2 Capture",
			.aif_name = "SLIMBUS_2_TX",
			.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
			SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_96000 |
@@ -1534,7 +1534,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
	},
	{
		.capture = {
			.stream_name = "SLIM3_TX Capture",
			.stream_name = "Slimbus3 Capture",
			.aif_name = "SLIMBUS_3_TX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000,
@@ -1550,7 +1550,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
	},
	{
		.capture = {
			.stream_name = "SLIM4_TX Capture",
			.stream_name = "Slimbus4 Capture",
			.aif_name = "SLIMBUS_4_TX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000,
@@ -1566,7 +1566,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
	},
	{
		.capture = {
			.stream_name = "SLIM5_TX Capture",
			.stream_name = "Slimbus5 Capture",
			.aif_name = "SLIMBUS_5_TX",
			.rates = SNDRV_PCM_RATE_48000 | SNDRV_PCM_RATE_8000 |
			SNDRV_PCM_RATE_16000 | SNDRV_PCM_RATE_96000 |
@@ -1583,7 +1583,7 @@ static struct snd_soc_dai_driver msm_dai_q6_slimbus_tx_dai[] = {
	},
	{
		.capture = {
			.stream_name = "SLIM6_TX Capture",
			.stream_name = "Slimbus6 Capture",
			.aif_name = "SLIMBUS_6_TX",
			.rates = SNDRV_PCM_RATE_8000 | SNDRV_PCM_RATE_16000 |
			SNDRV_PCM_RATE_48000,
@@ -2392,22 +2392,22 @@ static int msm_dai_q6_dev_probe(struct platform_device *pdev)

	switch (id) {
	case SLIMBUS_0_RX:
		strlcpy(stream_name, "SLIM0_RX Playback", 80);
		strlcpy(stream_name, "Slimbus Playback", 80);
		goto register_slim_playback;
	case SLIMBUS_2_RX:
		strlcpy(stream_name, "SLIM2_RX Playback", 80);
		strlcpy(stream_name, "Slimbus2 Playback", 80);
		goto register_slim_playback;
	case SLIMBUS_1_RX:
		strlcpy(stream_name, "SLIM1_RX Playback", 80);
		strlcpy(stream_name, "Slimbus1 Playback", 80);
		goto register_slim_playback;
	case SLIMBUS_3_RX:
		strlcpy(stream_name, "SLIM3_RX Playback", 80);
		strlcpy(stream_name, "Slimbus3 Playback", 80);
		goto register_slim_playback;
	case SLIMBUS_4_RX:
		strlcpy(stream_name, "SLIM4_RX Playback", 80);
		strlcpy(stream_name, "Slimbus4 Playback", 80);
		goto register_slim_playback;
	case SLIMBUS_6_RX:
		strlcpy(stream_name, "SLIM6_RX Playback", 80);
		strlcpy(stream_name, "Slimbus6 Playback", 80);
register_slim_playback:
		rc = -ENODEV;
		len = strnlen(stream_name , 80);
@@ -2427,25 +2427,25 @@ register_slim_playback:
				__func__, stream_name);
		break;
	case SLIMBUS_0_TX:
		strlcpy(stream_name, "SLIM0_TX Capture", 80);
		strlcpy(stream_name, "Slimbus Capture", 80);
		goto register_slim_capture;
	case SLIMBUS_1_TX:
		strlcpy(stream_name, "SLIM1_TX Capture", 80);
		strlcpy(stream_name, "Slimbus1 Capture", 80);
		goto register_slim_capture;
	case SLIMBUS_2_TX:
		strlcpy(stream_name, "SLIM2_TX Capture", 80);
		strlcpy(stream_name, "Slimbus2 Capture", 80);
		goto register_slim_capture;
	case SLIMBUS_3_TX:
		strlcpy(stream_name, "SLIM3_TX Capture", 80);
		strlcpy(stream_name, "Slimbus3 Capture", 80);
		goto register_slim_capture;
	case SLIMBUS_4_TX:
		strlcpy(stream_name, "SLIM4_TX Capture", 80);
		strlcpy(stream_name, "Slimbus4 Capture", 80);
		goto register_slim_capture;
	case SLIMBUS_5_TX:
		strlcpy(stream_name, "SLIM5_TX Capture", 80);
		strlcpy(stream_name, "Slimbus5 Capture", 80);
		goto register_slim_capture;
	case SLIMBUS_6_TX:
		strlcpy(stream_name, "SLIM6_TX Capture", 80);
		strlcpy(stream_name, "Slimbus6 Capture", 80);
register_slim_capture:
		rc = -ENODEV;
		len = strnlen(stream_name , 80);
@@ -2484,7 +2484,7 @@ register_slim_capture:
		strlcpy(stream_name, "AFE Playback", 80);
		goto register_afe_playback;
	case RT_PROXY_DAI_002_RX:
		strlcpy(stream_name, "AFE Proxy Rx", 80);
		strlcpy(stream_name, "AFE-PROXY RX", 80);
register_afe_playback:
		rc = -ENODEV;
		len = strnlen(stream_name , 80);
@@ -2506,7 +2506,7 @@ register_afe_playback:
		strlcpy(stream_name, "AFE Capture", 80);
		goto register_afe_capture;
	case RT_PROXY_DAI_002_TX:
		strlcpy(stream_name, "AFE Proxy Tx", 80);
		strlcpy(stream_name, "AFE-PROXY TX", 80);
register_afe_capture:
		rc = -ENODEV;
		len = strnlen(stream_name , 80);
+8 −2
Original line number Diff line number Diff line
@@ -835,7 +835,10 @@ static struct snd_soc_pcm_runtime *dpcm_get_be(struct snd_soc_card *card,
			if (!be->dai_link->no_pcm)
				continue;

			if (be->cpu_dai->playback_widget == widget ||
			if ((be->cpu_dai->playback_widget == widget &&
				(be->dai_link->stream_name &&
				!strcmp(be->dai_link->stream_name,
				    be->cpu_dai->playback_widget->sname))) ||
				be->codec_dai->playback_widget == widget)
				return be;
		}
@@ -847,7 +850,10 @@ static struct snd_soc_pcm_runtime *dpcm_get_be(struct snd_soc_card *card,
			if (!be->dai_link->no_pcm)
				continue;

			if (be->cpu_dai->capture_widget == widget ||
			if ((be->cpu_dai->capture_widget == widget &&
				(be->dai_link->stream_name &&
				!strcmp(be->dai_link->stream_name,
				    be->cpu_dai->capture_widget->sname))) ||
				be->codec_dai->capture_widget == widget)
				return be;
		}