[Intel-gfx] [PATCH v6 6/6] drm: Add arch arm64 for drm_clflush_virt_range
kernel test robot
lkp at intel.com
Tue Feb 8 04:22:07 UTC 2022
Hi Michael,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on drm-intel/for-linux-next]
[also build test ERROR on drm-tip/drm-tip drm/drm-next v5.17-rc3 next-20220207]
[If your patch is applied to the wrong git tree, kindly drop us a note.
And when submitting patch, we suggest to use '--base' as documented in
https://git-scm.com/docs/git-format-patch]
url: https://github.com/0day-ci/linux/commits/Michael-Cheng/Use-drm_clflush-instead-of-clflush/20220208-041326
base: git://anongit.freedesktop.org/drm-intel for-linux-next
config: arm64-defconfig (https://download.01.org/0day-ci/archive/20220208/202202081258.VY7Y7JnA-lkp@intel.com/config)
compiler: aarch64-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/0day-ci/linux/commit/f2fb6ade1531d88b046e245e8b854a7422a05a14
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Michael-Cheng/Use-drm_clflush-instead-of-clflush/20220208-041326
git checkout f2fb6ade1531d88b046e245e8b854a7422a05a14
# 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=arm64 SHELL=/bin/bash drivers/gpu/drm/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp at intel.com>
All error/warnings (new ones prefixed by >>):
drivers/gpu/drm/drm_cache.c: In function 'drm_clflush_virt_range':
>> drivers/gpu/drm/drm_cache.c:182:32: warning: dereferencing 'void *' pointer
182 | flush_tlb_kernel_range(*addr, *end);
| ^~~~~
drivers/gpu/drm/drm_cache.c:182:39: warning: dereferencing 'void *' pointer
182 | flush_tlb_kernel_range(*addr, *end);
| ^~~~
>> drivers/gpu/drm/drm_cache.c:182:32: error: invalid use of void expression
182 | flush_tlb_kernel_range(*addr, *end);
| ^~~~~
drivers/gpu/drm/drm_cache.c:182:39: error: invalid use of void expression
182 | flush_tlb_kernel_range(*addr, *end);
| ^~~~
vim +182 drivers/gpu/drm/drm_cache.c
151
152 /**
153 * drm_clflush_virt_range - Flush dcache lines of a region
154 * @addr: Initial kernel memory address.
155 * @length: Region size.
156 *
157 * Flush every data cache line entry that points to an address in the
158 * region requested.
159 */
160 void
161 drm_clflush_virt_range(void *addr, unsigned long length)
162 {
163 #if defined(CONFIG_X86)
164 if (static_cpu_has(X86_FEATURE_CLFLUSH)) {
165 const int size = boot_cpu_data.x86_clflush_size;
166 void *end = addr + length;
167
168 addr = (void *)(((unsigned long)addr) & -size);
169 mb(); /*CLFLUSH is only ordered with a full memory barrier*/
170 for (; addr < end; addr += size)
171 clflushopt(addr);
172 clflushopt(end - 1); /* force serialisation */
173 mb(); /*Ensure that every data cache line entry is flushed*/
174 return;
175 }
176
177 if (wbinvd_on_all_cpus())
178 pr_err("Timed out waiting for cache flush\n");
179
180 #elif defined(CONFIG_ARM64)
181 void *end = addr + length;
> 182 flush_tlb_kernel_range(*addr, *end);
183 #else
184 pr_err("Architecture has no drm_cache.c support\n");
185 WARN_ON_ONCE(1);
186 #endif
187 }
188 EXPORT_SYMBOL(drm_clflush_virt_range);
189
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
More information about the Intel-gfx
mailing list