Removed mainlined (5.10.67+, 5.14.6+) rockchip_i2s_tdm changes for ROCK Pi S
This commit is contained in:
parent
5710008358
commit
a105cd2756
@ -199,87 +199,6 @@ index 61c984f10d8e..e6125ebfe5a9 100644
|
||||
}
|
||||
|
||||
static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
@@ -186,7 +214,9 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
{
|
||||
struct rk_i2s_dev *i2s = to_info(cpu_dai);
|
||||
unsigned int mask = 0, val = 0;
|
||||
+ int ret = 0;
|
||||
|
||||
+ pm_runtime_get_sync(cpu_dai->dev);
|
||||
mask = I2S_CKR_MSS_MASK;
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
@@ -199,7 +229,8 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
i2s->is_master_mode = false;
|
||||
break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_CKR, mask, val);
|
||||
@@ -213,7 +244,8 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
val = I2S_CKR_CKP_POS;
|
||||
break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_CKR, mask, val);
|
||||
@@ -229,14 +261,15 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
val = I2S_TXCR_IBM_NORMAL;
|
||||
break;
|
||||
- case SND_SOC_DAIFMT_DSP_A: /* PCM no delay mode */
|
||||
- val = I2S_TXCR_TFS_PCM;
|
||||
- break;
|
||||
- case SND_SOC_DAIFMT_DSP_B: /* PCM delay 1 mode */
|
||||
+ case SND_SOC_DAIFMT_DSP_A: /* PCM delay 1 bit mode */
|
||||
val = I2S_TXCR_TFS_PCM | I2S_TXCR_PBM_MODE(1);
|
||||
break;
|
||||
+ case SND_SOC_DAIFMT_DSP_B: /* PCM no delay mode */
|
||||
+ val = I2S_TXCR_TFS_PCM;
|
||||
+ break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_TXCR, mask, val);
|
||||
@@ -252,19 +285,23 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
val = I2S_RXCR_IBM_NORMAL;
|
||||
break;
|
||||
- case SND_SOC_DAIFMT_DSP_A: /* PCM no delay mode */
|
||||
- val = I2S_RXCR_TFS_PCM;
|
||||
- break;
|
||||
- case SND_SOC_DAIFMT_DSP_B: /* PCM delay 1 mode */
|
||||
+ case SND_SOC_DAIFMT_DSP_A: /* PCM delay 1 bit mode */
|
||||
val = I2S_RXCR_TFS_PCM | I2S_RXCR_PBM_MODE(1);
|
||||
break;
|
||||
+ case SND_SOC_DAIFMT_DSP_B: /* PCM no delay mode */
|
||||
+ val = I2S_RXCR_TFS_PCM;
|
||||
+ break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_RXCR, mask, val);
|
||||
|
||||
- return 0;
|
||||
+err_pm_put:
|
||||
+ pm_runtime_put(cpu_dai->dev);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int rockchip_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
@@ -272,17 +309,16 @@ static int rockchip_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
|
||||
@ -199,87 +199,6 @@ index 61c984f10d8e..e6125ebfe5a9 100644
|
||||
}
|
||||
|
||||
static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
@@ -186,7 +214,9 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
{
|
||||
struct rk_i2s_dev *i2s = to_info(cpu_dai);
|
||||
unsigned int mask = 0, val = 0;
|
||||
+ int ret = 0;
|
||||
|
||||
+ pm_runtime_get_sync(cpu_dai->dev);
|
||||
mask = I2S_CKR_MSS_MASK;
|
||||
switch (fmt & SND_SOC_DAIFMT_MASTER_MASK) {
|
||||
case SND_SOC_DAIFMT_CBS_CFS:
|
||||
@@ -199,7 +229,8 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
i2s->is_master_mode = false;
|
||||
break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_CKR, mask, val);
|
||||
@@ -213,7 +244,8 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
val = I2S_CKR_CKP_POS;
|
||||
break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_CKR, mask, val);
|
||||
@@ -229,14 +261,15 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
val = I2S_TXCR_IBM_NORMAL;
|
||||
break;
|
||||
- case SND_SOC_DAIFMT_DSP_A: /* PCM no delay mode */
|
||||
- val = I2S_TXCR_TFS_PCM;
|
||||
- break;
|
||||
- case SND_SOC_DAIFMT_DSP_B: /* PCM delay 1 mode */
|
||||
+ case SND_SOC_DAIFMT_DSP_A: /* PCM delay 1 bit mode */
|
||||
val = I2S_TXCR_TFS_PCM | I2S_TXCR_PBM_MODE(1);
|
||||
break;
|
||||
+ case SND_SOC_DAIFMT_DSP_B: /* PCM no delay mode */
|
||||
+ val = I2S_TXCR_TFS_PCM;
|
||||
+ break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_TXCR, mask, val);
|
||||
@@ -252,19 +285,23 @@ static int rockchip_i2s_set_fmt(struct snd_soc_dai *cpu_dai,
|
||||
case SND_SOC_DAIFMT_I2S:
|
||||
val = I2S_RXCR_IBM_NORMAL;
|
||||
break;
|
||||
- case SND_SOC_DAIFMT_DSP_A: /* PCM no delay mode */
|
||||
- val = I2S_RXCR_TFS_PCM;
|
||||
- break;
|
||||
- case SND_SOC_DAIFMT_DSP_B: /* PCM delay 1 mode */
|
||||
+ case SND_SOC_DAIFMT_DSP_A: /* PCM delay 1 bit mode */
|
||||
val = I2S_RXCR_TFS_PCM | I2S_RXCR_PBM_MODE(1);
|
||||
break;
|
||||
+ case SND_SOC_DAIFMT_DSP_B: /* PCM no delay mode */
|
||||
+ val = I2S_RXCR_TFS_PCM;
|
||||
+ break;
|
||||
default:
|
||||
- return -EINVAL;
|
||||
+ ret = -EINVAL;
|
||||
+ goto err_pm_put;
|
||||
}
|
||||
|
||||
regmap_update_bits(i2s->regmap, I2S_RXCR, mask, val);
|
||||
|
||||
- return 0;
|
||||
+err_pm_put:
|
||||
+ pm_runtime_put(cpu_dai->dev);
|
||||
+
|
||||
+ return ret;
|
||||
}
|
||||
|
||||
static int rockchip_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
@@ -272,17 +309,16 @@ static int rockchip_i2s_hw_params(struct snd_pcm_substream *substream,
|
||||
struct snd_soc_dai *dai)
|
||||
{
|
||||
|
||||
Loading…
Reference in New Issue
Block a user