The presentation_posn used for dai rendered bytes readback to host side should be uint64_t type, according to the driver side definition.
Signed-off-by: Keyon Jie yang.jie@linux.intel.com --- src/audio/dai.c | 2 +- src/include/uapi/intel-ipc.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/audio/dai.c b/src/audio/dai.c index b015b2a..e827045 100644 --- a/src/audio/dai.c +++ b/src/audio/dai.c @@ -65,7 +65,7 @@ struct dai_data {
uint32_t dai_pos_blks; /* position in bytes (nearest block) */
- volatile uint32_t *dai_pos; + volatile uint64_t *dai_pos; /* host can read back this value without IPC */ };
/* this is called by DMA driver every time descriptor has completed */ diff --git a/src/include/uapi/intel-ipc.h b/src/include/uapi/intel-ipc.h index a4b6d28..a4589b3 100644 --- a/src/include/uapi/intel-ipc.h +++ b/src/include/uapi/intel-ipc.h @@ -612,7 +612,7 @@ struct sst_intel_ipc_stream_vol {
struct sst_intel_ipc_stream_data { uint32_t read_posn; - uint32_t presentation_posn; + uint64_t presentation_posn; struct sst_intel_ipc_stream_vol vol[IPC_INTEL_NO_CHANNELS]; } __attribute__((packed)); #endif