[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <202507270850.rFyJ9cu3-lkp@intel.com>
Date: Sun, 27 Jul 2025 08:57:57 +0800
From: kernel test robot <lkp@...el.com>
To: huaqian.li@...mens.com, christophe.jaillet@...adoo.fr
Cc: oe-kbuild-all@...ts.linux.dev, baocheng.su@...mens.com,
bhelgaas@...gle.com, conor+dt@...nel.org,
devicetree@...r.kernel.org, diogo.ivo@...mens.com,
helgaas@...nel.org, huaqian.li@...mens.com, jan.kiszka@...mens.com,
kristo@...nel.org, krzk+dt@...nel.org, kw@...ux.com,
linux-arm-kernel@...ts.infradead.org, linux-kernel@...r.kernel.org,
linux-pci@...r.kernel.org, lpieralisi@...nel.org, nm@...com,
robh@...nel.org, s-vadapalli@...com, ssantosh@...nel.org,
vigneshr@...com
Subject: Re: [PATCH v11 3/7] soc: ti: Add IOMMU-like PVU driver
Hi,
kernel test robot noticed the following build warnings:
[auto build test WARNING on robh/for-next]
[also build test WARNING on pci/next pci/for-linus linus/master v6.16-rc7 next-20250725]
[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#_base_tree_information]
url: https://github.com/intel-lab-lkp/linux/commits/huaqian-li-siemens-com/dt-bindings-soc-ti-Add-AM65-peripheral-virtualization-unit/20250723-114915
base: https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git for-next
patch link: https://lore.kernel.org/r/20250723034521.138695-4-huaqian.li%40siemens.com
patch subject: [PATCH v11 3/7] soc: ti: Add IOMMU-like PVU driver
config: arm64-randconfig-r131-20250727 (https://download.01.org/0day-ci/archive/20250727/202507270850.rFyJ9cu3-lkp@intel.com/config)
compiler: clang version 22.0.0git (https://github.com/llvm/llvm-project 853c343b45b3e83cc5eeef5a52fc8cc9d8a09252)
reproduce: (https://download.01.org/0day-ci/archive/20250727/202507270850.rFyJ9cu3-lkp@intel.com/reproduce)
If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@...el.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202507270850.rFyJ9cu3-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
>> drivers/soc/ti/ti-pvu.c:422:44: sparse: sparse: Using plain integer as NULL pointer
drivers/soc/ti/ti-pvu.c:422:47: sparse: sparse: Using plain integer as NULL pointer
vim +422 drivers/soc/ti/ti-pvu.c
384
385 static int ti_pvu_probe(struct platform_device *pdev)
386 {
387 struct device *dev = &pdev->dev;
388 struct device_node *its_node;
389 void __iomem *base;
390 struct ti_pvu *pvu;
391 u32 val;
392 int ret;
393
394 pvu = devm_kzalloc(dev, sizeof(*pvu), GFP_KERNEL);
395 if (!pvu)
396 return -ENOMEM;
397
398 pvu->pdev = pdev;
399
400 base = devm_platform_ioremap_resource_byname(pdev, "cfg");
401 if (IS_ERR(base))
402 return PTR_ERR(base);
403
404 pvu->cfg = devm_regmap_init_mmio(dev, base, &pvu_cfg_regmap_cfg);
405 if (IS_ERR(pvu->cfg))
406 return dev_err_probe(dev, PTR_ERR(pvu->cfg), "failed to init cfg regmap");
407
408 ret = devm_regmap_field_bulk_alloc(dev, pvu->cfg, pvu->cfg_fields,
409 pvu_cfg_reg_fields, PVU_MAX_CFG_FIELDS);
410 if (ret)
411 return dev_err_probe(dev, ret, "failed to alloc cfg regmap fields");
412
413 pvu->num_tlbs = pvu_field_read(pvu, PVU_TLBS);
414 pvu->num_entries = pvu_field_read(pvu, PVU_TLB_ENTRIES);
415 dev_info(dev, "TLBs: %d, entries per TLB: %d\n", pvu->num_tlbs,
416 pvu->num_entries);
417
418 pvu->tlbif_base = devm_platform_ioremap_resource_byname(pdev, "tlbif");
419 if (IS_ERR(pvu->tlbif_base))
420 return PTR_ERR(pvu->tlbif_base);
421
> 422 its_node = of_find_compatible_node(0, 0, "arm,gic-v3-its");
423 if (its_node) {
424 u32 pre_its_window[2];
425
426 ret = of_property_read_u32_array(its_node,
427 "socionext,synquacer-pre-its",
428 pre_its_window,
429 ARRAY_SIZE(pre_its_window));
430 if (ret) {
431 dev_err(dev, "failed to read pre-its property\n");
432 return ret;
433 }
434
435 ret = pvu_create_region(pvu, pre_its_window[0],
436 pre_its_window[1]);
437 if (ret)
438 return ret;
439 }
440
441 /* Enable the first two TLBs, chaining from 0 to 1 */
442 val = readl(pvu->tlbif_base + PVU_CHAIN);
443 val |= PVU_CHAIN_EN | 1;
444 writel(val, pvu->tlbif_base + PVU_CHAIN);
445
446 val = readl(pvu->tlbif_base + PVU_CHAIN + 0x1000);
447 val |= PVU_CHAIN_EN;
448 writel(val, pvu->tlbif_base + PVU_CHAIN + 0x1000);
449
450 pvu_field_write(pvu, PVU_DMA_CNT, 0);
451 pvu_field_write(pvu, PVU_DMA_CL0, 0);
452 pvu_field_write(pvu, PVU_DMA_CL1, 0);
453 pvu_field_write(pvu, PVU_DMA_CL2, 0);
454 pvu_field_write(pvu, PVU_DMA_CL3, 0);
455 pvu_field_write(pvu, PVU_MAX_VIRTID, NUM_VIRTIDS);
456
457 ret = platform_get_irq(pdev, 0);
458 if (ret < 0)
459 return dev_err_probe(dev, ret, "failed to get irq\n");
460
461 ret = devm_request_irq(dev, ret, pvu_fault_isr, 0, dev_name(dev), pvu);
462 if (ret)
463 return dev_err_probe(dev, ret, "failed to request irq\n");
464
465 pvu_field_write(pvu, PVU_EXC_ENABLE, 1);
466 pvu_field_write(pvu, PVU_ENABLED, 1);
467
468 dev_set_drvdata(dev, pvu);
469
470 mutex_lock(&ti_pvu_lock);
471 list_add(&pvu->entry, &ti_pvu_list);
472 mutex_unlock(&ti_pvu_lock);
473
474 return 0;
475 }
476
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
Powered by blists - more mailing lists