ASoC: msm: qdsp6v2: Propagate device HW delay to AFE.
- HW delay for each supported device is maintained in
ACDB. This needs to be propagated to AFE for timestamp
calculation in voice path. AFE provides device HW and
SW delays to CVD; based on which timestamps are calculated
for voice packets.
Cherrypick from: I959676c1ee4e0568e661e7666a61c98152344047
Change-Id: I8f9d3438aebb4a9e66100d062453f2ac066748c9
Signed-off-by: Pavan Chikkala <pavanc@codeaurora.org>
diff --git a/include/linux/msm_audio_acdb.h b/include/linux/msm_audio_acdb.h
index e7f06b5..d88d3e4 100644
--- a/include/linux/msm_audio_acdb.h
+++ b/include/linux/msm_audio_acdb.h
@@ -39,8 +39,10 @@
(AUDIO_MAX_COMMON_IOCTL_NUM+16), unsigned)
#define AUDIO_SET_AFE_RX_CAL _IOW(AUDIO_IOCTL_MAGIC, \
(AUDIO_MAX_COMMON_IOCTL_NUM+17), unsigned)
-
-
+#define AUDIO_SET_HW_DELAY_RX _IOW(AUDIO_IOCTL_MAGIC, \
+ (AUDIO_MAX_COMMON_IOCTL_NUM+18), struct hw_delay)
+#define AUDIO_SET_HW_DELAY_TX _IOW(AUDIO_IOCTL_MAGIC, \
+ (AUDIO_MAX_COMMON_IOCTL_NUM+19), struct hw_delay)
#define AUDIO_MAX_ACDB_IOCTL (AUDIO_MAX_COMMON_IOCTL_NUM+30)
/* ACDB structures */
@@ -54,6 +56,10 @@
uint16_t gain;
};
+struct hw_delay {
+ uint32_t num_entries;
+ void *delay_info;
+};
/* For Real-Time Audio Calibration */
#define AUDIO_GET_RTAC_ADM_INFO _IOR(AUDIO_IOCTL_MAGIC, \
(AUDIO_MAX_ACDB_IOCTL+1), unsigned)