Messages in this thread | | | Date | Sun, 26 Feb 2023 09:12:20 +0800 | From | kernel test robot <> | Subject | drivers/remoteproc/ti_k3_dsp_remoteproc.c:432:17: sparse: sparse: cast removes address space '__iomem' of expression |
| |
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master head: 1ec35eadc3b448c91a6b763371a7073444e95f9d commit: b8431920391d36c273f63a29eab0dfc7e884dd17 remoteproc: k3-dsp: Add support for IPC-only mode for all K3 DSPs date: 12 months ago config: arm64-randconfig-s051-20230226 (https://download.01.org/0day-ci/archive/20230226/202302260940.ffLLk40s-lkp@intel.com/config) compiler: aarch64-linux-gcc (GCC) 12.1.0 reproduce: wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross chmod +x ~/bin/make.cross # apt-get install sparse # sparse version: v0.6.4-39-gce1a6720-dirty # https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=b8431920391d36c273f63a29eab0dfc7e884dd17 git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git git fetch --no-tags linus master git checkout b8431920391d36c273f63a29eab0dfc7e884dd17 # save the config file mkdir build_dir && cp config build_dir/.config COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 olddefconfig COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-12.1.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm64 SHELL=/bin/bash drivers/remoteproc/
If you fix the issue, kindly add following tag where applicable | Reported-by: kernel test robot <lkp@intel.com> | Link: https://lore.kernel.org/oe-kbuild-all/202302260940.ffLLk40s-lkp@intel.com/
sparse warnings: (new ones prefixed by >>) >> drivers/remoteproc/ti_k3_dsp_remoteproc.c:432:17: sparse: sparse: cast removes address space '__iomem' of expression
vim +/__iomem +432 drivers/remoteproc/ti_k3_dsp_remoteproc.c
402 403 /* 404 * This function implements the .get_loaded_rsc_table() callback and is used 405 * to provide the resource table for a booted DSP in IPC-only mode. The K3 DSP 406 * firmwares follow a design-by-contract approach and are expected to have the 407 * resource table at the base of the DDR region reserved for firmware usage. 408 * This provides flexibility for the remote processor to be booted by different 409 * bootloaders that may or may not have the ability to publish the resource table 410 * address and size through a DT property. This callback is invoked only in 411 * IPC-only mode. 412 */ 413 static struct resource_table *k3_dsp_get_loaded_rsc_table(struct rproc *rproc, 414 size_t *rsc_table_sz) 415 { 416 struct k3_dsp_rproc *kproc = rproc->priv; 417 struct device *dev = kproc->dev; 418 419 if (!kproc->rmem[0].cpu_addr) { 420 dev_err(dev, "memory-region #1 does not exist, loaded rsc table can't be found"); 421 return ERR_PTR(-ENOMEM); 422 } 423 424 /* 425 * NOTE: The resource table size is currently hard-coded to a maximum 426 * of 256 bytes. The most common resource table usage for K3 firmwares 427 * is to only have the vdev resource entry and an optional trace entry. 428 * The exact size could be computed based on resource table address, but 429 * the hard-coded value suffices to support the IPC-only mode. 430 */ 431 *rsc_table_sz = 256; > 432 return (struct resource_table *)kproc->rmem[0].cpu_addr; 433 } 434
-- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests
| |