Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9ce8e741 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "msm: ASoC: enable aptX HD decoder"

parents 27320b9e fe224670
Loading
Loading
Loading
Loading
+1 −0
Original line number Original line Diff line number Diff line
@@ -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
+2 −1
Original line number Original line Diff line number Diff line
@@ -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
+12 −0
Original line number Original line Diff line number Diff line
@@ -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;
+3 −0
Original line number Original line Diff line number Diff line
@@ -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;