All of lore.kernel.org
 help / color / mirror / Atom feed
* [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.