forked from mirrors/linux
		
	PCI/MSI: Rename write_msi_msg() to pci_write_msi_msg()
Rename write_msi_msg() to pci_write_msi_msg() to mark it as PCI specific. Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> Cc: Bjorn Helgaas <bhelgaas@google.com> Cc: Grant Likely <grant.likely@linaro.org> Cc: Marc Zyngier <marc.zyngier@arm.com> Cc: Yingjoe Chen <yingjoe.chen@mediatek.com> Cc: Yijing Wang <wangyijing@huawei.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
		
							parent
							
								
									891d4a48f7
								
							
						
					
					
						commit
						83a18912b0
					
				
					 26 changed files with 45 additions and 35 deletions
				
			
		| 
						 | 
				
			
			@ -153,7 +153,7 @@ int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
 | 
			
		|||
	id = iop13xx_cpu_id();
 | 
			
		||||
	msg.data = (id << IOP13XX_MU_MIMR_CORE_SELECT) | (irq & 0x7f);
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	irq_set_chip_and_handler(irq, &iop13xx_msi_chip, handle_simple_irq);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -35,7 +35,7 @@ static int ia64_set_msi_irq_affinity(struct irq_data *idata,
 | 
			
		|||
	data |= MSI_DATA_VECTOR(irq_to_vector(irq));
 | 
			
		||||
	msg.data = data;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	cpumask_copy(idata->affinity, cpumask_of(cpu));
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -71,7 +71,7 @@ int ia64_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
 | 
			
		|||
		MSI_DATA_DELIVERY_FIXED |
 | 
			
		||||
		MSI_DATA_VECTOR(vector);
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	irq_set_chip_and_handler(irq, &ia64_msi_chip, handle_edge_irq);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -145,7 +145,7 @@ int sn_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *entry)
 | 
			
		|||
	msg.data = 0x100 + irq;
 | 
			
		||||
 | 
			
		||||
	irq_set_msi_desc(irq, entry);
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	irq_set_chip_and_handler(irq, &sn_msi_chip, handle_edge_irq);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			@ -205,7 +205,7 @@ static int sn_set_msi_irq_affinity(struct irq_data *data,
 | 
			
		|||
	msg.address_hi = (u32)(bus_addr >> 32);
 | 
			
		||||
	msg.address_lo = (u32)(bus_addr & 0x00000000ffffffff);
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	cpumask_copy(data->affinity, cpu_mask);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -178,7 +178,7 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
 | 
			
		|||
	pci_write_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, control);
 | 
			
		||||
 | 
			
		||||
	irq_set_msi_desc(irq, desc);
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -345,7 +345,7 @@ static int xlp_setup_msi(uint64_t lnkbase, int node, int link,
 | 
			
		|||
	if (ret < 0)
 | 
			
		||||
		return ret;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(xirq, &msg);
 | 
			
		||||
	pci_write_msi_msg(xirq, &msg);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -448,7 +448,7 @@ static int xlp_setup_msix(uint64_t lnkbase, int node, int link,
 | 
			
		|||
		return ret;
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(xirq, &msg);
 | 
			
		||||
	pci_write_msi_msg(xirq, &msg);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -260,7 +260,7 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
 | 
			
		|||
	if (ret < 0)
 | 
			
		||||
		return ret;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
#endif
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -279,7 +279,7 @@ static int axon_msi_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
 | 
			
		|||
 | 
			
		||||
		irq_set_msi_desc(virq, entry);
 | 
			
		||||
		msg.data = virq;
 | 
			
		||||
		write_msi_msg(virq, &msg);
 | 
			
		||||
		pci_write_msi_msg(virq, &msg);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -91,7 +91,7 @@ static int pnv_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 | 
			
		|||
			return rc;
 | 
			
		||||
		}
 | 
			
		||||
		irq_set_msi_desc(virq, entry);
 | 
			
		||||
		write_msi_msg(virq, &msg);
 | 
			
		||||
		pci_write_msi_msg(virq, &msg);
 | 
			
		||||
	}
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -242,7 +242,7 @@ static int fsl_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 | 
			
		|||
		irq_set_msi_desc(virq, entry);
 | 
			
		||||
 | 
			
		||||
		fsl_compose_msi_msg(pdev, hwirq, &msg, msi_data);
 | 
			
		||||
		write_msi_msg(virq, &msg);
 | 
			
		||||
		pci_write_msi_msg(virq, &msg);
 | 
			
		||||
	}
 | 
			
		||||
	return 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -136,7 +136,7 @@ static int pasemi_msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 | 
			
		|||
		 * register to generate MSI [512...1023]
 | 
			
		||||
		 */
 | 
			
		||||
		msg.data = hwirq-0x200;
 | 
			
		||||
		write_msi_msg(virq, &msg);
 | 
			
		||||
		pci_write_msi_msg(virq, &msg);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -171,7 +171,7 @@ static int u3msi_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 | 
			
		|||
		printk("u3msi: allocated virq 0x%x (hw 0x%x) addr 0x%lx\n",
 | 
			
		||||
			  virq, hwirq, (unsigned long)addr);
 | 
			
		||||
		msg.data = hwirq;
 | 
			
		||||
		write_msi_msg(virq, &msg);
 | 
			
		||||
		pci_write_msi_msg(virq, &msg);
 | 
			
		||||
 | 
			
		||||
		hwirq++;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -85,7 +85,7 @@ static int hsta_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
 | 
			
		|||
			msi_bitmap_free_hwirqs(&ppc4xx_hsta_msi.bmp, irq, 1);
 | 
			
		||||
			return -EINVAL;
 | 
			
		||||
		}
 | 
			
		||||
		write_msi_msg(hwirq, &msg);
 | 
			
		||||
		pci_write_msi_msg(hwirq, &msg);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -116,7 +116,7 @@ static int ppc4xx_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
 | 
			
		|||
 | 
			
		||||
		irq_set_msi_desc(virq, entry);
 | 
			
		||||
		msg.data = int_no;
 | 
			
		||||
		write_msi_msg(virq, &msg);
 | 
			
		||||
		pci_write_msi_msg(virq, &msg);
 | 
			
		||||
	}
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -403,7 +403,7 @@ int arch_setup_msi_irqs(struct pci_dev *pdev, int nvec, int type)
 | 
			
		|||
		msg.data = hwirq;
 | 
			
		||||
		msg.address_lo = zdev->msi_addr & 0xffffffff;
 | 
			
		||||
		msg.address_hi = zdev->msi_addr >> 32;
 | 
			
		||||
		write_msi_msg(irq, &msg);
 | 
			
		||||
		pci_write_msi_msg(irq, &msg);
 | 
			
		||||
		airq_iv_set_data(zdev->aibv, hwirq, irq);
 | 
			
		||||
		hwirq++;
 | 
			
		||||
	}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -161,7 +161,7 @@ static int sparc64_setup_msi_irq(unsigned int *irq_p,
 | 
			
		|||
	msg.data = msi;
 | 
			
		||||
 | 
			
		||||
	irq_set_msi_desc(*irq_p, entry);
 | 
			
		||||
	write_msi_msg(*irq_p, &msg);
 | 
			
		||||
	pci_write_msi_msg(*irq_p, &msg);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1590,7 +1590,7 @@ int arch_setup_msi_irq(struct pci_dev *pdev, struct msi_desc *desc)
 | 
			
		|||
	msg.address_hi = msi_addr >> 32;
 | 
			
		||||
	msg.address_lo = msi_addr & 0xffffffff;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	irq_set_chip_and_handler(irq, &tilegx_msi_chip, handle_level_irq);
 | 
			
		||||
	irq_set_handler_data(irq, controller);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -3158,7 +3158,7 @@ msi_set_affinity(struct irq_data *data, const struct cpumask *mask, bool force)
 | 
			
		|||
	msg.address_lo &= ~MSI_ADDR_DEST_ID_MASK;
 | 
			
		||||
	msg.address_lo |= MSI_ADDR_DEST_ID(dest);
 | 
			
		||||
 | 
			
		||||
	__write_msi_msg(data->msi_desc, &msg);
 | 
			
		||||
	__pci_write_msi_msg(data->msi_desc, &msg);
 | 
			
		||||
 | 
			
		||||
	return IRQ_SET_MASK_OK_NOCOPY;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			@ -3196,7 +3196,7 @@ int setup_msi_irq(struct pci_dev *dev, struct msi_desc *msidesc,
 | 
			
		|||
	 * MSI message denotes a contiguous group of IRQs, written for 0th IRQ.
 | 
			
		||||
	 */
 | 
			
		||||
	if (!irq_offset)
 | 
			
		||||
		write_msi_msg(irq, &msg);
 | 
			
		||||
		pci_write_msi_msg(irq, &msg);
 | 
			
		||||
 | 
			
		||||
	setup_remapped_irq(irq, irq_cfg(irq), chip);
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -240,7 +240,7 @@ static int xen_hvm_setup_msi_irqs(struct pci_dev *dev, int nvec, int type)
 | 
			
		|||
				goto error;
 | 
			
		||||
			}
 | 
			
		||||
			xen_msi_compose_msg(dev, pirq, &msg);
 | 
			
		||||
			__write_msi_msg(msidesc, &msg);
 | 
			
		||||
			__pci_write_msi_msg(msidesc, &msg);
 | 
			
		||||
			dev_dbg(&dev->dev, "xen: msi bound to pirq=%d\n", pirq);
 | 
			
		||||
		} else {
 | 
			
		||||
			dev_dbg(&dev->dev,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -156,7 +156,7 @@ static int armada_370_xp_setup_msi_irq(struct msi_controller *chip,
 | 
			
		|||
	msg.address_hi = 0;
 | 
			
		||||
	msg.data = 0xf00 | (hwirq + 16);
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(virq, &msg);
 | 
			
		||||
	pci_write_msi_msg(virq, &msg);
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -1299,7 +1299,7 @@ static int tegra_msi_setup_irq(struct msi_controller *chip,
 | 
			
		|||
	msg.address_hi = 0;
 | 
			
		||||
	msg.data = hwirq;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -298,7 +298,7 @@ static int dw_msi_setup_irq(struct msi_controller *chip, struct pci_dev *pdev,
 | 
			
		|||
	else
 | 
			
		||||
		msg.data = pos;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -640,7 +640,7 @@ static int rcar_msi_setup_irq(struct msi_controller *chip, struct pci_dev *pdev,
 | 
			
		|||
	msg.address_hi = rcar_pci_read_reg(pcie, PCIEMSIAUR);
 | 
			
		||||
	msg.data = hwirq;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -375,7 +375,7 @@ static int xilinx_pcie_msi_setup_irq(struct msi_controller *chip,
 | 
			
		|||
	msg.address_lo = msg_addr;
 | 
			
		||||
	msg.data = irq;
 | 
			
		||||
 | 
			
		||||
	write_msi_msg(irq, &msg);
 | 
			
		||||
	pci_write_msi_msg(irq, &msg);
 | 
			
		||||
 | 
			
		||||
	return 0;
 | 
			
		||||
}
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -130,7 +130,7 @@ static void default_restore_msi_irq(struct pci_dev *dev, int irq)
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	if (entry)
 | 
			
		||||
		__write_msi_msg(entry, &entry->msg);
 | 
			
		||||
		__pci_write_msi_msg(entry, &entry->msg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void __weak arch_restore_msi_irqs(struct pci_dev *dev)
 | 
			
		||||
| 
						 | 
				
			
			@ -300,7 +300,7 @@ void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg)
 | 
			
		|||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(get_cached_msi_msg);
 | 
			
		||||
 | 
			
		||||
void __write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 | 
			
		||||
void __pci_write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 | 
			
		||||
{
 | 
			
		||||
	if (entry->dev->current_state != PCI_D0) {
 | 
			
		||||
		/* Don't touch the hardware now */
 | 
			
		||||
| 
						 | 
				
			
			@ -337,13 +337,13 @@ void __write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 | 
			
		|||
	entry->msg = *msg;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void write_msi_msg(unsigned int irq, struct msi_msg *msg)
 | 
			
		||||
void pci_write_msi_msg(unsigned int irq, struct msi_msg *msg)
 | 
			
		||||
{
 | 
			
		||||
	struct msi_desc *entry = irq_get_msi_desc(irq);
 | 
			
		||||
 | 
			
		||||
	__write_msi_msg(entry, msg);
 | 
			
		||||
	__pci_write_msi_msg(entry, msg);
 | 
			
		||||
}
 | 
			
		||||
EXPORT_SYMBOL_GPL(write_msi_msg);
 | 
			
		||||
EXPORT_SYMBOL_GPL(pci_write_msi_msg);
 | 
			
		||||
 | 
			
		||||
static void free_msi_irqs(struct pci_dev *dev)
 | 
			
		||||
{
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -560,7 +560,7 @@ static int vfio_msi_set_vector_signal(struct vfio_pci_device *vdev,
 | 
			
		|||
		struct msi_msg msg;
 | 
			
		||||
 | 
			
		||||
		get_cached_msi_msg(irq, &msg);
 | 
			
		||||
		write_msi_msg(irq, &msg);
 | 
			
		||||
		pci_write_msi_msg(irq, &msg);
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	ret = request_irq(irq, vfio_msihandler, 0,
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
| 
						 | 
				
			
			@ -17,9 +17,7 @@ struct msi_desc;
 | 
			
		|||
void mask_msi_irq(struct irq_data *data);
 | 
			
		||||
void unmask_msi_irq(struct irq_data *data);
 | 
			
		||||
void __get_cached_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
 | 
			
		||||
void __write_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
 | 
			
		||||
void get_cached_msi_msg(unsigned int irq, struct msi_msg *msg);
 | 
			
		||||
void write_msi_msg(unsigned int irq, struct msi_msg *msg);
 | 
			
		||||
 | 
			
		||||
u32 __msix_mask_irq(struct msi_desc *desc, u32 flag);
 | 
			
		||||
u32 __msi_mask_irq(struct msi_desc *desc, u32 mask, u32 flag);
 | 
			
		||||
| 
						 | 
				
			
			@ -51,6 +49,18 @@ struct msi_desc {
 | 
			
		|||
};
 | 
			
		||||
 | 
			
		||||
void __pci_read_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
 | 
			
		||||
void __pci_write_msi_msg(struct msi_desc *entry, struct msi_msg *msg);
 | 
			
		||||
void pci_write_msi_msg(unsigned int irq, struct msi_msg *msg);
 | 
			
		||||
 | 
			
		||||
/* Conversion helpers. Should be removed after merging */
 | 
			
		||||
static inline void __write_msi_msg(struct msi_desc *entry, struct msi_msg *msg)
 | 
			
		||||
{
 | 
			
		||||
	__pci_write_msi_msg(entry, msg);
 | 
			
		||||
}
 | 
			
		||||
static inline void write_msi_msg(int irq, struct msi_msg *msg)
 | 
			
		||||
{
 | 
			
		||||
	pci_write_msi_msg(irq, msg);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
 * The arch hooks to setup up msi irqs. Those functions are
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue