summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorSatish Babu Patakokila <sbpata@codeaurora.org>2016-08-03 20:47:59 +0530
committerSatish Babu Patakokila <sbpata@codeaurora.org>2016-12-01 22:58:18 +0530
commit160813b82fceacc66678fdaa8899f4e401fce9db (patch)
treea9fb7bfd0ca0b0f13169e225251a949104540138 /include
parent04947ea3d87d476354f8dad45a668e4137196efa (diff)
ASoc: msm: qdsp6v2: Add timestamp support for compress capture
Add timestamp support for compress driver. Modify ASM driver to read the buffer from predefined offset. CRs-fixed: 1072067 Change-Id: I1c46befc223285495b3c0650e6c3eaae81f58771 Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org>
Diffstat (limited to 'include')
-rw-r--r--include/sound/q6asm-v2.h6
-rw-r--r--include/uapi/sound/compress_params.h24
2 files changed, 29 insertions, 1 deletions
diff --git a/include/sound/q6asm-v2.h b/include/sound/q6asm-v2.h
index f08bd73edb59..746078936d5c 100644
--- a/include/sound/q6asm-v2.h
+++ b/include/sound/q6asm-v2.h
@@ -73,6 +73,11 @@
/* bit 4 represents META enable of encoded data buffer */
#define BUFFER_META_ENABLE 0x0010
+/* bit 5 represents timestamp */
+/* bit 5 - 0 -- ASM_DATA_EVENT_READ_DONE will have relative time-stamp*/
+/* bit 5 - 1 -- ASM_DATA_EVENT_READ_DONE will have absolute time-stamp*/
+#define ABSOLUTE_TIMESTAMP_ENABLE 0x0020
+
/* Enable Sample_Rate/Channel_Mode notification event from Decoder */
#define SR_CM_NOTIFY_ENABLE 0x0004
@@ -175,6 +180,7 @@ struct audio_aio_read_param {
phys_addr_t paddr;
uint32_t len;
uint32_t uid;
+ uint32_t flags;/*meta data flags*/
};
struct audio_port_data {
diff --git a/include/uapi/sound/compress_params.h b/include/uapi/sound/compress_params.h
index 47367c663011..ef96966b2bbe 100644
--- a/include/uapi/sound/compress_params.h
+++ b/include/uapi/sound/compress_params.h
@@ -70,6 +70,11 @@
#define Q6_DTS 0x00010D88
#define Q6_DTS_LBR 0x00010DBB
+/* Timestamp flsg */
+/* Bit-0 - 1 : Enable Timestamp mode */
+/* Bit-0 - 0 : Disable Timestamp mode */
+#define COMPRESSED_TIMESTAMP_FLAG 0x0001
+
/* Codecs are listed linearly to allow for extensibility */
#define SND_AUDIOCODEC_PCM ((__u32) 0x00000001)
#define SND_AUDIOCODEC_MP3 ((__u32) 0x00000002)
@@ -480,7 +485,24 @@ struct snd_codec {
__u32 align;
__u32 compr_passthr;
union snd_codec_options options;
- __u32 reserved[3];
+ __u32 flags;
+ __u32 reserved[2];
} __attribute__((packed, aligned(4)));
+
+/** struct snd_codec_metadata
+ * @length: Length of the encoded buffer.
+ * @offset: Offset from the buffer address to the first byte of the first
+ * encoded frame. All encoded frames are consecutive starting
+ * from this offset.
+ * @timestamp: Session time in microseconds of the first sample in the buffer.
+ * @reserved: Reserved for future use.
+ */
+struct snd_codec_metadata {
+ __u32 length;
+ __u32 offset;
+ __u64 timestamp;
+ __u32 reserved[4];
+};
+
#endif