142 lines
5.9 KiB
Diff
142 lines
5.9 KiB
Diff
|
From 706192341d1d0bbb906d690b227b9dee5c1fc4b5 Mon Sep 17 00:00:00 2001
|
||
|
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||
|
Date: Thu, 12 Nov 2020 10:29:39 -0600
|
||
|
Subject: [PATCH 05/44] topology: use inclusive language for fsync
|
||
|
|
||
|
use fsync_provider for structure fields, 'codec_provider' and
|
||
|
'codec_consumer' for options and modify #defines to use CP and CC
|
||
|
suffixes.
|
||
|
|
||
|
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
|
||
|
Signed-off-by: Takashi Iwai <tiwai@suse.de>
|
||
|
---
|
||
|
include/sound/uapi/asoc.h | 11 +++++++----
|
||
|
include/topology.h | 2 +-
|
||
|
src/topology/pcm.c | 37 ++++++++++++++++++++++++++-----------
|
||
|
3 files changed, 34 insertions(+), 16 deletions(-)
|
||
|
|
||
|
diff --git a/include/sound/uapi/asoc.h b/include/sound/uapi/asoc.h
|
||
|
index ceafb1a90b98..f32c56972d3f 100644
|
||
|
--- a/include/sound/uapi/asoc.h
|
||
|
+++ b/include/sound/uapi/asoc.h
|
||
|
@@ -178,10 +178,13 @@
|
||
|
#define SND_SOC_TPLG_BCLK_CS SND_SOC_TPLG_BCLK_CC
|
||
|
|
||
|
/* DAI topology FSYNC parameter
|
||
|
- * For the backwards capability, by default codec is fsync master
|
||
|
+ * For the backwards capability, by default codec is fsync provider
|
||
|
*/
|
||
|
-#define SND_SOC_TPLG_FSYNC_CM 0 /* codec is fsync master */
|
||
|
-#define SND_SOC_TPLG_FSYNC_CS 1 /* codec is fsync slave */
|
||
|
+#define SND_SOC_TPLG_FSYNC_CP 0 /* codec is fsync provider */
|
||
|
+#define SND_SOC_TPLG_FSYNC_CC 1 /* codec is fsync consumer */
|
||
|
+/* keep previous definitions for compatibility */
|
||
|
+#define SND_SOC_TPLG_FSYNC_CM SND_SOC_TPLG_FSYNC_CP
|
||
|
+#define SND_SOC_TPLG_FSYNC_CS SND_SOC_TPLG_FSYNC_CC
|
||
|
|
||
|
/*
|
||
|
* Block Header.
|
||
|
@@ -339,7 +342,7 @@ struct snd_soc_tplg_hw_config {
|
||
|
__u8 invert_bclk; /* 1 for inverted BCLK, 0 for normal */
|
||
|
__u8 invert_fsync; /* 1 for inverted frame clock, 0 for normal */
|
||
|
__u8 bclk_provider; /* SND_SOC_TPLG_BCLK_ value */
|
||
|
- __u8 fsync_master; /* SND_SOC_TPLG_FSYNC_ value */
|
||
|
+ __u8 fsync_provider; /* SND_SOC_TPLG_FSYNC_ value */
|
||
|
__u8 mclk_direction; /* SND_SOC_TPLG_MCLK_ value */
|
||
|
__le16 reserved; /* for 32bit alignment */
|
||
|
__le32 mclk_rate; /* MCLK or SYSCLK freqency in Hz */
|
||
|
diff --git a/include/topology.h b/include/topology.h
|
||
|
index 6c9706496fc3..4ade20df0751 100644
|
||
|
--- a/include/topology.h
|
||
|
+++ b/include/topology.h
|
||
|
@@ -1029,7 +1029,7 @@ struct snd_tplg_hw_config_template {
|
||
|
unsigned char invert_bclk; /* 1 for inverted BCLK, 0 for normal */
|
||
|
unsigned char invert_fsync; /* 1 for inverted frame clock, 0 for normal */
|
||
|
unsigned char bclk_provider; /* SND_SOC_TPLG_BCLK_ value */
|
||
|
- unsigned char fsync_master; /* SND_SOC_TPLG_FSYNC_ value */
|
||
|
+ unsigned char fsync_provider; /* SND_SOC_TPLG_FSYNC_ value */
|
||
|
unsigned char mclk_direction; /* SND_SOC_TPLG_MCLK_ value */
|
||
|
unsigned short reserved; /* for 32bit alignment */
|
||
|
unsigned int mclk_rate; /* MCLK or SYSCLK freqency in Hz */
|
||
|
diff --git a/src/topology/pcm.c b/src/topology/pcm.c
|
||
|
index f05df348fa23..c8f418621323 100644
|
||
|
--- a/src/topology/pcm.c
|
||
|
+++ b/src/topology/pcm.c
|
||
|
@@ -1504,8 +1504,15 @@ int tplg_parse_hw_config(snd_tplg_t *tplg, snd_config_t *cfg,
|
||
|
continue;
|
||
|
}
|
||
|
|
||
|
- if (strcmp(id, "fsync") == 0 ||
|
||
|
- strcmp(id, "fsync_master") == 0) {
|
||
|
+ provider_legacy = false;
|
||
|
+ if (strcmp(id, "fsync_master") == 0) {
|
||
|
+ SNDERR("deprecated option %s, please use 'fsync'\n", id);
|
||
|
+ provider_legacy = true;
|
||
|
+ }
|
||
|
+
|
||
|
+ if (provider_legacy ||
|
||
|
+ strcmp(id, "fsync") == 0) {
|
||
|
+
|
||
|
if (snd_config_get_string(n, &val) < 0)
|
||
|
return -EINVAL;
|
||
|
|
||
|
@@ -1515,11 +1522,19 @@ int tplg_parse_hw_config(snd_tplg_t *tplg, snd_config_t *cfg,
|
||
|
*/
|
||
|
SNDERR("deprecated fsync value '%s'", val);
|
||
|
|
||
|
- hw_cfg->fsync_master = SND_SOC_TPLG_FSYNC_CS;
|
||
|
+ hw_cfg->fsync_provider = SND_SOC_TPLG_FSYNC_CC;
|
||
|
} else if (!strcmp(val, "codec_slave")) {
|
||
|
- hw_cfg->fsync_master = SND_SOC_TPLG_FSYNC_CS;
|
||
|
+ SNDERR("deprecated fsync value '%s', use 'codec_consumer'", val);
|
||
|
+
|
||
|
+ hw_cfg->fsync_provider = SND_SOC_TPLG_FSYNC_CC;
|
||
|
+ } else if (!strcmp(val, "codec_consumer")) {
|
||
|
+ hw_cfg->fsync_provider = SND_SOC_TPLG_FSYNC_CC;
|
||
|
} else if (!strcmp(val, "codec_master")) {
|
||
|
- hw_cfg->fsync_master = SND_SOC_TPLG_FSYNC_CM;
|
||
|
+ SNDERR("deprecated fsync value '%s', use 'codec_provider'", val);
|
||
|
+
|
||
|
+ hw_cfg->fsync_provider = SND_SOC_TPLG_FSYNC_CP;
|
||
|
+ } else if (!strcmp(val, "codec_provider")) {
|
||
|
+ hw_cfg->fsync_provider = SND_SOC_TPLG_FSYNC_CP;
|
||
|
}
|
||
|
continue;
|
||
|
}
|
||
|
@@ -1648,10 +1663,10 @@ int tplg_save_hw_config(snd_tplg_t *tplg ATTRIBUTE_UNUSED,
|
||
|
hc->bclk_rate);
|
||
|
if (err >= 0 && hc->invert_bclk)
|
||
|
err = tplg_save_printf(dst, pfx, "\tbclk_invert 1\n");
|
||
|
- if (err >= 0 && hc->fsync_master)
|
||
|
- err = tplg_save_printf(dst, pfx, "\tfsync_master '%s'\n",
|
||
|
- hc->fsync_master == SND_SOC_TPLG_FSYNC_CS ?
|
||
|
- "codec_slave" : "codec_master");
|
||
|
+ if (err >= 0 && hc->fsync_provider)
|
||
|
+ err = tplg_save_printf(dst, pfx, "\tfsync_provider '%s'\n",
|
||
|
+ hc->fsync_provider == SND_SOC_TPLG_FSYNC_CC ?
|
||
|
+ "codec_consumer" : "codec_provider");
|
||
|
if (err >= 0 && hc->fsync_rate)
|
||
|
err = tplg_save_printf(dst, pfx, "\tfsync_freq %u\n",
|
||
|
hc->fsync_rate);
|
||
|
@@ -1808,7 +1823,7 @@ static int set_link_hw_config(struct snd_soc_tplg_hw_config *cfg,
|
||
|
cfg->invert_bclk = tpl->invert_bclk;
|
||
|
cfg->invert_fsync = tpl->invert_fsync;
|
||
|
cfg->bclk_provider = tpl->bclk_provider;
|
||
|
- cfg->fsync_master = tpl->fsync_master;
|
||
|
+ cfg->fsync_provider = tpl->fsync_provider;
|
||
|
cfg->mclk_direction = tpl->mclk_direction;
|
||
|
cfg->reserved = tpl->reserved;
|
||
|
cfg->mclk_rate = tpl->mclk_rate;
|
||
|
@@ -2191,7 +2206,7 @@ next:
|
||
|
hw->invert_bclk = link->hw_config[i].invert_bclk;
|
||
|
hw->invert_fsync = link->hw_config[i].invert_fsync;
|
||
|
hw->bclk_provider = link->hw_config[i].bclk_provider;
|
||
|
- hw->fsync_master = link->hw_config[i].fsync_master;
|
||
|
+ hw->fsync_provider = link->hw_config[i].fsync_provider;
|
||
|
hw->mclk_direction = link->hw_config[i].mclk_direction;
|
||
|
hw->mclk_rate = link->hw_config[i].mclk_rate;
|
||
|
hw->bclk_rate = link->hw_config[i].bclk_rate;
|
||
|
--
|
||
|
2.26.2
|
||
|
|