-
Notifications
You must be signed in to change notification settings - Fork 105
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
Implement DMA based on embedded-dma traits #153
Merged
Changes from 1 commit
Commits
Show all changes
49 commits
Select commit
Hold shift + click to select a range
876249d
Add DMA and examples for DMA1/DMA2
richardeoin b111bee
Mark AXISRAM as NOLOAD (as well as SRAM3/4)
richardeoin 0cca09e
Add BDMA, work in progress
richardeoin e74deb2
Experiment with implementing TargetAddress on a HAL structure
richardeoin b178f3a
Experiment with DMA methods for I2C, add example with I2C4 and BDMA
richardeoin a1a719c
Tidy clippy warnings
richardeoin a8d58b5
Refactor I2C to expose infallible methods for parts of transcations
richardeoin 91de4ee
Tidy more clippy lints
richardeoin a86c5b6
Add DMBs before and after the stream read/writes normal memory
richardeoin 5ce5fc9
Refactor Stream trait into two parts, add config struct for BDMA
richardeoin 7d5d843
Remove unnecessary trait bound
richardeoin af88ee0
Implement TargetAddress directly on the PAC/HAL struct itself
richardeoin d226891
Fix a few typos in the sai module's comments.
antoinevg a1b9a27
Add enable_dma() method to SAI peripheral
antoinevg 5d2b2a8
Implement peripheral_target_address macro for SAI1-4
antoinevg e2db677
Add a second iteration of the SAI passthrough example which uses the …
antoinevg 7ddb8a6
Merge pull request #162 from antoinevg/sai_dma_passthru_example_v0.2
richardeoin 8d0605e
Updating DMA macro for SPI types
ryan-summers 0c37c70
Formatting
ryan-summers f14dd61
Merge pull request #164 from quartiq/rs/spi-dma-types
richardeoin 0575235
rustfmt
richardeoin 624c87e
Add BDMA2 support for RM0455 parts
richardeoin e694353
Merge remote-tracking branch 'st/master' into feature/dma-rtic-example
ryan-summers 6c738b8
Adding SPI DMA example using RTIC
ryan-summers d8cb6fa
Updating sample after testing
ryan-summers 62f7fb7
Cleaning up example
ryan-summers 002123c
Fixing clippy
ryan-summers 0bfeeca
Merge pull request #167 from quartiq/feature/dma-rtic-example
richardeoin d77e835
dma: streamline double buffer address handling
jordens 5585210
dma: StaticWriteBuffer
jordens 301e16b
dma: buf array
jordens 4425323
dma: streamline double buffer
jordens be1573f
dma: usize for addresses
jordens 2448dba
dma: rewrite next_transfer_with and next_transfer
jordens f31e7ff
dma: fence() and some cleanups/comments
jordens 0f22d94
dma: update bdma
jordens 131340e
dma: spell
jordens e70a787
Adding return of remaining transfers
ryan-summers 5f97920
dma: trait docs fixes
jordens 8483294
Updating docs, updating next_transfer_with
ryan-summers 25ee0f3
Merge pull request #173 from quartiq/feature/number-of-transfers
ryan-summers 2954e70
Panic if the transfer length exceeds the hardware capability
richardeoin 7b62474
Merge remote-tracking branch 'quartiq/feature/dma-buffer-swap-logic' …
richardeoin 3da22d4
Add example usage of `next_transfer_with` to the spi-dma example
richardeoin db8e3a1
[mdma] preparation for MDMA
richardeoin b40f13e
Implement DMA for constant source buffers
richardeoin 2809fef
Add allow for clippy type_complexity with 5th type parameter
richardeoin 1ac12e1
Merge pull request #178 from richardeoin/dma-const-buf1
richardeoin 2b8a04c
Merge pull request #183 from stm32-rs/master
richardeoin File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
dma: fence() and some cleanups/comments
- Loading branch information
commit f31e7ff761e88351630eadb698027cddcd2db7c1
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In circular transfers, we may not be actually using the transfer to get data, but rather to just manage state. In these cases, we don't actually need to keep the
Transfer
object around and may want to just let it drop out of scope silently. As-is, this automatically disables the circular transfer, which may not be desirable.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
An example is using a circular transfer to write a single word into the SPI TXFIFO to trigger a transaction. The transfer may be triggered by a timer overflow, which results in a periodic SPI read. The actual transfer and TX contents are don't care, but the transfer should continue on infinitely and there's no value of keeping the
Transfer
around since it is never modified.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I've proposed one way of addressing this in #178