* [android-common:upstream-linux-5.15.y 264/377] drivers/pci/endpoint/functions/pci-epf-vntb.c:600:45: sparse: sparse: Using plain integer as NULL pointer
@ 2024-03-28 15:23 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2024-03-28 15:23 UTC (permalink / raw)
To: cros-kernel-buildreports; +Cc: oe-kbuild-all
tree: https://android.googlesource.com/kernel/common upstream-linux-5.15.y
head: 9465fef4ae351749f7068da8c78af4ca27e61928
commit: e2b6ef72b7aea9d7d480d2df499bcd1c93247abb [264/377] PCI: endpoint: Support NTB transfer between RC and EP
config: i386-randconfig-062-20240328 (https://download.01.org/0day-ci/archive/20240328/202403282339.inNxJ7O8-lkp@intel.com/config)
compiler: gcc-8 (Ubuntu 8.4.0-3ubuntu2) 8.4.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240328/202403282339.inNxJ7O8-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@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202403282339.inNxJ7O8-lkp@intel.com/
sparse warnings: (new ones prefixed by >>)
drivers/pci/endpoint/functions/pci-epf-vntb.c:542:17: sparse: sparse: incorrect type in assignment (different address spaces) @@ expected void [noderef] __iomem *mw_addr @@ got void * @@
drivers/pci/endpoint/functions/pci-epf-vntb.c:542:17: sparse: expected void [noderef] __iomem *mw_addr
drivers/pci/endpoint/functions/pci-epf-vntb.c:542:17: sparse: got void *
drivers/pci/endpoint/functions/pci-epf-vntb.c:574:41: sparse: sparse: incorrect type in argument 2 (different address spaces) @@ expected void *addr @@ got void [noderef] __iomem *epf_db @@
drivers/pci/endpoint/functions/pci-epf-vntb.c:574:41: sparse: expected void *addr
drivers/pci/endpoint/functions/pci-epf-vntb.c:574:41: sparse: got void [noderef] __iomem *epf_db
>> drivers/pci/endpoint/functions/pci-epf-vntb.c:600:45: sparse: sparse: Using plain integer as NULL pointer
>> drivers/pci/endpoint/functions/pci-epf-vntb.c:985:16: sparse: sparse: symbol 'vpci_ops' was not declared. Should it be static?
drivers/pci/endpoint/functions/pci-epf-vntb.c:1089:33: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *base @@ got struct epf_ntb_ctrl *reg @@
drivers/pci/endpoint/functions/pci-epf-vntb.c:1089:33: sparse: expected void [noderef] __iomem *base
drivers/pci/endpoint/functions/pci-epf-vntb.c:1089:33: sparse: got struct epf_ntb_ctrl *reg
drivers/pci/endpoint/functions/pci-epf-vntb.c:1100:33: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *base @@ got struct epf_ntb_ctrl *reg @@
drivers/pci/endpoint/functions/pci-epf-vntb.c:1100:33: sparse: expected void [noderef] __iomem *base
drivers/pci/endpoint/functions/pci-epf-vntb.c:1100:33: sparse: got struct epf_ntb_ctrl *reg
drivers/pci/endpoint/functions/pci-epf-vntb.c:1111:33: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *base @@ got struct epf_ntb_ctrl *reg @@
drivers/pci/endpoint/functions/pci-epf-vntb.c:1111:33: sparse: expected void [noderef] __iomem *base
drivers/pci/endpoint/functions/pci-epf-vntb.c:1111:33: sparse: got struct epf_ntb_ctrl *reg
drivers/pci/endpoint/functions/pci-epf-vntb.c:1123:33: sparse: sparse: incorrect type in initializer (different address spaces) @@ expected void [noderef] __iomem *base @@ got struct epf_ntb_ctrl *reg @@
drivers/pci/endpoint/functions/pci-epf-vntb.c:1123:33: sparse: expected void [noderef] __iomem *base
drivers/pci/endpoint/functions/pci-epf-vntb.c:1123:33: sparse: got struct epf_ntb_ctrl *reg
vim +600 drivers/pci/endpoint/functions/pci-epf-vntb.c
511
512 /**
513 * epf_ntb_db_bar_init() - Configure Doorbell window BARs
514 * @ntb: NTB device that facilitates communication between HOST and vHOST
515 */
516 static int epf_ntb_db_bar_init(struct epf_ntb *ntb)
517 {
518 const struct pci_epc_features *epc_features;
519 u32 align;
520 struct device *dev = &ntb->epf->dev;
521 int ret;
522 struct pci_epf_bar *epf_bar;
523 void __iomem *mw_addr;
524 enum pci_barno barno;
525 size_t size = 4 * ntb->db_count;
526
527 epc_features = pci_epc_get_features(ntb->epf->epc,
528 ntb->epf->func_no,
529 ntb->epf->vfunc_no);
530 align = epc_features->align;
531
532 if (size < 128)
533 size = 128;
534
535 if (align)
536 size = ALIGN(size, align);
537 else
538 size = roundup_pow_of_two(size);
539
540 barno = ntb->epf_ntb_bar[BAR_DB];
541
> 542 mw_addr = pci_epf_alloc_space(ntb->epf, size, barno, align, 0);
543 if (!mw_addr) {
544 dev_err(dev, "Failed to allocate OB address\n");
545 return -ENOMEM;
546 }
547
548 ntb->epf_db = mw_addr;
549
550 epf_bar = &ntb->epf->bar[barno];
551
552 ret = pci_epc_set_bar(ntb->epf->epc, ntb->epf->func_no, ntb->epf->vfunc_no, epf_bar);
553 if (ret) {
554 dev_err(dev, "Doorbell BAR set failed\n");
555 goto err_alloc_peer_mem;
556 }
557 return ret;
558
559 err_alloc_peer_mem:
560 pci_epc_mem_free_addr(ntb->epf->epc, epf_bar->phys_addr, mw_addr, epf_bar->size);
561 return -1;
562 }
563
564 /**
565 * epf_ntb_db_bar_clear() - Clear doorbell BAR and free memory
566 * allocated in peer's outbound address space
567 * @ntb: NTB device that facilitates communication between HOST and vHOST
568 */
569 static void epf_ntb_db_bar_clear(struct epf_ntb *ntb)
570 {
571 enum pci_barno barno;
572
573 barno = ntb->epf_ntb_bar[BAR_DB];
574 pci_epf_free_space(ntb->epf, ntb->epf_db, barno, 0);
575 pci_epc_clear_bar(ntb->epf->epc,
576 ntb->epf->func_no,
577 ntb->epf->vfunc_no,
578 &ntb->epf->bar[barno]);
579 }
580
581 /**
582 * epf_ntb_mw_bar_init() - Configure Memory window BARs
583 * @ntb: NTB device that facilitates communication between HOST and vHOST
584 *
585 */
586 static int epf_ntb_mw_bar_init(struct epf_ntb *ntb)
587 {
588 int ret = 0;
589 int i;
590 u64 size;
591 enum pci_barno barno;
592 struct device *dev = &ntb->epf->dev;
593
594 for (i = 0; i < ntb->num_mws; i++) {
595 size = ntb->mws_size[i];
596 barno = ntb->epf_ntb_bar[BAR_MW0 + i];
597
598 ntb->epf->bar[barno].barno = barno;
599 ntb->epf->bar[barno].size = size;
> 600 ntb->epf->bar[barno].addr = 0;
601 ntb->epf->bar[barno].phys_addr = 0;
602 ntb->epf->bar[barno].flags |= upper_32_bits(size) ?
603 PCI_BASE_ADDRESS_MEM_TYPE_64 :
604 PCI_BASE_ADDRESS_MEM_TYPE_32;
605
606 ret = pci_epc_set_bar(ntb->epf->epc,
607 ntb->epf->func_no,
608 ntb->epf->vfunc_no,
609 &ntb->epf->bar[barno]);
610 if (ret) {
611 dev_err(dev, "MW set failed\n");
612 goto err_alloc_mem;
613 }
614
615 /* Allocate EPC outbound memory windows to vpci vntb device */
616 ntb->vpci_mw_addr[i] = pci_epc_mem_alloc_addr(ntb->epf->epc,
617 &ntb->vpci_mw_phy[i],
618 size);
619 if (!ntb->vpci_mw_addr[i]) {
620 dev_err(dev, "Failed to allocate source address\n");
621 goto err_alloc_mem;
622 }
623 }
624
625 return ret;
626 err_alloc_mem:
627 return ret;
628 }
629
--
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2024-03-28 15:24 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-03-28 15:23 [android-common:upstream-linux-5.15.y 264/377] drivers/pci/endpoint/functions/pci-epf-vntb.c:600:45: sparse: sparse: Using plain integer as NULL pointer kernel test robot
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.