lkml.org 
[lkml]   [2022]   [Jan]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
Subject[esmil:visionfive 57/62] drivers/soc/sifive/sifive_l2_cache.c:158:17: error: implicit declaration of function 'writeq'; did you mean 'writel'?
Hi Emil,

First bad commit (maybe != root cause):

tree: https://github.com/esmil/linux visionfive
head: 8c758048edfd830baceb991167131c9d55786544
commit: 8ee233dc08b97b5cde863d4be4f9b331ac586963 [57/62] RISC-V: Enable SIFIVE_L2_FLUSH for StarFive SoCs
config: riscv-randconfig-r003-20220131 (https://download.01.org/0day-ci/archive/20220201/202202010133.vBBeLOsj-lkp@intel.com/config)
compiler: riscv32-linux-gcc (GCC) 11.2.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://github.com/esmil/linux/commit/8ee233dc08b97b5cde863d4be4f9b331ac586963
git remote add esmil https://github.com/esmil/linux
git fetch --no-tags esmil visionfive
git checkout 8ee233dc08b97b5cde863d4be4f9b331ac586963
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=riscv SHELL=/bin/bash drivers/gpu/drm/starfive/ drivers/soc/sifive/

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

All error/warnings (new ones prefixed by >>):

drivers/soc/sifive/sifive_l2_cache.c: In function 'sifive_l2_flush64_range':
>> drivers/soc/sifive/sifive_l2_cache.c:158:17: error: implicit declaration of function 'writeq'; did you mean 'writel'? [-Werror=implicit-function-declaration]
158 | writeq(line, l2_base + SIFIVE_L2_FLUSH64);
| ^~~~~~
| writel
cc1: some warnings being treated as errors
--
In file included from include/asm-generic/bug.h:22,
from arch/riscv/include/asm/bug.h:83,
from include/linux/bug.h:5,
from include/linux/io.h:11,
from include/linux/dma-buf-map.h:9,
from include/linux/dma-buf.h:16,
from drivers/gpu/drm/starfive/starfive_drm_gem.c:5:
drivers/gpu/drm/starfive/starfive_drm_gem.c: In function 'starfive_drm_gem_alloc_dma':
>> include/linux/kern_levels.h:5:25: warning: format '%llx' expects argument of type 'long long unsigned int', but argument 2 has type 'dma_addr_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/printk.h:418:25: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
include/drm/drm_print.h:494:9: note: in expansion of macro 'printk'
494 | printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
| ^~~~~~
include/linux/kern_levels.h:14:25: note: in expansion of macro 'KERN_SOH'
14 | #define KERN_INFO KERN_SOH "6" /* informational */
| ^~~~~~~~
include/drm/drm_print.h:494:22: note: in expansion of macro 'KERN_INFO'
494 | printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
| ^~~~~
include/drm/drm_print.h:498:9: note: in expansion of macro '_DRM_PRINTK'
498 | _DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~
drivers/gpu/drm/starfive/starfive_drm_gem.c:132:9: note: in expansion of macro 'DRM_INFO'
132 | DRM_INFO("dma_addr = 0x%llx, size = %lu\n", starfive_obj->dma_addr, obj->size);
| ^~~~~~~~
>> include/linux/kern_levels.h:5:25: warning: format '%lu' expects argument of type 'long unsigned int', but argument 3 has type 'size_t' {aka 'unsigned int'} [-Wformat=]
5 | #define KERN_SOH "\001" /* ASCII Start Of Header */
| ^~~~~~
include/linux/printk.h:418:25: note: in definition of macro 'printk_index_wrap'
418 | _p_func(_fmt, ##__VA_ARGS__); \
| ^~~~
include/drm/drm_print.h:494:9: note: in expansion of macro 'printk'
494 | printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
| ^~~~~~
include/linux/kern_levels.h:14:25: note: in expansion of macro 'KERN_SOH'
14 | #define KERN_INFO KERN_SOH "6" /* informational */
| ^~~~~~~~
include/drm/drm_print.h:494:22: note: in expansion of macro 'KERN_INFO'
494 | printk##once(KERN_##level "[" DRM_NAME "] " fmt, ##__VA_ARGS__)
| ^~~~~
include/drm/drm_print.h:498:9: note: in expansion of macro '_DRM_PRINTK'
498 | _DRM_PRINTK(, INFO, fmt, ##__VA_ARGS__)
| ^~~~~~~~~~~
drivers/gpu/drm/starfive/starfive_drm_gem.c:132:9: note: in expansion of macro 'DRM_INFO'
132 | DRM_INFO("dma_addr = 0x%llx, size = %lu\n", starfive_obj->dma_addr, obj->size);
| ^~~~~~~~
At top level:
drivers/gpu/drm/starfive/starfive_drm_gem.c:17:42: warning: 'mmap_mem_ops' defined but not used [-Wunused-const-variable=]
17 | static const struct vm_operations_struct mmap_mem_ops = {
| ^~~~~~~~~~~~
--
drivers/gpu/drm/starfive/starfive_drm_crtc.c: In function 'starfive_crtc_atomic_flush':
>> drivers/gpu/drm/starfive/starfive_drm_crtc.c:204:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
204 | int ret;
| ^~~
drivers/gpu/drm/starfive/starfive_drm_crtc.c: In function 'starfive_crtc_atomic_enable':
drivers/gpu/drm/starfive/starfive_drm_crtc.c:221:13: warning: variable 'ret' set but not used [-Wunused-but-set-variable]
221 | int ret;
| ^~~
drivers/gpu/drm/starfive/starfive_drm_crtc.c: At top level:
>> drivers/gpu/drm/starfive/starfive_drm_crtc.c:272:5: warning: no previous prototype for 'starfive_crtc_create' [-Wmissing-prototypes]
272 | int starfive_crtc_create(struct drm_device *drm_dev,
| ^~~~~~~~~~~~~~~~~~~~
--
drivers/gpu/drm/starfive/starfive_drm_vpp.c: In function 'vpp1_isr_handler':
>> drivers/gpu/drm/starfive/starfive_drm_vpp.c:590:13: warning: variable 'intr_status' set but not used [-Wunused-but-set-variable]
590 | u32 intr_status = 0;
| ^~~~~~~~~~~


vim +158 drivers/soc/sifive/sifive_l2_cache.c

a967a289f169695 arch/riscv/mm/sifive_l2_cache.c Yash Shah 2019-05-06 126
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 127 #ifdef CONFIG_SIFIVE_L2_FLUSH
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 128 void sifive_l2_flush64_range(unsigned long start, unsigned long len)
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 129 {
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 130 unsigned long line;
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 131
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 132 if(!l2_base) {
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 133 pr_warn("L2CACHE: base addr invalid, skipping flush\n");
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 134 return;
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 135 }
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 136
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 137 /* TODO: if (len == 0), skipping flush or going on? */
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 138 if(!len) {
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 139 pr_debug("L2CACHE: flush64 range @ 0x%lx(len:0)\n", start);
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 140 return;
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 141 }
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 142
b4d19807f25f01a drivers/soc/sifive/sifive_l2_cache.c Atish Patra 2021-06-12 143 len = len + (start % SIFIVE_L2_FLUSH64_LINE_LEN);
b4d19807f25f01a drivers/soc/sifive/sifive_l2_cache.c Atish Patra 2021-06-12 144 start = ALIGN_DOWN(start, SIFIVE_L2_FLUSH64_LINE_LEN);
b4d19807f25f01a drivers/soc/sifive/sifive_l2_cache.c Atish Patra 2021-06-12 145
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 146 /* make sure the address is in the range */
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 147 if(start < CONFIG_SIFIVE_L2_FLUSH_START ||
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 148 (start + len) > (CONFIG_SIFIVE_L2_FLUSH_START +
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 149 CONFIG_SIFIVE_L2_FLUSH_SIZE)) {
e53ad16756cae6c drivers/soc/sifive/sifive_l2_cache.c Geert Uytterhoeven 2021-05-21 150 WARN(1, "L2CACHE: flush64 out of range: %lx(%lx), skip flush\n",
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 151 start, len);
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 152 return;
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 153 }
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 154
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 155 mb(); /* sync */
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 156 for (line = start; line < start + len;
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 157 line += SIFIVE_L2_FLUSH64_LINE_LEN) {
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 @158 writeq(line, l2_base + SIFIVE_L2_FLUSH64);
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 159 mb();
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 160 }
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 161 }
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 162 EXPORT_SYMBOL_GPL(sifive_l2_flush64_range);
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 163 #endif
601a2f4e945153e drivers/soc/sifive/sifive_l2_cache.c Tom 2021-01-08 164

:::::: The code at line 158 was first introduced by commit
:::::: 601a2f4e945153ebae8645596eda50ea39369c88 sifive/sifive_l2_cache: Add sifive_l2_flush64_range function

:::::: TO: Tom <support@vamrs.com>
:::::: CC: Emil Renner Berthing <kernel@esmil.dk>

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

\
 
 \ /
  Last update: 2022-01-31 18:13    [W:0.028 / U:0.388 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site