* [android-common:android15-6.6 7/8] drivers/iommu/io-pgtable-arm-common.c:471:8: warning: no previous prototype for function '__arm_lpae_unmap_pages'
@ 2024-03-05 4:29 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-03-05 4:29 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common android15-6.6
head: a7294be0eb7058de592c1713af10741e17c4158f
commit: 528a0fb681c600db04e9700fac40c21cc208773e [7/8] ANDROID: iommu/io-pgtable: Add unmap_pages_walk() operation
config: arm-defconfig (https://download.01.org/0day-ci/archive/20240305/202403051233.XSuNt0MO-lkp@intel.com/config)
compiler: clang version 14.0.6 (https://github.com/llvm/llvm-project.git f28c006a5895fc0e329fe15fead81e37457cb1d1)
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240305/202403051233.XSuNt0MO-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/202403051233.XSuNt0MO-lkp@intel.com/
All warnings (new ones prefixed by >>):
drivers/iommu/io-pgtable-arm-common.c:143:5: warning: no previous prototype for function '__arm_lpae_map' [-Wmissing-prototypes]
int __arm_lpae_map(struct arm_lpae_io_pgtable *data, unsigned long iova,
^
drivers/iommu/io-pgtable-arm-common.c:143:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int __arm_lpae_map(struct arm_lpae_io_pgtable *data, unsigned long iova,
^
static
drivers/iommu/io-pgtable-arm-common.c:264:5: warning: no previous prototype for function 'arm_lpae_map_pages' [-Wmissing-prototypes]
int arm_lpae_map_pages(struct io_pgtable_ops *ops, unsigned long iova,
^
drivers/iommu/io-pgtable-arm-common.c:264:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
int arm_lpae_map_pages(struct io_pgtable_ops *ops, unsigned long iova,
^
static
>> drivers/iommu/io-pgtable-arm-common.c:471:8: warning: no previous prototype for function '__arm_lpae_unmap_pages' [-Wmissing-prototypes]
size_t __arm_lpae_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova,
^
drivers/iommu/io-pgtable-arm-common.c:471:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t __arm_lpae_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova,
^
static
drivers/iommu/io-pgtable-arm-common.c:493:13: warning: no previous prototype for function 'arm_lpae_iova_to_phys' [-Wmissing-prototypes]
phys_addr_t arm_lpae_iova_to_phys(struct io_pgtable_ops *ops,
^
drivers/iommu/io-pgtable-arm-common.c:493:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
phys_addr_t arm_lpae_iova_to_phys(struct io_pgtable_ops *ops,
^
static
drivers/iommu/io-pgtable-arm-common.c:529:8: warning: no previous prototype for function 'arm_lpae_unmap_pages' [-Wmissing-prototypes]
size_t arm_lpae_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova,
^
drivers/iommu/io-pgtable-arm-common.c:529:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t arm_lpae_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova,
^
static
>> drivers/iommu/io-pgtable-arm-common.c:536:8: warning: no previous prototype for function 'arm_lpae_unmap_pages_walk' [-Wmissing-prototypes]
size_t arm_lpae_unmap_pages_walk(struct io_pgtable_ops *ops, unsigned long iova,
^
drivers/iommu/io-pgtable-arm-common.c:536:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
size_t arm_lpae_unmap_pages_walk(struct io_pgtable_ops *ops, unsigned long iova,
^
static
6 warnings generated.
vim +/__arm_lpae_unmap_pages +471 drivers/iommu/io-pgtable-arm-common.c
469
470
> 471 size_t __arm_lpae_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova,
472 size_t pgsize, size_t pgcount,
473 struct iommu_iotlb_gather *gather,
474 struct io_pgtable_walker *walker)
475 {
476 struct arm_lpae_io_pgtable *data = io_pgtable_ops_to_data(ops);
477 struct io_pgtable_cfg *cfg = &data->iop.cfg;
478 arm_lpae_iopte *ptep = data->pgd;
479 long iaext = (s64)iova >> cfg->ias;
480
481 if (WARN_ON(!pgsize || (pgsize & cfg->pgsize_bitmap) != pgsize || !pgcount))
482 return 0;
483
484 if (cfg->quirks & IO_PGTABLE_QUIRK_ARM_TTBR1)
485 iaext = ~iaext;
486 if (WARN_ON(iaext))
487 return 0;
488
489 return __arm_lpae_unmap(data, gather, iova, pgsize, pgcount,
490 data->start_level, ptep, walker);
491 }
492
493 phys_addr_t arm_lpae_iova_to_phys(struct io_pgtable_ops *ops,
494 unsigned long iova)
495 {
496 struct arm_lpae_io_pgtable *data = io_pgtable_ops_to_data(ops);
497 arm_lpae_iopte pte, *ptep = data->pgd;
498 int lvl = data->start_level;
499
500 do {
501 /* Valid IOPTE pointer? */
502 if (!ptep)
503 return 0;
504
505 /* Grab the IOPTE we're interested in */
506 ptep += ARM_LPAE_LVL_IDX(iova, lvl, data);
507 pte = READ_ONCE(*ptep);
508
509 /* Valid entry? */
510 if (!pte)
511 return 0;
512
513 /* Leaf entry? */
514 if (iopte_leaf(pte, lvl, data->iop.fmt))
515 goto found_translation;
516
517 /* Take it to the next level */
518 ptep = iopte_deref(pte, data);
519 } while (++lvl < ARM_LPAE_MAX_LEVELS);
520
521 /* Ran out of page tables to walk */
522 return 0;
523
524 found_translation:
525 iova &= (ARM_LPAE_BLOCK_SIZE(lvl, data) - 1);
526 return iopte_to_paddr(pte, data) | iova;
527 }
528
> 529 size_t arm_lpae_unmap_pages(struct io_pgtable_ops *ops, unsigned long iova,
530 size_t pgsize, size_t pgcount,
531 struct iommu_iotlb_gather *gather)
532 {
533 return __arm_lpae_unmap_pages(ops, iova, pgsize, pgcount, gather, NULL);
534 }
535
> 536 size_t arm_lpae_unmap_pages_walk(struct io_pgtable_ops *ops, unsigned long iova,
537 size_t pgsize, size_t pgcount,
538 struct iommu_iotlb_gather *gather,
539 struct io_pgtable_walker *walker)
540 {
541 return __arm_lpae_unmap_pages(ops, iova, pgsize, pgcount, gather, walker);
542 }
543
--
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:[~2024-03-05 4:30 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-05 4:29 [android-common:android15-6.6 7/8] drivers/iommu/io-pgtable-arm-common.c:471:8: warning: no previous prototype for function '__arm_lpae_unmap_pages' 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.