ASoC: fsl_ssi: Caculate bit clock rate using slot number and width
authorNicolin Chen <nicoleotsuka@gmail.com>
Thu, 14 Sep 2017 03:07:09 +0000 (20:07 -0700)
committerMark Brown <broonie@kernel.org>
Tue, 19 Sep 2017 12:15:55 +0000 (13:15 +0100)
commitb0a7043d5c2ccdd306959f295bf1a62be025cbf5
tree1248070818a6b852714387f2f73de881d47bb8d4
parent2db5f9e9fa0ebc3c023f7ac906946a3eef8f5498
ASoC: fsl_ssi: Caculate bit clock rate using slot number and width

The set_sysclk() now is used to override the output bit clock rate.
But this is not a common way to implement a set_dai_sysclk(). And
this creates a problem when a general machine driver (simple-card
for example) tries to do set_dai_sysclk() by passing an input clock
rate for the baud clock instead of setting the bit clock rate as
fsl_ssi driver expected.

So this patch solves this problem by firstly removing set_sysclk()
since the hw_params() can calculate the bit clock rate. Secondly,
in order not to break those TDM use cases which previously might
have been using set_sysclk() to override the bit clock rate, this
patch changes the driver to calculate the bit clock rate using the
slot number and the slot width from the via set_tdm_slot().

The patch also removes an obsolete comment of the dir parameter.

Signed-off-by: Nicolin Chen <nicoleotsuka@gmail.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/fsl/fsl_ssi.c