Re: [PATCH v6 3/5] remoteproc: qcom: Update PIL relocation info on load

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Bjorn,

I love your patch! Perhaps something to improve:

[auto build test WARNING on next-20200526]
[also build test WARNING on v5.7-rc7]
[cannot apply to robh/for-next linus/master agross-msm/qcom/for-next remoteproc/for-next rpmsg/for-next hwspinlock/for-next v5.7-rc7 v5.7-rc6 v5.7-rc5]
[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/Bjorn-Andersson/remoteproc-qcom-PIL-info-support/20200527-135911
base:    b0523c7b1c9d0edcd6c0fe6d2cb558a9ad5c60a8
config: arm64-allyesconfig (attached as .config)
compiler: aarch64-linux-gcc (GCC) 9.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
        # save the attached .config to linux build tree
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross ARCH=arm64 

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

All warnings (new ones prefixed by >>, old ones prefixed by <<):

>> drivers/remoteproc/qcom_pil_info.c:69:5: warning: no previous prototype for 'qcom_pil_info_store' [-Wmissing-prototypes]
69 | int qcom_pil_info_store(const char *image, phys_addr_t base, size_t size)
|     ^~~~~~~~~~~~~~~~~~~

vim +/qcom_pil_info_store +69 drivers/remoteproc/qcom_pil_info.c

41d96cc2fee2c1 Bjorn Andersson 2020-05-26   60  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   61  /**
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   62   * qcom_pil_info_store() - store PIL information of image in IMEM
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   63   * @image:	name of the image
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   64   * @base:	base address of the loaded image
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   65   * @size:	size of the loaded image
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   66   *
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   67   * Return: 0 on success, negative errno on failure
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   68   */
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  @69  int qcom_pil_info_store(const char *image, phys_addr_t base, size_t size)
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   70  {
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   71  	char buf[PIL_RELOC_NAME_LEN];
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   72  	void __iomem *entry;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   73  	int ret;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   74  	int i;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   75  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   76  	mutex_lock(&reloc_mutex);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   77  	ret = qcom_pil_info_init();
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   78  	if (ret < 0) {
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   79  		mutex_unlock(&reloc_mutex);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   80  		return ret;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   81  	}
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   82  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   83  	for (i = 0; i < _reloc.num_entries; i++) {
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   84  		entry = _reloc.base + i * sizeof(struct pil_reloc_entry);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   85  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   86  		memcpy_fromio(buf, entry, PIL_RELOC_NAME_LEN);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   87  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   88  		/*
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   89  		 * An empty record means we didn't find it, given that the
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   90  		 * records are packed.
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   91  		 */
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   92  		if (!buf[0])
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   93  			goto found_unused;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   94  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   95  		if (!strncmp(buf, image, PIL_RELOC_NAME_LEN))
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   96  			goto found_existing;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   97  	}
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   98  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26   99  	pr_warn("insufficient PIL info slots\n");
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  100  	mutex_unlock(&reloc_mutex);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  101  	return -ENOMEM;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  102  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  103  found_unused:
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  104  	memcpy_toio(entry, image, PIL_RELOC_NAME_LEN);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  105  found_existing:
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  106  	writel(base, entry + offsetof(struct pil_reloc_entry, base));
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  107  	writel(size, entry + offsetof(struct pil_reloc_entry, size));
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  108  	mutex_unlock(&reloc_mutex);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  109  
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  110  	return 0;
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  111  }
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  112  EXPORT_SYMBOL_GPL(qcom_pil_info_store);
41d96cc2fee2c1 Bjorn Andersson 2020-05-26  113  

:::::: The code at line 69 was first introduced by commit
:::::: 41d96cc2fee2c1143685357ad2929be0a7cf5d0f remoteproc: qcom: Introduce helper to store pil info in IMEM

:::::: TO: Bjorn Andersson <bjorn.andersson@xxxxxxxxxx>
:::::: CC: 0day robot <lkp@xxxxxxxxx>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx

Attachment: .config.gz
Description: application/gzip


[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux