-
Notifications
You must be signed in to change notification settings - Fork 6
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
bug fixes and updates to common/driver #123
Merged
Merged
Conversation
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
These changes replace the direct I/O access functions with the recommended memory-mapped I/O functions, improving portability and security within the kernel module.
Using GFP_DMA for DMA allocations in a kernel code that runs on a 32-bit system should not inherently cause an error just because of the flag's usage. The GFP_DMA flag is used to indicate that the allocated memory is DMA-able, and it's generally used for devices that require direct access to physical memory without going through the CPU's caching mechanisms. This flag is not specifically tied to 32-bit or 64-bit addressing; it's more about the requirements of the device and the DMA (Direct Memory Access) system.
…oc_coherent() offers simplified management, potentially better performance, reduced fragmentation, and safer memory access for your DMA operations
This change adapts the code to be compliant with the new kernel requirements by using ioremap_wc for write-combining mappings, which is recommended for device memory mappings that do not require caching. This adjustment ensures that the driver remains functional and efficient under the updated kernel API
Confirmed this worked using DMA loopback firmware on the following Linux kernels:
|
JJL772
approved these changes
Mar 1, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Description
GFP_DMA
for DMA allocations in a kernel code that runs on a 32-bit system should not inherently cause an error just because of the flag's usage. TheGFP_DMA
flag is used to indicate that the allocated memory is DMA-able, and it's generally used for devices that require direct access to physical memory without going through the CPU's caching mechanisms. This flag is not specifically tied to 32-bit or 64-bit addressing; it's more about the requirements of the device and the DMA (Direct Memory Access) system.