* [ti:ti-android-linux-4.19.y 14919/22923] drivers/pci/controller/pcie-cadence-ep.c:619:33: warning: variable 'vec_ctrl' set but not used
@ 2021-01-08 14:40 kernel test robot
0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2021-01-08 14:40 UTC (permalink / raw)
To: kbuild-all
[-- Attachment #1: Type: text/plain, Size: 3960 bytes --]
Hi Kishon,
FYI, the error/warning still remains.
tree: git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git ti-android-linux-4.19.y
head: 20d9ad36f92141a98a70087e892db61e3454d5cf
commit: 49d0c5ab68e9f78904a0b582b18300c1e786a0ff [14919/22923] PCI: cadence: Avoid using phys_to_virt() for reading MSI-X table
config: i386-randconfig-s001-20210108 (attached as .config)
compiler: gcc-9 (Debian 9.3.0-15) 9.3.0
reproduce:
# apt-get install sparse
# sparse version: v0.6.3-208-g46a52ca4-dirty
git remote add ti git://git.ti.com/ti-linux-kernel/ti-linux-kernel.git
git fetch --no-tags ti ti-android-linux-4.19.y
git checkout 49d0c5ab68e9f78904a0b582b18300c1e786a0ff
# save the attached .config to linux build tree
make W=1 C=1 CF='-fdiagnostic-prefix -D__CHECK_ENDIAN__' ARCH=i386
If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
All warnings (new ones prefixed by >>):
drivers/pci/controller/pcie-cadence-ep.c: In function 'cdns_pcie_ep_send_msix_irq':
>> drivers/pci/controller/pcie-cadence-ep.c:619:33: warning: variable 'vec_ctrl' set but not used [-Wunused-but-set-variable]
619 | u32 tbl_offset, msg_data, reg, vec_ctrl;
| ^~~~~~~~
vim +/vec_ctrl +619 drivers/pci/controller/pcie-cadence-ep.c
613
614 static int cdns_pcie_ep_send_msix_irq(struct cdns_pcie_ep *ep, u8 fn, u8 vfn,
615 u16 interrupt_num)
616 {
617 u32 sriov_cap = CDNS_PCIE_EP_FUNC_SRIOV_CAP_OFFSET;
618 u32 cap = CDNS_PCIE_EP_FUNC_MSIX_CAP_OFFSET;
> 619 u32 tbl_offset, msg_data, reg, vec_ctrl;
620 struct cdns_pcie *pcie = &ep->pcie;
621 struct pci_epf_msix_tbl *msix_tbl;
622 struct pci_epf_bar *epf_bar;
623 u32 first_vf_offset, stride;
624 struct cdns_pcie_epf *epf;
625 u64 pci_addr_mask = 0xff;
626 u64 msg_addr;
627 u16 flags;
628 u8 bir;
629
630 epf = &ep->epf[fn];
631
632 if (vfn > 0) {
633 first_vf_offset = cdns_pcie_ep_fn_readw(pcie, fn, sriov_cap +
634 PCI_SRIOV_VF_OFFSET);
635 stride = cdns_pcie_ep_fn_readw(pcie, fn, sriov_cap +
636 PCI_SRIOV_VF_STRIDE);
637 fn = fn + first_vf_offset + ((vfn - 1) * stride);
638 epf = &epf->epf[vfn - 1];
639 }
640
641 /* Check whether the MSI-X feature has been enabled by the PCI host. */
642 flags = cdns_pcie_ep_fn_readw(pcie, fn, cap + PCI_MSIX_FLAGS);
643 if (!(flags & PCI_MSIX_FLAGS_ENABLE))
644 return -EINVAL;
645
646 reg = cap + PCI_MSIX_TABLE;
647 tbl_offset = cdns_pcie_ep_fn_readl(pcie, fn, reg);
648 bir = tbl_offset & PCI_MSIX_TABLE_BIR;
649 tbl_offset &= PCI_MSIX_TABLE_OFFSET;
650
651 epf_bar = epf->epf_bar[bir];
652 msix_tbl = epf_bar->addr;
653 msix_tbl = (struct pci_epf_msix_tbl *)((char *)msix_tbl + tbl_offset);
654
655 msg_addr = msix_tbl[(interrupt_num - 1)].msg_addr;
656 msg_data = msix_tbl[(interrupt_num - 1)].msg_data;
657 vec_ctrl = msix_tbl[(interrupt_num - 1)].vector_ctrl;
658
659 /* Set the outbound region if needed. */
660 if (unlikely(ep->irq_pci_addr != (msg_addr & ~pci_addr_mask) ||
661 ep->irq_pci_fn != fn)) {
662 /* First region was reserved for IRQ writes. */
663 cdns_pcie_set_outbound_region(pcie, fn, 0,
664 false,
665 ep->irq_phys_addr,
666 msg_addr & ~pci_addr_mask,
667 pci_addr_mask + 1);
668 ep->irq_pci_addr = (msg_addr & ~pci_addr_mask);
669 ep->irq_pci_fn = fn;
670 }
671 writel(msg_data, ep->irq_cpu_addr + (msg_addr & pci_addr_mask));
672
673 return 0;
674 }
675
---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org
[-- Attachment #2: config.gz --]
[-- Type: application/gzip, Size: 27828 bytes --]
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2021-01-08 14:40 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-01-08 14:40 [ti:ti-android-linux-4.19.y 14919/22923] drivers/pci/controller/pcie-cadence-ep.c:619:33: warning: variable 'vec_ctrl' set but not used 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.