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

[Fix] Support MMIO read/write to non 8-byte aligned address #161

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

sophimao
Copy link

@sophimao sophimao commented Nov 1, 2024

Description

When calling fpgaWriteMMIO64 which an offset and size that spans multiple control registers, only the write to the first control register will pass through, and the write that goes into the next control register will get dropped. This change makes sure that if the input offset and size is not aligned to control register base address offset, the upper half of the first control register will be written by fpgaWriteMMIO32 so that the next write will start at control register base address offset.

Collateral (docs, reports, design examples, case IDs):

None

Tests added:

None

Tests run:

Tested with oneAPI SYCL design that reproduces the issue, the run passed with the fix.

Copy link
Member

@michael-adler michael-adler left a comment

Choose a reason for hiding this comment

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

Looks reasonable to me -- just reading it. Probably could be a bit simpler, but I think it's correct.

@sophimao sophimao marked this pull request as ready for review November 1, 2024 18:11
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