Skip to content

pipeline: dai: dw-dma: adjust flow to more scheduler flexible - #1125

Merged
lgirdwood merged 2 commits into
thesofproject:masterfrom
tlauda:topic/pipeline-timer-flow
Mar 18, 2019
Merged

lgirdwood merged 2 commits into
thesofproject:masterfrom
tlauda:topic/pipeline-timer-flow

Conversation

@tlauda

@tlauda tlauda commented Mar 14, 2019

Copy link
Copy Markdown
Contributor

Adjusts pipeline, dai and dw-dma flows to be more scheduler flexible
and not only valid for DMA IRQ based schedulers.

Adjusts pipeline flow to be more scheduler flexible
and not only valid for DMA IRQ based schedulers.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
Comment thread src/audio/dai.c

return ret;
/* let's not copy further */
return 1;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just wondering (for a future PR), do we want to define a macro for PIPELINE_COPY_FURTHER_STOP to make it obvious for anyone reading the 1 here.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I was thinking about that and it would also be helpful for things like prepare, so probably I will make a PR with something like PIPELINE_OPERATION_FURTHER_STOP.

Comment thread src/audio/pipeline.c
if (dir == PPL_DIR_DOWNSTREAM) {
err = comp_copy(current);
if (err < 0)
if (err < 0 || err > 0)

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

if (err > 0 ) then it's copy stop (which is not an error). So we probably want to change this to 0 ?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For other operations like params and prepare it's not modified back to 0, so I wanted to stay aligned. Anyway maybe some higher level function will need to know this status in the future and that it was stopped intentionally.

@tlauda

tlauda commented Mar 14, 2019

Copy link
Copy Markdown
Contributor Author

@lgirdwood @xiulipan Travis didn't start for this PR. Who can retrigger it?

@lgirdwood

Copy link
Copy Markdown
Member

@tlauda Travis may have been down for a while as this PR is not in it's queue (otherwise I can restart). PR's before and after are in the queue. A force push will fix it.

Adjusts dai and dw-dma configuration flows to be more
scheduler flexible and not only working for DMA IRQ
based schedulers. Note: due to the nature of timer
scheduling we need to have restriction for dw-dma
to support minimum 3 linked list items. Without
such restriction we may not be able to clear done
bits on time.

Signed-off-by: Tomasz Lauda <tomasz.lauda@linux.intel.com>
@tlauda
tlauda force-pushed the topic/pipeline-timer-flow branch from 2a38280 to 649f00e Compare March 15, 2019 11:33
@tlauda

tlauda commented Mar 18, 2019

Copy link
Copy Markdown
Contributor Author

@lgirdwood CI passed, ready to be merged.

@lgirdwood
lgirdwood merged commit 1816586 into thesofproject:master Mar 18, 2019
@tlauda
tlauda deleted the topic/pipeline-timer-flow branch November 22, 2019 11:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants