Re: [PATCH] PCI: dwc: Chain the set IRQ affinity request back to the parent

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

 



Hi Daniel,

kernel test robot noticed the following build errors:

[auto build test ERROR on pci/next]
[also build test ERROR on pci/for-linus mani-mhi/mhi-next linus/master v6.14-rc5 next-20250228]
[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/Daniel-Tsai/PCI-dwc-Chain-the-set-IRQ-affinity-request-back-to-the-parent/20250303-150704
base:   https://git.kernel.org/pub/scm/linux/kernel/git/pci/pci.git next
patch link:    https://lore.kernel.org/r/20250303070501.2740392-1-danielsftsai%40google.com
patch subject: [PATCH] PCI: dwc: Chain the set IRQ affinity request back to the parent
config: sparc64-randconfig-002-20250303 (https://download.01.org/0day-ci/archive/20250303/202503031759.oiGkE9fl-lkp@xxxxxxxxx/config)
compiler: sparc64-linux-gcc (GCC) 14.2.0
reproduce (this is a W=1 build): (https://download.01.org/0day-ci/archive/20250303/202503031759.oiGkE9fl-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/202503031759.oiGkE9fl-lkp@xxxxxxxxx/

All errors (new ones prefixed by >>):

   drivers/pci/controller/dwc/pcie-designware-host.c: In function 'dw_pci_msi_set_affinity':
>> drivers/pci/controller/dwc/pcie-designware-host.c:223:58: error: 'struct irq_common_data' has no member named 'affinity'
     223 |                 cpumask_copy(desc_parent->irq_common_data.affinity, mask);
         |                                                          ^


vim +223 drivers/pci/controller/dwc/pcie-designware-host.c

   178	
   179	static int dw_pci_msi_set_affinity(struct irq_data *d,
   180					   const struct cpumask *mask, bool force)
   181	{
   182		struct dw_pcie_rp *pp = irq_data_get_irq_chip_data(d);
   183		struct dw_pcie *pci = to_dw_pcie_from_pp(pp);
   184		int ret;
   185		int virq_parent;
   186		unsigned long hwirq = d->hwirq;
   187		unsigned long flags, ctrl;
   188		struct irq_desc *desc_parent;
   189		const struct cpumask *effective_mask;
   190		cpumask_var_t mask_result;
   191	
   192		ctrl = hwirq / MAX_MSI_IRQS_PER_CTRL;
   193		if (!alloc_cpumask_var(&mask_result, GFP_ATOMIC))
   194			return -ENOMEM;
   195	
   196		/*
   197		 * Loop through all possible MSI vector to check if the
   198		 * requested one is compatible with all of them
   199		 */
   200		raw_spin_lock_irqsave(&pp->lock, flags);
   201		cpumask_copy(mask_result, mask);
   202		ret = dw_pci_check_mask_compatibility(pp, ctrl, hwirq, mask_result);
   203		if (ret) {
   204			dev_dbg(pci->dev, "Incompatible mask, request %*pbl, irq num %u\n",
   205				cpumask_pr_args(mask), d->irq);
   206			goto unlock;
   207		}
   208	
   209		dev_dbg(pci->dev, "Final mask, request %*pbl, irq num %u\n",
   210			cpumask_pr_args(mask_result), d->irq);
   211	
   212		virq_parent = pp->msi_irq[ctrl];
   213		desc_parent = irq_to_desc(virq_parent);
   214		ret = desc_parent->irq_data.chip->irq_set_affinity(&desc_parent->irq_data,
   215								   mask_result, force);
   216	
   217		if (ret < 0)
   218			goto unlock;
   219	
   220		switch (ret) {
   221		case IRQ_SET_MASK_OK:
   222		case IRQ_SET_MASK_OK_DONE:
 > 223			cpumask_copy(desc_parent->irq_common_data.affinity, mask);
   224			fallthrough;
   225		case IRQ_SET_MASK_OK_NOCOPY:
   226			break;
   227		}
   228	
   229		effective_mask = irq_data_get_effective_affinity_mask(&desc_parent->irq_data);
   230		dw_pci_update_effective_affinity(pp, ctrl, effective_mask, hwirq);
   231	
   232	unlock:
   233		free_cpumask_var(mask_result);
   234		raw_spin_unlock_irqrestore(&pp->lock, flags);
   235		return ret < 0 ? ret : IRQ_SET_MASK_OK_NOCOPY;
   236	}
   237	

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




[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