Message ID | 20250410225030.2528385-2-shyamsaini@linux.microsoft.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | arm-smmu: select suitable IOVA | expand |
Hi Shyam,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.15-rc1 next-20250411]
[cannot apply to soc/for-next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Shyam-Saini/arm-smmu-move-MSI_IOVA-macro-definitions/20250411-070014
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20250410225030.2528385-2-shyamsaini%40linux.microsoft.com
patch subject: [PATCH v2 1/3] arm-smmu: move MSI_IOVA macro definitions
config: arc-randconfig-001-20250412 (https://download.01.org/0day-ci/archive/20250412/202504120700.1UwOUvMR-lkp@intel.com/config)
compiler: arc-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250412/202504120700.1UwOUvMR-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504120700.1UwOUvMR-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/iommu/arm/arm-smmu/arm-smmu.c: In function 'arm_smmu_get_resv_regions':
drivers/iommu/arm/arm-smmu/arm-smmu.c:1597:42: error: 'MSI_IOVA_BASE' undeclared (first use in this function); did you mean 'PCI_IO_BASE'?
1597 | region = iommu_alloc_resv_region(MSI_IOVA_BASE, MSI_IOVA_LENGTH,
| ^~~~~~~~~~~~~
| PCI_IO_BASE
drivers/iommu/arm/arm-smmu/arm-smmu.c:1597:42: note: each undeclared identifier is reported only once for each function it appears in
>> drivers/iommu/arm/arm-smmu/arm-smmu.c:1597:57: error: 'MSI_IOVA_LENGTH' undeclared (first use in this function)
1597 | region = iommu_alloc_resv_region(MSI_IOVA_BASE, MSI_IOVA_LENGTH,
| ^~~~~~~~~~~~~~~
vim +/MSI_IOVA_LENGTH +1597 drivers/iommu/arm/arm-smmu/arm-smmu.c
021bb8420d44cf5 drivers/iommu/arm-smmu.c Robin Murphy 2016-09-14 1590
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1591 static void arm_smmu_get_resv_regions(struct device *dev,
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1592 struct list_head *head)
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1593 {
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1594 struct iommu_resv_region *region;
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1595 int prot = IOMMU_WRITE | IOMMU_NOEXEC | IOMMU_MMIO;
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1596
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 @1597 region = iommu_alloc_resv_region(MSI_IOVA_BASE, MSI_IOVA_LENGTH,
0251d0107cfb0bb drivers/iommu/arm/arm-smmu/arm-smmu.c Lu Baolu 2022-10-19 1598 prot, IOMMU_RESV_SW_MSI, GFP_KERNEL);
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1599 if (!region)
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1600 return;
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1601
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1602 list_add_tail(®ion->list, head);
273df9635385b21 drivers/iommu/arm-smmu.c Robin Murphy 2017-03-16 1603
273df9635385b21 drivers/iommu/arm-smmu.c Robin Murphy 2017-03-16 1604 iommu_dma_get_resv_regions(dev, head);
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1605 }
f3ebee80b3131d4 drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1606
Hi Shyam,
kernel test robot noticed the following build errors:
[auto build test ERROR on robh/for-next]
[also build test ERROR on linus/master v6.15-rc1 next-20250411]
[cannot apply to soc/for-next joro-iommu/next]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/Shyam-Saini/arm-smmu-move-MSI_IOVA-macro-definitions/20250411-070014
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20250410225030.2528385-2-shyamsaini%40linux.microsoft.com
patch subject: [PATCH v2 1/3] arm-smmu: move MSI_IOVA macro definitions
config: arm-randconfig-001-20250412 (https://download.01.org/0day-ci/archive/20250412/202504121044.VSL6FbCC-lkp@intel.com/config)
compiler: clang version 21.0.0git (https://github.com/llvm/llvm-project f819f46284f2a79790038e1f6649172789734ae8)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250412/202504121044.VSL6FbCC-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202504121044.VSL6FbCC-lkp@intel.com/
All errors (new ones prefixed by >>):
drivers/iommu/arm/arm-smmu/arm-smmu.c:1597:35: error: use of undeclared identifier 'MSI_IOVA_BASE'
1597 | region = iommu_alloc_resv_region(MSI_IOVA_BASE, MSI_IOVA_LENGTH,
| ^
>> drivers/iommu/arm/arm-smmu/arm-smmu.c:1597:50: error: use of undeclared identifier 'MSI_IOVA_LENGTH'
1597 | region = iommu_alloc_resv_region(MSI_IOVA_BASE, MSI_IOVA_LENGTH,
| ^
2 errors generated.
vim +/MSI_IOVA_LENGTH +1597 drivers/iommu/arm/arm-smmu/arm-smmu.c
021bb8420d44cf drivers/iommu/arm-smmu.c Robin Murphy 2016-09-14 1590
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1591 static void arm_smmu_get_resv_regions(struct device *dev,
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1592 struct list_head *head)
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1593 {
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1594 struct iommu_resv_region *region;
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1595 int prot = IOMMU_WRITE | IOMMU_NOEXEC | IOMMU_MMIO;
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1596
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 @1597 region = iommu_alloc_resv_region(MSI_IOVA_BASE, MSI_IOVA_LENGTH,
0251d0107cfb0b drivers/iommu/arm/arm-smmu/arm-smmu.c Lu Baolu 2022-10-19 1598 prot, IOMMU_RESV_SW_MSI, GFP_KERNEL);
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1599 if (!region)
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1600 return;
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1601
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1602 list_add_tail(®ion->list, head);
273df9635385b2 drivers/iommu/arm-smmu.c Robin Murphy 2017-03-16 1603
273df9635385b2 drivers/iommu/arm-smmu.c Robin Murphy 2017-03-16 1604 iommu_dma_get_resv_regions(dev, head);
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1605 }
f3ebee80b3131d drivers/iommu/arm-smmu.c Eric Auger 2017-01-19 1606
diff --git a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h index bd9d7c85576a..d1713f6bbe6d 100644 --- a/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h +++ b/drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h @@ -502,9 +502,6 @@ static inline unsigned int arm_smmu_cdtab_l2_idx(unsigned int ssid) #define ARM_SMMU_POLL_TIMEOUT_US 1000000 /* 1s! */ #define ARM_SMMU_POLL_SPIN_COUNT 10 -#define MSI_IOVA_BASE 0x8000000 -#define MSI_IOVA_LENGTH 0x100000 - enum pri_resp { PRI_RESP_DENY = 0, PRI_RESP_FAIL = 1, diff --git a/drivers/iommu/arm/arm-smmu/arm-smmu.c b/drivers/iommu/arm/arm-smmu/arm-smmu.c index 8f439c265a23..a54dc4608c62 100644 --- a/drivers/iommu/arm/arm-smmu/arm-smmu.c +++ b/drivers/iommu/arm/arm-smmu/arm-smmu.c @@ -50,9 +50,6 @@ */ #define QCOM_DUMMY_VAL -1 -#define MSI_IOVA_BASE 0x8000000 -#define MSI_IOVA_LENGTH 0x100000 - static int force_stage; module_param(force_stage, int, S_IRUGO); MODULE_PARM_DESC(force_stage, diff --git a/drivers/iommu/virtio-iommu.c b/drivers/iommu/virtio-iommu.c index b85ce6310ddb..8c8783c8b31b 100644 --- a/drivers/iommu/virtio-iommu.c +++ b/drivers/iommu/virtio-iommu.c @@ -24,8 +24,6 @@ #include "dma-iommu.h" -#define MSI_IOVA_BASE 0x8000000 -#define MSI_IOVA_LENGTH 0x100000 #define VIOMMU_REQUEST_VQ 0 #define VIOMMU_EVENT_VQ 1 diff --git a/include/linux/iommu.h b/include/linux/iommu.h index cf8c16ba04a0..8d38d85f23f1 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -1530,6 +1530,9 @@ static inline void iommu_debugfs_setup(void) {} #endif #ifdef CONFIG_IOMMU_DMA +#define MSI_IOVA_BASE 0x8000000 +#define MSI_IOVA_LENGTH 0x100000 + int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base); #else /* CONFIG_IOMMU_DMA */ static inline int iommu_get_msi_cookie(struct iommu_domain *domain, dma_addr_t base)
MSI_IOVA* are common among different iommu/smu drivers, so move them to common iommu.h header file. Suggested-by: Jacob Pan <jacob.pan@linux.microsoft.com> Signed-off-by: Shyam Saini <shyamsaini@linux.microsoft.com> --- drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h | 3 --- drivers/iommu/arm/arm-smmu/arm-smmu.c | 3 --- drivers/iommu/virtio-iommu.c | 2 -- include/linux/iommu.h | 3 +++ 4 files changed, 3 insertions(+), 8 deletions(-)