All of lore.kernel.org
 help / color / mirror / Atom feed
From: kbuild test robot <lkp@intel.com>
To: kbuild-all@lists.01.org
Subject: [hch-misc:dma-bypass.3 1/5] drivers/firmware/qcom_scm.c:829:13: error: implicit declaration of function 'dma_to_phys'; did you mean 'idmap_to_phys'?
Date: Tue, 14 Apr 2020 20:07:47 +0800	[thread overview]
Message-ID: <202004142043.XBWRO615%lkp@intel.com> (raw)

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

tree:   git://git.infradead.org/users/hch/misc.git dma-bypass.3
head:   e36a07612143eb7d46684c60596e13359d7dec83
commit: b4f328e819b538d013db8dfe53f75177e1c408b4 [1/5] firmware: qcom_scm: don't include dma-direct.h
config: arm-defconfig (attached as .config)
compiler: arm-linux-gnueabi-gcc (GCC) 9.3.0
reproduce:
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        git checkout b4f328e819b538d013db8dfe53f75177e1c408b4
        # save the attached .config to linux build tree
        GCC_VERSION=9.3.0 make.cross ARCH=arm 

If you fix the issue, kindly add following tag as appropriate
Reported-by: kbuild test robot <lkp@intel.com>

All errors (new ones prefixed by >>):

   drivers/firmware/qcom_scm.c: In function 'qcom_scm_assign_mem':
>> drivers/firmware/qcom_scm.c:829:13: error: implicit declaration of function 'dma_to_phys'; did you mean 'idmap_to_phys'? [-Werror=implicit-function-declaration]
     829 |  ptr_phys = dma_to_phys(__scm->dev, ptr_dma);
         |             ^~~~~~~~~~~
         |             idmap_to_phys
   cc1: some warnings being treated as errors

vim +829 drivers/firmware/qcom_scm.c

