aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/bcm2712-iommu.h
diff options
context:
space:
mode:
authorsaturneric <[email protected]>2025-10-17 20:02:46 +0000
committersaturneric <[email protected]>2025-10-17 20:02:46 +0000
commit509cd9baffd436f63f8cda562970d8ed6008c1f8 (patch)
treee5a537a588b65a056acd34a31f38a2b8b806d837 /drivers/iommu/bcm2712-iommu.h
parentchore(bcm2712-ds): clean up unused device configurations (diff)
downloadkernel-main.tar.gz
kernel-main.zip
chore(bcm2712-iommu): sync source code from rpi kernel repoHEADv6.17main
Diffstat (limited to 'drivers/iommu/bcm2712-iommu.h')
-rw-r--r--drivers/iommu/bcm2712-iommu.h12
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 {