Skip to content

[BUG] host-zephyr.c: DMA copy size alignment may result in frames been split between LL cycles #9301

@serhiy-katsyuba-intel

Description

@serhiy-katsyuba-intel

host_get_copy_bytes_normal() in host-zephyr.c aligns down copy bytes to DMA specific value:

return ALIGN_DOWN(dma_copy_bytes, hd->dma_copy_align);

For some frame sizes, this can lead to a split first and/or last frame: one part of the frame is processed during one LL cycle, while the remaining portion is processed in the subsequent LL cycle. This could be a problem for components that assume the first sample in the buffer belongs to the first channel. Even if such components consume full frames, they could be bound on a fly as additional copier sinks or additional mixin sources or sinks, causing them to start processing from the wrong channel.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working as expectedstaleIssue/PR marked as stale and will be closed after 14 days if there is no activity.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions