Commit efe30e2c authored by Richard Fitzgerald's avatar Richard Fitzgerald Committed by Mark Brown

ASoC: soc-utils: Improve kerneldoc for snd_soc_tdm_params_to_bclk()

The statement that snd_soc_tdm_params_to_bclk() is equivalent to
snd_soc_params_to_bclk() if tdm_width==tdm_slots==0 is not accurate,
it is only true is slot_multiple is also <2.

However, the description of special-case behaviour in terms of pairs of
tdm_width and tdm_slot values is not particularly helpful so we might as
well take the opportunity to rework the description to say the same thing
in a simpler way. The behaviour of a pair of values is obvious from a
description of each argument. At the same time make a few edits to clarify
the rest of the description.
Signed-off-by: default avatarRichard Fitzgerald <rf@opensource.cirrus.com>
Link: https://lore.kernel.org/r/20220815113346.3805075-1-rf@opensource.cirrus.comSigned-off-by: default avatarMark Brown <broonie@kernel.org>
parent 36b99942
......@@ -56,23 +56,24 @@ EXPORT_SYMBOL_GPL(snd_soc_params_to_bclk);
/**
* snd_soc_tdm_params_to_bclk - calculate bclk from params and tdm slot info.
*
* Calculate the bclk from the params sample rate and the tdm slot count and
* tdm slot width. Either or both of tdm_width and tdm_slots can be 0.
* Calculate the bclk from the params sample rate, the tdm slot count and the
* tdm slot width. Optionally round-up the slot count to a given multiple.
* Either or both of tdm_width and tdm_slots can be 0.
*
* If tdm_width == 0 and tdm_slots > 0: the params_width will be used.
* If tdm_width > 0 and tdm_slots == 0: the params_channels will be used
* as the slot count.
* Both tdm_width and tdm_slots are 0: this is equivalent to calling
* snd_soc_params_to_bclk().
* If tdm_width == 0: use params_width() as the slot width.
* If tdm_slots == 0: use params_channels() as the slot count.
*
* If slot_multiple > 1 the slot count (or params_channels if tdm_slots == 0)
* will be rounded up to a multiple of this value. This is mainly useful for
* If slot_multiple > 1 the slot count (or params_channels() if tdm_slots == 0)
* will be rounded up to a multiple of slot_multiple. This is mainly useful for
* I2S mode, which has a left and right phase so the number of slots is always
* a multiple of 2.
*
* If tdm_width == 0 && tdm_slots == 0 && slot_multiple < 2, this is equivalent
* to calling snd_soc_params_to_bclk().
*
* @params: Pointer to struct_pcm_hw_params.
* @tdm_width: Width in bits of the tdm slots.
* @tdm_slots: Number of tdm slots per frame.
* @tdm_width: Width in bits of the tdm slots. Must be >= 0.
* @tdm_slots: Number of tdm slots per frame. Must be >= 0.
* @slot_multiple: If >1 roundup slot count to a multiple of this value.
*
* Return: bclk frequency in Hz, else a negative error code if params format
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment