Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 359c660e authored by Bjorn Helgaas's avatar Bjorn Helgaas
Browse files

Merge branch 'pci/msi' into next

* pci/msi:
  PCI/MSI: Remove unnecessary temporary variable
  PCI/MSI: Use __write_msi_msg() instead of write_msi_msg()
  MSI/powerpc: Use __read_msi_msg() instead of read_msi_msg()
  PCI/MSI: Use __get_cached_msi_msg() instead of get_cached_msi_msg()
  PCI/MSI: Add "msi_bus" sysfs MSI/MSI-X control for endpoints
  PCI/MSI: Remove "pos" from the struct msi_desc msi_attrib
  PCI/MSI: Remove unused kobject from struct msi_desc
  PCI/MSI: Rename pci_msi_check_device() to pci_msi_supported()
  PCI/MSI: Move D0 check into pci_msi_check_device()
  PCI/MSI: Remove arch_msi_check_device()
  irqchip: armada-370-xp: Remove arch_msi_check_device()
  PCI/MSI/PPC: Remove arch_msi_check_device()

Conflicts:
	drivers/pci/host/pcie-designware.c
parents 07a7cbd3 5ec09405
Loading
Loading
Loading
Loading
+10 −0
Original line number Diff line number Diff line
@@ -65,6 +65,16 @@ Description:
		force a rescan of all PCI buses in the system, and
		re-discover previously removed devices.

What:		/sys/bus/pci/devices/.../msi_bus
Date:		September 2014
Contact:	Linux PCI developers <linux-pci@vger.kernel.org>
Description:
		Writing a zero value to this attribute disallows MSI and
		MSI-X for any future drivers of the device.  If the device
		is a bridge, MSI and MSI-X will be disallowed for future
		drivers of all child devices under the bridge.  Drivers
		must be reloaded for the new setting to take effect.

What:		/sys/bus/pci/devices/.../msi_irqs/
Date:		September, 2011
Contact:	Neil Horman <nhorman@tuxdriver.com>
+1 −1
Original line number Diff line number Diff line
@@ -23,7 +23,7 @@ static int ia64_set_msi_irq_affinity(struct irq_data *idata,
	if (irq_prepare_move(irq, cpu))
		return -1;

	get_cached_msi_msg(irq, &msg);
	__get_cached_msi_msg(idata->msi_desc, &msg);

	addr = msg.address_lo;
	addr &= MSI_ADDR_DEST_ID_MASK;
+2 −2
Original line number Diff line number Diff line
@@ -175,7 +175,7 @@ static int sn_set_msi_irq_affinity(struct irq_data *data,
	 * Release XIO resources for the old MSI PCI address
	 */

	get_cached_msi_msg(irq, &msg);
	__get_cached_msi_msg(data->msi_desc, &msg);
	sn_pdev = (struct pcidev_info *)sn_irq_info->irq_pciioinfo;
	pdev = sn_pdev->pdi_linux_pcidev;
	provider = SN_PCIDEV_BUSPROVIDER(pdev);
+2 −4
Original line number Diff line number Diff line
@@ -73,8 +73,7 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
	 * wants.  Most devices only want 1, which will give
	 * configured_private_bits and request_private_bits equal 0.
	 */
	pci_read_config_word(dev, desc->msi_attrib.pos + PCI_MSI_FLAGS,
			     &control);
	pci_read_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, &control);

	/*
	 * If the number of private bits has been configured then use
@@ -176,8 +175,7 @@ int arch_setup_msi_irq(struct pci_dev *dev, struct msi_desc *desc)
	/* Update the number of IRQs the device has available to it */
	control &= ~PCI_MSI_FLAGS_QSIZE;
	control |= request_private_bits << 4;
	pci_write_config_word(dev, desc->msi_attrib.pos + PCI_MSI_FLAGS,
			      control);
	pci_write_config_word(dev, dev->msi_cap + PCI_MSI_FLAGS, control);

	irq_set_msi_desc(irq, desc);
	write_msi_msg(irq, &msg);
+0 −2
Original line number Diff line number Diff line
@@ -136,8 +136,6 @@ struct machdep_calls {
	int		(*pci_setup_phb)(struct pci_controller *host);

#ifdef CONFIG_PCI_MSI
	int		(*msi_check_device)(struct pci_dev* dev,
					    int nvec, int type);
	int		(*setup_msi_irqs)(struct pci_dev *dev,
					  int nvec, int type);
	void		(*teardown_msi_irqs)(struct pci_dev *dev);
Loading