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

Commit 1c68cf5a authored by Meng Wang's avatar Meng Wang
Browse files

ASoC: msm: Add compressed TX and passthrough support



There is use case that the HDMI input goes through MI2S
TX interface to ADSP. Add compressed TX support for
this use case.
Add support for compressed bitstream passthrough over HDMI
for DD/DDP contents.
Use compressed driver to support passthrough.

Change-Id: I92d0f301d44cc71c89de07cd60a4d20ce6f7913e
Signed-off-by: default avatarSubhash Chandra Bose Naripeddy <snariped@codeaurora.org>
Signed-off-by: default avatarBanajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: default avatarSudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: default avatarMeng Wang <mengw@codeaurora.org>
parent e0aca1e9
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -126,6 +126,19 @@ struct snd_compr_codec_caps {
	struct snd_codec_desc descriptor[MAX_NUM_CODEC_DESCRIPTORS];
} __attribute__((packed, aligned(4)));

#ifdef CONFIG_AUDIO_QGKI
/**
 * struct snd_compr_audio_info: compressed input audio information
 * @frame_size: legth of the encoded frame with valid data
 * @reserved: reserved for furture use
 */
struct snd_compr_audio_info {
	__u32 frame_size;
	__u32 reserved[15];
} __attribute__((packed, aligned(4)));

#define SND_COMPR_AUDIO_INFO
#endif
/**
 * enum sndrv_compress_encoder
 * @SNDRV_COMPRESS_ENCODER_PADDING: no of samples appended by the encoder at the
+6 −1
Original line number Diff line number Diff line
@@ -391,6 +391,7 @@ struct snd_codec_desc {
 * @align: Block alignment in bytes of an audio sample.
 *		Only required for PCM or IEC formats.
 * @options: encoder-specific settings
 * @compr_passthr: compressed bitstream passthrough
 * @reserved: reserved for future use
 */

@@ -409,7 +410,8 @@ struct snd_codec {
	union snd_codec_options options;
#ifdef CONFIG_AUDIO_QGKI
	__u32 flags;
	__u32 reserved[2];
	__u32 compr_passthr;
	__u32 reserved[1];
#else
	__u32 reserved[3];
#endif
@@ -430,6 +432,9 @@ struct snd_codec_metadata {
	__u64 timestamp;
	__u32 reserved[4];
};

#define SND_CODEC_COMPRESS_PASSTHROUGH
#endif


#endif