Merge "msm: ASoC: enable aptX HD decoder"
This commit is contained in:
commit
9ce8e741c7
4 changed files with 18 additions and 1 deletions
|
@ -57,6 +57,7 @@
|
|||
#define FORMAT_GEN_COMPR 0x001f
|
||||
#define FORMAT_TRUEHD 0x0020
|
||||
#define FORMAT_IEC61937 0x0021
|
||||
#define FORMAT_APTXHD 0x0022
|
||||
|
||||
#define ENCDEC_SBCBITRATE 0x0001
|
||||
#define ENCDEC_IMMEDIATE_DECODE 0x0002
|
||||
|
|
|
@ -105,7 +105,8 @@
|
|||
#define SND_AUDIOCODEC_DSD ((__u32) 0x00000021)
|
||||
#define SND_AUDIOCODEC_APTX ((__u32) 0x00000022)
|
||||
#define SND_AUDIOCODEC_TRUEHD ((__u32) 0x00000023)
|
||||
#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_TRUEHD
|
||||
#define SND_AUDIOCODEC_APTXHD ((__u32) 0x00000024)
|
||||
#define SND_AUDIOCODEC_MAX SND_AUDIOCODEC_APTXHD
|
||||
/*
|
||||
* Profile and modes are listed with bit masks. This allows for a
|
||||
* more compact representation of fields that will not evolve
|
||||
|
|
|
@ -946,6 +946,7 @@ static void populate_codec_list(struct msm_compr_audio *prtd)
|
|||
prtd->compr_cap.codecs[14] = SND_AUDIOCODEC_APTX;
|
||||
prtd->compr_cap.codecs[15] = SND_AUDIOCODEC_TRUEHD;
|
||||
prtd->compr_cap.codecs[16] = SND_AUDIOCODEC_IEC61937;
|
||||
prtd->compr_cap.codecs[17] = SND_AUDIOCODEC_APTXHD;
|
||||
}
|
||||
|
||||
static int msm_compr_send_media_format_block(struct snd_compr_stream *cstream,
|
||||
|
@ -1213,6 +1214,8 @@ static int msm_compr_send_media_format_block(struct snd_compr_stream *cstream,
|
|||
pr_err("%s: CMD IEC61937 Format block failed ret %d\n",
|
||||
__func__, ret);
|
||||
break;
|
||||
case FORMAT_APTXHD:
|
||||
pr_debug("SND_AUDIOCODEC_APTXHD\n");
|
||||
case FORMAT_APTX:
|
||||
pr_debug("SND_AUDIOCODEC_APTX\n");
|
||||
memset(&aptx_cfg, 0x0, sizeof(struct aptx_dec_bt_addr_cfg));
|
||||
|
@ -2106,6 +2109,12 @@ static int msm_compr_set_params(struct snd_compr_stream *cstream,
|
|||
break;
|
||||
}
|
||||
|
||||
case SND_AUDIOCODEC_APTXHD: {
|
||||
pr_debug("%s: SND_AUDIOCODEC_APTXHD\n", __func__);
|
||||
prtd->codec = FORMAT_APTXHD;
|
||||
break;
|
||||
}
|
||||
|
||||
default:
|
||||
pr_err("codec not supported, id =%d\n", params->codec.id);
|
||||
return -EINVAL;
|
||||
|
@ -2974,6 +2983,7 @@ static int msm_compr_get_codec_caps(struct snd_compr_stream *cstream,
|
|||
case SND_AUDIOCODEC_TRUEHD:
|
||||
case SND_AUDIOCODEC_IEC61937:
|
||||
case SND_AUDIOCODEC_APTX:
|
||||
case SND_AUDIOCODEC_APTXHD:
|
||||
break;
|
||||
default:
|
||||
pr_err("%s: Unsupported audio codec %d\n",
|
||||
|
@ -3412,6 +3422,7 @@ static int msm_compr_send_dec_params(struct snd_compr_stream *cstream,
|
|||
case FORMAT_TRUEHD:
|
||||
case FORMAT_IEC61937:
|
||||
case FORMAT_APTX:
|
||||
case FORMAT_APTXHD:
|
||||
pr_debug("%s: no runtime parameters for codec: %d\n", __func__,
|
||||
prtd->codec);
|
||||
break;
|
||||
|
@ -3481,6 +3492,7 @@ static int msm_compr_dec_params_put(struct snd_kcontrol *kcontrol,
|
|||
case FORMAT_TRUEHD:
|
||||
case FORMAT_IEC61937:
|
||||
case FORMAT_APTX:
|
||||
case FORMAT_APTXHD:
|
||||
pr_debug("%s: no runtime parameters for codec: %d\n", __func__,
|
||||
prtd->codec);
|
||||
break;
|
||||
|
|
|
@ -3245,6 +3245,9 @@ static int __q6asm_open_write(struct audio_client *ac, uint32_t format,
|
|||
case FORMAT_APTX:
|
||||
open.dec_fmt_id = ASM_MEDIA_FMT_APTX;
|
||||
break;
|
||||
case FORMAT_APTXHD:
|
||||
open.dec_fmt_id = ASM_MEDIA_FMT_APTX_HD;
|
||||
break;
|
||||
case FORMAT_GEN_COMPR:
|
||||
open.dec_fmt_id = ASM_MEDIA_FMT_GENERIC_COMPRESSED;
|
||||
break;
|
||||
|
|
Loading…
Add table
Reference in a new issue