Skip to content

Commit 1bfd7fc

Browse files
committed
ipc3: dai: override S24_4LE to S24_4LE_MSB for AMD SDW DAI
Override DAI frame format from S24_4LE to S24_4LE_MSB in ipc_dai_data_config() for AMD SDW/HS DAI types, as the hardware requires 24-bit data MSB-aligned in 32-bit word. Signed-off-by: Sneha Voona <sneha.voona@amd.com>
1 parent 1190321 commit 1bfd7fc

1 file changed

Lines changed: 7 additions & 0 deletions

File tree

src/ipc/ipc3/dai.c

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -202,6 +202,13 @@ int ipc_dai_data_config(struct dai_data *dd, struct comp_dev *dev)
202202
case SOF_DAI_AMD_SDW:
203203
#if defined(CONFIG_AMD) && !defined(CONFIG_SOC_ACP_6_0)
204204
{
205+
/* AMD SDW/HS HW needs 24-bit data MSB-aligned in 32-bit word */
206+
if (dev->ipc_config.frame_fmt == SOF_IPC_FRAME_S24_4LE)
207+
dev->ipc_config.frame_fmt = SOF_IPC_FRAME_S24_4LE_MSB;
208+
if (dd->dma_buffer)
209+
audio_stream_set_frm_fmt(&dd->dma_buffer->stream,
210+
dev->ipc_config.frame_fmt);
211+
205212
struct acp_dma_dev_data *dev_data = dd->dma->z_dev->data;
206213
struct sdw_pin_data *pin_data;
207214

0 commit comments

Comments
 (0)