All of lore.kernel.org
 help / color / mirror / Atom feed
From: zhangfei <zhangfei.gao@linaro.org>
To: kbuild test robot <lkp@intel.com>
Cc: kbuild-all@lists.01.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	Arnd Bergmann <arnd@arndb.de>,
	Herbert Xu <herbert@gondor.apana.org.au>,
	jonathan.cameron@huawei.com, grant.likely@arm.com,
	jean-philippe <jean-philippe@linaro.org>,
	Jerome Glisse <jglisse@redhat.com>,
	ilias.apalodimas@linaro.org, francois.ozog@linaro.org,
	kenneth-lee-2012@foxmail.com, Wangzhou <wangzhou1@hisilicon.com>,
	"haojian . zhuang" <haojian.zhuang@linaro.org>,
	guodong.xu@linaro.org, linux-accelerators@lists.ozlabs.org,
	linux-kernel@vger.kernel.org, linux-crypto@vger.kernel.org,
	iommu@lists.linux-foundation.org,
	Kenneth Lee <liguozhu@hisilicon.com>,
	Zaibo Xu <xuzaibo@huawei.com>
Subject: Re: [RESEND PATCH v9 2/4] uacce: add uacce driver
Date: Wed, 11 Dec 2019 13:50:23 +0800	[thread overview]
Message-ID: <9aa3ec9b-6ca3-c8cc-a381-5445d34d0ed5@linaro.org> (raw)
In-Reply-To: <201912110600.7K87vvu4%lkp@intel.com>



