Skip to content

Commit 6435e1b

Browse files
njhollinghurstpopcornmix
authored andcommitted
iommu: bcm2712-iommu: Allocate tables on demand; add OF properties
Allocate space for level-2 IOMMU translation tables on demand. This should save memory in most cases but means that map_pages() can now fail with -ENOMEM. Unused pages are retained for re-use. Move all dma_sync* calls into map and unmap functions rather than batching them up. This makes it easier to ensure they are safely balanced, now that the tables are held as separate pages. Add OF properties to override the default aperture size (2GB) and base address (40GB); this doesn't include any dma-iova-offset. Various tidy-ups. The internal representation of aperture limits *does* include dma_iova_offset, as that is more commonly useful. Clarify the distinction between Linux pages and IOMMU table pages. Fix wrong definition of MMMU_CTRL_PT_INVALID_EN flag. Signed-off-by: Nick Hollinghurst <[email protected]>
1 parent 77130ea commit 6435e1b

File tree

2 files changed

+262
-192
lines changed

2 files changed

+262
-192
lines changed

0 commit comments

Comments
 (0)