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

Coremmc performance workaround #352

Merged
merged 3 commits into from
Feb 13, 2025
Merged

Coremmc performance workaround #352

merged 3 commits into from
Feb 13, 2025

Conversation

jnippula
Copy link

Summary

For Flat build poll lines_busy loop only short time at once and sleep for one system tick between checks if still busy.
Bus width and Fiq0 clock fixed.

Impact

This workaround is needed because coremmc does not have Transfer Completed interrupt, but the BUSY state shall be read from status register by polling. Just running in busy loop would cause very high cpuload by thread using the write operation of coremmc.

@jnippula jnippula marked this pull request as draft February 12, 2025 06:41
mpfs_sendcmd() shall not wait for data lines ready before
sending commands to the card. This prevents mmcsd driver
to poll card busy status prior to next activity after
a write operation.
4bit bus width support and FIC0 clock is 125MHz
VR register fifo depth bitfields 5:4 instead of 3:2
@jnippula jnippula force-pushed the coremmc-perf-workaround branch 2 times, most recently from 5242c84 to 4924b03 Compare February 12, 2025 07:46
@jnippula jnippula marked this pull request as ready for review February 12, 2025 07:46
@jnippula jnippula requested a review from jlaitine February 12, 2025 07:53
@jnippula
Copy link
Author

FIC0 definition added into Kconfig

@jnippula
Copy link
Author

Also the 4bit capability is checked from VR register instead of reported the support blindly

@jnippula jnippula force-pushed the coremmc-perf-workaround branch from 4924b03 to f76ea76 Compare February 12, 2025 10:09
@jnippula jnippula merged commit cf255b1 into master Feb 13, 2025
10 checks passed
@jnippula jnippula deleted the coremmc-perf-workaround branch February 13, 2025 05:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants