Skip to content

Commit 672ff1d

Browse files
committed
ipc: ipc4: dai: do not set the direction bit for UAOL
The link_config computed here is handed to the UAOL driver as the stream channel map and written to UAOLxPCMSyCM. On ACE 2.x and later that register only defines the lchan, hchan and strm fields, its two upper bits are reserved, and union hdalink_cfg keeps the direction in the topmost of them. Setting the direction therefore wrote a reserved bit for every capture stream, after which the link transferred no data at all and reported no error. Playback was unaffected because its direction is zero. The link does not need to be told the direction: transmit and receive streams have separate indices, so the stream already implies it. Fixes: ddd5c64 ("dai: uaol: add support for Intel UAOL") Signed-off-by: Peter Ujfalusi <peter.ujfalusi@linux.intel.com>
1 parent f3732b2 commit 672ff1d

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

‎src/ipc/ipc4/dai.c‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ void dai_set_link_hda_config(uint16_t *link_config,
6666
case SOF_DAI_INTEL_UAOL:
6767
link_cfg.full = 0;
6868
link_cfg.part.hchan = gtw_fmt->channels_count - 1;
69-
link_cfg.part.dir = common_config->direction;
69+
/* UAOLxPCMSyCM has no direction bit, the stream selects it */
7070
link_cfg.part.stream = common_config->host_dma_config[0]->stream_id;
7171
break;
7272
default:

0 commit comments

Comments
 (0)