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: Subhash Chandra Bose Naripeddy <snariped@codeaurora.org>
Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org>
Signed-off-by: Sudheer Papothi <spapothi@codeaurora.org>
Signed-off-by: Meng Wang <mengw@codeaurora.org>
This commit is contained in:
Meng Wang 2019-11-13 17:25:49 +08:00
commit 1c68cf5a15
2 changed files with 19 additions and 1 deletions

View file

@ -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

View file

@ -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