-
Notifications
You must be signed in to change notification settings - Fork 5.1k
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
Rpi 6.7.y iommu support #5833
Rpi 6.7.y iommu support #5833
Conversation
@njhollinghurst FYI |
I am surprised that the |
The commit text does include
so I'm assuming it is processing one page per call and hence can ignore |
I see: so that return value suffices to say "I only did one of the pages you asked for"? Anyway, I think the quick hack / fix-up might be as simple as inserting I suppose we should handle the (very unexpected) case where only some of the pages fit below |
Probably, I just haven't looked into the API closely enough to determine the detail of it. |
I expect the fix-up is fine as it is! I might try to optimize the count > 1 case at a later date in a separate PR. |
478e4f8
to
f82d357
Compare
This reverts commit 9ef6dbb.
Based on upstream commits 983efef ("iommu/exynos: Update to {map,unmap}_pages") fa4c450 ("iommu: Allow .iotlb_sync_map to fail and handle s390's -ENOMEM return") Signed-off-by: Dave Stevenson <[email protected]>
Rebased. I'll do a test, but @njhollinghurst has said it works for him. |
Checked this tree, and the dlist pointer words include an address up at 0xAxxxxxxxx, which is correct for the iommu virtual address. I think that makes me happy with this - dropping the Draft tag. |
LGTM (I'll have a go at my subsequent "optimization" later). |
Based the changes on the matching upstream commits, but not tested on hardware yet (it does build now).