Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[ported from cavs2.5-001-drop-stable] ssp-related changes #9835

Merged
merged 4 commits into from
Feb 17, 2025

Conversation

johnylin76
Copy link
Contributor

Update some ssp-related commits from cavs2.5-001-drop-stable to jsl-005-drop-stable.
(we didn't do cherry-picking from main directly because the code has been diverted by the age. cavs2.5-001-drop-stable is the nearest branch and has been verified as good.

kv2019i and others added 4 commits February 17, 2025 05:24
If DMA is active, do not read data directly from the SSP
RX fifo.

Signed-off-by: Kai Vehmanen <[email protected]>
(cherry picked from commit e94071f)
(cherry picked from commit 736af01)
If DMA transaction is ongoing when RX is enabled, this can lead
to stuck communication between DMA and SSP (DMA service request
not seen by the DMA).

To avoid this, flush the RX fifo before enabling SSP RX.

Link: thesofproject#7548
Suggested-by: Peter Ujfalusi <[email protected]>
Signed-off-by: Kai Vehmanen <[email protected]>
(cherry picked from commit 4a4d8d2)
(cherry picked from commit 2c3f370)
The receive FIFO needs to be drained in a different way depending when it
is done.
- before start
If the RX FIFO is in overflow state then we must read all the entries out
to empty it (it was after all full).

- before stop
The DMA might be already running to read out data. Check the FIFO level
change in one sample time which gives us the needed information to decide
to wait for another loop for the DMA burst to finish, wait for the DMA to
start it's burst (DMA request was asserted) or drain the FIFO directly.

No need to drain the RX fifo at probe time.

Signed-off-by: Peter Ujfalusi <[email protected]>
(cherry picked from commit 69d56a7)
(cherry picked from commit 6571598)
Dynamic pipeline breaks mclk always-on feature by freeing dai
component in HW_FREE stage; the ssp_remove() will be called and
disables mclk unconditionally.

Signed-off-by: Brent Lu <[email protected]>
(cherry picked from commit 6dc474c)
(cherry picked from commit d5e3c70)
Copy link
Member

@lgirdwood lgirdwood left a comment

Choose a reason for hiding this comment

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

@abonislawski fyi for merge

@lgirdwood
Copy link
Member

@abonislawski I assume you will merge for stable release branches ?

@abonislawski
Copy link
Member

@lgirdwood yes, of course

@abonislawski abonislawski merged commit 0560990 into thesofproject:jsl-005-drop-stable Feb 17, 2025
4 of 15 checks passed
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.

6 participants