diff options
| author | saturneric <[email protected]> | 2025-10-17 20:02:46 +0000 |
|---|---|---|
| committer | saturneric <[email protected]> | 2025-10-17 20:02:46 +0000 |
| commit | 509cd9baffd436f63f8cda562970d8ed6008c1f8 (patch) | |
| tree | e5a537a588b65a056acd34a31f38a2b8b806d837 /drivers/iommu/bcm2712-iommu.h | |
| parent | chore(bcm2712-ds): clean up unused device configurations (diff) | |
| download | kernel-main.tar.gz kernel-main.zip | |
Diffstat (limited to 'drivers/iommu/bcm2712-iommu.h')
| -rw-r--r-- | drivers/iommu/bcm2712-iommu.h | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/drivers/iommu/bcm2712-iommu.h b/drivers/iommu/bcm2712-iommu.h index 31b811e426dd..0597b4f0da87 100644 --- a/drivers/iommu/bcm2712-iommu.h +++ b/drivers/iommu/bcm2712-iommu.h @@ -2,7 +2,7 @@ /* * IOMMU driver for BCM2712 * - * Copyright (c) 2023 Raspberry Pi Ltd. + * Copyright (c) 2023-2025 Raspberry Pi Ltd. */ #ifndef _BCM2712_IOMMU_H @@ -25,16 +25,18 @@ struct bcm2712_iommu { struct iommu_group *group; struct bcm2712_iommu_domain *domain; char const *name; - struct sg_table *sgt; /* allocated memory for page tables */ - u32 *tables; /* kernel mapping for page tables */ + u64 dma_iova_offset; /* Hack for IOMMU attached to PCIe RC, included below */ + u64 aperture_base; /* Base of IOVA region as passed to DMA peripherals */ + u64 aperture_end; /* End of IOVA region as passed to DMA peripherals */ + u32 **tables; /* For each Linux page of L2 tables, kernel virtual address */ + u32 *top_table; /* Top-level table holding IOMMU page-numbers of L2 tables */ + u32 *default_page; /* Page used to trap illegal reads and writes */ struct bcm2712_iommu_cache *cache; spinlock_t hw_lock; /* to protect HW registers */ void __iomem *reg_base; - u64 dma_iova_offset; /* Hack for IOMMU attached to PCIe RC */ u32 bigpage_mask; u32 superpage_mask; unsigned int nmapped_pages; - bool dirty; /* true when tables are oriented towards CPU */ }; struct bcm2712_iommu_domain { |
