* [android-common:android15-6.6 0/1] drivers/iommu/io-pgtable-arm-common.c:139:5: warning: no previous prototype for '__arm_lpae_map'
@ 2025-08-11 17:03 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2025-08-11 17:03 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common android15-6.6
head: 3b6fab0ff24f7108c71a4d9c12567455cb2a5a81
commit: cf616fc76f2555d91fc88a543badc8a051f749c9 [0/1] BACKPORT: FROMLIST: iommu/io-pgtable-arm: Split the page table driver
config: i386-buildonly-randconfig-2004-20250811 (https://download.01.org/0day-ci/archive/20250811/202508111939.iW8PecqM-lkp@intel.com/config)
compiler: gcc-12 (Debian 12.2.0-14+deb12u1) 12.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250811/202508111939.iW8PecqM-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/202508111939.iW8PecqM-lkp@intel.com/
All warnings (new ones prefixed by >>):
>> drivers/iommu/io-pgtable-arm-common.c:139:5: warning: no previous prototype for '__arm_lpae_map' [-Wmissing-prototypes]
139 | int __arm_lpae_map(struct arm_lpae_io_pgtable *data, unsigned long iova,
| ^~~~~~~~~~~~~~
vim +/__arm_lpae_map +139 drivers/iommu/io-pgtable-arm-common.c
138
> 139 int __arm_lpae_map(struct arm_lpae_io_pgtable *data, unsigned long iova,
140 phys_addr_t paddr, size_t size, size_t pgcount,
141 arm_lpae_iopte prot, int lvl, arm_lpae_iopte *ptep,
142 gfp_t gfp, size_t *mapped)
143 {
144 arm_lpae_iopte *cptep, pte;
145 size_t block_size = ARM_LPAE_BLOCK_SIZE(lvl, data);
146 size_t tblsz = ARM_LPAE_GRANULE(data);
147 struct io_pgtable_cfg *cfg = &data->iop.cfg;
148 int ret = 0, num_entries, max_entries, map_idx_start;
149
150 /* Find our entry at the current level */
151 map_idx_start = ARM_LPAE_LVL_IDX(iova, lvl, data);
152 ptep += map_idx_start;
153
154 /* If we can install a leaf entry at this level, then do so */
155 if (size == block_size) {
156 max_entries = ARM_LPAE_PTES_PER_TABLE(data) - map_idx_start;
157 num_entries = min_t(int, pgcount, max_entries);
158 ret = arm_lpae_init_pte(data, iova, paddr, prot, lvl, num_entries, ptep);
159 if (!ret)
160 *mapped += num_entries * size;
161
162 return ret;
163 }
164
165 /* We can't allocate tables at the final level */
166 if (WARN_ON(lvl >= ARM_LPAE_MAX_LEVELS - 1))
167 return -EINVAL;
168
169 /* Grab a pointer to the next level */
170 pte = READ_ONCE(*ptep);
171 if (!pte) {
172 cptep = __arm_lpae_alloc_pages(tblsz, gfp, cfg);
173 if (!cptep)
174 return -ENOMEM;
175
176 pte = arm_lpae_install_table(cptep, ptep, 0, data);
177 if (pte)
178 __arm_lpae_free_pages(cptep, tblsz, cfg);
179 } else if (!cfg->coherent_walk && !(pte & ARM_LPAE_PTE_SW_SYNC)) {
180 __arm_lpae_sync_pte(ptep, 1, cfg);
181 }
182
183 if (pte && !iopte_leaf(pte, lvl, data->iop.fmt)) {
184 cptep = iopte_deref(pte, data);
185 } else if (pte) {
186 /* We require an unmap first */
187 WARN_ON(!selftest_running);
188 return -EEXIST;
189 }
190
191 /* Rinse, repeat */
192 return __arm_lpae_map(data, iova, paddr, size, pgcount, prot, lvl + 1,
193 cptep, gfp, mapped);
194 }
195
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2025-08-11 17:04 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-08-11 17:03 [android-common:android15-6.6 0/1] drivers/iommu/io-pgtable-arm-common.c:139:5: warning: no previous prototype for '__arm_lpae_map' kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.