Hi Joerg, This happens because apple/dart is missing the "Optimizing iommu_[map/unmap] performance" series which is already in the core branch [1]. The same commit works fine in iommu/next since that branch merges both iommu/core and apple/dart.
Thanks, Sven [1] https://lore.kernel.org/lkml/1623850736-389584-1-git-send-email-quic_c_gdj...@quicinc.com/ On Tue, Aug 10, 2021, at 02:12, kernel test robot wrote: > tree: https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git > apple/dart > head: 05ce9d20d699b093dec985192a7db63b48f26ca2 > commit: 05ce9d20d699b093dec985192a7db63b48f26ca2 [3/3] iommu/dart: Add > DART iommu driver > config: sparc-allyesconfig (attached as .config) > compiler: sparc64-linux-gcc (GCC) 10.3.0 > reproduce (this is a W=1 build): > wget > https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O > ~/bin/make.cross > chmod +x ~/bin/make.cross > # > https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git/commit/?id=05ce9d20d699b093dec985192a7db63b48f26ca2 > git remote add iommu > https://git.kernel.org/pub/scm/linux/kernel/git/joro/iommu.git > git fetch --no-tags iommu apple/dart > git checkout 05ce9d20d699b093dec985192a7db63b48f26ca2 > # save the attached .config to linux build tree > COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-10.3.0 make.cross > ARCH=sparc > > If you fix the issue, kindly add following tag as appropriate > Reported-by: kernel test robot <l...@intel.com> > > All errors (new ones prefixed by >>): > > drivers/iommu/apple-dart.c: In function 'apple_dart_map_pages': > drivers/iommu/apple-dart.c:380:12: error: 'struct io_pgtable_ops' > has no member named 'map_pages' > 380 | return ops->map_pages(ops, iova, paddr, pgsize, pgcount, > prot, gfp, > | ^~ > drivers/iommu/apple-dart.c: In function 'apple_dart_unmap_pages': > drivers/iommu/apple-dart.c:392:12: error: 'struct io_pgtable_ops' > has no member named 'unmap_pages' > 392 | return ops->unmap_pages(ops, iova, pgsize, pgcount, gather); > | ^~ > drivers/iommu/apple-dart.c: At top level: > drivers/iommu/apple-dart.c:729:3: error: 'const struct iommu_ops' > has no member named 'map_pages' > 729 | .map_pages = apple_dart_map_pages, > | ^~~~~~~~~ > drivers/iommu/apple-dart.c:729:15: error: initialization of 'int > (*)(struct iommu_domain *, long unsigned int, phys_addr_t, size_t, > int, gfp_t)' {aka 'int (*)(struct iommu_domain *, long unsigned int, > long long unsigned int, long unsigned int, int, unsigned int)'} from > incompatible pointer type 'int (*)(struct iommu_domain *, long unsigned > int, phys_addr_t, size_t, size_t, int, gfp_t, size_t *)' {aka > 'int (*)(struct iommu_domain *, long unsigned int, long long unsigned > int, long unsigned int, long unsigned int, int, unsigned int, long > unsigned int *)'} [-Werror=incompatible-pointer-types] > 729 | .map_pages = apple_dart_map_pages, > | ^~~~~~~~~~~~~~~~~~~~ > drivers/iommu/apple-dart.c:729:15: note: (near initialization for > 'apple_dart_iommu_ops.map') > drivers/iommu/apple-dart.c:730:3: error: 'const struct iommu_ops' > has no member named 'unmap_pages' > 730 | .unmap_pages = apple_dart_unmap_pages, > | ^~~~~~~~~~~ > >> drivers/iommu/apple-dart.c:730:17: error: initialization of 'size_t > (*)(struct iommu_domain *, long unsigned int, size_t, struct > iommu_iotlb_gather *)' {aka 'long unsigned int (*)(struct iommu_domain > *, long unsigned int, long unsigned int, struct iommu_iotlb_gather > *)'} from incompatible pointer type 'size_t (*)(struct iommu_domain *, > long unsigned int, size_t, size_t, struct iommu_iotlb_gather *)' > {aka 'long unsigned int (*)(struct iommu_domain *, long unsigned int, > long unsigned int, long unsigned int, struct iommu_iotlb_gather *)'} > [-Werror=incompatible-pointer-types] > 730 | .unmap_pages = apple_dart_unmap_pages, > | ^~~~~~~~~~~~~~~~~~~~~~ > drivers/iommu/apple-dart.c:730:17: note: (near initialization for > 'apple_dart_iommu_ops.unmap') > drivers/iommu/apple-dart.c: In function 'apple_dart_unmap_pages': > drivers/iommu/apple-dart.c:393:1: error: control reaches end of > non-void function [-Werror=return-type] > 393 | } > | ^ > drivers/iommu/apple-dart.c: In function 'apple_dart_map_pages': > drivers/iommu/apple-dart.c:382:1: error: control reaches end of > non-void function [-Werror=return-type] > 382 | } > | ^ > cc1: some warnings being treated as errors > > > vim +730 drivers/iommu/apple-dart.c > > 723 > 724 static const struct iommu_ops apple_dart_iommu_ops = { > 725 .domain_alloc = apple_dart_domain_alloc, > 726 .domain_free = apple_dart_domain_free, > 727 .attach_dev = apple_dart_attach_dev, > 728 .detach_dev = apple_dart_detach_dev, > > 729 .map_pages = apple_dart_map_pages, > > 730 .unmap_pages = apple_dart_unmap_pages, > 731 .flush_iotlb_all = apple_dart_flush_iotlb_all, > 732 .iotlb_sync = apple_dart_iotlb_sync, > 733 .iotlb_sync_map = apple_dart_iotlb_sync_map, > 734 .iova_to_phys = apple_dart_iova_to_phys, > 735 .probe_device = apple_dart_probe_device, > 736 .release_device = apple_dart_release_device, > 737 .device_group = apple_dart_device_group, > 738 .of_xlate = apple_dart_of_xlate, > 739 .def_domain_type = apple_dart_def_domain_type, > 740 .pgsize_bitmap = -1UL, /* Restricted during dart probe > */ > 741 }; > 742 > > --- > 0-DAY CI Kernel Test Service, Intel Corporation > https://lists.01.org/hyperkitty/list/kbuild-...@lists.01.org > > Attachments: > * .config.gz -- Sven Peter _______________________________________________ iommu mailing list iommu@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/iommu