Skip to content

Commit 1a03f5e

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 <nick.hollinghurst@raspberrypi.com>
1 parent e7eff69 commit 1a03f5e

File tree

2 files changed

+262
-192
lines changed

2 files changed

+262
-192
lines changed

0 commit comments

Comments
 (0)