Re: [PATCH 4/4] PCI: Enable 10-Bit tag support for PCIe RP devices

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 




Thnaks for your report. I made a mistake.
Maybe I need to move these functions implementation
to drivers/pci/pcie/portdrv_pci.c. No need to
define in drivers/pci/pci.h

Thanks,
Dongdong
On 2021/4/3 20:33, kernel test robot wrote:
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: x86_64-randconfig-a004-20210403 (attached as .config)
compiler: clang version 13.0.0 (https://github.com/llvm/llvm-project 0fe8af94688aa03c01913c2001d6a1a911f42ce6)
reproduce (this is a W=1 build):
        wget https://raw.githubusercontent.com/intel/lkp-tests/master/sbin/make.cross -O ~/bin/make.cross
        chmod +x ~/bin/make.cross
        # install x86_64 cross compiling tool for clang build
        # apt-get install binutils-x86-64-linux-gnu
        # 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
        COMPILER_INSTALL_PATH=$HOME/0day COMPILER=clang make.cross ARCH=x86_64

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'
   void pci_configure_rp_10bit_tag(struct pci_dev *dev)
        ^
   drivers/pci/pci.h:468:20: note: previous definition is here
   static inline void pci_configure_rp_10bit_tag(struct pci_dev *dev) {}
                      ^
   1 error generated.


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




[Index of Archives]     [DMA Engine]     [Linux Coverity]     [Linux USB]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Greybus]

  Powered by Linux