Loading sound/soc/fsl/fsl_esai.c +7 −5 Original line number Diff line number Diff line Loading @@ -513,10 +513,15 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, u32 width = snd_pcm_format_width(params_format(params)); u32 channels = params_channels(params); u32 pins = DIV_ROUND_UP(channels, esai_priv->slots); u32 slot_width = width; u32 bclk, mask, val; int ret; bclk = params_rate(params) * esai_priv->slot_width * esai_priv->slots; /* Override slot_width if being specifially set */ if (esai_priv->slot_width) slot_width = esai_priv->slot_width; bclk = params_rate(params) * slot_width * esai_priv->slots; ret = fsl_esai_set_bclk(dai, tx, bclk); if (ret) Loading @@ -538,7 +543,7 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, regmap_update_bits(esai_priv->regmap, REG_ESAI_xFCR(tx), mask, val); mask = ESAI_xCR_xSWS_MASK | (tx ? ESAI_xCR_PADC : 0); val = ESAI_xCR_xSWS(esai_priv->slot_width, width) | (tx ? ESAI_xCR_PADC : 0); val = ESAI_xCR_xSWS(slot_width, width) | (tx ? ESAI_xCR_PADC : 0); regmap_update_bits(esai_priv->regmap, REG_ESAI_xCR(tx), mask, val); Loading Loading @@ -780,9 +785,6 @@ static int fsl_esai_probe(struct platform_device *pdev) return ret; } /* Set a default slot size */ esai_priv->slot_width = 32; /* Set a default slot number */ esai_priv->slots = 2; Loading Loading
sound/soc/fsl/fsl_esai.c +7 −5 Original line number Diff line number Diff line Loading @@ -513,10 +513,15 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, u32 width = snd_pcm_format_width(params_format(params)); u32 channels = params_channels(params); u32 pins = DIV_ROUND_UP(channels, esai_priv->slots); u32 slot_width = width; u32 bclk, mask, val; int ret; bclk = params_rate(params) * esai_priv->slot_width * esai_priv->slots; /* Override slot_width if being specifially set */ if (esai_priv->slot_width) slot_width = esai_priv->slot_width; bclk = params_rate(params) * slot_width * esai_priv->slots; ret = fsl_esai_set_bclk(dai, tx, bclk); if (ret) Loading @@ -538,7 +543,7 @@ static int fsl_esai_hw_params(struct snd_pcm_substream *substream, regmap_update_bits(esai_priv->regmap, REG_ESAI_xFCR(tx), mask, val); mask = ESAI_xCR_xSWS_MASK | (tx ? ESAI_xCR_PADC : 0); val = ESAI_xCR_xSWS(esai_priv->slot_width, width) | (tx ? ESAI_xCR_PADC : 0); val = ESAI_xCR_xSWS(slot_width, width) | (tx ? ESAI_xCR_PADC : 0); regmap_update_bits(esai_priv->regmap, REG_ESAI_xCR(tx), mask, val); Loading Loading @@ -780,9 +785,6 @@ static int fsl_esai_probe(struct platform_device *pdev) return ret; } /* Set a default slot size */ esai_priv->slot_width = 32; /* Set a default slot number */ esai_priv->slots = 2; Loading