Merge "ASoC: msm8996: add support for packed 24 bit"
This commit is contained in:
commit
d55264e2fc
1 changed files with 47 additions and 6 deletions
|
@ -103,9 +103,9 @@ static const char *const slim0_tx_ch_text[] = {"One", "Two", "Three", "Four",
|
|||
static const char *const vi_feed_ch_text[] = {"One", "Two"};
|
||||
static char const *hdmi_rx_ch_text[] = {"Two", "Three", "Four", "Five",
|
||||
"Six", "Seven", "Eight"};
|
||||
static char const *rx_bit_format_text[] = {"S16_LE", "S24_LE"};
|
||||
static char const *slim5_rx_bit_format_text[] = {"S16_LE", "S24_LE"};
|
||||
static char const *slim6_rx_bit_format_text[] = {"S16_LE", "S24_LE"};
|
||||
static char const *rx_bit_format_text[] = {"S16_LE", "S24_LE", "S24_3LE"};
|
||||
static char const *slim5_rx_bit_format_text[] = {"S16_LE", "S24_LE", "S24_3LE"};
|
||||
static char const *slim6_rx_bit_format_text[] = {"S16_LE", "S24_LE", "S24_3LE"};
|
||||
static char const *slim0_rx_sample_rate_text[] = {"KHZ_48", "KHZ_96",
|
||||
"KHZ_192", "KHZ_44P1", "KHZ_8",
|
||||
"KHZ_16", "KHZ_32"};
|
||||
|
@ -682,6 +682,9 @@ static int slim0_tx_bit_format_get(struct snd_kcontrol *kcontrol,
|
|||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
switch (slim0_tx_bit_format) {
|
||||
case SNDRV_PCM_FORMAT_S24_3LE:
|
||||
ucontrol->value.integer.value[0] = 2;
|
||||
break;
|
||||
case SNDRV_PCM_FORMAT_S24_LE:
|
||||
ucontrol->value.integer.value[0] = 1;
|
||||
break;
|
||||
|
@ -703,6 +706,9 @@ static int slim0_tx_bit_format_put(struct snd_kcontrol *kcontrol,
|
|||
int rc = 0;
|
||||
|
||||
switch (ucontrol->value.integer.value[0]) {
|
||||
case 2:
|
||||
slim0_tx_bit_format = SNDRV_PCM_FORMAT_S24_3LE;
|
||||
break;
|
||||
case 1:
|
||||
slim0_tx_bit_format = SNDRV_PCM_FORMAT_S24_LE;
|
||||
break;
|
||||
|
@ -716,6 +722,10 @@ static int slim0_tx_bit_format_put(struct snd_kcontrol *kcontrol,
|
|||
break;
|
||||
}
|
||||
|
||||
pr_debug("%s: ucontrol value = %ld, slim0_tx_bit_format = %d\n",
|
||||
__func__, ucontrol->value.integer.value[0],
|
||||
slim0_tx_bit_format);
|
||||
|
||||
return rc;
|
||||
}
|
||||
|
||||
|
@ -856,6 +866,10 @@ static int slim5_rx_bit_format_get(struct snd_kcontrol *kcontrol,
|
|||
{
|
||||
|
||||
switch (slim5_rx_bit_format) {
|
||||
case SNDRV_PCM_FORMAT_S24_3LE:
|
||||
ucontrol->value.integer.value[0] = 2;
|
||||
break;
|
||||
|
||||
case SNDRV_PCM_FORMAT_S24_LE:
|
||||
ucontrol->value.integer.value[0] = 1;
|
||||
break;
|
||||
|
@ -877,6 +891,9 @@ static int slim5_rx_bit_format_put(struct snd_kcontrol *kcontrol,
|
|||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
switch (ucontrol->value.integer.value[0]) {
|
||||
case 2:
|
||||
slim5_rx_bit_format = SNDRV_PCM_FORMAT_S24_3LE;
|
||||
break;
|
||||
case 1:
|
||||
slim5_rx_bit_format = SNDRV_PCM_FORMAT_S24_LE;
|
||||
break;
|
||||
|
@ -893,6 +910,10 @@ static int slim6_rx_bit_format_get(struct snd_kcontrol *kcontrol,
|
|||
{
|
||||
|
||||
switch (slim6_rx_bit_format) {
|
||||
case SNDRV_PCM_FORMAT_S24_3LE:
|
||||
ucontrol->value.integer.value[0] = 2;
|
||||
break;
|
||||
|
||||
case SNDRV_PCM_FORMAT_S24_LE:
|
||||
ucontrol->value.integer.value[0] = 1;
|
||||
break;
|
||||
|
@ -914,6 +935,9 @@ static int slim6_rx_bit_format_put(struct snd_kcontrol *kcontrol,
|
|||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
switch (ucontrol->value.integer.value[0]) {
|
||||
case 2:
|
||||
slim6_rx_bit_format = SNDRV_PCM_FORMAT_S24_3LE;
|
||||
break;
|
||||
case 1:
|
||||
slim6_rx_bit_format = SNDRV_PCM_FORMAT_S24_LE;
|
||||
break;
|
||||
|
@ -930,6 +954,10 @@ static int slim0_rx_bit_format_get(struct snd_kcontrol *kcontrol,
|
|||
{
|
||||
|
||||
switch (slim0_rx_bit_format) {
|
||||
case SNDRV_PCM_FORMAT_S24_3LE:
|
||||
ucontrol->value.integer.value[0] = 2;
|
||||
break;
|
||||
|
||||
case SNDRV_PCM_FORMAT_S24_LE:
|
||||
ucontrol->value.integer.value[0] = 1;
|
||||
break;
|
||||
|
@ -951,6 +979,9 @@ static int slim0_rx_bit_format_put(struct snd_kcontrol *kcontrol,
|
|||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
switch (ucontrol->value.integer.value[0]) {
|
||||
case 2:
|
||||
slim0_rx_bit_format = SNDRV_PCM_FORMAT_S24_3LE;
|
||||
break;
|
||||
case 1:
|
||||
slim0_rx_bit_format = SNDRV_PCM_FORMAT_S24_LE;
|
||||
break;
|
||||
|
@ -1074,6 +1105,10 @@ static int hdmi_rx_bit_format_get(struct snd_kcontrol *kcontrol,
|
|||
{
|
||||
|
||||
switch (hdmi_rx_bit_format) {
|
||||
case SNDRV_PCM_FORMAT_S24_3LE:
|
||||
ucontrol->value.integer.value[0] = 2;
|
||||
break;
|
||||
|
||||
case SNDRV_PCM_FORMAT_S24_LE:
|
||||
ucontrol->value.integer.value[0] = 1;
|
||||
break;
|
||||
|
@ -1095,6 +1130,9 @@ static int hdmi_rx_bit_format_put(struct snd_kcontrol *kcontrol,
|
|||
struct snd_ctl_elem_value *ucontrol)
|
||||
{
|
||||
switch (ucontrol->value.integer.value[0]) {
|
||||
case 2:
|
||||
hdmi_rx_bit_format = SNDRV_PCM_FORMAT_S24_3LE;
|
||||
break;
|
||||
case 1:
|
||||
hdmi_rx_bit_format = SNDRV_PCM_FORMAT_S24_LE;
|
||||
break;
|
||||
|
@ -1499,18 +1537,21 @@ static const struct soc_enum msm_snd_enum[] = {
|
|||
SOC_ENUM_SINGLE_EXT(2, slim0_rx_ch_text),
|
||||
SOC_ENUM_SINGLE_EXT(8, slim0_tx_ch_text),
|
||||
SOC_ENUM_SINGLE_EXT(7, hdmi_rx_ch_text),
|
||||
SOC_ENUM_SINGLE_EXT(2, rx_bit_format_text),
|
||||
SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(rx_bit_format_text),
|
||||
rx_bit_format_text),
|
||||
SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(slim0_rx_sample_rate_text),
|
||||
slim0_rx_sample_rate_text),
|
||||
SOC_ENUM_SINGLE_EXT(8, proxy_rx_ch_text),
|
||||
SOC_ENUM_SINGLE_EXT(3, hdmi_rx_sample_rate_text),
|
||||
SOC_ENUM_SINGLE_EXT(4, slim5_rx_sample_rate_text),
|
||||
SOC_ENUM_SINGLE_EXT(2, slim5_rx_bit_format_text),
|
||||
SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(slim5_rx_bit_format_text),
|
||||
slim5_rx_bit_format_text),
|
||||
SOC_ENUM_SINGLE_EXT(2, slim5_rx_ch_text),
|
||||
SOC_ENUM_SINGLE_EXT(2, hifi_function),
|
||||
SOC_ENUM_SINGLE_EXT(2, vi_feed_ch_text),
|
||||
SOC_ENUM_SINGLE_EXT(4, slim6_rx_sample_rate_text),
|
||||
SOC_ENUM_SINGLE_EXT(2, slim6_rx_bit_format_text),
|
||||
SOC_ENUM_SINGLE_EXT(ARRAY_SIZE(slim6_rx_bit_format_text),
|
||||
slim6_rx_bit_format_text),
|
||||
SOC_ENUM_SINGLE_EXT(2, slim6_rx_ch_text),
|
||||
};
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue