Re: [PATCH v2] tpm: ibmvtpm: Make use of dma_alloc_noncoherent()
by kernel test robot
Hi Cai,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on powerpc/next]
[also build test ERROR on v5.15 next-20211112]
[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/Cai-Huoqing/tpm-ibmvtpm-Make-use...
base: https://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git next
config: powerpc64-randconfig-r026-20211027 (attached as .config)
compiler: powerpc64-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/8ef2c12d78e4782c08edad10706785961...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Cai-Huoqing/tpm-ibmvtpm-Make-use-of-dma_alloc_noncoherent/20211012-112627
git checkout 8ef2c12d78e4782c08edad107067859612cdb39e
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=powerpc SHELL=/bin/bash
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 >>):
drivers/char/tpm/tpm_ibmvtpm.c: In function 'tpm_ibmvtpm_remove':
>> drivers/char/tpm/tpm_ibmvtpm.c:359:62: error: 'crq_q' undeclared (first use in this function)
359 | dma_free_noncoherent(ibmvtpm->dev, CRQ_RES_BUF_SIZE, crq_q->crq_addr,
| ^~~~~
drivers/char/tpm/tpm_ibmvtpm.c:359:62: note: each undeclared identifier is reported only once for each function it appears in
drivers/char/tpm/tpm_ibmvtpm.c: In function 'tpm_ibmvtpm_probe':
>> drivers/char/tpm/tpm_ibmvtpm.c:690:51: error: 'struct ibmvtpm_crq_queue' has no member named 'crq_dma_handle'
690 | crq_q->crq_dma_handle, DMA_BIDIRECTIONAL);
| ^~
vim +/crq_q +359 drivers/char/tpm/tpm_ibmvtpm.c
336
337 /**
338 * tpm_ibmvtpm_remove - ibm vtpm remove entry point
339 * @vdev: vio device struct
340 *
341 * Return: Always 0.
342 */
343 static void tpm_ibmvtpm_remove(struct vio_dev *vdev)
344 {
345 struct tpm_chip *chip = dev_get_drvdata(&vdev->dev);
346 struct ibmvtpm_dev *ibmvtpm = dev_get_drvdata(&chip->dev);
347 int rc = 0;
348
349 tpm_chip_unregister(chip);
350
351 free_irq(vdev->irq, ibmvtpm);
352
353 do {
354 if (rc)
355 msleep(100);
356 rc = plpar_hcall_norets(H_FREE_CRQ, vdev->unit_address);
357 } while (rc == H_BUSY || H_IS_LONG_BUSY(rc));
358
> 359 dma_free_noncoherent(ibmvtpm->dev, CRQ_RES_BUF_SIZE, crq_q->crq_addr,
360 crq_q->crq_dma_handle, DMA_BIDIRECTIONAL);
361
362 if (ibmvtpm->rtce_buf)
363 dma_free_noncoherent(ibmvtpm->dev,
364 ibmvtpm->rtce_size, ibmvtpm->rtce_buf,
365 ibmvtpm->rtce_dma_handle, DMA_BIDIRECTIONAL);
366
367 kfree(ibmvtpm);
368 /* For tpm_ibmvtpm_get_desired_dma */
369 dev_set_drvdata(&vdev->dev, NULL);
370 }
371
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[intel-lts:4.19/preempt-rt 5/10] kernel/sched/fair.c:6190:54: error: 'struct task_struct' has no member named 'cpus_allowed'; did you mean 'nr_cpus_allowed'?
by kernel test robot
tree: https://github.com/intel/linux-intel-lts.git 4.19/preempt-rt
head: 5869b5f01603be1b382db99b966071ac9d840daf
commit: cc00a48f20c9ce3f9ae449e55dfdf9fb976ecee1 [5/10] Merge tag 'lts-v4.19.195-base-210628T072840Z' into lts2019/yocto-rt
config: ia64-allmodconfig (attached as .config)
compiler: ia64-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/intel/linux-intel-lts/commit/cc00a48f20c9ce3f9ae449e55...
git remote add intel-lts https://github.com/intel/linux-intel-lts.git
git fetch --no-tags intel-lts 4.19/preempt-rt
git checkout cc00a48f20c9ce3f9ae449e55dfdf9fb976ecee1
# save the attached .config to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross O=build_dir ARCH=ia64 SHELL=/bin/bash kernel/sched/
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the intel-lts/4.19/preempt-rt HEAD 5869b5f01603be1b382db99b966071ac9d840daf builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
kernel/sched/fair.c:3656:6: warning: no previous prototype for 'sync_entity_load_avg' [-Wmissing-prototypes]
3656 | void sync_entity_load_avg(struct sched_entity *se)
| ^~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c:3669:6: warning: no previous prototype for 'remove_entity_load_avg' [-Wmissing-prototypes]
3669 | void remove_entity_load_avg(struct sched_entity *se)
| ^~~~~~~~~~~~~~~~~~~~~~
kernel/sched/fair.c: In function 'select_idle_cpu':
>> kernel/sched/fair.c:6190:54: error: 'struct task_struct' has no member named 'cpus_allowed'; did you mean 'nr_cpus_allowed'?
6190 | cpumask_and(cpus, sched_domain_span(sd), &p->cpus_allowed);
| ^~~~~~~~~~~~
| nr_cpus_allowed
kernel/sched/fair.c: In function 'update_blocked_averages':
kernel/sched/fair.c:7499:14: warning: variable 'done' set but not used [-Wunused-but-set-variable]
7499 | bool done = true;
| ^~~~
Kconfig warnings: (for reference only)
WARNING: unmet direct dependencies detected for FRAME_POINTER
Depends on DEBUG_KERNEL && (M68K || UML || SUPERH) || ARCH_WANT_FRAME_POINTERS
Selected by
- FAULT_INJECTION_STACKTRACE_FILTER && FAULT_INJECTION_DEBUG_FS && STACKTRACE_SUPPORT && !X86_64 && !MIPS && !PPC && !S390 && !MICROBLAZE && !ARM_UNWIND && !ARC && !X86
vim +6190 kernel/sched/fair.c
10e2f1acd0106c Peter Zijlstra 2016-05-09 6151
10e2f1acd0106c Peter Zijlstra 2016-05-09 6152 /*
10e2f1acd0106c Peter Zijlstra 2016-05-09 6153 * Scan the LLC domain for idle CPUs; this is dynamically regulated by
10e2f1acd0106c Peter Zijlstra 2016-05-09 6154 * comparing the average scan cost (tracked in sd->avg_scan_cost) against the
10e2f1acd0106c Peter Zijlstra 2016-05-09 6155 * average idle time for this rq (as found in rq->avg_idle).
10e2f1acd0106c Peter Zijlstra 2016-05-09 6156 */
10e2f1acd0106c Peter Zijlstra 2016-05-09 6157 static int select_idle_cpu(struct task_struct *p, struct sched_domain *sd, int target)
10e2f1acd0106c Peter Zijlstra 2016-05-09 6158 {
b5cd7f229609cf Cheng Jian 2019-12-13 6159 struct cpumask *cpus = this_cpu_cpumask_var_ptr(select_idle_mask);
9cfb38a7ba5a9c Wanpeng Li 2016-10-09 6160 struct sched_domain *this_sd;
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6161 u64 avg_cost, avg_idle;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6162 u64 time, cost;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6163 s64 delta;
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6164 int cpu, nr = INT_MAX;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6165
9cfb38a7ba5a9c Wanpeng Li 2016-10-09 6166 this_sd = rcu_dereference(*this_cpu_ptr(&sd_llc));
9cfb38a7ba5a9c Wanpeng Li 2016-10-09 6167 if (!this_sd)
9cfb38a7ba5a9c Wanpeng Li 2016-10-09 6168 return -1;
9cfb38a7ba5a9c Wanpeng Li 2016-10-09 6169
10e2f1acd0106c Peter Zijlstra 2016-05-09 6170 /*
10e2f1acd0106c Peter Zijlstra 2016-05-09 6171 * Due to large variance we need a large fuzz factor; hackbench in
10e2f1acd0106c Peter Zijlstra 2016-05-09 6172 * particularly is sensitive here.
10e2f1acd0106c Peter Zijlstra 2016-05-09 6173 */
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6174 avg_idle = this_rq()->avg_idle / 512;
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6175 avg_cost = this_sd->avg_scan_cost + 1;
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6176
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6177 if (sched_feat(SIS_AVG_CPU) && avg_idle < avg_cost)
10e2f1acd0106c Peter Zijlstra 2016-05-09 6178 return -1;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6179
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6180 if (sched_feat(SIS_PROP)) {
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6181 u64 span_avg = sd->span_weight * avg_idle;
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6182 if (span_avg > 4*avg_cost)
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6183 nr = div_u64(span_avg, avg_cost);
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6184 else
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6185 nr = 4;
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6186 }
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6187
10e2f1acd0106c Peter Zijlstra 2016-05-09 6188 time = local_clock();
10e2f1acd0106c Peter Zijlstra 2016-05-09 6189
b5cd7f229609cf Cheng Jian 2019-12-13 @6190 cpumask_and(cpus, sched_domain_span(sd), &p->cpus_allowed);
b5cd7f229609cf Cheng Jian 2019-12-13 6191
b5cd7f229609cf Cheng Jian 2019-12-13 6192 for_each_cpu_wrap(cpu, cpus, target) {
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6193 if (!--nr)
1ad3aaf3fcd244 Peter Zijlstra 2017-05-17 6194 return -1;
943d355d7feef3 Rohit Jain 2018-05-09 6195 if (available_idle_cpu(cpu))
10e2f1acd0106c Peter Zijlstra 2016-05-09 6196 break;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6197 }
10e2f1acd0106c Peter Zijlstra 2016-05-09 6198
10e2f1acd0106c Peter Zijlstra 2016-05-09 6199 time = local_clock() - time;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6200 cost = this_sd->avg_scan_cost;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6201 delta = (s64)(time - cost) / 8;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6202 this_sd->avg_scan_cost += delta;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6203
10e2f1acd0106c Peter Zijlstra 2016-05-09 6204 return cpu;
10e2f1acd0106c Peter Zijlstra 2016-05-09 6205 }
10e2f1acd0106c Peter Zijlstra 2016-05-09 6206
:::::: The code at line 6190 was first introduced by commit
:::::: b5cd7f229609cf328664aedb056a6fd744e0068b sched/fair: Optimize select_idle_cpu
:::::: TO: Cheng Jian <cj.chengjian(a)huawei.com>
:::::: CC: Greg Kroah-Hartman <gregkh(a)linuxfoundation.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[rmk-arm:zii 42/102] drivers/net/phy/phylink.c:322:10: error: enumeration value 'PHY_INTERFACE_MODE_MOCA' not handled in switch
by kernel test robot
tree: git://git.armlinux.org.uk/~rmk/linux-arm zii
head: 2f38af1897a020adf10ab01d8dc20ea8388b564d
commit: 2dbb449e3e2fdf89a2495c29655bde644d42e59b [42/102] net: phylink: add generic validate implementation
config: arm-buildonly-randconfig-r002-20211112 (attached as .config)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project c3dddeeafb529e769cde87bd29ef6271ac6bfa5c)
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
git remote add rmk-arm git://git.armlinux.org.uk/~rmk/linux-arm
git fetch --no-tags rmk-arm zii
git checkout 2dbb449e3e2fdf89a2495c29655bde644d42e59b
# 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 >>):
>> drivers/net/phy/phylink.c:322:10: error: enumeration value 'PHY_INTERFACE_MODE_MOCA' not handled in switch [-Werror,-Wswitch]
switch (interface) {
^~~~~~~~~
1 error generated.
vim +/PHY_INTERFACE_MODE_MOCA +322 drivers/net/phy/phylink.c
306
307 /**
308 * phylink_get_linkmodes() - get acceptable link modes
309 * @linkmodes: ethtool linkmode mask (must be already initialised)
310 * @interface: phy interface mode defined by &typedef phy_interface_t
311 * @mac_capabilities: bitmask of MAC capabilities
312 *
313 * Set all possible pause, speed and duplex linkmodes in @linkmodes that
314 * are supported by the @interface mode and @mac_capabilities. @linkmodes
315 * must have been initialised previously.
316 */
317 void phylink_get_linkmodes(unsigned long *linkmodes, phy_interface_t interface,
318 unsigned long mac_capabilities)
319 {
320 unsigned long caps = MAC_SYM_PAUSE | MAC_ASYM_PAUSE;
321
> 322 switch (interface) {
323 case PHY_INTERFACE_MODE_USXGMII:
324 caps |= MAC_10000FD | MAC_5000FD | MAC_2500FD;
325 fallthrough;
326
327 case PHY_INTERFACE_MODE_RGMII_TXID:
328 case PHY_INTERFACE_MODE_RGMII_RXID:
329 case PHY_INTERFACE_MODE_RGMII_ID:
330 case PHY_INTERFACE_MODE_RGMII:
331 case PHY_INTERFACE_MODE_QSGMII:
332 case PHY_INTERFACE_MODE_SGMII:
333 case PHY_INTERFACE_MODE_GMII:
334 caps |= MAC_1000HD | MAC_1000FD;
335 fallthrough;
336
337 case PHY_INTERFACE_MODE_REVRMII:
338 case PHY_INTERFACE_MODE_RMII:
339 case PHY_INTERFACE_MODE_REVMII:
340 case PHY_INTERFACE_MODE_MII:
341 caps |= MAC_10HD | MAC_10FD;
342 fallthrough;
343
344 case PHY_INTERFACE_MODE_100BASEX:
345 caps |= MAC_100HD | MAC_100FD;
346 break;
347
348 case PHY_INTERFACE_MODE_TBI:
349 case PHY_INTERFACE_MODE_RTBI:
350 case PHY_INTERFACE_MODE_1000BASEX:
351 caps |= MAC_1000HD;
352 fallthrough;
353 case PHY_INTERFACE_MODE_TRGMII:
354 caps |= MAC_1000FD;
355 break;
356
357 case PHY_INTERFACE_MODE_2500BASEX:
358 caps |= MAC_2500FD;
359 break;
360
361 case PHY_INTERFACE_MODE_5GBASER:
362 caps |= MAC_5000FD;
363 break;
364
365 case PHY_INTERFACE_MODE_XGMII:
366 case PHY_INTERFACE_MODE_RXAUI:
367 case PHY_INTERFACE_MODE_XAUI:
368 case PHY_INTERFACE_MODE_10GBASER:
369 case PHY_INTERFACE_MODE_10GKR:
370 caps |= MAC_10000FD;
371 break;
372
373 case PHY_INTERFACE_MODE_25GBASER:
374 caps |= MAC_25000FD;
375 break;
376
377 case PHY_INTERFACE_MODE_XLGMII:
378 caps |= MAC_40000FD;
379 break;
380
381 case PHY_INTERFACE_MODE_INTERNAL:
382 caps |= ~0;
383 break;
384
385 case PHY_INTERFACE_MODE_NA:
386 case PHY_INTERFACE_MODE_MAX:
387 case PHY_INTERFACE_MODE_SMII:
388 break;
389 }
390
391 phylink_caps_to_linkmodes(linkmodes, caps & mac_capabilities);
392 }
393 EXPORT_SYMBOL_GPL(phylink_get_linkmodes);
394
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:1148:33: error: variable 'priv' set but not used
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5833291ab6de9c3e2374336b51c814e515e8f3a5
commit: 167dac97eb46c7b8a15b2195080e191bb0c9ce35 drm/msm/dp: Modify prototype of encoder based API
date: 4 weeks ago
config: arm-allyesconfig (attached as .config)
compiler: arm-linux-gnueabi-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://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 167dac97eb46c7b8a15b2195080e191bb0c9ce35
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross 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 >>):
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c: In function 'dpu_encoder_virt_enable':
>> drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:1148:33: error: variable 'priv' set but not used [-Werror=unused-but-set-variable]
1148 | struct msm_drm_private *priv;
| ^~~~
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c: In function 'dpu_encoder_virt_disable':
drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c:1197:33: error: variable 'priv' set but not used [-Werror=unused-but-set-variable]
1197 | struct msm_drm_private *priv;
| ^~~~
cc1: all warnings being treated as errors
vim +/priv +1148 drivers/gpu/drm/msm/disp/dpu1/dpu_encoder.c
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1143
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1144 static void dpu_encoder_virt_enable(struct drm_encoder *drm_enc)
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1145 {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1146 struct dpu_encoder_virt *dpu_enc = NULL;
86b89080368b46 Jeykumar Sankaran 2018-09-05 1147 int ret = 0;
c943b4948b5848 Chandan Uddaraju 2020-08-27 @1148 struct msm_drm_private *priv;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1149 struct drm_display_mode *cur_mode = NULL;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1150
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1151 if (!drm_enc) {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1152 DPU_ERROR("invalid encoder\n");
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1153 return;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1154 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1155 dpu_enc = to_dpu_encoder_virt(drm_enc);
fba7427eb59496 Sean Paul 2018-11-16 1156
fba7427eb59496 Sean Paul 2018-11-16 1157 mutex_lock(&dpu_enc->enc_lock);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1158 cur_mode = &dpu_enc->base.crtc->state->adjusted_mode;
c943b4948b5848 Chandan Uddaraju 2020-08-27 1159 priv = drm_enc->dev->dev_private;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1160
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1161 trace_dpu_enc_enable(DRMID(drm_enc), cur_mode->hdisplay,
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1162 cur_mode->vdisplay);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1163
86b89080368b46 Jeykumar Sankaran 2018-09-05 1164 /* always enable slave encoder before master */
86b89080368b46 Jeykumar Sankaran 2018-09-05 1165 if (dpu_enc->cur_slave && dpu_enc->cur_slave->ops.enable)
86b89080368b46 Jeykumar Sankaran 2018-09-05 1166 dpu_enc->cur_slave->ops.enable(dpu_enc->cur_slave);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1167
86b89080368b46 Jeykumar Sankaran 2018-09-05 1168 if (dpu_enc->cur_master && dpu_enc->cur_master->ops.enable)
86b89080368b46 Jeykumar Sankaran 2018-09-05 1169 dpu_enc->cur_master->ops.enable(dpu_enc->cur_master);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1170
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1171 ret = dpu_encoder_resource_control(drm_enc, DPU_ENC_RC_EVENT_KICKOFF);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1172 if (ret) {
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1173 DPU_ERROR_ENC(dpu_enc, "dpu resource control failed: %d\n",
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1174 ret);
fba7427eb59496 Sean Paul 2018-11-16 1175 goto out;
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1176 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1177
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1178 _dpu_encoder_virt_enable_helper(drm_enc);
fba7427eb59496 Sean Paul 2018-11-16 1179
167dac97eb46c7 Bjorn Andersson 2021-10-16 1180 if (drm_enc->encoder_type == DRM_MODE_ENCODER_TMDS) {
167dac97eb46c7 Bjorn Andersson 2021-10-16 1181 ret = msm_dp_display_enable(dpu_enc->dp, drm_enc);
c943b4948b5848 Chandan Uddaraju 2020-08-27 1182 if (ret) {
c943b4948b5848 Chandan Uddaraju 2020-08-27 1183 DPU_ERROR_ENC(dpu_enc, "dp display enable failed: %d\n",
c943b4948b5848 Chandan Uddaraju 2020-08-27 1184 ret);
c943b4948b5848 Chandan Uddaraju 2020-08-27 1185 goto out;
c943b4948b5848 Chandan Uddaraju 2020-08-27 1186 }
c943b4948b5848 Chandan Uddaraju 2020-08-27 1187 }
fba7427eb59496 Sean Paul 2018-11-16 1188 dpu_enc->enabled = true;
fba7427eb59496 Sean Paul 2018-11-16 1189
fba7427eb59496 Sean Paul 2018-11-16 1190 out:
fba7427eb59496 Sean Paul 2018-11-16 1191 mutex_unlock(&dpu_enc->enc_lock);
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1192 }
25fdd5933e4c0f Jeykumar Sankaran 2018-06-27 1193
:::::: The code at line 1148 was first introduced by commit
:::::: c943b4948b5848fc0e07f875edbd35a973879e22 drm/msm/dp: add displayPort driver support
:::::: TO: Chandan Uddaraju <chandanu(a)codeaurora.org>
:::::: CC: Rob Clark <robdclark(a)chromium.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[freescale-fslc:5.10-2.1.x-imx 5408/15242] drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:150:5: warning: this 'else' clause does not guard...
by kernel test robot
Hi Sandor,
FYI, the error/warning still remains.
tree: https://github.com/Freescale/linux-fslc 5.10-2.1.x-imx
head: 3b81a70be1099d44fdafaa6766bf75a2bd9e297e
commit: fd6b9e1196cb2043cdd73a04477551353abba0e4 [5408/15242] MLK-25199-5: drm: bridge: mhdp_hdcp: add HDMI TX HDCP driver
config: sparc64-randconfig-p001-20210927 (attached as .config)
compiler: sparc64-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/Freescale/linux-fslc/commit/fd6b9e1196cb2043cdd73a0447...
git remote add freescale-fslc https://github.com/Freescale/linux-fslc
git fetch --no-tags freescale-fslc 5.10-2.1.x-imx
git checkout fd6b9e1196cb2043cdd73a04477551353abba0e4
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=sparc64
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/imx/imx-drm-core.c:46:6: warning: no previous prototype for 'imx_drm_encoder_destroy' [-Wmissing-prototypes]
46 | void imx_drm_encoder_destroy(struct drm_encoder *encoder)
| ^~~~~~~~~~~~~~~~~~~~~~~
--
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-common.c:156:5: warning: no previous prototype for 'mhdp_mailbox_read' [-Wmissing-prototypes]
156 | int mhdp_mailbox_read(struct cdns_mhdp_device *mhdp)
| ^~~~~~~~~~~~~~~~~
--
drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c: In function 'HDCPTX_Status_store':
>> drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:150:5: warning: this 'else' clause does not guard... [-Wmisleading-indentation]
150 | else
| ^~~~
drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:152:17: note: ...this statement, but the latter is misleadingly indented as if it were guarded by the 'else'
152 | return -1;
| ^~~~~~
drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c: At top level:
drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:304:6: warning: no previous prototype for 'cdns_hdmi_mode_set' [-Wmissing-prototypes]
304 | void cdns_hdmi_mode_set(struct cdns_mhdp_device *mhdp)
| ^~~~~~~~~~~~~~~~~~
drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c:607:6: warning: no previous prototype for 'cdns_hdmi_bridge_mode_fixup' [-Wmissing-prototypes]
607 | bool cdns_hdmi_bridge_mode_fixup(struct drm_bridge *bridge,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
--
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:155:5: warning: no previous prototype for 'cdns_mhdp_hdcp_tx_config' [-Wmissing-prototypes]
155 | int cdns_mhdp_hdcp_tx_config(struct cdns_mhdp_device *mhdp, u8 config)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:162:5: warning: no previous prototype for 'cdns_mhdp_hdcp2_tx_respond_km' [-Wmissing-prototypes]
162 | int cdns_mhdp_hdcp2_tx_respond_km(struct cdns_mhdp_device *mhdp,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:170:5: warning: no previous prototype for 'cdns_mhdp_hdcp_tx_status_req' [-Wmissing-prototypes]
170 | int cdns_mhdp_hdcp_tx_status_req(struct cdns_mhdp_device *mhdp,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:196:5: warning: no previous prototype for 'cdns_mhdp_hdcp2_tx_is_km_stored_req' [-Wmissing-prototypes]
196 | int cdns_mhdp_hdcp2_tx_is_km_stored_req(struct cdns_mhdp_device *mhdp, u8 *data, u16 len)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:219:5: warning: no previous prototype for 'cdns_mhdp_hdcp2_tx_store_km' [-Wmissing-prototypes]
219 | int cdns_mhdp_hdcp2_tx_store_km(struct cdns_mhdp_device *mhdp,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:241:5: warning: no previous prototype for 'cdns_mhdp_hdcp_tx_is_receiver_id_valid' [-Wmissing-prototypes]
241 | int cdns_mhdp_hdcp_tx_is_receiver_id_valid(struct cdns_mhdp_device *mhdp,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:287:5: warning: no previous prototype for 'cdns_mhdp_hdcp_tx_respond_receiver_id_valid' [-Wmissing-prototypes]
287 | int cdns_mhdp_hdcp_tx_respond_receiver_id_valid(
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/gpu/drm/bridge/cadence/cdns-mhdp-hdcp.c:295:5: warning: no previous prototype for 'cdns_mhdp_hdcp_tx_reauth' [-Wmissing-prototypes]
295 | int cdns_mhdp_hdcp_tx_reauth(struct cdns_mhdp_device *mhdp, u8 msg)
| ^~~~~~~~~~~~~~~~~~~~~~~~
--
drivers/gpu/drm/bridge/cadence/cdns-hdmi-hdcp.c: In function 'hdmi_hdcp_set_config':
>> drivers/gpu/drm/bridge/cadence/cdns-hdmi-hdcp.c:225:24: warning: variable 'retEvents' set but not used [-Wunused-but-set-variable]
225 | u8 bus_config, retEvents;
| ^~~~~~~~~
drivers/gpu/drm/bridge/cadence/cdns-hdmi-hdcp.c: In function 'hdmi_hdcp_check_receviers':
>> drivers/gpu/drm/bridge/cadence/cdns-hdmi-hdcp.c:329:20: warning: variable 'events' set but not used [-Wunused-but-set-variable]
329 | u8 events = 0;
| ^~~~~~
drivers/gpu/drm/bridge/cadence/cdns-hdmi-hdcp.c: At top level:
>> drivers/gpu/drm/bridge/cadence/cdns-hdmi-hdcp.c:871:6: warning: no previous prototype for 'hdmi_hdcp_dump_pairing' [-Wmissing-prototypes]
871 | void hdmi_hdcp_dump_pairing(struct seq_file *s, void *data)
| ^~~~~~~~~~~~~~~~~~~~~~
vim +/else +150 drivers/gpu/drm/bridge/cadence/cdns-hdmi-core.c
116
117 ssize_t HDCPTX_Status_store(struct device *dev,
118 struct device_attribute *attr, const char *buf, size_t count)
119 {
120 struct cdns_mhdp_device *mhdp = dev_get_drvdata(dev);
121 int value;
122
123 if (count == 2) {
124 sscanf(buf, "%d", &value);
125 if ((value >= HDCP_STATE_NO_AKSV) && (value <= HDCP_STATE_AUTH_FAILED)) {
126 mhdp->hdcp.state = value;
127 return count;
128 } else {
129 dev_err(dev, "%s &hdp->state invalid\n", __func__);
130 return -1;
131 }
132 }
133
134 dev_info(dev, "%s &hdp->state desired %s count=%d\n ", __func__, buf, (int)count);
135
136 if (strncmp(buf, "HDCP_STATE_NO_AKSV", count - 1) == 0)
137 mhdp->hdcp.state = HDCP_STATE_NO_AKSV;
138 else if (strncmp(buf, "HDCP_STATE_INACTIVE", count - 1) == 0)
139 mhdp->hdcp.state = HDCP_STATE_INACTIVE;
140 else if (strncmp(buf, "HDCP_STATE_ENABLING", count - 1) == 0)
141 mhdp->hdcp.state = HDCP_STATE_ENABLING;
142 else if (strncmp(buf, "HDCP_STATE_AUTHENTICATING", count - 1) == 0)
143 mhdp->hdcp.state = HDCP_STATE_AUTHENTICATING;
144 else if (strncmp(buf, "HDCP_STATE_AUTHENTICATED", count - 1) == 0)
145 mhdp->hdcp.state = HDCP_STATE_AUTHENTICATED;
146 else if (strncmp(buf, "HDCP_STATE_DISABLING", count - 1) == 0)
147 mhdp->hdcp.state = HDCP_STATE_DISABLING;
148 else if (strncmp(buf, "HDCP_STATE_AUTH_FAILED", count - 1) == 0)
149 mhdp->hdcp.state = HDCP_STATE_AUTH_FAILED;
> 150 else
151 dev_err(dev, "%s &hdp->state invalid\n", __func__);
152 return -1;
153 return count;
154 }
155
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[ti:ti-linux-5.10.y 7172/9762] drivers/media/pci/intel/ipu3/ipu3-cio2.c:983:27: error: passing argument 1 of 'media_pipeline_start' from incompatible pointer type
by kernel test robot
Hi Sakari,
FYI, the error/warning still remains.
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-linux-5.10.y
head: 6baa440211758789c37226e1b7ca154ce90f8be8
commit: d42003cd0440e21c8940801e58ba2aabf3dc13b6 [7172/9762] media: entity: Use pad as the starting point for a pipeline
config: i386-allyesconfig (attached as .config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-linux-5.10.y
git checkout d42003cd0440e21c8940801e58ba2aabf3dc13b6
# save the attached .config to linux build tree
make W=1 ARCH=i386
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 >>):
drivers/media/pci/intel/ipu3/ipu3-cio2.c: In function 'cio2_vb2_start_streaming':
>> drivers/media/pci/intel/ipu3/ipu3-cio2.c:983:27: error: passing argument 1 of 'media_pipeline_start' from incompatible pointer type [-Werror=incompatible-pointer-types]
983 | r = media_pipeline_start(&q->vdev.entity, &q->pipe);
| ^~~~~~~~~~~~~~~
| |
| struct media_entity *
In file included from include/media/media-device.h:18,
from include/media/media-request.h:20,
from include/media/v4l2-ctrls.h:14,
from drivers/media/pci/intel/ipu3/ipu3-cio2.c:23:
include/media/media-entity.h:948:57: note: expected 'struct media_pad *' but argument is of type 'struct media_entity *'
948 | __must_check int media_pipeline_start(struct media_pad *pad,
| ~~~~~~~~~~~~~~~~~~^~~
>> drivers/media/pci/intel/ipu3/ipu3-cio2.c:1003:22: error: passing argument 1 of 'media_pipeline_stop' from incompatible pointer type [-Werror=incompatible-pointer-types]
1003 | media_pipeline_stop(&q->vdev.entity);
| ^~~~~~~~~~~~~~~
| |
| struct media_entity *
In file included from include/media/media-device.h:18,
from include/media/media-request.h:20,
from include/media/v4l2-ctrls.h:14,
from drivers/media/pci/intel/ipu3/ipu3-cio2.c:23:
include/media/media-entity.h:972:44: note: expected 'struct media_pad *' but argument is of type 'struct media_entity *'
972 | void media_pipeline_stop(struct media_pad *pad);
| ~~~~~~~~~~~~~~~~~~^~~
drivers/media/pci/intel/ipu3/ipu3-cio2.c: In function 'cio2_vb2_stop_streaming':
drivers/media/pci/intel/ipu3/ipu3-cio2.c:1024:22: error: passing argument 1 of 'media_pipeline_stop' from incompatible pointer type [-Werror=incompatible-pointer-types]
1024 | media_pipeline_stop(&q->vdev.entity);
| ^~~~~~~~~~~~~~~
| |
| struct media_entity *
In file included from include/media/media-device.h:18,
from include/media/media-request.h:20,
from include/media/v4l2-ctrls.h:14,
from drivers/media/pci/intel/ipu3/ipu3-cio2.c:23:
include/media/media-entity.h:972:44: note: expected 'struct media_pad *' but argument is of type 'struct media_entity *'
972 | void media_pipeline_stop(struct media_pad *pad);
| ~~~~~~~~~~~~~~~~~~^~~
cc1: some warnings being treated as errors
vim +/media_pipeline_start +983 drivers/media/pci/intel/ipu3/ipu3-cio2.c
c2a6a07afe4a46 Yong Zhi 2017-11-08 966
c2a6a07afe4a46 Yong Zhi 2017-11-08 967 static int cio2_vb2_start_streaming(struct vb2_queue *vq, unsigned int count)
c2a6a07afe4a46 Yong Zhi 2017-11-08 968 {
c2a6a07afe4a46 Yong Zhi 2017-11-08 969 struct cio2_queue *q = vb2q_to_cio2_queue(vq);
c2a6a07afe4a46 Yong Zhi 2017-11-08 970 struct cio2_device *cio2 = vb2_get_drv_priv(vq);
c2a6a07afe4a46 Yong Zhi 2017-11-08 971 int r;
c2a6a07afe4a46 Yong Zhi 2017-11-08 972
c2a6a07afe4a46 Yong Zhi 2017-11-08 973 cio2->cur_queue = q;
c2a6a07afe4a46 Yong Zhi 2017-11-08 974 atomic_set(&q->frame_sequence, 0);
c2a6a07afe4a46 Yong Zhi 2017-11-08 975
c2a6a07afe4a46 Yong Zhi 2017-11-08 976 r = pm_runtime_get_sync(&cio2->pci_dev->dev);
c2a6a07afe4a46 Yong Zhi 2017-11-08 977 if (r < 0) {
c2a6a07afe4a46 Yong Zhi 2017-11-08 978 dev_info(&cio2->pci_dev->dev, "failed to set power %d\n", r);
c2a6a07afe4a46 Yong Zhi 2017-11-08 979 pm_runtime_put_noidle(&cio2->pci_dev->dev);
c2a6a07afe4a46 Yong Zhi 2017-11-08 980 return r;
c2a6a07afe4a46 Yong Zhi 2017-11-08 981 }
c2a6a07afe4a46 Yong Zhi 2017-11-08 982
c2a6a07afe4a46 Yong Zhi 2017-11-08 @983 r = media_pipeline_start(&q->vdev.entity, &q->pipe);
c2a6a07afe4a46 Yong Zhi 2017-11-08 984 if (r)
c2a6a07afe4a46 Yong Zhi 2017-11-08 985 goto fail_pipeline;
c2a6a07afe4a46 Yong Zhi 2017-11-08 986
c2a6a07afe4a46 Yong Zhi 2017-11-08 987 r = cio2_hw_init(cio2, q);
c2a6a07afe4a46 Yong Zhi 2017-11-08 988 if (r)
c2a6a07afe4a46 Yong Zhi 2017-11-08 989 goto fail_hw;
c2a6a07afe4a46 Yong Zhi 2017-11-08 990
c2a6a07afe4a46 Yong Zhi 2017-11-08 991 /* Start streaming on sensor */
c2a6a07afe4a46 Yong Zhi 2017-11-08 992 r = v4l2_subdev_call(q->sensor, video, s_stream, 1);
c2a6a07afe4a46 Yong Zhi 2017-11-08 993 if (r)
c2a6a07afe4a46 Yong Zhi 2017-11-08 994 goto fail_csi2_subdev;
c2a6a07afe4a46 Yong Zhi 2017-11-08 995
c2a6a07afe4a46 Yong Zhi 2017-11-08 996 cio2->streaming = true;
c2a6a07afe4a46 Yong Zhi 2017-11-08 997
c2a6a07afe4a46 Yong Zhi 2017-11-08 998 return 0;
c2a6a07afe4a46 Yong Zhi 2017-11-08 999
c2a6a07afe4a46 Yong Zhi 2017-11-08 1000 fail_csi2_subdev:
c2a6a07afe4a46 Yong Zhi 2017-11-08 1001 cio2_hw_exit(cio2, q);
c2a6a07afe4a46 Yong Zhi 2017-11-08 1002 fail_hw:
c2a6a07afe4a46 Yong Zhi 2017-11-08 @1003 media_pipeline_stop(&q->vdev.entity);
c2a6a07afe4a46 Yong Zhi 2017-11-08 1004 fail_pipeline:
c2a6a07afe4a46 Yong Zhi 2017-11-08 1005 dev_dbg(&cio2->pci_dev->dev, "failed to start streaming (%d)\n", r);
dcd80955a0a13d Yong Zhi 2018-01-03 1006 cio2_vb2_return_all_buffers(q, VB2_BUF_STATE_QUEUED);
c2a6a07afe4a46 Yong Zhi 2017-11-08 1007 pm_runtime_put(&cio2->pci_dev->dev);
c2a6a07afe4a46 Yong Zhi 2017-11-08 1008
c2a6a07afe4a46 Yong Zhi 2017-11-08 1009 return r;
c2a6a07afe4a46 Yong Zhi 2017-11-08 1010 }
c2a6a07afe4a46 Yong Zhi 2017-11-08 1011
:::::: The code at line 983 was first introduced by commit
:::::: c2a6a07afe4a466896c250cbb203657162b86f4b media: intel-ipu3: cio2: add new MIPI-CSI2 driver
:::::: TO: Yong Zhi <yong.zhi(a)intel.com>
:::::: CC: Mauro Carvalho Chehab <mchehab(a)s-opensource.com>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
mm/memory.c:709:25: sparse: sparse: cast to non-scalar
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 5833291ab6de9c3e2374336b51c814e515e8f3a5
commit: b756a3b5e7ead8f6f4b03cea8ac22478ce04c8a8 mm: device exclusive memory access
date: 4 months ago
config: alpha-randconfig-s032-20211103 (attached as .config)
compiler: alpha-linux-gcc (GCC) 11.2.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-dirty
# 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 b756a3b5e7ead8f6f4b03cea8ac22478ce04c8a8
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=alpha SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
sparse warnings: (new ones prefixed by >>)
>> mm/memory.c:709:25: sparse: sparse: cast to non-scalar
>> mm/memory.c:709:25: sparse: sparse: cast from non-scalar
mm/memory.c:1023:17: sparse: sparse: context imbalance in 'copy_pte_range' - different lock contexts for basic block
mm/memory.c:1736:16: sparse: sparse: context imbalance in '__get_locked_pte' - different lock contexts for basic block
mm/memory.c:1785:9: sparse: sparse: context imbalance in 'insert_page' - different lock contexts for basic block
mm/memory.c:2287:17: sparse: sparse: context imbalance in 'remap_pte_range' - different lock contexts for basic block
mm/memory.c:2543:17: sparse: sparse: context imbalance in 'apply_to_pte_range' - unexpected unlock
mm/memory.c:2831:17: sparse: sparse: context imbalance in 'wp_page_copy' - unexpected unlock
mm/memory.c:3180:17: sparse: sparse: context imbalance in 'wp_pfn_shared' - unexpected unlock
mm/memory.c:3243:19: sparse: sparse: context imbalance in 'do_wp_page' - different lock contexts for basic block
mm/memory.c: note: in included file (through include/linux/mm.h, arch/alpha/include/asm/io.h, include/linux/io.h, include/linux/irq.h, ...):
include/linux/pgtable.h:275:16: sparse: sparse: cast to non-scalar
include/linux/pgtable.h:275:16: sparse: sparse: cast from non-scalar
mm/memory.c:4874:5: sparse: sparse: context imbalance in 'follow_invalidate_pte' - different lock contexts for basic block
mm/memory.c:4995:9: sparse: sparse: context imbalance in 'follow_pfn' - unexpected unlock
vim +709 mm/memory.c
701
702 static void restore_exclusive_pte(struct vm_area_struct *vma,
703 struct page *page, unsigned long address,
704 pte_t *ptep)
705 {
706 pte_t pte;
707 swp_entry_t entry;
708
> 709 pte = pte_mkold(mk_pte(page, READ_ONCE(vma->vm_page_prot)));
710 if (pte_swp_soft_dirty(*ptep))
711 pte = pte_mksoft_dirty(pte);
712
713 entry = pte_to_swp_entry(*ptep);
714 if (pte_swp_uffd_wp(*ptep))
715 pte = pte_mkuffd_wp(pte);
716 else if (is_writable_device_exclusive_entry(entry))
717 pte = maybe_mkwrite(pte_mkdirty(pte), vma);
718
719 set_pte_at(vma->vm_mm, address, ptep, pte);
720
721 /*
722 * No need to take a page reference as one was already
723 * created when the swap entry was made.
724 */
725 if (PageAnon(page))
726 page_add_anon_rmap(page, vma, address, false);
727 else
728 /*
729 * Currently device exclusive access only supports anonymous
730 * memory so the entry shouldn't point to a filebacked page.
731 */
732 WARN_ON_ONCE(!PageAnon(page));
733
734 if (vma->vm_flags & VM_LOCKED)
735 mlock_vma_page(page);
736
737 /*
738 * No need to invalidate - it was non-present before. However
739 * secondary CPUs may have mappings that need invalidating.
740 */
741 update_mmu_cache(vma, address, ptep);
742 }
743
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week
[kabel:net-queue-work 83/83] drivers/net/phy/mdio_debugfs.c:43:5: error: no previous prototype for 'mdiobus_register_debugfs'
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/kabel/linux.git net-queue-work
head: c87c6f80c5fd6c1175c9c513933f95fdd0ad9959
commit: c87c6f80c5fd6c1175c9c513933f95fdd0ad9959 [83/83] net: mdiobus: add support to access PHY registers via debugfs [*not for mainline*]
config: s390-allmodconfig (attached as .config)
compiler: s390-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://git.kernel.org/pub/scm/linux/kernel/git/kabel/linux.git/commit/?i...
git remote add kabel https://git.kernel.org/pub/scm/linux/kernel/git/kabel/linux.git
git fetch --no-tags kabel net-queue-work
git checkout c87c6f80c5fd6c1175c9c513933f95fdd0ad9959
# save the attached .config to linux build tree
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross 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 >>):
>> drivers/net/phy/mdio_debugfs.c:43:5: error: no previous prototype for 'mdiobus_register_debugfs' [-Werror=missing-prototypes]
43 | int mdiobus_register_debugfs(struct mii_bus *bus)
| ^~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/phy/mdio_debugfs.c:65:6: error: no previous prototype for 'mdiobus_unregister_debugfs' [-Werror=missing-prototypes]
65 | void mdiobus_unregister_debugfs(struct mii_bus *bus)
| ^~~~~~~~~~~~~~~~~~~~~~~~~~
>> drivers/net/phy/mdio_debugfs.c:76:5: error: no previous prototype for 'mdiobus_debugfs_init' [-Werror=missing-prototypes]
76 | int mdiobus_debugfs_init(void)
| ^~~~~~~~~~~~~~~~~~~~
>> drivers/net/phy/mdio_debugfs.c:89:6: error: no previous prototype for 'mdiobus_debugfs_exit' [-Werror=missing-prototypes]
89 | void mdiobus_debugfs_exit(void)
| ^~~~~~~~~~~~~~~~~~~~
cc1: all warnings being treated as errors
vim +/mdiobus_register_debugfs +43 drivers/net/phy/mdio_debugfs.c
42
> 43 int mdiobus_register_debugfs(struct mii_bus *bus)
44 {
45 struct dentry *dir, *entry;
46
47 dir = debugfs_create_dir(dev_name(&bus->dev), mdiobus_dentry);
48 if (IS_ERR(dir))
49 return PTR_ERR(dir);
50
51 debugfs_create_u32("addr", 0600, dir, &bus->debug_addr);
52 debugfs_create_u32("reg", 0600, dir, &bus->debug_reg);
53
54 entry = debugfs_create_file_unsafe("val", 0600, dir, bus, &val_fops);
55 if (IS_ERR(entry))
56 goto fail;
57
58 return 0;
59
60 fail:
61 debugfs_remove_recursive(dir);
62 return PTR_ERR(entry);
63 }
64
> 65 void mdiobus_unregister_debugfs(struct mii_bus *bus)
66 {
67 struct dentry *dir;
68
69 dir = debugfs_lookup(dev_name(&bus->dev), mdiobus_dentry);
70 if (!dir)
71 return;
72
73 debugfs_remove_recursive(dir);
74 }
75
> 76 int mdiobus_debugfs_init(void)
77 {
78 struct dentry *dentry;
79
80 dentry = debugfs_create_dir("mdio_bus", NULL);
81 if (IS_ERR(dentry))
82 return PTR_ERR(dentry);
83
84 mdiobus_dentry = dentry;
85
86 return 0;
87 }
88
> 89 void mdiobus_debugfs_exit(void)
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
10 months, 1 week