drivers/remoteproc/qcom_common.c:126:27: sparse: sparse: restricted __le32 degrades to integer
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head: 6f513529296fd4f696afb4354c46508abe646541
commit: 8ed8485c4f056d488d17a2b56581c86aeb42955d remoteproc: qcom: Add capability to collect minidumps
date: 1 year ago
config: arm-allyesconfig (https://download.01.org/0day-ci/archive/20211212/202112120130.DAViXMnZ-lk...)
compiler: arm-linux-gnueabi-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 8ed8485c4f056d488d17a2b56581c86aeb42955d
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' O=build_dir ARCH=arm SHELL=/bin/bash arch/arm/mach-imx/ arch/arm/mach-mvebu/ arch/arm/mach-rockchip/ arch/arm/mach-socfpga/ arch/arm/mach-tegra/ drivers/dma/ drivers/edac/ drivers/gpu/drm/msm/ drivers/gpu/drm/tegra/ drivers/interconnect/qcom/ drivers/irqchip/ drivers/mtd/nand/onenand/ drivers/net/ethernet/mediatek/ drivers/net/vmxnet3/ drivers/net/wireless/mediatek/mt76/mt7915/ drivers/remoteproc/ drivers/scsi/bnx2fc/ drivers/scsi/lpfc/ drivers/soc/bcm/brcmstb/pm/ drivers/staging/ fs/proc/ net/sched/
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 >>)
>> drivers/remoteproc/qcom_common.c:126:27: sparse: sparse: restricted __le32 degrades to integer
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast to restricted __le32
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast from restricted __le64
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast to restricted __le32
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast from restricted __le64
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast to restricted __le32
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast from restricted __le64
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast to restricted __le32
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast from restricted __le64
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast to restricted __le32
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast from restricted __le64
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast to restricted __le32
>> drivers/remoteproc/qcom_common.c:133:32: sparse: sparse: cast from restricted __le64
vim +126 drivers/remoteproc/qcom_common.c
103
104 static int qcom_add_minidump_segments(struct rproc *rproc, struct minidump_subsystem *subsystem)
105 {
106 struct minidump_region __iomem *ptr;
107 struct minidump_region region;
108 int seg_cnt, i;
109 dma_addr_t da;
110 size_t size;
111 char *name;
112
113 if (WARN_ON(!list_empty(&rproc->dump_segments))) {
114 dev_err(&rproc->dev, "dump segment list already populated\n");
115 return -EUCLEAN;
116 }
117
118 seg_cnt = le32_to_cpu(subsystem->region_count);
119 ptr = ioremap((unsigned long)le64_to_cpu(subsystem->regions_baseptr),
120 seg_cnt * sizeof(struct minidump_region));
121 if (!ptr)
122 return -EFAULT;
123
124 for (i = 0; i < seg_cnt; i++) {
125 memcpy_fromio(®ion, ptr + i, sizeof(region));
> 126 if (region.valid == MD_REGION_VALID) {
127 name = kstrdup(region.name, GFP_KERNEL);
128 if (!name) {
129 iounmap(ptr);
130 return -ENOMEM;
131 }
132 da = le64_to_cpu(region.address);
> 133 size = le32_to_cpu(region.size);
134 rproc_coredump_add_custom_segment(rproc, da, size, NULL, name);
135 }
136 }
137
138 iounmap(ptr);
139 return 0;
140 }
141
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[drm-intel:topic/core-for-CI 16/25] arch/powerpc/platforms/embedded6xx/Kconfig:2:error: recursive dependency detected!
by kernel test robot
tree: git://anongit.freedesktop.org/drm-intel topic/core-for-CI
head: 4c82fd0506b4cc196a375d1200361fb0c5439acd
commit: b3acf17eafd473e6e8f8f7c5ec7040efaaff22b8 [16/25] Revert "drm/i915: Don't select BROKEN"
config: powerpc64-randconfig-r015-20211210
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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 powerpc64 cross compiling tool for clang build
# apt-get install binutils-powerpc-linux-gnu
git remote add drm-intel git://anongit.freedesktop.org/drm-intel
git fetch --no-tags drm-intel topic/core-for-CI
git checkout b3acf17eafd473e6e8f8f7c5ec7040efaaff22b8
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 ARCH=powerpc randconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang 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 >>):
>> arch/powerpc/platforms/embedded6xx/Kconfig:2:error: recursive dependency detected!
arch/powerpc/platforms/embedded6xx/Kconfig:2: symbol EMBEDDED6xx depends on BROKEN_ON_SMP
init/Kconfig:113: symbol BROKEN_ON_SMP depends on BROKEN
init/Kconfig:110: symbol BROKEN is selected by DRM_I915_DEBUG
drivers/gpu/drm/i915/Kconfig.debug:19: symbol DRM_I915_DEBUG depends on DRM_I915
drivers/gpu/drm/i915/Kconfig:2: symbol DRM_I915 depends on DRM
drivers/gpu/drm/Kconfig:8: symbol DRM depends on AGP
drivers/char/agp/Kconfig:2: symbol AGP depends on PCI
drivers/pci/Kconfig:16: symbol PCI depends on HAVE_PCI
drivers/pci/Kconfig:7: symbol HAVE_PCI is selected by FORCE_PCI
drivers/pci/Kconfig:11: symbol FORCE_PCI is selected by MVME5100
arch/powerpc/platforms/embedded6xx/Kconfig:51: symbol MVME5100 depends on EMBEDDED6xx
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"
vim +2 arch/powerpc/platforms/embedded6xx/Kconfig
a35e370cfd2ddf Arnd Bergmann 2007-08-30 @2 config EMBEDDED6xx
a35e370cfd2ddf Arnd Bergmann 2007-08-30 3 bool "Embedded 6xx/7xx/7xxx-based boards"
be34fff07c3755 Christophe Leroy 2018-11-17 4 depends on PPC_BOOK3S_32 && BROKEN_ON_SMP
14cf11af6cf608 Paul Mackerras 2005-09-26 5
:::::: The code at line 2 was first introduced by commit
:::::: a35e370cfd2ddfb5d2f0ceae376ffeda273b357c [POWERPC] Move embedded6xx into multiplatform
:::::: TO: Arnd Bergmann <arnd(a)arndb.de>
:::::: CC: Paul Mackerras <paulus(a)samba.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[hare-scsi-devel:ata-trace.v4 26/68] drivers/ata/pata_octeon_cf.c:602:30: error: passing argument 1 of 'trace_ata_bmdma_stop' from incompatible pointer type
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git ata-trace.v4
head: 543d0f43ed9c7b04ab463b52f2e59fd406b4bde8
commit: 8ed76dafadec5839199e8defee70cb3f92502818 [26/68] pata_octeon_cf: Drop pointless VPRINTK() calls and convert the remaining one
config: mips-cavium_octeon_defconfig (https://download.01.org/0day-ci/archive/20211212/202112120054.E4wkKfKu-lk...)
compiler: mips64-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/hare/scsi-devel.git/commi...
git remote add hare-scsi-devel https://git.kernel.org/pub/scm/linux/kernel/git/hare/scsi-devel.git
git fetch --no-tags hare-scsi-devel ata-trace.v4
git checkout 8ed76dafadec5839199e8defee70cb3f92502818
# 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=mips 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/ata/pata_octeon_cf.c: In function 'octeon_cf_dma_finished':
>> drivers/ata/pata_octeon_cf.c:602:30: error: passing argument 1 of 'trace_ata_bmdma_stop' from incompatible pointer type [-Werror=incompatible-pointer-types]
602 | trace_ata_bmdma_stop(qc, &qc->tf, qc->tag);
| ^~
| |
| struct ata_queued_cmd *
In file included from include/trace/events/libata.h:10,
from drivers/ata/pata_octeon_cf.c:22:
include/trace/events/libata.h:414:40: note: expected 'struct ata_port *' but argument is of type 'struct ata_queued_cmd *'
414 | TP_PROTO(struct ata_port *ap, const struct ata_taskfile *tf, unsigned int tag),
| ~~~~~~~~~~~~~~~~~^~
include/linux/tracepoint.h:342:41: note: in definition of macro '__DECLARE_TRACE'
342 | static inline void trace_##name(proto) \
| ^~~~~
include/linux/tracepoint.h:419:31: note: in expansion of macro 'PARAMS'
419 | __DECLARE_TRACE(name, PARAMS(proto), PARAMS(args), \
| ^~~~~~
include/linux/tracepoint.h:542:9: note: in expansion of macro 'DECLARE_TRACE'
542 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~~~~~~~~~~
include/linux/tracepoint.h:542:29: note: in expansion of macro 'PARAMS'
542 | DECLARE_TRACE(name, PARAMS(proto), PARAMS(args))
| ^~~~~~
include/trace/events/libata.h:413:1: note: in expansion of macro 'DEFINE_EVENT'
413 | DEFINE_EVENT(ata_exec_command_template, ata_bmdma_stop,
| ^~~~~~~~~~~~
include/trace/events/libata.h:414:14: note: in expansion of macro 'TP_PROTO'
414 | TP_PROTO(struct ata_port *ap, const struct ata_taskfile *tf, unsigned int tag),
| ^~~~~~~~
cc1: some warnings being treated as errors
vim +/trace_ata_bmdma_stop +602 drivers/ata/pata_octeon_cf.c
586
587 /**
588 *
589 * LOCKING:
590 * spin_lock_irqsave(host lock)
591 *
592 */
593 static unsigned int octeon_cf_dma_finished(struct ata_port *ap,
594 struct ata_queued_cmd *qc)
595 {
596 struct ata_eh_info *ehi = &ap->link.eh_info;
597 struct octeon_cf_port *cf_port = ap->private_data;
598 union cvmx_mio_boot_dma_cfgx dma_cfg;
599 union cvmx_mio_boot_dma_intx dma_int;
600 u8 status;
601
> 602 trace_ata_bmdma_stop(qc, &qc->tf, qc->tag);
603
604 if (ap->hsm_task_state != HSM_ST_LAST)
605 return 0;
606
607 dma_cfg.u64 = cvmx_read_csr(cf_port->dma_base + DMA_CFG);
608 if (dma_cfg.s.size != 0xfffff) {
609 /* Error, the transfer was not complete. */
610 qc->err_mask |= AC_ERR_HOST_BUS;
611 ap->hsm_task_state = HSM_ST_ERR;
612 }
613
614 /* Stop and clear the dma engine. */
615 dma_cfg.u64 = 0;
616 dma_cfg.s.size = -1;
617 cvmx_write_csr(cf_port->dma_base + DMA_CFG, dma_cfg.u64);
618
619 /* Disable the interrupt. */
620 dma_int.u64 = 0;
621 cvmx_write_csr(cf_port->dma_base + DMA_INT_EN, dma_int.u64);
622
623 /* Clear the DMA complete status */
624 dma_int.s.done = 1;
625 cvmx_write_csr(cf_port->dma_base + DMA_INT, dma_int.u64);
626
627 status = ap->ops->sff_check_status(ap);
628
629 ata_sff_hsm_move(ap, qc, status, 0);
630
631 if (unlikely(qc->err_mask) && (qc->tf.protocol == ATA_PROT_DMA))
632 ata_ehi_push_desc(ehi, "DMA stat 0x%x", status);
633
634 return 1;
635 }
636
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[axboe-block:block-5.16 14/19] drivers/mtd/mtd_blkdevs.c:361:30: error: 'GENHD_FL_NO_PART' undeclared; did you mean 'GENHD_FL_NO_PART_SCAN'?
by kernel test robot
tree: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git block-5.16
head: 5eff363838654790f67f4bd564c5782967f67bcc
commit: 776b54e97a7d993ba23696e032426d5dea5bbe70 [14/19] mtd_blkdevs: don't scan partitions for plain mtdblock
config: arm-pxa3xx_defconfig (https://download.01.org/0day-ci/archive/20211211/202112112312.TqjBbfUS-lk...)
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/axboe/linux-block.git/com...
git remote add axboe-block https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git
git fetch --no-tags axboe-block block-5.16
git checkout 776b54e97a7d993ba23696e032426d5dea5bbe70
# 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=arm SHELL=/bin/bash
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp(a)intel.com>
Note: the axboe-block/block-5.16 HEAD 5eff363838654790f67f4bd564c5782967f67bcc builds fine.
It only hurts bisectability.
All errors (new ones prefixed by >>):
drivers/mtd/mtd_blkdevs.c: In function 'add_mtd_blktrans_dev':
>> drivers/mtd/mtd_blkdevs.c:361:30: error: 'GENHD_FL_NO_PART' undeclared (first use in this function); did you mean 'GENHD_FL_NO_PART_SCAN'?
361 | gd->flags |= GENHD_FL_NO_PART;
| ^~~~~~~~~~~~~~~~
| GENHD_FL_NO_PART_SCAN
drivers/mtd/mtd_blkdevs.c:361:30: note: each undeclared identifier is reported only once for each function it appears in
vim +361 drivers/mtd/mtd_blkdevs.c
274
275 int add_mtd_blktrans_dev(struct mtd_blktrans_dev *new)
276 {
277 struct mtd_blktrans_ops *tr = new->tr;
278 struct mtd_blktrans_dev *d;
279 int last_devnum = -1;
280 struct gendisk *gd;
281 int ret;
282
283 lockdep_assert_held(&mtd_table_mutex);
284
285 list_for_each_entry(d, &tr->devs, list) {
286 if (new->devnum == -1) {
287 /* Use first free number */
288 if (d->devnum != last_devnum+1) {
289 /* Found a free devnum. Plug it in here */
290 new->devnum = last_devnum+1;
291 list_add_tail(&new->list, &d->list);
292 goto added;
293 }
294 } else if (d->devnum == new->devnum) {
295 /* Required number taken */
296 return -EBUSY;
297 } else if (d->devnum > new->devnum) {
298 /* Required number was free */
299 list_add_tail(&new->list, &d->list);
300 goto added;
301 }
302 last_devnum = d->devnum;
303 }
304
305 ret = -EBUSY;
306 if (new->devnum == -1)
307 new->devnum = last_devnum+1;
308
309 /* Check that the device and any partitions will get valid
310 * minor numbers and that the disk naming code below can cope
311 * with this number. */
312 if (new->devnum > (MINORMASK >> tr->part_bits) ||
313 (tr->part_bits && new->devnum >= 27 * 26))
314 return ret;
315
316 list_add_tail(&new->list, &tr->devs);
317 added:
318
319 mutex_init(&new->lock);
320 kref_init(&new->ref);
321 if (!tr->writesect)
322 new->readonly = 1;
323
324 ret = -ENOMEM;
325 new->tag_set = kzalloc(sizeof(*new->tag_set), GFP_KERNEL);
326 if (!new->tag_set)
327 goto out_list_del;
328
329 ret = blk_mq_alloc_sq_tag_set(new->tag_set, &mtd_mq_ops, 2,
330 BLK_MQ_F_SHOULD_MERGE | BLK_MQ_F_BLOCKING);
331 if (ret)
332 goto out_kfree_tag_set;
333
334 /* Create gendisk */
335 gd = blk_mq_alloc_disk(new->tag_set, new);
336 if (IS_ERR(gd)) {
337 ret = PTR_ERR(gd);
338 goto out_free_tag_set;
339 }
340
341 new->disk = gd;
342 new->rq = new->disk->queue;
343 gd->private_data = new;
344 gd->major = tr->major;
345 gd->first_minor = (new->devnum) << tr->part_bits;
346 gd->minors = 1 << tr->part_bits;
347 gd->fops = &mtd_block_ops;
348
349 if (tr->part_bits) {
350 if (new->devnum < 26)
351 snprintf(gd->disk_name, sizeof(gd->disk_name),
352 "%s%c", tr->name, 'a' + new->devnum);
353 else
354 snprintf(gd->disk_name, sizeof(gd->disk_name),
355 "%s%c%c", tr->name,
356 'a' - 1 + new->devnum / 26,
357 'a' + new->devnum % 26);
358 } else {
359 snprintf(gd->disk_name, sizeof(gd->disk_name),
360 "%s%d", tr->name, new->devnum);
> 361 gd->flags |= GENHD_FL_NO_PART;
362 }
363
364 set_capacity(gd, ((u64)new->size * tr->blksize) >> 9);
365
366 /* Create the request queue */
367 spin_lock_init(&new->queue_lock);
368 INIT_LIST_HEAD(&new->rq_list);
369
370 if (tr->flush)
371 blk_queue_write_cache(new->rq, true, false);
372
373 blk_queue_logical_block_size(new->rq, tr->blksize);
374
375 blk_queue_flag_set(QUEUE_FLAG_NONROT, new->rq);
376 blk_queue_flag_clear(QUEUE_FLAG_ADD_RANDOM, new->rq);
377
378 if (tr->discard) {
379 blk_queue_flag_set(QUEUE_FLAG_DISCARD, new->rq);
380 blk_queue_max_discard_sectors(new->rq, UINT_MAX);
381 new->rq->limits.discard_granularity = tr->blksize;
382 }
383
384 gd->queue = new->rq;
385
386 if (new->readonly)
387 set_disk_ro(gd, 1);
388
389 ret = device_add_disk(&new->mtd->dev, gd, NULL);
390 if (ret)
391 goto out_cleanup_disk;
392
393 if (new->disk_attributes) {
394 ret = sysfs_create_group(&disk_to_dev(gd)->kobj,
395 new->disk_attributes);
396 WARN_ON(ret);
397 }
398 return 0;
399
400 out_cleanup_disk:
401 blk_cleanup_disk(new->disk);
402 out_free_tag_set:
403 blk_mq_free_tag_set(new->tag_set);
404 out_kfree_tag_set:
405 kfree(new->tag_set);
406 out_list_del:
407 list_del(&new->list);
408 return ret;
409 }
410
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PATCH][RFC 1/2] Implement Ziegler-Nichols Heuristic
by kernel test robot
Hi Chetankumar,
[FYI, it's a private test report for your RFC patch.]
[auto build test ERROR on rafael-pm/thermal]
[also build test ERROR on linux/master linus/master v5.16-rc4]
[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/Chetankumar-Mistry/Implement-Zie...
base: https://git.kernel.org/pub/scm/linux/kernel/git/rafael/linux-pm.git thermal
config: i386-randconfig-r034-20211210 (https://download.01.org/0day-ci/archive/20211211/202112112254.HX7rf2NF-lk...)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0
reproduce (this is a W=1 build):
# https://github.com/0day-ci/linux/commit/91f16d6a958fcd818cd8649e7d8d92958...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Chetankumar-Mistry/Implement-Ziegler-Nichols-Heuristic/20211211-003430
git checkout 91f16d6a958fcd818cd8649e7d8d92958ada8c2f
# save the config file to linux build tree
mkdir build_dir
make W=1 O=build_dir ARCH=i386 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 >>):
ld: drivers/thermal/gov_power_allocator.o: in function `ziegler_nichols':
>> drivers/thermal/gov_power_allocator.c:477: undefined reference to `__udivdi3'
vim +477 drivers/thermal/gov_power_allocator.c
455
456 /** ziegler_nichols() - Calculate the k_ultimate and period for the thermal device
457 * and use these values to calculate and set the PID coefficients based on
458 * the Ziegler-Nichols Heuristic
459 * @tz - The thermal device we are operating on
460 * @next_err - The next error value to be used for calculations
461 * @control_temp - The temperature we are trying to target
462 *
463 * The Ziegler-Nichols PID Coefficient Tuning Method works by determining a K_Ultimate value. This
464 * is the largest K_P which yields a stable set of oscillations in error. By using historic and
465 * current values of error, this function attempts to determine whether or not it is oscillating,
466 * and increment the value of K_Ultimate accordingly. Once it has determined that the system is
467 * oscillating, it calculates the time between "peaks" to determine its period
468 *
469 */
470 static inline void ziegler_nichols(struct thermal_zone_device *tz, s32 next_err,
471 int control_temp)
472 {
473 struct power_allocator_params *params = tz->governor_data;
474 struct zn_coefficients *zn_coeffs = params->zn_coeffs;
475 const int NUMBER_OF_OSCILLATIONS = 10;
476
> 477 u32 t_now = (u32)(ktime_get_real_ns() / 1000000);
478 enum pivot_type peak_trough = MIDPOINT;
479 s32 oscillation_count = 0;
480 bool is_pivot;
481 bool is_safe =
482 is_temperature_safe((control_temp - next_err), control_temp);
483
484 if (tz->tzp->ziegler_nichols == ZN_RESET) {
485 reset_ziegler_nichols(zn_coeffs);
486 tz->tzp->ziegler_nichols = ZN_ON;
487 }
488
489 /* Override default PID Coefficients. These will be updated later according to the
490 * Heuristic
491 */
492 tz->tzp->k_po = zn_coeffs->k_ultimate;
493 tz->tzp->k_pu = zn_coeffs->k_ultimate;
494 tz->tzp->k_i = 0;
495 tz->tzp->k_d = 0;
496
497 if (!zn_coeffs->zn_found) {
498 /* Make sure that the previous errors have been logged and this isn't executed on
499 * first pass
500 */
501 if (zn_coeffs->curr_err != zn_coeffs->prev_err &&
502 zn_coeffs->prev_err != 0) {
503 if (!is_safe)
504 goto set_zn;
505 is_pivot = is_error_pivot(next_err, zn_coeffs->curr_err,
506 zn_coeffs->prev_err,
507 &peak_trough);
508 if (is_pivot) {
509 oscillation_count = get_oscillation_count(
510 zn_coeffs->curr_err, peak_trough,
511 zn_coeffs);
512 if (oscillation_count >=
513 NUMBER_OF_OSCILLATIONS) {
514 goto set_zn;
515 }
516 if (peak_trough == PEAK)
517 zn_coeffs->t_prev_peak = t_now;
518 }
519 if (!is_pivot || !oscillation_count)
520 zn_coeffs->k_ultimate += 10;
521 }
522 goto update_errors;
523 } else {
524 set_zn_pid_coefficients(tz->tzp, zn_coeffs->period,
525 zn_coeffs->k_ultimate);
526 tz->tzp->ziegler_nichols = ZN_OFF;
527 }
528 return;
529
530 update_errors:
531 zn_coeffs->prev_err = zn_coeffs->curr_err;
532 zn_coeffs->curr_err = next_err;
533 return;
534
535 set_zn:
536 if (zn_coeffs->t_prev_peak) {
537 zn_coeffs->zn_found = true;
538 zn_coeffs->period = abs(t_now - zn_coeffs->t_prev_peak);
539 set_zn_pid_coefficients(tz->tzp, zn_coeffs->period,
540 zn_coeffs->k_ultimate);
541 ((struct power_allocator_params *)tz->governor_data)
542 ->err_integral = 0;
543 tz->tzp->ziegler_nichols = ZN_OFF;
544 } else {
545 if (peak_trough == PEAK)
546 zn_coeffs->t_prev_peak = t_now;
547 }
548 }
549
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
[drm-intel:topic/core-for-CI 16/25] arch/powerpc/platforms/embedded6xx/Kconfig:2:error: recursive dependency detected!
by kernel test robot
tree: git://anongit.freedesktop.org/drm-intel topic/core-for-CI
head: 4c82fd0506b4cc196a375d1200361fb0c5439acd
commit: b3acf17eafd473e6e8f8f7c5ec7040efaaff22b8 [16/25] Revert "drm/i915: Don't select BROKEN"
config: powerpc-randconfig-r035-20211210
compiler: powerpc-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
git remote add drm-intel git://anongit.freedesktop.org/drm-intel
git fetch --no-tags drm-intel topic/core-for-CI
git checkout b3acf17eafd473e6e8f8f7c5ec7040efaaff22b8
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross ARCH=powerpc randconfig
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=gcc-11.2.0 make.cross 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 >>):
>> arch/powerpc/platforms/embedded6xx/Kconfig:2:error: recursive dependency detected!
arch/powerpc/platforms/embedded6xx/Kconfig:2: symbol EMBEDDED6xx depends on BROKEN_ON_SMP
init/Kconfig:113: symbol BROKEN_ON_SMP depends on BROKEN
init/Kconfig:110: symbol BROKEN is selected by DRM_I915_DEBUG
drivers/gpu/drm/i915/Kconfig.debug:19: symbol DRM_I915_DEBUG depends on DRM_I915
drivers/gpu/drm/i915/Kconfig:2: symbol DRM_I915 depends on DRM
drivers/gpu/drm/Kconfig:8: symbol DRM depends on AGP
drivers/char/agp/Kconfig:2: symbol AGP depends on PCI
drivers/pci/Kconfig:16: symbol PCI depends on HAVE_PCI
drivers/pci/Kconfig:7: symbol HAVE_PCI is selected by FORCE_PCI
drivers/pci/Kconfig:11: symbol FORCE_PCI is selected by MVME5100
arch/powerpc/platforms/embedded6xx/Kconfig:51: symbol MVME5100 depends on EMBEDDED6xx
For a resolution refer to Documentation/kbuild/kconfig-language.rst
subsection "Kconfig recursive dependency limitations"
vim +2 arch/powerpc/platforms/embedded6xx/Kconfig
a35e370cfd2ddf Arnd Bergmann 2007-08-30 @2 config EMBEDDED6xx
a35e370cfd2ddf Arnd Bergmann 2007-08-30 3 bool "Embedded 6xx/7xx/7xxx-based boards"
be34fff07c3755 Christophe Leroy 2018-11-17 4 depends on PPC_BOOK3S_32 && BROKEN_ON_SMP
14cf11af6cf608 Paul Mackerras 2005-09-26 5
:::::: The code at line 2 was first introduced by commit
:::::: a35e370cfd2ddfb5d2f0ceae376ffeda273b357c [POWERPC] Move embedded6xx into multiplatform
:::::: TO: Arnd Bergmann <arnd(a)arndb.de>
:::::: CC: Paul Mackerras <paulus(a)samba.org>
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week
Re: [PREEMPT_RT PATCH 2/2] blktrace: switch trace spinlock to a raw spinlock
by kernel test robot
Hi Wander,
Thank you for the patch! Yet something to improve:
[auto build test ERROR on axboe-block/for-next]
[also build test ERROR on linux/master linus/master v5.16-rc4]
[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/Wander-Lairson-Costa/Fix-warning...
base: https://git.kernel.org/pub/scm/linux/kernel/git/axboe/linux-block.git for-next
config: arm64-randconfig-r014-20211210 (https://download.01.org/0day-ci/archive/20211211/202112111754.ivCXr0cu-lk...)
compiler: clang version 14.0.0 (https://github.com/llvm/llvm-project 097a1cb1d5ebb3a0ec4bcaed8ba3ff6a8e33c00a)
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
# https://github.com/0day-ci/linux/commit/78ab0023d3b1ba3f3dc5703b4d4fac1dd...
git remote add linux-review https://github.com/0day-ci/linux
git fetch --no-tags linux-review Wander-Lairson-Costa/Fix-warnings-in-blktrace/20211211-044405
git checkout 78ab0023d3b1ba3f3dc5703b4d4fac1dd24aa0c2
# save the config file to linux build tree
mkdir build_dir
COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross W=1 O=build_dir ARCH=arm64 SHELL=/bin/bash kernel/trace/
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/trace/blktrace.c:1611:17: error: incompatible pointer types passing 'raw_spinlock_t *' (aka 'struct raw_spinlock *') to parameter of type 'spinlock_t *' (aka 'struct spinlock *') [-Werror,-Wincompatible-pointer-types]
spin_lock_irq(&running_trace_lock);
^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:372:55: note: passing argument to parameter 'lock' here
static __always_inline void spin_lock_irq(spinlock_t *lock)
^
kernel/trace/blktrace.c:1613:19: error: incompatible pointer types passing 'raw_spinlock_t *' (aka 'struct raw_spinlock *') to parameter of type 'spinlock_t *' (aka 'struct spinlock *') [-Werror,-Wincompatible-pointer-types]
spin_unlock_irq(&running_trace_lock);
^~~~~~~~~~~~~~~~~~~
include/linux/spinlock.h:397:57: note: passing argument to parameter 'lock' here
static __always_inline void spin_unlock_irq(spinlock_t *lock)
^
2 errors generated.
vim +1611 kernel/trace/blktrace.c
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1599
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1600 static int blk_trace_remove_queue(struct request_queue *q)
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1601 {
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1602 struct blk_trace *bt;
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1603
c3dbe541ef7775 kernel/trace/blktrace.c Jan Kara 2020-06-05 1604 bt = rcu_replace_pointer(q->blk_trace, NULL,
85e0cbbb8a7953 kernel/trace/blktrace.c Luis Chamberlain 2020-06-19 1605 lockdep_is_held(&q->debugfs_mutex));
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1606 if (bt == NULL)
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1607 return -EINVAL;
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1608
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1609 if (bt->trace_state == Blktrace_running) {
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1610 bt->trace_state = Blktrace_stopped;
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 @1611 spin_lock_irq(&running_trace_lock);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1612 list_del_init(&bt->running_list);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1613 spin_unlock_irq(&running_trace_lock);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1614 relay_flush(bt->rchan);
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1615 }
5afedf670caf30 kernel/trace/blktrace.c Zhihao Cheng 2021-09-23 1616
a6da0024ffc19e kernel/trace/blktrace.c Jens Axboe 2017-11-05 1617 put_probe_ref();
c780e86dd48ef6 kernel/trace/blktrace.c Jan Kara 2020-02-06 1618 synchronize_rcu();
ad5dd5493a55e4 kernel/trace/blktrace.c Li Zefan 2009-03-27 1619 blk_trace_free(bt);
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1620 return 0;
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1621 }
c71a896154119f block/blktrace.c Arnaldo Carvalho de Melo 2009-01-23 1622
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all@lists.01.org
9 months, 1 week