* [iommu:apple/dart 3/3] 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 iom...
@ 2021-08-10 0:12 ` kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2021-08-10 0:12 UTC (permalink / raw)
To: Sven Peter; +Cc: iommu, Joerg Roedel, kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5116 bytes --]
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 <lkp@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-all@lists.01.org
[-- Attachment #2: .config.gz --]
[-- Type: application/gzip, Size: 69604 bytes --]
[-- Attachment #3: Type: text/plain, Size: 156 bytes --]
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 10+ messages in thread
* [iommu:apple/dart 3/3] 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 iom...
@ 2021-08-10 0:12 ` kernel test robot
0 siblings, 0 replies; 10+ messages in thread
From: kernel test robot @ 2021-08-10 0:12 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5198 bytes --]
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 <lkp@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-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 69604 bytes --]
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
2021-08-10 0:12 ` kernel test robot
@ 2021-08-10 6:09 ` Sven Peter
-1 siblings, 0 replies; 10+ messages in thread
From: Sven Peter via iommu @ 2021-08-10 6:09 UTC (permalink / raw)
To: Joerg Roedel; +Cc: iommu, kbuild-all, kernel test robot
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_gdjako@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 <lkp@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-all@lists.01.org
>
> Attachments:
> * .config.gz
--
Sven Peter
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
@ 2021-08-10 6:09 ` Sven Peter
0 siblings, 0 replies; 10+ messages in thread
From: Sven Peter @ 2021-08-10 6:09 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 5969 bytes --]
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_gdjako(a)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 <lkp@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-all(a)lists.01.org
>
> Attachments:
> * .config.gz
--
Sven Peter
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
2021-08-10 6:09 ` Sven Peter
@ 2021-08-12 11:29 ` Joerg Roedel
-1 siblings, 0 replies; 10+ messages in thread
From: Joerg Roedel @ 2021-08-12 11:29 UTC (permalink / raw)
To: Sven Peter; +Cc: iommu, kbuild-all, kernel test robot
Hi Sven,
On Tue, Aug 10, 2021 at 08:09:53AM +0200, Sven Peter wrote:
> 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.
Okay, thanks. I re-based the DART patches on-top of my core branch,
which contains the changes for iommu_[map/unmap] performance. I
generally don't like rebasing topic branches, but made an exception here
to not break bisectability.
Thanks,
Joerg
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
@ 2021-08-12 11:29 ` Joerg Roedel
0 siblings, 0 replies; 10+ messages in thread
From: Joerg Roedel @ 2021-08-12 11:29 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 579 bytes --]
Hi Sven,
On Tue, Aug 10, 2021 at 08:09:53AM +0200, Sven Peter wrote:
> 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.
Okay, thanks. I re-based the DART patches on-top of my core branch,
which contains the changes for iommu_[map/unmap] performance. I
generally don't like rebasing topic branches, but made an exception here
to not break bisectability.
Thanks,
Joerg
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
2021-08-12 11:29 ` Joerg Roedel
@ 2021-08-16 6:48 ` Sven Peter
-1 siblings, 0 replies; 10+ messages in thread
From: Sven Peter via iommu @ 2021-08-16 6:48 UTC (permalink / raw)
To: Joerg Roedel, Robin Murphy; +Cc: iommu, kbuild-all, kernel test robot
On Thu, Aug 12, 2021, at 13:29, Joerg Roedel wrote:
> Hi Sven,
>
> On Tue, Aug 10, 2021 at 08:09:53AM +0200, Sven Peter wrote:
> > 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.
>
> Okay, thanks. I re-based the DART patches on-top of my core branch,
> which contains the changes for iommu_[map/unmap] performance. I
> generally don't like rebasing topic branches, but made an exception here
> to not break bisectability.
>
> Thanks,
>
> Joerg
>
Hi Joerg,
Thanks, and sorry about that! I'll try to make it more clear if anything depends
on another series in the future or just try to avoid it altogether if possible.
Just a heads up about a similar situation you may already be aware of: Once Robin's
DMA domain strictness refactoring [1] is merged, the current DART driver will fail due
to patch 12 there, which unexports iommu_get_dma_cookie. It'll need a small
adjustment just like all the other drivers (which will also fix two small bugs
it just made me notice: I never use iommu_put_dma_cookie and also unconditionally
grab a DMA cookie for all domain types).
Unless I'm mistaken I can't make that adjustment before the first patch of
that series has been merged, and Robin can't make that adjustment in his series
because it'll presumably go through another topic branch.
Best,
Sven
[1] https://lore.kernel.org/linux-iommu/cover.1628682048.git.robin.murphy@arm.com/
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
@ 2021-08-16 6:48 ` Sven Peter
0 siblings, 0 replies; 10+ messages in thread
From: Sven Peter @ 2021-08-16 6:48 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 1640 bytes --]
On Thu, Aug 12, 2021, at 13:29, Joerg Roedel wrote:
> Hi Sven,
>
> On Tue, Aug 10, 2021 at 08:09:53AM +0200, Sven Peter wrote:
> > 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.
>
> Okay, thanks. I re-based the DART patches on-top of my core branch,
> which contains the changes for iommu_[map/unmap] performance. I
> generally don't like rebasing topic branches, but made an exception here
> to not break bisectability.
>
> Thanks,
>
> Joerg
>
Hi Joerg,
Thanks, and sorry about that! I'll try to make it more clear if anything depends
on another series in the future or just try to avoid it altogether if possible.
Just a heads up about a similar situation you may already be aware of: Once Robin's
DMA domain strictness refactoring [1] is merged, the current DART driver will fail due
to patch 12 there, which unexports iommu_get_dma_cookie. It'll need a small
adjustment just like all the other drivers (which will also fix two small bugs
it just made me notice: I never use iommu_put_dma_cookie and also unconditionally
grab a DMA cookie for all domain types).
Unless I'm mistaken I can't make that adjustment before the first patch of
that series has been merged, and Robin can't make that adjustment in his series
because it'll presumably go through another topic branch.
Best,
Sven
[1] https://lore.kernel.org/linux-iommu/cover.1628682048.git.robin.murphy(a)arm.com/
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
2021-08-16 6:48 ` Sven Peter
@ 2021-08-16 16:23 ` Robin Murphy
-1 siblings, 0 replies; 10+ messages in thread
From: Robin Murphy @ 2021-08-16 16:23 UTC (permalink / raw)
To: Sven Peter, Joerg Roedel; +Cc: iommu, kbuild-all, kernel test robot
On 2021-08-16 07:48, Sven Peter wrote:
>
>
> On Thu, Aug 12, 2021, at 13:29, Joerg Roedel wrote:
>> Hi Sven,
>>
>> On Tue, Aug 10, 2021 at 08:09:53AM +0200, Sven Peter wrote:
>>> 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.
>>
>> Okay, thanks. I re-based the DART patches on-top of my core branch,
>> which contains the changes for iommu_[map/unmap] performance. I
>> generally don't like rebasing topic branches, but made an exception here
>> to not break bisectability.
>>
>> Thanks,
>>
>> Joerg
>>
>
> Hi Joerg,
>
> Thanks, and sorry about that! I'll try to make it more clear if anything depends
> on another series in the future or just try to avoid it altogether if possible.
>
>
> Just a heads up about a similar situation you may already be aware of: Once Robin's
> DMA domain strictness refactoring [1] is merged, the current DART driver will fail due
> to patch 12 there, which unexports iommu_get_dma_cookie. It'll need a small
> adjustment just like all the other drivers (which will also fix two small bugs
> it just made me notice: I never use iommu_put_dma_cookie and also unconditionally
> grab a DMA cookie for all domain types).
>
> Unless I'm mistaken I can't make that adjustment before the first patch of
> that series has been merged, and Robin can't make that adjustment in his series
> because it'll presumably go through another topic branch.
Hmm, the exports only affect modules though - the cookie functions are
still public so that the core code can call them - so it should only
break certain configs. Possibly the most self-contained way to avoid
issues in -next would be to switch APPLE_DART from tristate to bool for
now, then flip it back along with cleaning up the iommu-dma remnants at
rc1. That should avoid any more rebasing at least.
At worst, my patch #12 could in principle be held back and applied at
rc1 alongside the DART fixup - functionally it shouldn't be an issue,
but patch #16 would need fixing up to apply without the context change.
Robin.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [iommu:apple/dart 3/3] 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 iom...
@ 2021-08-16 16:23 ` Robin Murphy
0 siblings, 0 replies; 10+ messages in thread
From: Robin Murphy @ 2021-08-16 16:23 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 2261 bytes --]
On 2021-08-16 07:48, Sven Peter wrote:
>
>
> On Thu, Aug 12, 2021, at 13:29, Joerg Roedel wrote:
>> Hi Sven,
>>
>> On Tue, Aug 10, 2021 at 08:09:53AM +0200, Sven Peter wrote:
>>> 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.
>>
>> Okay, thanks. I re-based the DART patches on-top of my core branch,
>> which contains the changes for iommu_[map/unmap] performance. I
>> generally don't like rebasing topic branches, but made an exception here
>> to not break bisectability.
>>
>> Thanks,
>>
>> Joerg
>>
>
> Hi Joerg,
>
> Thanks, and sorry about that! I'll try to make it more clear if anything depends
> on another series in the future or just try to avoid it altogether if possible.
>
>
> Just a heads up about a similar situation you may already be aware of: Once Robin's
> DMA domain strictness refactoring [1] is merged, the current DART driver will fail due
> to patch 12 there, which unexports iommu_get_dma_cookie. It'll need a small
> adjustment just like all the other drivers (which will also fix two small bugs
> it just made me notice: I never use iommu_put_dma_cookie and also unconditionally
> grab a DMA cookie for all domain types).
>
> Unless I'm mistaken I can't make that adjustment before the first patch of
> that series has been merged, and Robin can't make that adjustment in his series
> because it'll presumably go through another topic branch.
Hmm, the exports only affect modules though - the cookie functions are
still public so that the core code can call them - so it should only
break certain configs. Possibly the most self-contained way to avoid
issues in -next would be to switch APPLE_DART from tristate to bool for
now, then flip it back along with cleaning up the iommu-dma remnants at
rc1. That should avoid any more rebasing at least.
At worst, my patch #12 could in principle be held back and applied at
rc1 alongside the DART fixup - functionally it shouldn't be an issue,
but patch #16 would need fixing up to apply without the context change.
Robin.
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-08-16 16:23 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-08-10 0:12 [iommu:apple/dart 3/3] 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 iom kernel test robot
2021-08-10 0:12 ` kernel test robot
2021-08-10 6:09 ` Sven Peter via iommu
2021-08-10 6:09 ` Sven Peter
2021-08-12 11:29 ` Joerg Roedel
2021-08-12 11:29 ` Joerg Roedel
2021-08-16 6:48 ` Sven Peter via iommu
2021-08-16 6:48 ` Sven Peter
2021-08-16 16:23 ` Robin Murphy
2021-08-16 16:23 ` Robin Murphy
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.