On 2019/12/11 上午8:09, kbuild test robot wrote:
> Hi Zhangfei,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on cryptodev/master]
> [also build test ERROR on crypto/master char-misc/char-misc-testing v5.5-rc1 next-20191210]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url:    https://github.com/0day-ci/linux/commits/Zhangfei-Gao/Add-uacce-module-for-Accelerator/20191210-160210
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gcc (GCC) 7.5.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # save the attached .config to linux build tree
>          GCC_VERSION=7.5.0 make.cross ARCH=sparc64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>     drivers/misc/uacce/uacce.c:112:15: error: variable 'uacce_sva_ops' has initializer but incomplete type
>      static struct iommu_sva_ops uacce_sva_ops = {
>                    ^~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:113:3: error: 'struct iommu_sva_ops' has no member named 'mm_exit'
>       .mm_exit = uacce_sva_exit,
>        ^~~~~~~
>     drivers/misc/uacce/uacce.c:113:13: warning: excess elements in struct initializer
>       .mm_exit = uacce_sva_exit,
>                  ^~~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:113:13: note: (near initialization for 'uacce_sva_ops')
>     drivers/misc/uacce/uacce.c: In function 'uacce_mm_get':
>     drivers/misc/uacce/uacce.c:144:12: error: implicit declaration of function 'iommu_sva_bind_device'; did you mean 'bus_find_device'? [-Werror=implicit-function-declaration]
>        handle = iommu_sva_bind_device(uacce->parent, mm, uacce_mm);
>                 ^~~~~~~~~~~~~~~~~~~~~
>                 bus_find_device
>     drivers/misc/uacce/uacce.c:144:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
>        handle = iommu_sva_bind_device(uacce->parent, mm, uacce_mm);
>               ^
>     drivers/misc/uacce/uacce.c:148:9: error: implicit declaration of function 'iommu_sva_set_ops'; did you mean 'iommu_setup_dma_ops'? [-Werror=implicit-function-declaration]
>        ret = iommu_sva_set_ops(handle, &uacce_sva_ops);
>              ^~~~~~~~~~~~~~~~~
>              iommu_setup_dma_ops
>     drivers/misc/uacce/uacce.c:152:21: error: implicit declaration of function 'iommu_sva_get_pasid' [-Werror=implicit-function-declaration]
>        uacce_mm->pasid = iommu_sva_get_pasid(handle);
>                          ^~~~~~~~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:153:26: error: 'IOMMU_PASID_INVALID' undeclared (first use in this function); did you mean 'HV_MSIVALID_INVALID'?
>        if (uacce_mm->pasid == IOMMU_PASID_INVALID)
>                               ^~~~~~~~~~~~~~~~~~~
>                               HV_MSIVALID_INVALID
>     drivers/misc/uacce/uacce.c:153:26: note: each undeclared identifier is reported only once for each function it appears in
>     drivers/misc/uacce/uacce.c:168:3: error: implicit declaration of function 'iommu_sva_unbind_device'; did you mean 'bus_find_device'? [-Werror=implicit-function-declaration]
>        iommu_sva_unbind_device(handle);
>        ^~~~~~~~~~~~~~~~~~~~~~~
>        bus_find_device
>     drivers/misc/uacce/uacce.c: At top level:
>>> drivers/misc/uacce/uacce.c:274:21: error: variable 'uacce_vm_ops' has initializer but incomplete type
>      static const struct vm_operations_struct uacce_vm_ops = {
>                          ^~~~~~~~~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:275:3: error: 'const struct vm_operations_struct' has no member named 'close'
>       .close = uacce_vma_close,
>        ^~~~~
>     drivers/misc/uacce/uacce.c:275:11: warning: excess elements in struct initializer
>       .close = uacce_vma_close,
>                ^~~~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:275:11: note: (near initialization for 'uacce_vm_ops')
>     drivers/misc/uacce/uacce.c: In function 'uacce_fops_mmap':
>>> drivers/misc/uacce/uacce.c:295:19: error: 'VM_DONTCOPY' undeclared (first use in this function)
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                        ^~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:295:33: error: 'VM_DONTEXPAND' undeclared (first use in this function); did you mean 'VM_DONTCOPY'?
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                                      ^~~~~~~~~~~~~
>                                      VM_DONTCOPY
>>> drivers/misc/uacce/uacce.c:295:49: error: 'VM_WIPEONFORK' undeclared (first use in this function)
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                                                      ^~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c: In function 'uacce_alloc':
>     drivers/misc/uacce/uacce.c:502:9: error: implicit declaration of function 'iommu_dev_enable_feature'; did you mean 'module_enable_ro'? [-Werror=implicit-function-declaration]
>        ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA);
>              ^~~~~~~~~~~~~~~~~~~~~~~~
>              module_enable_ro
>     drivers/misc/uacce/uacce.c:502:42: error: 'IOMMU_DEV_FEAT_SVA' undeclared (first use in this function); did you mean 'NOMMU_VMFLAGS'?
>        ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA);
>                                               ^~~~~~~~~~~~~~~~~~
>                                               NOMMU_VMFLAGS
>     drivers/misc/uacce/uacce.c:530:3: error: implicit declaration of function 'iommu_dev_disable_feature'; did you mean 'module_disable_ro'? [-Werror=implicit-function-declaration]
>        iommu_dev_disable_feature(uacce->parent, IOMMU_DEV_FEAT_SVA);
>        ^~~~~~~~~~~~~~~~~~~~~~~~~
>        module_disable_ro
>     drivers/misc/uacce/uacce.c: In function 'uacce_remove':
>     drivers/misc/uacce/uacce.c:592:44: error: 'IOMMU_DEV_FEAT_SVA' undeclared (first use in this function); did you mean 'NOMMU_VMFLAGS'?
>        iommu_dev_disable_feature(uacce->parent, IOMMU_DEV_FEAT_SVA);
>                                                 ^~~~~~~~~~~~~~~~~~
>                                                 NOMMU_VMFLAGS
>     drivers/misc/uacce/uacce.c: At top level:
>     drivers/misc/uacce/uacce.c:112:29: error: storage size of 'uacce_sva_ops' isn't known
>      static struct iommu_sva_ops uacce_sva_ops = {
>                                  ^~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:274:42: error: storage size of 'uacce_vm_ops' isn't known
>
The build issue can be solved by
-#include <linux/dma-iommu.h>
+#include <linux/dma-mapping.h>
+#include <linux/iommu.h>

Since CONFIG_IOMMU_DMA is not defined in the arch.
include/linux/dma-iommu.h
#ifdef CONFIG_IOMMU_DMA
#include <linux/dma-mapping.h>
#include <linux/iommu.h>

Will update later.

Thanks

WARNING: multiple messages have this Message-ID (diff)
From: zhangfei <zhangfei.gao@linaro.org>
To: kbuild test robot <lkp@intel.com>
Cc: jean-philippe <jean-philippe@linaro.org>,
	kbuild-all@lists.01.org, Herbert Xu <herbert@gondor.apana.org.au>,
	Arnd Bergmann <arnd@arndb.de>,
	francois.ozog@linaro.org,
	Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	ilias.apalodimas@linaro.org, iommu@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org, Jerome Glisse <jglisse@redhat.com>,
	grant.likely@arm.com,
	"haojian . zhuang" <haojian.zhuang@linaro.org>,
	linux-accelerators@lists.ozlabs.org,
	linux-crypto@vger.kernel.org,
	Kenneth Lee <liguozhu@hisilicon.com>,
	guodong.xu@linaro.org, kenneth-lee-2012@foxmail.com
Subject: Re: [RESEND PATCH v9 2/4] uacce: add uacce driver
Date: Wed, 11 Dec 2019 13:50:23 +0800	[thread overview]
Message-ID: <9aa3ec9b-6ca3-c8cc-a381-5445d34d0ed5@linaro.org> (raw)
In-Reply-To: <201912110600.7K87vvu4%lkp@intel.com>



On 2019/12/11 上午8:09, kbuild test robot wrote:
> Hi Zhangfei,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on cryptodev/master]
> [also build test ERROR on crypto/master char-misc/char-misc-testing v5.5-rc1 next-20191210]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url:    https://github.com/0day-ci/linux/commits/Zhangfei-Gao/Add-uacce-module-for-Accelerator/20191210-160210
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gcc (GCC) 7.5.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # save the attached .config to linux build tree
>          GCC_VERSION=7.5.0 make.cross ARCH=sparc64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>     drivers/misc/uacce/uacce.c:112:15: error: variable 'uacce_sva_ops' has initializer but incomplete type
>      static struct iommu_sva_ops uacce_sva_ops = {
>                    ^~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:113:3: error: 'struct iommu_sva_ops' has no member named 'mm_exit'
>       .mm_exit = uacce_sva_exit,
>        ^~~~~~~
>     drivers/misc/uacce/uacce.c:113:13: warning: excess elements in struct initializer
>       .mm_exit = uacce_sva_exit,
>                  ^~~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:113:13: note: (near initialization for 'uacce_sva_ops')
>     drivers/misc/uacce/uacce.c: In function 'uacce_mm_get':
>     drivers/misc/uacce/uacce.c:144:12: error: implicit declaration of function 'iommu_sva_bind_device'; did you mean 'bus_find_device'? [-Werror=implicit-function-declaration]
>        handle = iommu_sva_bind_device(uacce->parent, mm, uacce_mm);
>                 ^~~~~~~~~~~~~~~~~~~~~
>                 bus_find_device
>     drivers/misc/uacce/uacce.c:144:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
>        handle = iommu_sva_bind_device(uacce->parent, mm, uacce_mm);
>               ^
>     drivers/misc/uacce/uacce.c:148:9: error: implicit declaration of function 'iommu_sva_set_ops'; did you mean 'iommu_setup_dma_ops'? [-Werror=implicit-function-declaration]
>        ret = iommu_sva_set_ops(handle, &uacce_sva_ops);
>              ^~~~~~~~~~~~~~~~~
>              iommu_setup_dma_ops
>     drivers/misc/uacce/uacce.c:152:21: error: implicit declaration of function 'iommu_sva_get_pasid' [-Werror=implicit-function-declaration]
>        uacce_mm->pasid = iommu_sva_get_pasid(handle);
>                          ^~~~~~~~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:153:26: error: 'IOMMU_PASID_INVALID' undeclared (first use in this function); did you mean 'HV_MSIVALID_INVALID'?
>        if (uacce_mm->pasid == IOMMU_PASID_INVALID)
>                               ^~~~~~~~~~~~~~~~~~~
>                               HV_MSIVALID_INVALID
>     drivers/misc/uacce/uacce.c:153:26: note: each undeclared identifier is reported only once for each function it appears in
>     drivers/misc/uacce/uacce.c:168:3: error: implicit declaration of function 'iommu_sva_unbind_device'; did you mean 'bus_find_device'? [-Werror=implicit-function-declaration]
>        iommu_sva_unbind_device(handle);
>        ^~~~~~~~~~~~~~~~~~~~~~~
>        bus_find_device
>     drivers/misc/uacce/uacce.c: At top level:
>>> drivers/misc/uacce/uacce.c:274:21: error: variable 'uacce_vm_ops' has initializer but incomplete type
>      static const struct vm_operations_struct uacce_vm_ops = {
>                          ^~~~~~~~~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:275:3: error: 'const struct vm_operations_struct' has no member named 'close'
>       .close = uacce_vma_close,
>        ^~~~~
>     drivers/misc/uacce/uacce.c:275:11: warning: excess elements in struct initializer
>       .close = uacce_vma_close,
>                ^~~~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:275:11: note: (near initialization for 'uacce_vm_ops')
>     drivers/misc/uacce/uacce.c: In function 'uacce_fops_mmap':
>>> drivers/misc/uacce/uacce.c:295:19: error: 'VM_DONTCOPY' undeclared (first use in this function)
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                        ^~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:295:33: error: 'VM_DONTEXPAND' undeclared (first use in this function); did you mean 'VM_DONTCOPY'?
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                                      ^~~~~~~~~~~~~
>                                      VM_DONTCOPY
>>> drivers/misc/uacce/uacce.c:295:49: error: 'VM_WIPEONFORK' undeclared (first use in this function)
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                                                      ^~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c: In function 'uacce_alloc':
>     drivers/misc/uacce/uacce.c:502:9: error: implicit declaration of function 'iommu_dev_enable_feature'; did you mean 'module_enable_ro'? [-Werror=implicit-function-declaration]
>        ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA);
>              ^~~~~~~~~~~~~~~~~~~~~~~~
>              module_enable_ro
>     drivers/misc/uacce/uacce.c:502:42: error: 'IOMMU_DEV_FEAT_SVA' undeclared (first use in this function); did you mean 'NOMMU_VMFLAGS'?
>        ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA);
>                                               ^~~~~~~~~~~~~~~~~~
>                                               NOMMU_VMFLAGS
>     drivers/misc/uacce/uacce.c:530:3: error: implicit declaration of function 'iommu_dev_disable_feature'; did you mean 'module_disable_ro'? [-Werror=implicit-function-declaration]
>        iommu_dev_disable_feature(uacce->parent, IOMMU_DEV_FEAT_SVA);
>        ^~~~~~~~~~~~~~~~~~~~~~~~~
>        module_disable_ro
>     drivers/misc/uacce/uacce.c: In function 'uacce_remove':
>     drivers/misc/uacce/uacce.c:592:44: error: 'IOMMU_DEV_FEAT_SVA' undeclared (first use in this function); did you mean 'NOMMU_VMFLAGS'?
>        iommu_dev_disable_feature(uacce->parent, IOMMU_DEV_FEAT_SVA);
>                                                 ^~~~~~~~~~~~~~~~~~
>                                                 NOMMU_VMFLAGS
>     drivers/misc/uacce/uacce.c: At top level:
>     drivers/misc/uacce/uacce.c:112:29: error: storage size of 'uacce_sva_ops' isn't known
>      static struct iommu_sva_ops uacce_sva_ops = {
>                                  ^~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:274:42: error: storage size of 'uacce_vm_ops' isn't known
>
The build issue can be solved by
-#include <linux/dma-iommu.h>
+#include <linux/dma-mapping.h>
+#include <linux/iommu.h>

Since CONFIG_IOMMU_DMA is not defined in the arch.
include/linux/dma-iommu.h
#ifdef CONFIG_IOMMU_DMA
#include <linux/dma-mapping.h>
#include <linux/iommu.h>

Will update later.

Thanks
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: zhangfei <zhangfei.gao@linaro.org>
To: kbuild-all@lists.01.org
Subject: Re: [RESEND PATCH v9 2/4] uacce: add uacce driver
Date: Wed, 11 Dec 2019 13:50:23 +0800	[thread overview]
Message-ID: <9aa3ec9b-6ca3-c8cc-a381-5445d34d0ed5@linaro.org> (raw)
In-Reply-To: <201912110600.7K87vvu4%lkp@intel.com>

[-- Attachment #1: Type: text/plain, Size: 7361 bytes --]



On 2019/12/11 上午8:09, kbuild test robot wrote:
> Hi Zhangfei,
>
> Thank you for the patch! Yet something to improve:
>
> [auto build test ERROR on cryptodev/master]
> [also build test ERROR on crypto/master char-misc/char-misc-testing v5.5-rc1 next-20191210]
> [if your patch is applied to the wrong git tree, please drop us a note to help
> improve the system. BTW, we also suggest to use '--base' option to specify the
> base tree in git format-patch, please see https://stackoverflow.com/a/37406982]
>
> url:    https://github.com/0day-ci/linux/commits/Zhangfei-Gao/Add-uacce-module-for-Accelerator/20191210-160210
> base:   https://git.kernel.org/pub/scm/linux/kernel/git/herbert/cryptodev-2.6.git master
> config: sparc64-allmodconfig (attached as .config)
> compiler: sparc64-linux-gcc (GCC) 7.5.0
> reproduce:
>          wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
>          chmod +x ~/bin/make.cross
>          # save the attached .config to linux build tree
>          GCC_VERSION=7.5.0 make.cross ARCH=sparc64
>
> If you fix the issue, kindly add following tag
> Reported-by: kbuild test robot <lkp@intel.com>
>
> All errors (new ones prefixed by >>):
>
>     drivers/misc/uacce/uacce.c:112:15: error: variable 'uacce_sva_ops' has initializer but incomplete type
>      static struct iommu_sva_ops uacce_sva_ops = {
>                    ^~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:113:3: error: 'struct iommu_sva_ops' has no member named 'mm_exit'
>       .mm_exit = uacce_sva_exit,
>        ^~~~~~~
>     drivers/misc/uacce/uacce.c:113:13: warning: excess elements in struct initializer
>       .mm_exit = uacce_sva_exit,
>                  ^~~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:113:13: note: (near initialization for 'uacce_sva_ops')
>     drivers/misc/uacce/uacce.c: In function 'uacce_mm_get':
>     drivers/misc/uacce/uacce.c:144:12: error: implicit declaration of function 'iommu_sva_bind_device'; did you mean 'bus_find_device'? [-Werror=implicit-function-declaration]
>        handle = iommu_sva_bind_device(uacce->parent, mm, uacce_mm);
>                 ^~~~~~~~~~~~~~~~~~~~~
>                 bus_find_device
>     drivers/misc/uacce/uacce.c:144:10: warning: assignment makes pointer from integer without a cast [-Wint-conversion]
>        handle = iommu_sva_bind_device(uacce->parent, mm, uacce_mm);
>               ^
>     drivers/misc/uacce/uacce.c:148:9: error: implicit declaration of function 'iommu_sva_set_ops'; did you mean 'iommu_setup_dma_ops'? [-Werror=implicit-function-declaration]
>        ret = iommu_sva_set_ops(handle, &uacce_sva_ops);
>              ^~~~~~~~~~~~~~~~~
>              iommu_setup_dma_ops
>     drivers/misc/uacce/uacce.c:152:21: error: implicit declaration of function 'iommu_sva_get_pasid' [-Werror=implicit-function-declaration]
>        uacce_mm->pasid = iommu_sva_get_pasid(handle);
>                          ^~~~~~~~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:153:26: error: 'IOMMU_PASID_INVALID' undeclared (first use in this function); did you mean 'HV_MSIVALID_INVALID'?
>        if (uacce_mm->pasid == IOMMU_PASID_INVALID)
>                               ^~~~~~~~~~~~~~~~~~~
>                               HV_MSIVALID_INVALID
>     drivers/misc/uacce/uacce.c:153:26: note: each undeclared identifier is reported only once for each function it appears in
>     drivers/misc/uacce/uacce.c:168:3: error: implicit declaration of function 'iommu_sva_unbind_device'; did you mean 'bus_find_device'? [-Werror=implicit-function-declaration]
>        iommu_sva_unbind_device(handle);
>        ^~~~~~~~~~~~~~~~~~~~~~~
>        bus_find_device
>     drivers/misc/uacce/uacce.c: At top level:
>>> drivers/misc/uacce/uacce.c:274:21: error: variable 'uacce_vm_ops' has initializer but incomplete type
>      static const struct vm_operations_struct uacce_vm_ops = {
>                          ^~~~~~~~~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:275:3: error: 'const struct vm_operations_struct' has no member named 'close'
>       .close = uacce_vma_close,
>        ^~~~~
>     drivers/misc/uacce/uacce.c:275:11: warning: excess elements in struct initializer
>       .close = uacce_vma_close,
>                ^~~~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c:275:11: note: (near initialization for 'uacce_vm_ops')
>     drivers/misc/uacce/uacce.c: In function 'uacce_fops_mmap':
>>> drivers/misc/uacce/uacce.c:295:19: error: 'VM_DONTCOPY' undeclared (first use in this function)
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                        ^~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:295:33: error: 'VM_DONTEXPAND' undeclared (first use in this function); did you mean 'VM_DONTCOPY'?
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                                      ^~~~~~~~~~~~~
>                                      VM_DONTCOPY
>>> drivers/misc/uacce/uacce.c:295:49: error: 'VM_WIPEONFORK' undeclared (first use in this function)
>       vma->vm_flags |= VM_DONTCOPY | VM_DONTEXPAND | VM_WIPEONFORK;
>                                                      ^~~~~~~~~~~~~
>     drivers/misc/uacce/uacce.c: In function 'uacce_alloc':
>     drivers/misc/uacce/uacce.c:502:9: error: implicit declaration of function 'iommu_dev_enable_feature'; did you mean 'module_enable_ro'? [-Werror=implicit-function-declaration]
>        ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA);
>              ^~~~~~~~~~~~~~~~~~~~~~~~
>              module_enable_ro
>     drivers/misc/uacce/uacce.c:502:42: error: 'IOMMU_DEV_FEAT_SVA' undeclared (first use in this function); did you mean 'NOMMU_VMFLAGS'?
>        ret = iommu_dev_enable_feature(parent, IOMMU_DEV_FEAT_SVA);
>                                               ^~~~~~~~~~~~~~~~~~
>                                               NOMMU_VMFLAGS
>     drivers/misc/uacce/uacce.c:530:3: error: implicit declaration of function 'iommu_dev_disable_feature'; did you mean 'module_disable_ro'? [-Werror=implicit-function-declaration]
>        iommu_dev_disable_feature(uacce->parent, IOMMU_DEV_FEAT_SVA);
>        ^~~~~~~~~~~~~~~~~~~~~~~~~
>        module_disable_ro
>     drivers/misc/uacce/uacce.c: In function 'uacce_remove':
>     drivers/misc/uacce/uacce.c:592:44: error: 'IOMMU_DEV_FEAT_SVA' undeclared (first use in this function); did you mean 'NOMMU_VMFLAGS'?
>        iommu_dev_disable_feature(uacce->parent, IOMMU_DEV_FEAT_SVA);
>                                                 ^~~~~~~~~~~~~~~~~~
>                                                 NOMMU_VMFLAGS
>     drivers/misc/uacce/uacce.c: At top level:
>     drivers/misc/uacce/uacce.c:112:29: error: storage size of 'uacce_sva_ops' isn't known
>      static struct iommu_sva_ops uacce_sva_ops = {
>                                  ^~~~~~~~~~~~~
>>> drivers/misc/uacce/uacce.c:274:42: error: storage size of 'uacce_vm_ops' isn't known
>
The build issue can be solved by
-#include <linux/dma-iommu.h>
+#include <linux/dma-mapping.h>
+#include <linux/iommu.h>

Since CONFIG_IOMMU_DMA is not defined in the arch.
include/linux/dma-iommu.h
#ifdef CONFIG_IOMMU_DMA
#include <linux/dma-mapping.h>
#include <linux/iommu.h>

Will update later.

Thanks

  reply	other threads:[~2019-12-11  5:51 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-10  2:42 [RESEND PATCH v9 0/4] Add uacce module for Accelerator Zhangfei Gao
2019-12-10  2:42 ` Zhangfei Gao
2019-12-10  2:42 ` [RESEND PATCH v9 1/4] uacce: Add documents for uacce Zhangfei Gao
2019-12-10  2:42   ` Zhangfei Gao
2019-12-10  2:42 ` [RESEND PATCH v9 2/4] uacce: add uacce driver Zhangfei Gao
2019-12-10  2:42   ` Zhangfei Gao
2019-12-10 11:26   ` kbuild test robot
2019-12-10 11:26     ` kbuild test robot
2019-12-10 11:26     ` kbuild test robot
2019-12-11  0:09   ` kbuild test robot
2019-12-11  0:09     ` kbuild test robot
2019-12-11  0:09     ` kbuild test robot
2019-12-11  5:50     ` zhangfei [this message]
2019-12-11  5:50       ` zhangfei
2019-12-11  5:50       ` zhangfei
2019-12-10  2:42 ` [RESEND PATCH v9 3/4] crypto: hisilicon - Remove module_param uacce_mode Zhangfei Gao
2019-12-10  2:42   ` Zhangfei Gao
2019-12-10  2:42 ` [RESEND PATCH v9 4/4] crypto: hisilicon - register zip engine to uacce Zhangfei Gao
2019-12-10  2:42   ` Zhangfei Gao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=9aa3ec9b-6ca3-c8cc-a381-5445d34d0ed5@linaro.org \
    --to=zhangfei.gao@linaro.org \
    --cc=arnd@arndb.de \
    --cc=francois.ozog@linaro.org \
    --cc=grant.likely@arm.com \
    --cc=gregkh@linuxfoundation.org \
    --cc=guodong.xu@linaro.org \
    --cc=haojian.zhuang@linaro.org \
    --cc=herbert@gondor.apana.org.au \
    --cc=ilias.apalodimas@linaro.org \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jean-philippe@linaro.org \
    --cc=jglisse@redhat.com \
    --cc=jonathan.cameron@huawei.com \
    --cc=kbuild-all@lists.01.org \
    --cc=kenneth-lee-2012@foxmail.com \
    --cc=liguozhu@hisilicon.com \
    --cc=linux-accelerators@lists.ozlabs.org \
    --cc=linux-crypto@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=lkp@intel.com \
    --cc=wangzhou1@hisilicon.com \
    --cc=xuzaibo@huawei.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.