ASoC: mc13783: Update set_tdm_slot() semantics
The mc13783 driver uses inverted semantics for the tx_mask and rx_mask parameter of the set_tdm_slot() callback compared to rest of ASoC. This patch updates the driver's semantics to be consistent with the rest of ASoC, i.e. a set bit means a active slot and a cleared bit means a inactive slot. This will allow us to use the set_tdm_slot() API in a more generic way. Signed-off-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
97bf6af1f9
commit
bec78c5f4a
|
@ -328,16 +328,16 @@ static int mc13783_set_tdm_slot_dac(struct snd_soc_dai *dai,
|
|||
}
|
||||
|
||||
switch (rx_mask) {
|
||||
case 0xfffffffc:
|
||||
case 0x03:
|
||||
val |= SSI_NETWORK_DAC_RXSLOT_0_1;
|
||||
break;
|
||||
case 0xfffffff3:
|
||||
case 0x0c:
|
||||
val |= SSI_NETWORK_DAC_RXSLOT_2_3;
|
||||
break;
|
||||
case 0xffffffcf:
|
||||
case 0x30:
|
||||
val |= SSI_NETWORK_DAC_RXSLOT_4_5;
|
||||
break;
|
||||
case 0xffffff3f:
|
||||
case 0xc0:
|
||||
val |= SSI_NETWORK_DAC_RXSLOT_6_7;
|
||||
break;
|
||||
default:
|
||||
|
@ -360,7 +360,7 @@ static int mc13783_set_tdm_slot_codec(struct snd_soc_dai *dai,
|
|||
if (slots != 4)
|
||||
return -EINVAL;
|
||||
|
||||
if (tx_mask != 0xfffffffc)
|
||||
if (tx_mask != 0x3)
|
||||
return -EINVAL;
|
||||
|
||||
val |= (0x00 << 2); /* primary timeslot RX/TX(?) is 0 */
|
||||
|
|
|
@ -37,8 +37,7 @@ static int imx_mc13783_hifi_hw_params(struct snd_pcm_substream *substream,
|
|||
struct snd_soc_dai *codec_dai = rtd->codec_dai;
|
||||
int ret;
|
||||
|
||||
ret = snd_soc_dai_set_tdm_slot(codec_dai, 0xfffffffc, 0xfffffffc,
|
||||
4, 16);
|
||||
ret = snd_soc_dai_set_tdm_slot(codec_dai, 0x3, 0x3, 4, 16);
|
||||
if (ret)
|
||||
return ret;
|
||||
|
||||
|
|
Loading…
Reference in New Issue