You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
On SKL- platforms, we are using sof_ipc_host_buffer for host buffer definition:
/* stream ring info */
struct sof_ipc_host_buffer {
uint32_t phy_addr;
uint32_t pages;
uint32_t size;
uint32_t offset;
} attribute((packed));
Here, the offset is created aimed to make the DMA start copying from/to non-0 offset of the buffer.
Previously, we all set offset=0 in host side, but now we are running into non-0 offset requirement support for runtime suspend/resume cases where we may requirement the DMA resume copying from the previous offset(suspend point), so, we have requirement on FW capability to handle this non-0 offset now.
The basic thinking is that to add this handling into ipc_parse_page_descriptors(), for non-0 offset, we need to organize elem_array[] like this:
with the elem_array[] set correctly, we should be able to handle these non-0 offset cases, these are useful for e.g. DMA trace resume, stream playback/capture resume.
@keyonjie@lgirdwood SKL+ platforms don't use this buffer at all. The right starting data should be put at the beginning of BDL on the host side, so the Host DMA Gateway gets the right samples. Gateway starts from the beginning after every reset and pointer cannot be explicitly controlled by the DSP.
Can we close this?
Activity
lgirdwood commentedon Nov 6, 2018
@keyonjie just iterate through the pages until current page_start <= offset and page_end < offset ?
tlauda commentedon Jun 6, 2019
@keyonjie @lgirdwood SKL+ platforms don't use this buffer at all. The right starting data should be put at the beginning of BDL on the host side, so the Host DMA Gateway gets the right samples. Gateway starts from the beginning after every reset and pointer cannot be explicitly controlled by the DSP.
Can we close this?
jajanusz commentedon Jun 10, 2019
We don't plan implementing this. Feel free to reopen if topic comes back.