drivers/iommu/bcm2712-iommu.c:151:24: error: implicit declaration of function 'FIELD_GET'
kernel test robot <[email protected]>
| Newsgroups | dev.linux.lists.oe-kbuild |
|---|---|
| Message-ID | <[email protected]> |
:::::: :::::: Manual check reason: "bisect to a FBC not belonging to original linux-review patches: branch: linux-review/Daniel-Drake/generic_pt-allow-missing-sw-bit-in-DMA_INCOHERENT-case/20260728-104924, commit: 0ee3a30c51b6df9d40444e59dde79947e9be7e09" :::::: BCC: [email protected] CC: [email protected] TO: Daniel Drake <[email protected]> CC: 0day robot <[email protected]> tree: https://github.com/intel-lab-lkp/linux/commits/Daniel-Drake/generic_pt-allow-missing-sw-bit-in-DMA_INCOHERENT-case/20260728-104924 head: dfd34af1fe7ce4108ac5744c4953720d46fad45e commit: 0ee3a30c51b6df9d40444e59dde79947e9be7e09 iommu: Add Broadcom BCM2712 IOMMU driver date: 7 days ago :::::: branch date: 7 days ago :::::: commit date: 7 days ago config: nios2-allmodconfig (https://download.01.org/0day-ci/archive/20260804/[email protected]/config) compiler: nios2-linux-gcc (GCC) 11.5.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20260804/[email protected]/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 <[email protected]> | Closes: https://lore.kernel.org/r/[email protected]/ All error/warnings (new ones prefixed by >>): drivers/iommu/bcm2712-iommu.c: In function 'bcm2712_iommu_init': >> drivers/iommu/bcm2712-iommu.c:151:24: error: implicit declaration of function 'FIELD_GET' [-Werror=implicit-function-declaration] 151 | u32 pa_width = FIELD_GET(MMMU_DEBUG_INFO_PA_WIDTH_MASK, u); | ^~~~~~~~~ In file included from drivers/iommu/bcm2712-iommu.c:42: drivers/iommu/bcm2712-iommu.c: In function 'bcm2712_iommu_domain_alloc': >> drivers/iommu/bcm2712-iommu.h:18:34: warning: conversion from 'long long unsigned int' to 'dma_addr_t' {aka 'unsigned int'} changes value from '42949672960' to '0' [-Woverflow] 18 | #define BCM2712_APERTURE_BASE (40ULL << 30) | ^ drivers/iommu/bcm2712-iommu.c:437:48: note: in expansion of macro 'BCM2712_APERTURE_BASE' 437 | domain->base.geometry.aperture_start = BCM2712_APERTURE_BASE; | ^~~~~~~~~~~~~~~~~~~~~ drivers/iommu/bcm2712-iommu.h:20:34: warning: conversion from 'long long unsigned int' to 'dma_addr_t' {aka 'unsigned int'} changes value from '47244640255' to '4294967295' [-Woverflow] 20 | #define BCM2712_APERTURE_END (BCM2712_APERTURE_BASE + BCM2712_APERTURE_SIZE) | ^ drivers/iommu/bcm2712-iommu.c:438:46: note: in expansion of macro 'BCM2712_APERTURE_END' 438 | domain->base.geometry.aperture_end = BCM2712_APERTURE_END - 1; | ^~~~~~~~~~~~~~~~~~~~ cc1: some warnings being treated as errors vim +/FIELD_GET +151 drivers/iommu/bcm2712-iommu.c 0ee3a30c51b6df Daniel Drake 2026-07-27 146 0ee3a30c51b6df Daniel Drake 2026-07-27 147 static void bcm2712_iommu_init(struct bcm2712_iommu *mmu) 0ee3a30c51b6df Daniel Drake 2026-07-27 148 { 0ee3a30c51b6df Daniel Drake 2026-07-27 149 unsigned int bigpage_width, superpage_width; 0ee3a30c51b6df Daniel Drake 2026-07-27 150 u32 u = MMU_RD(MMMU_DEBUG_INFO_OFFSET); 0ee3a30c51b6df Daniel Drake 2026-07-27 @151 u32 pa_width = FIELD_GET(MMMU_DEBUG_INFO_PA_WIDTH_MASK, u); 0ee3a30c51b6df Daniel Drake 2026-07-27 152 0ee3a30c51b6df Daniel Drake 2026-07-27 153 dev_dbg(mmu->dev, "DEBUG_INFO = 0x%08x\n", u); 0ee3a30c51b6df Daniel Drake 2026-07-27 154 WARN_ON(FIELD_GET(MMMU_DEBUG_INFO_VERSION_MASK, u) < 4 || 0ee3a30c51b6df Daniel Drake 2026-07-27 155 FIELD_GET(MMMU_DEBUG_INFO_VA_WIDTH_MASK, u) < 6 || 0ee3a30c51b6df Daniel Drake 2026-07-27 156 pa_width < 6 || !(u & MMMU_DEBUG_INFO_BYPASS)); 0ee3a30c51b6df Daniel Drake 2026-07-27 157 0ee3a30c51b6df Daniel Drake 2026-07-27 158 dma_set_mask_and_coherent(mmu->dev, DMA_BIT_MASK(pa_width + 30u)); 0ee3a30c51b6df Daniel Drake 2026-07-27 159 0ee3a30c51b6df Daniel Drake 2026-07-27 160 bigpage_width = FIELD_GET(MMMU_DEBUG_INFO_BIGPAGE_WIDTH_MASK, u); 0ee3a30c51b6df Daniel Drake 2026-07-27 161 if (bigpage_width) 0ee3a30c51b6df Daniel Drake 2026-07-27 162 mmu->bigpage_size = IOMMU_PAGE_SIZE << bigpage_width; 0ee3a30c51b6df Daniel Drake 2026-07-27 163 0ee3a30c51b6df Daniel Drake 2026-07-27 164 superpage_width = FIELD_GET(MMMU_DEBUG_INFO_SUPERPAGE_WIDTH_MASK, u); 0ee3a30c51b6df Daniel Drake 2026-07-27 165 if (superpage_width) 0ee3a30c51b6df Daniel Drake 2026-07-27 166 mmu->superpage_size = IOMMU_PAGE_SIZE << superpage_width; 0ee3a30c51b6df Daniel Drake 2026-07-27 167 0ee3a30c51b6df Daniel Drake 2026-07-27 168 /* Disable MMU and clear sticky flags; meanwhile flush the TLB */ 0ee3a30c51b6df Daniel Drake 2026-07-27 169 MMU_WR(MMMU_CTRL_OFFSET, MMMU_CTRL_CAP_EXCEEDED | MMMU_CTRL_PT_INVALID | 0ee3a30c51b6df Daniel Drake 2026-07-27 170 MMMU_CTRL_WRITE_VIOLATION | 0ee3a30c51b6df Daniel Drake 2026-07-27 171 MMMU_CTRL_STATS_CLEAR | 0ee3a30c51b6df Daniel Drake 2026-07-27 172 MMMU_CTRL_TLB_CLEAR); 0ee3a30c51b6df Daniel Drake 2026-07-27 173 0ee3a30c51b6df Daniel Drake 2026-07-27 174 /* Put MMU into 2-level mode */ 0ee3a30c51b6df Daniel Drake 2026-07-27 175 MMU_WR(MMMU_MISC_OFFSET, 0ee3a30c51b6df Daniel Drake 2026-07-27 176 MMU_RD(MMMU_MISC_OFFSET) & ~MMMU_MISC_SINGLE_TABLE); 0ee3a30c51b6df Daniel Drake 2026-07-27 177 } 0ee3a30c51b6df Daniel Drake 2026-07-27 178 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki