Hi Dongdong, Thank you for the patch! Yet something to improve: [auto build test ERROR on pci/next] [also build test ERROR on v5.12-rc5 next-20210401] [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/Dongdong-Liu/PCI-Enable-10-Bit-tag-support-for-PCIe-devices/20210403-171726 base: https://git.kernel.org/pub/scm/linux/kernel/git/helgaas/pci.git next config: i386-randconfig-m021-20210403 (attached as .config) 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/c1497e514c78375b8c9e9e074e5b84c62eaef20f git remote add linux-review https://github.com/0day-ci/linux git fetch --no-tags linux-review Dongdong-Liu/PCI-Enable-10-Bit-tag-support-for-PCIe-devices/20210403-171726 git checkout c1497e514c78375b8c9e9e074e5b84c62eaef20f # save the attached .config to linux build tree make W=1 ARCH=i386 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot <lkp@xxxxxxxxx> All errors (new ones prefixed by >>): >> drivers/pci/probe.c:2096:6: error: redefinition of 'pci_configure_rp_10bit_tag' 2096 | void pci_configure_rp_10bit_tag(struct pci_dev *dev) | ^~~~~~~~~~~~~~~~~~~~~~~~~~ In file included from drivers/pci/probe.c:22: drivers/pci/pci.h:468:20: note: previous definition of 'pci_configure_rp_10bit_tag' was here 468 | static inline void pci_configure_rp_10bit_tag(struct pci_dev *dev) {} | ^~~~~~~~~~~~~~~~~~~~~~~~~~ vim +/pci_configure_rp_10bit_tag +2096 drivers/pci/probe.c 2095 > 2096 void pci_configure_rp_10bit_tag(struct pci_dev *dev) 2097 { 2098 u8 support = 1; 2099 u32 cap; 2100 int ret; 2101 2102 if (!pci_is_pcie(dev)) 2103 return; 2104 2105 if (pci_pcie_type(dev) != PCI_EXP_TYPE_ROOT_PORT) 2106 return; 2107 2108 if (dev->subordinate == NULL) 2109 return; 2110 2111 pci_10bit_tag_comp_support(dev, &support); 2112 if (!support) 2113 return; 2114 2115 /* 2116 * PCIe spec 5.0r1.0 section 2.2.6.2 implementation note 2117 * In configurations where a Requester with 10-Bit Tag Requester capability 2118 * needs to target multiple Completers, one needs to ensure that the 2119 * Requester sends 10-Bit Tag Requests only to Completers that have 10-Bit 2120 * Tag Completer capability. So we enable 10-Bit Tag Requester for root port 2121 * only when the devices under the root port support 10-Bit Tag Completer. 2122 */ 2123 pci_walk_bus(dev->subordinate, pci_10bit_tag_comp_support, &support); 2124 if (!support) 2125 return; 2126 2127 ret = pcie_capability_read_dword(dev, PCI_EXP_DEVCAP2, &cap); 2128 if (ret) 2129 return; 2130 2131 if (!(cap & PCI_EXP_DEVCAP2_10BIT_TAG_REQ)) 2132 return; 2133 2134 pci_info(dev, "enabling 10-Bit Tag Requester\n"); 2135 pcie_capability_set_word(dev, PCI_EXP_DEVCTL2, 2136 PCI_EXP_DEVCTL2_10BIT_TAG_REQ_EN); 2137 } 2138 --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all@xxxxxxxxxxxx
Attachment:
.config.gz
Description: application/gzip