[peterz-queue:mm/tlb 4/10] arch/parisc/include/asm/pgalloc.h:69:6: error: implicit declaration of function '__pmd_free'; did you mean 'pmd_free'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git mm/tlb
head: 5acea829f3f73e6e20007e67bebe1e52a6906b15
commit: a03d39d572c69cfe65f48338a482b1bd6609cee8 [4/10] parisc/tlb: Fix __p*_free_tlb()
config: parisc-randconfig-r005-20210419 (attached as .config)
compiler: hppa64-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
# https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue mm/tlb
git checkout a03d39d572c69cfe65f48338a482b1bd6609cee8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=parisc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
In file included from mm/memory.c:81:
mm/memory.c: In function 'free_pmd_range':
>> arch/parisc/include/asm/pgalloc.h:69:6: error: implicit declaration of function '__pmd_free'; did you mean 'pmd_free'? [-Werror=implicit-function-declaration]
69 | if (__pmd_free((tlb)->mm, (pmd))) \
| ^~~~~~~~~~
include/asm-generic/tlb.h:638:3: note: in expansion of macro '__pmd_free_tlb'
638 | __pmd_free_tlb(tlb, pmdp, address); \
| ^~~~~~~~~~~~~~
mm/memory.c:266:2: note: in expansion of macro 'pmd_free_tlb'
266 | pmd_free_tlb(tlb, pmd, start);
| ^~~~~~~~~~~~
cc1: some warnings being treated as errors
vim +69 arch/parisc/include/asm/pgalloc.h
66
67 #define __pmd_free_tlb(tlb, pmd, addr) \
68 do { \
> 69 if (__pmd_free((tlb)->mm, (pmd))) \
70 tlb_remove_table((tlb), (pmd)); \
71 } while (0)
72
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
Re: [PATCH] smp: add a best_effort version of smp_call_function_many()
by kernel test robot
Hi Luigi,
Thank you for the patch! Perhaps something to improve:
[auto build test WARNING on linux/master]
[also build test WARNING on linus/master]
[cannot apply to next-20210419]
[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/Luigi-Rizzo/smp-add-a-best_effor...
base: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 5e46d1b78a03d52306f21f77a4e4a144b6d31486
config: riscv-randconfig-r015-20210419 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2b50f5a4343f8fb06acaa5c36355bcf58092c9cd)
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
# install riscv cross compiling tool for clang build
# apt-get install binutils-riscv64-linux-gnu
# https://github.com/0day-ci/linux/commit/9b290e2d29303b7c5bae4a0eddc5bb15c...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Luigi-Rizzo/smp-add-a-best_effort-version-of-smp_call_function_many/20210420-024713
git checkout 9b290e2d29303b7c5bae4a0eddc5bb15c01e72f7
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=riscv
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> kernel/smp.c:722: warning: wrong kernel-doc identifier on line:
* Extended version of smp_call_function_many(). Same constraints.
kernel/smp.c:1022: warning: cannot understand function prototype: 'struct smp_call_on_cpu_struct '
vim +722 kernel/smp.c
720
721 /**
> 722 * Extended version of smp_call_function_many(). Same constraints.
723 * @mode == 0 same as wait = false, returns 0;
724 * @mode == 1 same as wait = true, returns 0;
725 * @mode = SMP_CFM_BEST_EFFORT: skips CPUs with previous pending requests,
726 * returns 0 and *mask unmodified if no CPUs are skipped,
727 * -EBUSY if CPUs are skipped, and *mask is the set of skipped CPUs
728 */
729 int __smp_call_function_many(struct cpumask *mask, smp_call_func_t func,
730 void *info, int mode)
731 {
732 struct cpumask *ret = smp_call_function_many_cond(mask, func, info,
733 mode, NULL);
734
735 if (!ret)
736 return 0;
737 cpumask_andnot(mask, mask, ret);
738 cpumask_and(mask, mask, cpu_online_mask);
739 cpumask_clear_cpu(smp_processor_id(), mask);
740 return -EBUSY;
741 }
742 EXPORT_SYMBOL(__smp_call_function_many);
743
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[chrome-os:chromeos-5.10 6770/7739] drivers/gpu/drm/evdi/evdi_gem.c:273:3: error: implicit declaration of function 'vunmap'; did you mean 'kunmap'?
by kernel test robot
Hi Sean,
FYI, the error/warning still remains.
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.10
head: e67573a71d8276ac72915196b2dd0ac152e2ecc6
commit: 5d42c7b3d93d6ce4f7cfbfc0f0d6ea2c2445406a [6770/7739] CHROMIUM: Import latest evdi driver
config: powerpc-allyesconfig (attached as .config)
compiler: powerpc64-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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.10
git checkout 5d42c7b3d93d6ce4f7cfbfc0f0d6ea2c2445406a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=powerpc
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
cc1: warning: include/drm: No such file or directory [-Wmissing-include-dirs]
drivers/gpu/drm/evdi/evdi_gem.c: In function 'evdi_gem_vmap':
drivers/gpu/drm/evdi/evdi_gem.c:241:19: error: too few arguments to function 'dma_buf_vmap'
241 | obj->vmapping = dma_buf_vmap(obj->base.import_attach->dmabuf);
| ^~~~~~~~~~~~
In file included from drivers/gpu/drm/evdi/evdi_gem.c:18:
include/linux/dma-buf.h:507:5: note: declared here
507 | int dma_buf_vmap(struct dma_buf *dmabuf, struct dma_buf_map *map);
| ^~~~~~~~~~~~
drivers/gpu/drm/evdi/evdi_gem.c:252:18: error: implicit declaration of function 'vmap'; did you mean 'kmap'? [-Werror=implicit-function-declaration]
252 | obj->vmapping = vmap(obj->pages, page_count, 0, PAGE_KERNEL);
| ^~~~
| kmap
drivers/gpu/drm/evdi/evdi_gem.c:252:16: warning: assignment to 'void *' from 'int' makes pointer from integer without a cast [-Wint-conversion]
252 | obj->vmapping = vmap(obj->pages, page_count, 0, PAGE_KERNEL);
| ^
drivers/gpu/drm/evdi/evdi_gem.c: In function 'evdi_gem_vunmap':
>> drivers/gpu/drm/evdi/evdi_gem.c:273:3: error: implicit declaration of function 'vunmap'; did you mean 'kunmap'? [-Werror=implicit-function-declaration]
273 | vunmap(obj->vmapping);
| ^~~~~~
| kunmap
cc1: some warnings being treated as errors
vim +273 drivers/gpu/drm/evdi/evdi_gem.c
3e21cedd503fab Aleksander Miera 2018-03-15 257
3e21cedd503fab Aleksander Miera 2018-03-15 258 void evdi_gem_vunmap(struct evdi_gem_object *obj)
3e21cedd503fab Aleksander Miera 2018-03-15 259 {
3e21cedd503fab Aleksander Miera 2018-03-15 260 if (obj->base.import_attach) {
5d42c7b3d93d6c Sean Paul 2021-04-09 261 #if KERNEL_VERSION(5, 11, 0) <= LINUX_VERSION_CODE
5d42c7b3d93d6c Sean Paul 2021-04-09 262 struct dma_buf_map map = DMA_BUF_MAP_INIT_VADDR(obj->vmapping);
5d42c7b3d93d6c Sean Paul 2021-04-09 263
5d42c7b3d93d6c Sean Paul 2021-04-09 264 dma_buf_vunmap(obj->base.import_attach->dmabuf, &map);
5d42c7b3d93d6c Sean Paul 2021-04-09 265 #else
3e21cedd503fab Aleksander Miera 2018-03-15 266 dma_buf_vunmap(obj->base.import_attach->dmabuf, obj->vmapping);
5d42c7b3d93d6c Sean Paul 2021-04-09 267 #endif
3e21cedd503fab Aleksander Miera 2018-03-15 268 obj->vmapping = NULL;
3e21cedd503fab Aleksander Miera 2018-03-15 269 return;
3e21cedd503fab Aleksander Miera 2018-03-15 270 }
3e21cedd503fab Aleksander Miera 2018-03-15 271
3e21cedd503fab Aleksander Miera 2018-03-15 272 if (obj->vmapping) {
3e21cedd503fab Aleksander Miera 2018-03-15 @273 vunmap(obj->vmapping);
3e21cedd503fab Aleksander Miera 2018-03-15 274 obj->vmapping = NULL;
3e21cedd503fab Aleksander Miera 2018-03-15 275 }
3e21cedd503fab Aleksander Miera 2018-03-15 276
3e21cedd503fab Aleksander Miera 2018-03-15 277 evdi_gem_put_pages(obj);
3e21cedd503fab Aleksander Miera 2018-03-15 278 }
3e21cedd503fab Aleksander Miera 2018-03-15 279
:::::: The code at line 273 was first introduced by commit
:::::: 3e21cedd503fabd195cf407652bf87fd83e202ac drm/evdi: Add atomic evdi drm module
:::::: TO: Aleksander Miera <aleksander.miera(a)displaylink.com>
:::::: CC: Guenter Roeck <groeck(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[peterz-queue:sched/cleanup 4/4] kernel/rcu/tree.c:1385:5: error: implicit declaration of function 'irq_work_queue_remote'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git sched/cleanup
head: 05dd40f3f6f4b06c16b9ad246e5a5523f10b4dff
commit: 05dd40f3f6f4b06c16b9ad246e5a5523f10b4dff [4/4] rcu/tree: Use irq_work_queue_remote()
config: arm-randconfig-r034-20210419 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2b50f5a4343f8fb06acaa5c36355bcf58092c9cd)
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
# install arm cross compiling tool for clang build
# apt-get install binutils-arm-linux-gnueabi
# https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git/commit/?...
git remote add peterz-queue https://git.kernel.org/pub/scm/linux/kernel/git/peterz/queue.git
git fetch --no-tags peterz-queue sched/cleanup
git checkout 05dd40f3f6f4b06c16b9ad246e5a5523f10b4dff
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
>> kernel/rcu/tree.c:1385:5: error: implicit declaration of function 'irq_work_queue_remote' [-Werror,-Wimplicit-function-declaration]
irq_work_queue_remote(rdp->cpu, &rdp->rcu_iw);
^
kernel/rcu/tree.c:1385:5: note: did you mean 'irq_work_queue_on'?
include/linux/irq_work.h:52:6: note: 'irq_work_queue_on' declared here
bool irq_work_queue_on(struct irq_work *work, int cpu);
^
1 error generated.
vim +/irq_work_queue_remote +1385 kernel/rcu/tree.c
1260
1261 /*
1262 * Return true if the specified CPU has passed through a quiescent
1263 * state by virtue of being in or having passed through an dynticks
1264 * idle state since the last call to dyntick_save_progress_counter()
1265 * for this same CPU, or by virtue of having been offline.
1266 */
1267 static int rcu_implicit_dynticks_qs(struct rcu_data *rdp)
1268 {
1269 unsigned long jtsq;
1270 bool *rnhqp;
1271 bool *ruqp;
1272 struct rcu_node *rnp = rdp->mynode;
1273
1274 raw_lockdep_assert_held_rcu_node(rnp);
1275
1276 /*
1277 * If the CPU passed through or entered a dynticks idle phase with
1278 * no active irq/NMI handlers, then we can safely pretend that the CPU
1279 * already acknowledged the request to pass through a quiescent
1280 * state. Either way, that CPU cannot possibly be in an RCU
1281 * read-side critical section that started before the beginning
1282 * of the current RCU grace period.
1283 */
1284 if (rcu_dynticks_in_eqs_since(rdp, rdp->dynticks_snap)) {
1285 trace_rcu_fqs(rcu_state.name, rdp->gp_seq, rdp->cpu, TPS("dti"));
1286 rcu_gpnum_ovf(rnp, rdp);
1287 return 1;
1288 }
1289
1290 /*
1291 * Complain if a CPU that is considered to be offline from RCU's
1292 * perspective has not yet reported a quiescent state. After all,
1293 * the offline CPU should have reported a quiescent state during
1294 * the CPU-offline process, or, failing that, by rcu_gp_init()
1295 * if it ran concurrently with either the CPU going offline or the
1296 * last task on a leaf rcu_node structure exiting its RCU read-side
1297 * critical section while all CPUs corresponding to that structure
1298 * are offline. This added warning detects bugs in any of these
1299 * code paths.
1300 *
1301 * The rcu_node structure's ->lock is held here, which excludes
1302 * the relevant portions the CPU-hotplug code, the grace-period
1303 * initialization code, and the rcu_read_unlock() code paths.
1304 *
1305 * For more detail, please refer to the "Hotplug CPU" section
1306 * of RCU's Requirements documentation.
1307 */
1308 if (WARN_ON_ONCE(!(rdp->grpmask & rcu_rnp_online_cpus(rnp)))) {
1309 bool onl;
1310 struct rcu_node *rnp1;
1311
1312 pr_info("%s: grp: %d-%d level: %d ->gp_seq %ld ->completedqs %ld\n",
1313 __func__, rnp->grplo, rnp->grphi, rnp->level,
1314 (long)rnp->gp_seq, (long)rnp->completedqs);
1315 for (rnp1 = rnp; rnp1; rnp1 = rnp1->parent)
1316 pr_info("%s: %d:%d ->qsmask %#lx ->qsmaskinit %#lx ->qsmaskinitnext %#lx ->rcu_gp_init_mask %#lx\n",
1317 __func__, rnp1->grplo, rnp1->grphi, rnp1->qsmask, rnp1->qsmaskinit, rnp1->qsmaskinitnext, rnp1->rcu_gp_init_mask);
1318 onl = !!(rdp->grpmask & rcu_rnp_online_cpus(rnp));
1319 pr_info("%s %d: %c online: %ld(%d) offline: %ld(%d)\n",
1320 __func__, rdp->cpu, ".o"[onl],
1321 (long)rdp->rcu_onl_gp_seq, rdp->rcu_onl_gp_flags,
1322 (long)rdp->rcu_ofl_gp_seq, rdp->rcu_ofl_gp_flags);
1323 return 1; /* Break things loose after complaining. */
1324 }
1325
1326 /*
1327 * A CPU running for an extended time within the kernel can
1328 * delay RCU grace periods: (1) At age jiffies_to_sched_qs,
1329 * set .rcu_urgent_qs, (2) At age 2*jiffies_to_sched_qs, set
1330 * both .rcu_need_heavy_qs and .rcu_urgent_qs. Note that the
1331 * unsynchronized assignments to the per-CPU rcu_need_heavy_qs
1332 * variable are safe because the assignments are repeated if this
1333 * CPU failed to pass through a quiescent state. This code
1334 * also checks .jiffies_resched in case jiffies_to_sched_qs
1335 * is set way high.
1336 */
1337 jtsq = READ_ONCE(jiffies_to_sched_qs);
1338 ruqp = per_cpu_ptr(&rcu_data.rcu_urgent_qs, rdp->cpu);
1339 rnhqp = &per_cpu(rcu_data.rcu_need_heavy_qs, rdp->cpu);
1340 if (!READ_ONCE(*rnhqp) &&
1341 (time_after(jiffies, rcu_state.gp_start + jtsq * 2) ||
1342 time_after(jiffies, rcu_state.jiffies_resched) ||
1343 rcu_state.cbovld)) {
1344 WRITE_ONCE(*rnhqp, true);
1345 /* Store rcu_need_heavy_qs before rcu_urgent_qs. */
1346 smp_store_release(ruqp, true);
1347 } else if (time_after(jiffies, rcu_state.gp_start + jtsq)) {
1348 WRITE_ONCE(*ruqp, true);
1349 }
1350
1351 /*
1352 * NO_HZ_FULL CPUs can run in-kernel without rcu_sched_clock_irq!
1353 * The above code handles this, but only for straight cond_resched().
1354 * And some in-kernel loops check need_resched() before calling
1355 * cond_resched(), which defeats the above code for CPUs that are
1356 * running in-kernel with scheduling-clock interrupts disabled.
1357 * So hit them over the head with the resched_cpu() hammer!
1358 */
1359 if (tick_nohz_full_cpu(rdp->cpu) &&
1360 (time_after(jiffies, READ_ONCE(rdp->last_fqs_resched) + jtsq * 3) ||
1361 rcu_state.cbovld)) {
1362 WRITE_ONCE(*ruqp, true);
1363 resched_cpu(rdp->cpu);
1364 WRITE_ONCE(rdp->last_fqs_resched, jiffies);
1365 }
1366
1367 /*
1368 * If more than halfway to RCU CPU stall-warning time, invoke
1369 * resched_cpu() more frequently to try to loosen things up a bit.
1370 * Also check to see if the CPU is getting hammered with interrupts,
1371 * but only once per grace period, just to keep the IPIs down to
1372 * a dull roar.
1373 */
1374 if (time_after(jiffies, rcu_state.jiffies_resched)) {
1375 if (time_after(jiffies,
1376 READ_ONCE(rdp->last_fqs_resched) + jtsq)) {
1377 resched_cpu(rdp->cpu);
1378 WRITE_ONCE(rdp->last_fqs_resched, jiffies);
1379 }
1380 if (!rdp->rcu_iw_pending && rdp->rcu_iw_gp_seq != rnp->gp_seq &&
1381 (rnp->ffmask & rdp->grpmask)) {
1382 rdp->rcu_iw_gp_seq = rnp->gp_seq;
1383 if (likely(rdp->cpu != smp_processor_id())) {
1384 rdp->rcu_iw_pending = true;
> 1385 irq_work_queue_remote(rdp->cpu, &rdp->rcu_iw);
1386 }
1387 }
1388 }
1389
1390 return 0;
1391 }
1392
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[chrome-os:chromeos-5.4 55/243] drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_req_if.c:322:17: warning: variable 'bs_va' set but not used
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 52d269f32500581166246e0e494b2b62d979dba6
commit: dd9279c63081578b640d472001d58dfe30a53b6a [55/243] CHROMIUM: media: mtk-vcodec: Add vp8 slice api driver for mt8192
config: csky-randconfig-r031-20210420 (attached as .config)
compiler: csky-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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout dd9279c63081578b640d472001d58dfe30a53b6a
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=csky
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from arch/csky/include/asm/bug.h:7,
from include/linux/bug.h:5,
from include/linux/mmdebug.h:5,
from include/linux/gfp.h:5,
from include/linux/slab.h:15,
from drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_req_if.c:7:
include/asm-generic/fixmap.h: In function 'fix_to_virt':
include/asm-generic/fixmap.h:32:19: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
32 | BUILD_BUG_ON(idx >= __end_of_fixed_addresses);
| ^~
include/linux/compiler.h:397:9: note: in definition of macro '__compiletime_assert'
397 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler.h:417:2: note: in expansion of macro '_compiletime_assert'
417 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/asm-generic/fixmap.h:32:2: note: in expansion of macro 'BUILD_BUG_ON'
32 | BUILD_BUG_ON(idx >= __end_of_fixed_addresses);
| ^~~~~~~~~~~~
drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_req_if.c: In function 'vdec_vp8_slice_decode':
>> drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_req_if.c:322:17: warning: variable 'bs_va' set but not used [-Wunused-but-set-variable]
322 | unsigned char *bs_va;
| ^~~~~
vim +/bs_va +322 drivers/media/platform/mtk-vcodec/vdec/vdec_vp8_req_if.c
315
316 static int vdec_vp8_slice_decode(void *h_vdec, struct mtk_vcodec_mem *bs,
317 struct vdec_fb *fb, bool *res_chg)
318 {
319 struct vdec_vp8_slice_inst *inst = h_vdec;
320 struct vdec_vpu_inst *vpu = &inst->vpu;
321 struct mtk_video_dec_buf *src_buf_info, *dst_buf_info;
> 322 unsigned char *bs_va;
323 unsigned int data;
324 uint64_t y_fb_dma, c_fb_dma;
325 int err;
326
327 /* bs NULL means flush decoder */
328 if (!bs)
329 return vpu_dec_reset(vpu);
330
331 src_buf_info = container_of(bs, struct mtk_video_dec_buf, bs_buffer);
332
333 fb = inst->ctx->dev->vdec_pdata->get_cap_buffer(inst->ctx);
334 dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
335
336 y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0;
337 if (inst->ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1)
338 c_fb_dma = y_fb_dma +
339 inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h;
340 else
341 c_fb_dma = fb ? (u64)fb->base_c.dma_addr : 0;
342
343 inst->vsi->dec.bs_dma = (unsigned long)bs->dma_addr;
344 inst->vsi->dec.bs_sz = bs->size;
345 inst->vsi->dec.cur_y_fb_dma = y_fb_dma;
346 inst->vsi->dec.cur_c_fb_dma = c_fb_dma;
347
348 mtk_vcodec_debug(inst, "frame[%d] bs(%d 0x%lx) y/c(0x%llx 0x%llx)",
349 inst->ctx->decoded_frame_cnt,
350 bs->size, (unsigned long)bs->dma_addr,
351 y_fb_dma, c_fb_dma);
352
353 bs_va = (unsigned char *)bs->va;
354 v4l2_m2m_buf_copy_metadata(&src_buf_info->m2m_buf.vb,
355 &dst_buf_info->m2m_buf.vb, true);
356
357 vdec_vp8_slice_get_decode_parameters(inst);
358 err = vpu_dec_start(vpu, &data, 1);
359 if (err) {
360 mtk_vcodec_debug(inst, "vp8 dec start err!");
361 goto error;
362 }
363
364 if (inst->vsi->dec.resolution_changed) {
365 mtk_vcodec_debug(inst, "- resolution_changed -");
366 *res_chg = true;
367 return 0;
368 }
369
370 /* wait decoder done interrupt */
371 err = mtk_vcodec_wait_for_core_done_ctx(inst->ctx,
372 MTK_INST_IRQ_RECEIVED, WAIT_INTR_TIMEOUT_MS);
373 if (err)
374 inst->vsi->dec.timeout = true;
375 else
376 inst->vsi->dec.timeout = false;
377
378 err = vpu_dec_end(vpu);
379 if (err || inst->vsi->dec.timeout)
380 goto error;
381
382 mtk_vcodec_debug(inst, "y_crc: 0x%x 0x%x 0x%x 0x%x",
383 inst->vsi->dec.crc[0],
384 inst->vsi->dec.crc[1],
385 inst->vsi->dec.crc[2],
386 inst->vsi->dec.crc[3]);
387
388 mtk_vcodec_debug(inst, "c_crc: 0x%x 0x%x 0x%x 0x%x",
389 inst->vsi->dec.crc[4],
390 inst->vsi->dec.crc[5],
391 inst->vsi->dec.crc[6],
392 inst->vsi->dec.crc[7]);
393
394 inst->ctx->dev->vdec_pdata->cap_to_disp(inst->ctx, fb, 0);
395 inst->ctx->decoded_frame_cnt++;
396 *res_chg = false;
397 return 0;
398
399 error:
400 mtk_vcodec_err(inst, "\n - FRAME[%d] timeout=%d err=%d\n",
401 inst->ctx->decoded_frame_cnt,
402 inst->vsi->dec.timeout, err);
403 return err;
404 }
405
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[android-common:android12-5.10 3/15] drivers/gpu/drm/hisilicon/kirin/kirin_drm_dsi.c:33:6: warning: no previous prototype for function 'dsi_set_output_client'
by kernel test robot
tree: https://android.googlesource.com/kernel/common android12-5.10
head: 8adfa9950c6c13d32c5c167c1f0be1ad3849d89c
commit: 34ebaf13befc0cd9274a190affbeae8e94f16ced [3/15] ANDROID: drm: kirin: Introduce kirin960
config: arm64-randconfig-r023-20210419 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 2b50f5a4343f8fb06acaa5c36355bcf58092c9cd)
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
# install arm64 cross compiling tool for clang build
# apt-get install binutils-aarch64-linux-gnu
git remote add android-common https://android.googlesource.com/kernel/common
git fetch --no-tags android-common android12-5.10
git checkout 34ebaf13befc0cd9274a190affbeae8e94f16ced
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=arm64
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
>> drivers/gpu/drm/hisilicon/kirin/kirin_drm_dsi.c:33:6: warning: no previous prototype for function 'dsi_set_output_client' [-Wmissing-prototypes]
void dsi_set_output_client(struct drm_device *dev)
^
drivers/gpu/drm/hisilicon/kirin/kirin_drm_dsi.c:33:1: note: declare 'static' if the function is not intended to be used outside of this translation unit
void dsi_set_output_client(struct drm_device *dev)
^
static
1 warning generated.
vim +/dsi_set_output_client +33 drivers/gpu/drm/hisilicon/kirin/kirin_drm_dsi.c
32
> 33 void dsi_set_output_client(struct drm_device *dev)
34 {
35 enum dsi_output_client client;
36 struct drm_connector *connector;
37 struct drm_encoder *encoder;
38 struct drm_connector_list_iter conn_iter;
39 struct dw_dsi *dsi;
40
41 mutex_lock(&dev->mode_config.mutex);
42
43 /* find dsi encoder */
44 drm_for_each_encoder(encoder, dev)
45 if (encoder->encoder_type == DRM_MODE_ENCODER_DSI)
46 break;
47 dsi = encoder_to_dsi(encoder);
48
49 /* find HDMI connector */
50 drm_connector_list_iter_begin(dev, &conn_iter);
51 drm_for_each_connector_iter(connector, &conn_iter)
52 if (connector->connector_type == DRM_MODE_CONNECTOR_HDMIA)
53 break;
54 drm_connector_list_iter_end(&conn_iter);
55
56 /*
57 * set the proper dsi output client
58 */
59 client = connector->status == connector_status_connected ? OUT_HDMI :
60 OUT_PANEL;
61 if (client != dsi->cur_client) {
62 /*
63 * set the switch ic to select the HDMI or MIPI_DSI
64 */
65 if (hisi_dsi_ops->version == KIRIN960_DSI)
66 gpiod_set_value_cansleep(dsi->gpio_mux, client);
67
68 dsi->cur_client = client;
69 /* let the userspace know panel connector status has changed */
70 drm_sysfs_hotplug_event(dev);
71 DRM_INFO("client change to %s\n",
72 client == OUT_HDMI ? "HDMI" : "panel");
73 }
74
75 mutex_unlock(&dev->mode_config.mutex);
76 }
77 EXPORT_SYMBOL_GPL(dsi_set_output_client);
78 /************************for the panel attach to dsi*****************************/
79 static int dsi_connector_get_modes(struct drm_connector *connector)
80 {
81 struct dw_dsi *dsi = connector_to_dsi(connector);
82
83 return drm_panel_get_modes(dsi->panel, connector);
84 }
85
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
samsung-keypad.c:undefined reference to `devm_ioremap'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: bf05bf16c76bb44ab5156223e1e58e26dfe30a88
commit: bbd7ffdbef6888459f301c5889f3b14ada38b913 clk: Allow the common clk framework to be selectable
date: 12 months ago
config: s390-randconfig-r036-20210419 (attached as .config)
compiler: s390-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
# https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit...
git remote add linus https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
git fetch --no-tags linus master
git checkout bbd7ffdbef6888459f301c5889f3b14ada38b913
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=s390
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All errors (new ones prefixed by >>):
s390-linux-ld: arch/s390/appldata/appldata_base.o: in function `appldata_generic_handler':
appldata_base.c:(.text+0x1ca): undefined reference to `sysctl_vals'
s390-linux-ld: appldata_base.c:(.text+0x1da): undefined reference to `sysctl_vals'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `set_cis_map':
cistpl.c:(.text+0x212): undefined reference to `iounmap'
s390-linux-ld: cistpl.c:(.text+0x224): undefined reference to `ioremap'
s390-linux-ld: cistpl.c:(.text+0x284): undefined reference to `ioremap'
s390-linux-ld: cistpl.c:(.text+0x29e): undefined reference to `iounmap'
s390-linux-ld: drivers/pcmcia/cistpl.o: in function `release_cis_mem':
cistpl.c:(.text+0xce8): undefined reference to `iounmap'
s390-linux-ld: drivers/input/keyboard/samsung-keypad.o: in function `samsung_keypad_probe':
>> samsung-keypad.c:(.text+0x504): undefined reference to `devm_ioremap'
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months
[chrome-os:chromeos-5.4 54/243] drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c:388:15: warning: cast from pointer to integer of different size
by kernel test robot
tree: https://chromium.googlesource.com/chromiumos/third_party/kernel chromeos-5.4
head: 52d269f32500581166246e0e494b2b62d979dba6
commit: 0a438b290ea431bc87156be5819e9f85fa951240 [54/243] CHROMIUM: media: mtk-vcodec: Add h264 slice api driver for mt8192
config: csky-randconfig-r031-20210420 (attached as .config)
compiler: csky-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
git remote add chrome-os https://chromium.googlesource.com/chromiumos/third_party/kernel
git fetch --no-tags chrome-os chromeos-5.4
git checkout 0a438b290ea431bc87156be5819e9f85fa951240
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-9.3.0 make.cross W=1 ARCH=csky
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
All warnings (new ones prefixed by >>):
In file included from include/linux/kernel.h:11,
from include/linux/list.h:9,
from include/linux/module.h:9,
from drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c:7:
include/asm-generic/fixmap.h: In function 'fix_to_virt':
include/asm-generic/fixmap.h:32:19: warning: comparison of unsigned expression >= 0 is always true [-Wtype-limits]
32 | BUILD_BUG_ON(idx >= __end_of_fixed_addresses);
| ^~
include/linux/compiler.h:397:9: note: in definition of macro '__compiletime_assert'
397 | if (!(condition)) \
| ^~~~~~~~~
include/linux/compiler.h:417:2: note: in expansion of macro '_compiletime_assert'
417 | _compiletime_assert(condition, msg, __compiletime_assert_, __COUNTER__)
| ^~~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:39:37: note: in expansion of macro 'compiletime_assert'
39 | #define BUILD_BUG_ON_MSG(cond, msg) compiletime_assert(!(cond), msg)
| ^~~~~~~~~~~~~~~~~~
include/linux/build_bug.h:50:2: note: in expansion of macro 'BUILD_BUG_ON_MSG'
50 | BUILD_BUG_ON_MSG(condition, "BUILD_BUG_ON failed: " #condition)
| ^~~~~~~~~~~~~~~~
include/asm-generic/fixmap.h:32:2: note: in expansion of macro 'BUILD_BUG_ON'
32 | BUILD_BUG_ON(idx >= __end_of_fixed_addresses);
| ^~~~~~~~~~~~
drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c: In function 'vdec_h264_slice_core_decode':
>> drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c:388:15: warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
388 | vdec_fb_va = (u64)fb;
| ^
>> drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c:375:28: warning: variable 'dst_buf_info' set but not used [-Wunused-but-set-variable]
375 | struct mtk_video_dec_buf *dst_buf_info;
| ^~~~~~~~~~~~
vim +388 drivers/media/platform/mtk-vcodec/vdec/vdec_h264_req_lat_if.c
367
368 static int vdec_h264_slice_core_decode(struct vdec_lat_buf *lat_buf)
369 {
370 struct vdec_fb *fb;
371 uint64_t vdec_fb_va;
372 uint64_t y_fb_dma, c_fb_dma;
373 int err, timeout, i, dec_err;
374 struct vdec_vpu_inst *vpu;
> 375 struct mtk_video_dec_buf *dst_buf_info;
376 struct mtk_vcodec_ctx *ctx = lat_buf->ctx;
377 struct vdec_h264_slice_inst *inst = ctx->drv_handle;
378 struct vb2_v4l2_buffer *vb2_v4l2;
379 struct vdec_h264_slice_share_info *share_info = lat_buf->private_data;
380 struct mtk_vcodec_mem *mem;
381
382 mtk_vcodec_debug(inst, "[h264-core] vdec_h264 core decode");
383 memcpy(&inst->vsi_core->h264_slice_params, &share_info->h264_slice_params,
384 sizeof(share_info->h264_slice_params));
385 fb = ctx->dev->vdec_pdata->get_cap_buffer(ctx);
386 vpu = &inst->vpu;
387 dst_buf_info = container_of(fb, struct mtk_video_dec_buf, frame_buffer);
> 388 vdec_fb_va = (u64)fb;
389 y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0;
390
391 if (ctx->q_data[MTK_Q_DATA_DST].fmt->num_planes == 1)
392 c_fb_dma =
393 y_fb_dma + inst->ctx->picinfo.buf_w * inst->ctx->picinfo.buf_h;
394 else
395 c_fb_dma = fb ? (u64)fb->base_c.dma_addr : 0;
396
397 mtk_vcodec_debug(inst, "[h264-core] y/c addr = 0x%x 0x%x", y_fb_dma,
398 c_fb_dma);
399
400 inst->vsi_core->dec.y_fb_dma = y_fb_dma;
401 inst->vsi_core->dec.c_fb_dma = c_fb_dma;
402 inst->vsi_core->dec.vdec_fb_va = vdec_fb_va;
403 inst->vsi_core->dec.nal_info = share_info->nal_info;
404 inst->vsi_core->wdma_start_addr =
405 lat_buf->ctx->msg_queue.wdma_addr.dma_addr;
406 inst->vsi_core->wdma_end_addr =
407 lat_buf->ctx->msg_queue.wdma_addr.dma_addr +
408 lat_buf->ctx->msg_queue.wdma_addr.size;
409 inst->vsi_core->wdma_err_addr = lat_buf->wdma_err_addr.dma_addr;
410 inst->vsi_core->slice_bc_start_addr = lat_buf->slice_bc_addr.dma_addr;
411 inst->vsi_core->slice_bc_end_addr = lat_buf->slice_bc_addr.dma_addr +
412 lat_buf->slice_bc_addr.size;
413 inst->vsi_core->trans_start = share_info->trans_start;
414 inst->vsi_core->trans_end = share_info->trans_end;
415 for (i = 0; i < H264_MAX_MV_NUM; i++) {
416 mem = &inst->mv_buf[i];
417 inst->vsi_core->mv_buf_dma[i] = mem->dma_addr;
418 }
419
420 vb2_v4l2 = v4l2_m2m_next_dst_buf(ctx->m2m_ctx);
421
422 vb2_v4l2->vb2_buf.timestamp = lat_buf->ts_info.vb2_buf.timestamp;
423 vb2_v4l2->timecode = lat_buf->ts_info.timecode;
424 vb2_v4l2->field = lat_buf->ts_info.field;
425 vb2_v4l2->flags = lat_buf->ts_info.flags;
426 vb2_v4l2->vb2_buf.copied_timestamp =
427 lat_buf->ts_info.vb2_buf.copied_timestamp;
428
429 vdec_h264_slice_fill_decode_reflist(inst,
430 &inst->vsi_core->h264_slice_params, share_info);
431
432 err = vpu_dec_core(vpu);
433 if (err) {
434 dec_err = 1;
435 mtk_vcodec_err(inst, "core decode err=%d", err);
436 goto vdec_dec_end;
437 } else {
438 dec_err = 0;
439 }
440
441 /* wait decoder done interrupt */
442 timeout = mtk_vcodec_wait_for_core_done_ctx(
443 inst->ctx, MTK_INST_IRQ_RECEIVED, WAIT_INTR_TIMEOUT_MS);
444 if (timeout)
445 mtk_vcodec_err(inst, "core decode timeout: pic_%d",
446 ctx->decoded_frame_cnt);
447 inst->vsi_core->dec.timeout = !!timeout;
448
449 vpu_dec_core_end(vpu);
450
451 mtk_vcodec_debug(inst, "y_crc: 0x%x 0x%x 0x%x 0x%x",
452 inst->vsi_core->dec.crc[0],
453 inst->vsi_core->dec.crc[1],
454 inst->vsi_core->dec.crc[2],
455 inst->vsi_core->dec.crc[3]);
456
457 mtk_vcodec_debug(inst, "c_crc: 0x%x 0x%x 0x%x 0x%x",
458 inst->vsi_core->dec.crc[4],
459 inst->vsi_core->dec.crc[5],
460 inst->vsi_core->dec.crc[6],
461 inst->vsi_core->dec.crc[7]);
462
463 vdec_dec_end:
464 vdec_msg_queue_update_ube_rptr(&lat_buf->ctx->msg_queue,
465 inst->vsi_core->trans_end);
466 ctx->dev->vdec_pdata->cap_to_disp(ctx, fb, dec_err);
467 mtk_vcodec_debug(inst, "core decode done err=%d", err);
468 ctx->decoded_frame_cnt++;
469
470 return 0;
471 }
472
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
1 year, 5 months