tree: https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git controller/qcom head: 1b36cee89f5f82bd04538b231e4261ed517ae174 commit: 1b36cee89f5f82bd04538b231e4261ed517ae174 [12/12] PCI: qcom-ep: Use the generic dw_pcie_ep_linkdown() API to handle Link Down event config: alpha-allyesconfig (https://download.01.org/0day-ci/archive/20240525/202405250716.lpmrTGyQ-lkp@xxxxxxxxx/config) compiler: alpha-linux-gcc (GCC) 13.2.0 reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20240525/202405250716.lpmrTGyQ-lkp@xxxxxxxxx/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@xxxxxxxxx> | Closes: https://lore.kernel.org/oe-kbuild-all/202405250716.lpmrTGyQ-lkp@xxxxxxxxx/ All errors (new ones prefixed by >>): drivers/pci/controller/dwc/pcie-qcom-ep.c: In function 'qcom_pcie_ep_global_irq_thread': >> drivers/pci/controller/dwc/pcie-qcom-ep.c:658:17: error: implicit declaration of function 'dw_pcie_ep_linkdown'; did you mean 'dw_pcie_ep_linkup'? [-Werror=implicit-function-declaration] 658 | dw_pcie_ep_linkdown(&pci->ep); | ^~~~~~~~~~~~~~~~~~~ | dw_pcie_ep_linkup cc1: some warnings being treated as errors vim +658 drivers/pci/controller/dwc/pcie-qcom-ep.c 641 642 /* TODO: Notify clients about PCIe state change */ 643 static irqreturn_t qcom_pcie_ep_global_irq_thread(int irq, void *data) 644 { 645 struct qcom_pcie_ep *pcie_ep = data; 646 struct dw_pcie *pci = &pcie_ep->pci; 647 struct device *dev = pci->dev; 648 u32 status = readl_relaxed(pcie_ep->parf + PARF_INT_ALL_STATUS); 649 u32 mask = readl_relaxed(pcie_ep->parf + PARF_INT_ALL_MASK); 650 u32 dstate, val; 651 652 writel_relaxed(status, pcie_ep->parf + PARF_INT_ALL_CLEAR); 653 status &= mask; 654 655 if (FIELD_GET(PARF_INT_ALL_LINK_DOWN, status)) { 656 dev_dbg(dev, "Received Linkdown event\n"); 657 pcie_ep->link_status = QCOM_PCIE_EP_LINK_DOWN; > 658 dw_pcie_ep_linkdown(&pci->ep); 659 } else if (FIELD_GET(PARF_INT_ALL_BME, status)) { 660 dev_dbg(dev, "Received BME event. Link is enabled!\n"); 661 pcie_ep->link_status = QCOM_PCIE_EP_LINK_ENABLED; 662 qcom_pcie_ep_icc_update(pcie_ep); 663 pci_epc_bme_notify(pci->ep.epc); 664 } else if (FIELD_GET(PARF_INT_ALL_PM_TURNOFF, status)) { 665 dev_dbg(dev, "Received PM Turn-off event! Entering L23\n"); 666 val = readl_relaxed(pcie_ep->parf + PARF_PM_CTRL); 667 val |= PARF_PM_CTRL_READY_ENTR_L23; 668 writel_relaxed(val, pcie_ep->parf + PARF_PM_CTRL); 669 } else if (FIELD_GET(PARF_INT_ALL_DSTATE_CHANGE, status)) { 670 dstate = dw_pcie_readl_dbi(pci, DBI_CON_STATUS) & 671 DBI_CON_STATUS_POWER_STATE_MASK; 672 dev_dbg(dev, "Received D%d state event\n", dstate); 673 if (dstate == 3) { 674 val = readl_relaxed(pcie_ep->parf + PARF_PM_CTRL); 675 val |= PARF_PM_CTRL_REQ_EXIT_L1; 676 writel_relaxed(val, pcie_ep->parf + PARF_PM_CTRL); 677 } 678 } else if (FIELD_GET(PARF_INT_ALL_LINK_UP, status)) { 679 dev_dbg(dev, "Received Linkup event. Enumeration complete!\n"); 680 dw_pcie_ep_linkup(&pci->ep); 681 pcie_ep->link_status = QCOM_PCIE_EP_LINK_UP; 682 } else { 683 dev_err(dev, "Received unknown event: %d\n", status); 684 } 685 686 return IRQ_HANDLED; 687 } 688 -- 0-DAY CI Kernel Test Service https://github.com/intel/lkp-tests/wiki