Loading include/sound/q6asm-v2.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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 Loading include/uapi/sound/compress_params.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Loading sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c +12 −0 Original line number Original line Diff line number Diff line Loading @@ -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, Loading Loading @@ -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)); Loading Loading @@ -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; Loading Loading @@ -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", Loading Loading @@ -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; Loading Loading @@ -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; Loading sound/soc/msm/qdsp6v2/q6asm.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -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; Loading Loading
include/sound/q6asm-v2.h +1 −0 Original line number Original line Diff line number Diff line Loading @@ -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 Loading
include/uapi/sound/compress_params.h +2 −1 Original line number Original line Diff line number Diff line Loading @@ -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 Loading
sound/soc/msm/qdsp6v2/msm-compress-q6-v2.c +12 −0 Original line number Original line Diff line number Diff line Loading @@ -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, Loading Loading @@ -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)); Loading Loading @@ -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; Loading Loading @@ -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", Loading Loading @@ -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; Loading Loading @@ -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; Loading
sound/soc/msm/qdsp6v2/q6asm.c +3 −0 Original line number Original line Diff line number Diff line Loading @@ -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; Loading