57d3b816718c1c Elliot Berman          2020-01-07  786  
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  787  /**
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  788   * qcom_scm_assign_mem() - Make a secure call to reassign memory ownership
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  789   * @mem_addr: mem region whose ownership need to be reassigned
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  790   * @mem_sz:   size of the region.
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  791   * @srcvm:    vmid for current set of owners, each set bit in
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  792   *            flag indicate a unique owner
c8b08fc0d6f834 Stephen Boyd           2019-05-17  793   * @newvm:    array having new owners and corresponding permission
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  794   *            flags
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  795   * @dest_cnt: number of owners in next set.
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  796   *
c8b08fc0d6f834 Stephen Boyd           2019-05-17  797   * Return negative errno on failure or 0 on success with @srcvm updated.
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  798   */
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  799  int qcom_scm_assign_mem(phys_addr_t mem_addr, size_t mem_sz,
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  800  			unsigned int *srcvm,
af311ff9a69189 Stephen Boyd           2019-05-17  801  			const struct qcom_scm_vmperm *newvm,
af311ff9a69189 Stephen Boyd           2019-05-17  802  			unsigned int dest_cnt)
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  803  {
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  804  	struct qcom_scm_current_perm_info *destvm;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  805  	struct qcom_scm_mem_map_info *mem_to_map;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  806  	phys_addr_t mem_to_map_phys;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  807  	phys_addr_t dest_phys;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  808  	phys_addr_t ptr_phys;
6e37ccf78a5329 Stephen Boyd           2019-05-17  809  	dma_addr_t ptr_dma;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  810  	size_t mem_to_map_sz;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  811  	size_t dest_sz;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  812  	size_t src_sz;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  813  	size_t ptr_sz;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  814  	int next_vm;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  815  	__le32 *src;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  816  	void *ptr;
af311ff9a69189 Stephen Boyd           2019-05-17  817  	int ret, i, b;
af311ff9a69189 Stephen Boyd           2019-05-17  818  	unsigned long srcvm_bits = *srcvm;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  819  
af311ff9a69189 Stephen Boyd           2019-05-17  820  	src_sz = hweight_long(srcvm_bits) * sizeof(*src);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  821  	mem_to_map_sz = sizeof(*mem_to_map);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  822  	dest_sz = dest_cnt * sizeof(*destvm);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  823  	ptr_sz = ALIGN(src_sz, SZ_64) + ALIGN(mem_to_map_sz, SZ_64) +
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  824  			ALIGN(dest_sz, SZ_64);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  825  
6e37ccf78a5329 Stephen Boyd           2019-05-17  826  	ptr = dma_alloc_coherent(__scm->dev, ptr_sz, &ptr_dma, GFP_KERNEL);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  827  	if (!ptr)
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  828  		return -ENOMEM;
6e37ccf78a5329 Stephen Boyd           2019-05-17 @829  	ptr_phys = dma_to_phys(__scm->dev, ptr_dma);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  830  
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  831  	/* Fill source vmid detail */
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  832  	src = ptr;
af311ff9a69189 Stephen Boyd           2019-05-17  833  	i = 0;
af311ff9a69189 Stephen Boyd           2019-05-17  834  	for_each_set_bit(b, &srcvm_bits, BITS_PER_LONG)
af311ff9a69189 Stephen Boyd           2019-05-17  835  		src[i++] = cpu_to_le32(b);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  836  
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  837  	/* Fill details of mem buff to map */
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  838  	mem_to_map = ptr + ALIGN(src_sz, SZ_64);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  839  	mem_to_map_phys = ptr_phys + ALIGN(src_sz, SZ_64);
af311ff9a69189 Stephen Boyd           2019-05-17  840  	mem_to_map->mem_addr = cpu_to_le64(mem_addr);
af311ff9a69189 Stephen Boyd           2019-05-17  841  	mem_to_map->mem_size = cpu_to_le64(mem_sz);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  842  
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  843  	next_vm = 0;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  844  	/* Fill details of next vmid detail */
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  845  	destvm = ptr + ALIGN(mem_to_map_sz, SZ_64) + ALIGN(src_sz, SZ_64);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  846  	dest_phys = ptr_phys + ALIGN(mem_to_map_sz, SZ_64) + ALIGN(src_sz, SZ_64);
af311ff9a69189 Stephen Boyd           2019-05-17  847  	for (i = 0; i < dest_cnt; i++, destvm++, newvm++) {
af311ff9a69189 Stephen Boyd           2019-05-17  848  		destvm->vmid = cpu_to_le32(newvm->vmid);
af311ff9a69189 Stephen Boyd           2019-05-17  849  		destvm->perm = cpu_to_le32(newvm->perm);
af311ff9a69189 Stephen Boyd           2019-05-17  850  		destvm->ctx = 0;
af311ff9a69189 Stephen Boyd           2019-05-17  851  		destvm->ctx_size = 0;
af311ff9a69189 Stephen Boyd           2019-05-17  852  		next_vm |= BIT(newvm->vmid);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  853  	}
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  854  
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  855  	ret = __qcom_scm_assign_mem(__scm->dev, mem_to_map_phys, mem_to_map_sz,
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  856  				    ptr_phys, src_sz, dest_phys, dest_sz);
6e37ccf78a5329 Stephen Boyd           2019-05-17  857  	dma_free_coherent(__scm->dev, ptr_sz, ptr, ptr_dma);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  858  	if (ret) {
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  859  		dev_err(__scm->dev,
c8b08fc0d6f834 Stephen Boyd           2019-05-17  860  			"Assign memory protection call failed %d\n", ret);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  861  		return -EINVAL;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  862  	}
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  863  
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  864  	*srcvm = next_vm;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  865  	return 0;
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  866  }
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  867  EXPORT_SYMBOL(qcom_scm_assign_mem);
d82bd359972a7f Avaneesh Kumar Dwivedi 2017-10-24  868  

:::::: The code at line 829 was first introduced by commit
:::::: 6e37ccf78a53296c6c7bf426065762c27829eb84 firmware: qcom_scm: Use proper types for dma mappings

:::::: TO: Stephen Boyd <swboyd@chromium.org>
:::::: CC: Bjorn Andersson <bjorn.andersson@linaro.org>

---
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: 51987 bytes --]

                 reply	other threads:[~2020-04-14 12:07 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=202004142043.XBWRO615%lkp@intel.com \
    --to=lkp@intel.com \
    --cc=kbuild-all@lists.01.org \
    /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.