1
0
Fork 0

MLK-23567-1 ASoC: fsl_xcvr: add TX CS bytes control

For IEC958 kcontrol type amixer tool returns just first 4 bytes,
add a byte array control so that we'll be able to set all 24 bytes
of TX CS by using amixer.

Signed-off-by: Viorel Suman <viorel.suman@nxp.com>
Reviewed-by: Shengjiu Wang <shengjiu.wang@nxp.com>
5.4-rM2-2.2.x-imx-squashed
Viorel Suman 2020-04-03 20:13:09 +03:00
parent 0201b77acc
commit 7882f7f139
1 changed files with 12 additions and 3 deletions

View File

@ -536,8 +536,8 @@ static int fsl_xcvr_type_iec958_info(struct snd_kcontrol *kcontrol,
return 0;
}
static int fsl_xcvr_type_bytes_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
static int fsl_xcvr_type_iec958_bytes_info(struct snd_kcontrol *kcontrol,
struct snd_ctl_elem_info *uinfo)
{
uinfo->type = SNDRV_CTL_ELEM_TYPE_BYTES;
uinfo->count = FIELD_SIZEOF(struct snd_aes_iec958, status);
@ -648,7 +648,7 @@ static struct snd_kcontrol_new fsl_xcvr_rx_ctls[] = {
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.name = "Capture Channel Status",
.access = SNDRV_CTL_ELEM_ACCESS_READ,
.info = fsl_xcvr_type_bytes_info,
.info = fsl_xcvr_type_iec958_bytes_info,
.get = fsl_xcvr_rx_cs_get,
},
SOC_ENUM_EXT("ARC Mode", fsl_xcvr_arc_mode_enum,
@ -674,6 +674,15 @@ static struct snd_kcontrol_new fsl_xcvr_tx_ctls[] = {
.get = fsl_xcvr_tx_cs_get,
.put = fsl_xcvr_tx_cs_put,
},
/* Playback channel status, bytes */
{
.iface = SNDRV_CTL_ELEM_IFACE_PCM,
.name = "Playback Channel Status",
.access = SNDRV_CTL_ELEM_ACCESS_READWRITE,
.info = fsl_xcvr_type_iec958_bytes_info,
.get = fsl_xcvr_tx_cs_get,
.put = fsl_xcvr_tx_cs_put,
},
};
static struct snd_soc_dai_ops fsl_xcvr_dai_ops = {