Merge "msm: ASoC: enable aptX HD decoder"

This commit is contained in:
Linux Build Service Account 2018-12-13 13:03:57 -08:00 committed by Gerrit - the friendly Code Review server
commit 9ce8e741c7
4 changed files with 18 additions and 1 deletions

View file

@ -57,6 +57,7 @@
#define FORMAT_GEN_COMPR 0x001f #define FORMAT_GEN_COMPR 0x001f
#define FORMAT_TRUEHD 0x0020 #define FORMAT_TRUEHD 0x0020
#define FORMAT_IEC61937 0x0021 #define FORMAT_IEC61937 0x0021
#define FORMAT_APTXHD 0x0022
#define ENCDEC_SBCBITRATE 0x0001 #define ENCDEC_SBCBITRATE 0x0001
#define ENCDEC_IMMEDIATE_DECODE 0x0002 #define ENCDEC_IMMEDIATE_DECODE 0x0002

View file

@ -105,7 +105,8 @@
#define SND_AUDIOCODEC_DSD ((__u32) 0x00000021) #define SND_AUDIOCODEC_DSD ((__u32) 0x00000021)
#define SND_AUDIOCODEC_APTX ((__u32) 0x00000022) #define SND_AUDIOCODEC_APTX ((__u32) 0x00000022)
#define SND_AUDIOCODEC_TRUEHD ((__u32) 0x00000023) #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 * Profile and modes are listed with bit masks. This allows for a
* more compact representation of fields that will not evolve * more compact representation of fields that will not evolve

View file

@ -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[14] = SND_AUDIOCODEC_APTX;
prtd->compr_cap.codecs[15] = SND_AUDIOCODEC_TRUEHD; prtd->compr_cap.codecs[15] = SND_AUDIOCODEC_TRUEHD;
prtd->compr_cap.codecs[16] = SND_AUDIOCODEC_IEC61937; 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, 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", pr_err("%s: CMD IEC61937 Format block failed ret %d\n",
__func__, ret); __func__, ret);
break; break;
case FORMAT_APTXHD:
pr_debug("SND_AUDIOCODEC_APTXHD\n");
case FORMAT_APTX: case FORMAT_APTX:
pr_debug("SND_AUDIOCODEC_APTX\n"); pr_debug("SND_AUDIOCODEC_APTX\n");
memset(&aptx_cfg, 0x0, sizeof(struct aptx_dec_bt_addr_cfg)); 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; break;
} }
case SND_AUDIOCODEC_APTXHD: {
pr_debug("%s: SND_AUDIOCODEC_APTXHD\n", __func__);
prtd->codec = FORMAT_APTXHD;
break;
}
default: default:
pr_err("codec not supported, id =%d\n", params->codec.id); pr_err("codec not supported, id =%d\n", params->codec.id);
return -EINVAL; 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_TRUEHD:
case SND_AUDIOCODEC_IEC61937: case SND_AUDIOCODEC_IEC61937:
case SND_AUDIOCODEC_APTX: case SND_AUDIOCODEC_APTX:
case SND_AUDIOCODEC_APTXHD:
break; break;
default: default:
pr_err("%s: Unsupported audio codec %d\n", 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_TRUEHD:
case FORMAT_IEC61937: case FORMAT_IEC61937:
case FORMAT_APTX: case FORMAT_APTX:
case FORMAT_APTXHD:
pr_debug("%s: no runtime parameters for codec: %d\n", __func__, pr_debug("%s: no runtime parameters for codec: %d\n", __func__,
prtd->codec); prtd->codec);
break; break;
@ -3481,6 +3492,7 @@ static int msm_compr_dec_params_put(struct snd_kcontrol *kcontrol,
case FORMAT_TRUEHD: case FORMAT_TRUEHD:
case FORMAT_IEC61937: case FORMAT_IEC61937:
case FORMAT_APTX: case FORMAT_APTX:
case FORMAT_APTXHD:
pr_debug("%s: no runtime parameters for codec: %d\n", __func__, pr_debug("%s: no runtime parameters for codec: %d\n", __func__,
prtd->codec); prtd->codec);
break; break;

View file

@ -3245,6 +3245,9 @@ static int __q6asm_open_write(struct audio_client *ac, uint32_t format,
case FORMAT_APTX: case FORMAT_APTX:
open.dec_fmt_id = ASM_MEDIA_FMT_APTX; open.dec_fmt_id = ASM_MEDIA_FMT_APTX;
break; break;
case FORMAT_APTXHD:
open.dec_fmt_id = ASM_MEDIA_FMT_APTX_HD;
break;
case FORMAT_GEN_COMPR: case FORMAT_GEN_COMPR:
open.dec_fmt_id = ASM_MEDIA_FMT_GENERIC_COMPRESSED; open.dec_fmt_id = ASM_MEDIA_FMT_GENERIC_COMPRESSED;
break; break;