Commit e46c9366 authored by Lars-Peter Clausen's avatar Lars-Peter Clausen Committed by Mark Brown

ASoC: Update snd_soc_dai_set_tdm_slot() documentation

There have been some conflicting interpretations of how
snd_soc_dai_set_tdm_slot() is supposed to work. This patch updates the
documentation to be more specific on the exact semantics to avoid such
problems in the future.
Signed-off-by: default avatarLars-Peter Clausen <lars@metafoo.de>
Signed-off-by: default avatarMark Brown <broonie@kernel.org>
parent bbcdb69d
...@@ -2119,15 +2119,27 @@ static int snd_soc_xlate_tdm_slot_mask(unsigned int slots, ...@@ -2119,15 +2119,27 @@ static int snd_soc_xlate_tdm_slot_mask(unsigned int slots,
} }
/** /**
* snd_soc_dai_set_tdm_slot - configure DAI TDM. * snd_soc_dai_set_tdm_slot() - Configures a DAI for TDM operation
* @dai: DAI * @dai: The DAI to configure
* @tx_mask: bitmask representing active TX slots. * @tx_mask: bitmask representing active TX slots.
* @rx_mask: bitmask representing active RX slots. * @rx_mask: bitmask representing active RX slots.
* @slots: Number of slots in use. * @slots: Number of slots in use.
* @slot_width: Width in bits for each slot. * @slot_width: Width in bits for each slot.
* *
* Configures a DAI for TDM operation. Both mask and slots are codec and DAI * This function configures the specified DAI for TDM operation. @slot contains
* specific. * the total number of slots of the TDM stream and @slot_with the width of each
* slot in bit clock cycles. @tx_mask and @rx_mask are bitmasks specifying the
* active slots of the TDM stream for the specified DAI, i.e. which slots the
* DAI should write to or read from. If a bit is set the corresponding slot is
* active, if a bit is cleared the corresponding slot is inactive. Bit 0 maps to
* the first slot, bit 1 to the second slot and so on. The first active slot
* maps to the first channel of the DAI, the second active slot to the second
* channel and so on.
*
* TDM mode can be disabled by passing 0 for @slots. In this case @tx_mask,
* @rx_mask and @slot_width will be ignored.
*
* Returns 0 on success, a negative error code otherwise.
*/ */
int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai, int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width) unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width)
......
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