ASoC: change set_tdm_slot api to allow slot_width override.
Extend set_tdm_slot to allow the user to arbitrarily set the frame width and active TX/RX slots. Updates magician.c and wm9081.c for the new set_tdm_slot(). wm9081.c still doesn't handle the slot_width override. While being there, correct an incorrect use of SlotsPerFrm(7) use in bitmask on pxa-ssp.c (SSCR0_SlotsPerFrm(x) is (((x) - 1) << 24)) ). (this series is meant for Mark's for-2.6.32 branch) Signed-off-by: Daniel Ribeiro <drwyrm@gmail.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
committed by
Mark Brown
parent
9029bb316b
commit
a5479e389e
@@ -2223,17 +2223,20 @@ EXPORT_SYMBOL_GPL(snd_soc_dai_set_fmt);
|
||||
/**
|
||||
* snd_soc_dai_set_tdm_slot - configure DAI TDM.
|
||||
* @dai: DAI
|
||||
* @mask: DAI specific mask representing used slots.
|
||||
* @tx_mask: bitmask representing active TX slots.
|
||||
* @rx_mask: bitmask representing active RX slots.
|
||||
* @slots: Number of slots in use.
|
||||
* @slot_width: Width in bits for each slot.
|
||||
*
|
||||
* Configures a DAI for TDM operation. Both mask and slots are codec and DAI
|
||||
* specific.
|
||||
*/
|
||||
int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
|
||||
unsigned int mask, int slots)
|
||||
unsigned int tx_mask, unsigned int rx_mask, int slots, int slot_width)
|
||||
{
|
||||
if (dai->ops && dai->ops->set_tdm_slot)
|
||||
return dai->ops->set_tdm_slot(dai, mask, slots);
|
||||
return dai->ops->set_tdm_slot(dai, tx_mask, rx_mask,
|
||||
slots, slot_width);
|
||||
else
|
||||
return -EINVAL;
|
||||
}
|
||||
|
Reference in New Issue
Block a user