[PATCH v8 3/6] PCI: Allow IOV resources to be resized in pci_resize_resource()

kernel test robot lkp at intel.com
Tue May 27 01:54:08 UTC 2025


Hi Michał,

kernel test robot noticed the following build errors:

[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus drm-xe/drm-xe-next drm-exynos/exynos-drm-next linus/master v6.15 next-20250526]
[cannot apply to drm/drm-next drm-intel/for-linux-next drm-intel/for-linux-next-fixes drm-misc/drm-misc-next drm-tip/drm-tip]
[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#_base_tree_information]

url:    https://github.com/intel-lab-lkp/linux/commits/Micha-Winiarski/PCI-IOV-Restore-VF-resizable-BAR-state-after-reset/20250527-054652
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20250526214257.3481760-4-michal.winiarski%40intel.com
patch subject: [PATCH v8 3/6] PCI: Allow IOV resources to be resized in pci_resize_resource()
config: riscv-randconfig-001-20250527 (https://download.01.org/0day-ci/archive/20250527/202505270903.Mnc3qSMW-lkp@intel.com/config)
compiler: riscv32-linux-gcc (GCC) 8.5.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250527/202505270903.Mnc3qSMW-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 at intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202505270903.Mnc3qSMW-lkp@intel.com/

All errors (new ones prefixed by >>):

   drivers/pci/pci.c: In function 'pci_rebar_find_pos':
>> drivers/pci/pci.c:3756:14: error: 'struct pci_dev' has no member named 'physfn'; did you mean 'is_physfn'?
      if (!pdev->physfn)
                 ^~~~~~
                 is_physfn
>> drivers/pci/pci.c:3758:13: error: 'struct pci_dev' has no member named 'sriov'
      pos = pdev->sriov->vf_rebar_cap;
                ^~


vim +3756 drivers/pci/pci.c

  3740	
  3741	/**
  3742	 * pci_rebar_find_pos - find position of resize ctrl reg for BAR
  3743	 * @pdev: PCI device
  3744	 * @bar: BAR to find
  3745	 *
  3746	 * Helper to find the position of the ctrl register for a BAR.
  3747	 * Returns -ENOTSUPP if resizable BARs are not supported at all.
  3748	 * Returns -ENOENT if no ctrl register for the BAR could be found.
  3749	 */
  3750	static int pci_rebar_find_pos(struct pci_dev *pdev, int bar)
  3751	{
  3752		unsigned int pos, nbars, i;
  3753		u32 ctrl;
  3754	
  3755		if (pci_resource_is_iov(bar)) {
> 3756			if (!pdev->physfn)
  3757				return -ENOTSUPP;
> 3758			pos = pdev->sriov->vf_rebar_cap;
  3759			bar = pci_resource_num_to_vf_bar(bar);
  3760		} else {
  3761			pos = pdev->rebar_cap;
  3762		}
  3763	
  3764		if (!pos)
  3765			return -ENOTSUPP;
  3766	
  3767		pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl);
  3768		nbars = FIELD_GET(PCI_REBAR_CTRL_NBAR_MASK, ctrl);
  3769	
  3770		for (i = 0; i < nbars; i++, pos += 8) {
  3771			int bar_idx;
  3772	
  3773			pci_read_config_dword(pdev, pos + PCI_REBAR_CTRL, &ctrl);
  3774			bar_idx = FIELD_GET(PCI_REBAR_CTRL_BAR_IDX, ctrl);
  3775			if (bar_idx == bar)
  3776				return pos;
  3777		}
  3778	
  3779		return -ENOENT;
  3780	}
  3781	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki


More information about the dri-devel mailing list