Re: [PATCH v3 14/17] ASoC: fsl_ssi: Clean up _fsl_ssi_set_dai_fmt()

From: Maciej S. Szmigiero
Date: Mon Jan 15 2018 - 16:16:43 EST


On 15.01.2018 05:21, Nicolin Chen wrote:
> The _fsl_ssi_set_dai_fmt() is a helper function being called from
> fsl_ssi_set_dai_fmt() as an ASoC operation and fsl_ssi_hw_init()
> mainly for AC97 format initialization.
>
> This patch cleans the _fsl_ssi_set_dai_fmt() in following ways:
> * Removing *dev pointer in the parameters as it's included in the
> *ssi pointer of struct fsl_ssi.
> * Using regmap_update_bits() instead of regmap_read() with masking
> the value manually.
> * Removing TXBIT0 configurations since this bit is set to 1 as its
> reset value and there is no use case so far to unset it. And it
> is safe to remove since regmap_update_bits() won't touch it.

I didn't get any response to a comment I've written about the point
above during the previous patch iteration:> The old code set this bit in any mode other than AC'97 (where the
> hardware always treats this bit as set regardless of the actual value).
> I would play safe here and not rely on this bit being set by a SSI
> reset on all SSI models.

Maciej

> * Moving baudclk check to the switch-case routine to skip the I2S
> master check. And moving SxCCR.DC settings after baudclk check.
> * Adding format settings for SND_SOC_DAIFMT_AC97 like others.
>
> Signed-off-by: Nicolin Chen <nicoleotsuka@xxxxxxxxx>
> Tested-by: Caleb Crome <caleb@xxxxxxxxx>
> ---
> Changelog
> v3
> * Put CBM_CFS behind the baudclk check to keep the same program
> flow as before
>
> sound/soc/fsl/fsl_ssi.c | 73 ++++++++++++++++++++++---------------------------
> 1 file changed, 33 insertions(+), 40 deletions(-)
>