linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()"
@ 2016-02-17 18:36 Bjorn Helgaas
  2016-02-17 18:37 ` [PATCH v2 1/3] Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled" Bjorn Helgaas
                   ` (4 more replies)
  0 siblings, 5 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2016-02-17 18:36 UTC (permalink / raw)
  To: linux-pci
  Cc: ОлегМороз,
	Joerg Roedel, Rafael J. Wysocki, linux-kernel, Sunjin Yang,
	linux-acpi, Thomas Gleixner, Yinghai Lu, Jiang Liu

These are clean reverts of 991de2e59090 ("PCI, x86: Implement
pcibios_alloc_irq() and pcibios_free_irq()") and related changes.

We have two reports of drivers broken in v4.3 by Jiang's change,
991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
pcibios_free_irq()").

It would be best to fix the problem instead of reverting 991de2e59090, but
I don't have time to do that myself, and we haven't heard from Jiang, so
the only choice I have is to revert the commit.

Note that reverting will likely break IOAPIC hotplug.

Олег and Sunjin, can you please test this and see whether it fixes your
drivers?  This patch is based on v4.5-rc1.

I intend to merge these for v4.5 unless I hear objections.

They're on my for-linus branch, so they should appear in linux-next
tomorrow.

Changes from the v1 posting:
  - Explicitly revert related patches instead of resolving conflicts
    manually
---

Bjorn Helgaas (3):
      Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"
      Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
      Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"


 arch/x86/include/asm/pci_x86.h |    2 ++
 arch/x86/pci/common.c          |   26 ++++++++++----------------
 arch/x86/pci/intel_mid_pci.c   |    9 +++------
 arch/x86/pci/irq.c             |   23 +++++++++++++++++++----
 drivers/acpi/pci_irq.c         |   17 +++++++++++++----
 include/linux/pci.h            |   17 -----------------
 6 files changed, 47 insertions(+), 47 deletions(-)

^ permalink raw reply	[flat|nested] 9+ messages in thread

* [PATCH v2 1/3] Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"
  2016-02-17 18:36 [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
@ 2016-02-17 18:37 ` Bjorn Helgaas
  2016-02-17 18:37 ` [PATCH v2 2/3] Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed" Bjorn Helgaas
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2016-02-17 18:37 UTC (permalink / raw)
  To: linux-pci
  Cc: ОлегМороз,
	Joerg Roedel, Rafael J. Wysocki, linux-kernel, Sunjin Yang,
	linux-acpi, Thomas Gleixner, Yinghai Lu, Jiang Liu

Revert 8affb487d4a4 ("x86/PCI: Don't alloc pcibios-irq when MSI is
enabled").

This is part of reverting 991de2e59090 ("PCI, x86: Implement
pcibios_alloc_irq() and pcibios_free_irq()") to fix regressions it
introduced.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=111211
Fixes: 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()")
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Jiang Liu <jiang.liu@linux.intel.com>
CC: Joerg Roedel <jroedel@suse.de>
---
 arch/x86/pci/common.c |    8 --------
 1 file changed, 8 deletions(-)

diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index 2879efc..cb499c5 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -713,14 +713,6 @@ int pcibios_add_device(struct pci_dev *dev)
 
 int pcibios_alloc_irq(struct pci_dev *dev)
 {
-	/*
-	 * If the PCI device was already claimed by core code and has
-	 * MSI enabled, probing of the pcibios IRQ will overwrite
-	 * dev->irq.  So bail out if MSI is already enabled.
-	 */
-	if (pci_dev_msi_enabled(dev))
-		return -EBUSY;
-
 	return pcibios_enable_irq(dev);
 }
 

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 2/3] Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
  2016-02-17 18:36 [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
  2016-02-17 18:37 ` [PATCH v2 1/3] Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled" Bjorn Helgaas
@ 2016-02-17 18:37 ` Bjorn Helgaas
  2016-02-17 18:37 ` [PATCH v2 3/3] Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2016-02-17 18:37 UTC (permalink / raw)
  To: linux-pci
  Cc: ОлегМороз,
	Joerg Roedel, Rafael J. Wysocki, linux-kernel, Sunjin Yang,
	linux-acpi, Thomas Gleixner, Yinghai Lu, Jiang Liu

Revert 811a4e6fce09 ("PCI: Add helpers to manage pci_dev->irq and
pci_dev->irq_managed").

This is part of reverting 991de2e59090 ("PCI, x86: Implement
pcibios_alloc_irq() and pcibios_free_irq()") to fix regressions it
introduced.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=111211
Fixes: 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()")
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Jiang Liu <jiang.liu@linux.intel.com>
---
 arch/x86/pci/intel_mid_pci.c |    4 ++--
 arch/x86/pci/irq.c           |   10 ++++++----
 drivers/acpi/pci_irq.c       |   10 ++++++----
 include/linux/pci.h          |   17 -----------------
 4 files changed, 14 insertions(+), 27 deletions(-)

diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c
index 0d24e7c..8826ff5 100644
--- a/arch/x86/pci/intel_mid_pci.c
+++ b/arch/x86/pci/intel_mid_pci.c
@@ -215,7 +215,7 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev)
 	int polarity;
 	int ret;
 
-	if (pci_has_managed_irq(dev))
+	if (dev->irq_managed && dev->irq > 0)
 		return 0;
 
 	switch (intel_mid_identify_cpu()) {
@@ -256,7 +256,7 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev)
 
 static void intel_mid_pci_irq_disable(struct pci_dev *dev)
 {
-	if (pci_has_managed_irq(dev)) {
+	if (dev->irq_managed && dev->irq > 0) {
 		mp_unmap_irq(dev->irq);
 		dev->irq_managed = 0;
 		/*
diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c
index 32e7034..72108f0 100644
--- a/arch/x86/pci/irq.c
+++ b/arch/x86/pci/irq.c
@@ -1202,7 +1202,7 @@ static int pirq_enable_irq(struct pci_dev *dev)
 			struct pci_dev *temp_dev;
 			int irq;
 
-			if (pci_has_managed_irq(dev))
+			if (dev->irq_managed && dev->irq > 0)
 				return 0;
 
 			irq = IO_APIC_get_PCI_irq_vector(dev->bus->number,
@@ -1230,7 +1230,8 @@ static int pirq_enable_irq(struct pci_dev *dev)
 			}
 			dev = temp_dev;
 			if (irq >= 0) {
-				pci_set_managed_irq(dev, irq);
+				dev->irq_managed = 1;
+				dev->irq = irq;
 				dev_info(&dev->dev, "PCI->APIC IRQ transform: "
 					 "INT %c -> IRQ %d\n", 'A' + pin - 1, irq);
 				return 0;
@@ -1258,8 +1259,9 @@ static int pirq_enable_irq(struct pci_dev *dev)
 
 static void pirq_disable_irq(struct pci_dev *dev)
 {
-	if (io_apic_assign_pci_irqs && pci_has_managed_irq(dev)) {
+	if (io_apic_assign_pci_irqs && dev->irq_managed && dev->irq) {
 		mp_unmap_irq(dev->irq);
-		pci_reset_managed_irq(dev);
+		dev->irq = 0;
+		dev->irq_managed = 0;
 	}
 }
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index d30184c..9032db7 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -406,7 +406,7 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
 		return 0;
 	}
 
-	if (pci_has_managed_irq(dev))
+	if (dev->irq_managed && dev->irq > 0)
 		return 0;
 
 	entry = acpi_pci_irq_lookup(dev, pin);
@@ -451,7 +451,8 @@ int acpi_pci_irq_enable(struct pci_dev *dev)
 		kfree(entry);
 		return rc;
 	}
-	pci_set_managed_irq(dev, rc);
+	dev->irq = rc;
+	dev->irq_managed = 1;
 
 	if (link)
 		snprintf(link_desc, sizeof(link_desc), " -> Link[%s]", link);
@@ -474,7 +475,7 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
 	u8 pin;
 
 	pin = dev->pin;
-	if (!pin || !pci_has_managed_irq(dev))
+	if (!pin || !dev->irq_managed || dev->irq <= 0)
 		return;
 
 	entry = acpi_pci_irq_lookup(dev, pin);
@@ -496,6 +497,7 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
 	dev_dbg(&dev->dev, "PCI INT %c disabled\n", pin_name(pin));
 	if (gsi >= 0) {
 		acpi_unregister_gsi(gsi);
-		pci_reset_managed_irq(dev);
+		dev->irq_managed = 0;
+		dev->irq = 0;
 	}
 }
diff --git a/include/linux/pci.h b/include/linux/pci.h
index 27df4a6..2771625 100644
--- a/include/linux/pci.h
+++ b/include/linux/pci.h
@@ -988,23 +988,6 @@ static inline int pci_is_managed(struct pci_dev *pdev)
 	return pdev->is_managed;
 }
 
-static inline void pci_set_managed_irq(struct pci_dev *pdev, unsigned int irq)
-{
-	pdev->irq = irq;
-	pdev->irq_managed = 1;
-}
-
-static inline void pci_reset_managed_irq(struct pci_dev *pdev)
-{
-	pdev->irq = 0;
-	pdev->irq_managed = 0;
-}
-
-static inline bool pci_has_managed_irq(struct pci_dev *pdev)
-{
-	return pdev->irq_managed && pdev->irq > 0;
-}
-
 void pci_disable_device(struct pci_dev *dev);
 
 extern unsigned int pcibios_max_latency;

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* [PATCH v2 3/3] Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
  2016-02-17 18:36 [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
  2016-02-17 18:37 ` [PATCH v2 1/3] Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled" Bjorn Helgaas
  2016-02-17 18:37 ` [PATCH v2 2/3] Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed" Bjorn Helgaas
@ 2016-02-17 18:37 ` Bjorn Helgaas
  2016-02-17 19:47 ` [PATCH v2 0/3] PCI: Revert "Implement " Rafael J. Wysocki
  2016-02-18  5:13 ` Мороз Олег
  4 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2016-02-17 18:37 UTC (permalink / raw)
  To: linux-pci
  Cc: ОлегМороз,
	Joerg Roedel, Rafael J. Wysocki, linux-kernel, Sunjin Yang,
	linux-acpi, Thomas Gleixner, Yinghai Lu, Jiang Liu

991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
pcibios_free_irq()") appeared in v4.3 and helps support IOAPIC hotplug.

Олег reported that the Elcus-1553 TA1-PCI driver worked in v4.2 but not
v4.3 and bisected it to 991de2e59090.  Sunjin reported that the RocketRAID
272x driver worked in v4.2 but not v4.3.  In both cases booting with
"pci=routirq" is a workaround.

I think the problem is that after 991de2e59090, we no longer call
pcibios_enable_irq() for upstream bridges.  Prior to 991de2e59090, when a
driver called pci_enable_device(), we recursively called
pcibios_enable_irq() for upstream bridges via pci_enable_bridge().

After 991de2e59090, we call pcibios_enable_irq() from pci_device_probe()
instead of the pci_enable_device() path, which does *not* call
pcibios_enable_irq() for upstream bridges.

Revert 991de2e59090 to fix these driver regressions.

Link: https://bugzilla.kernel.org/show_bug.cgi?id=111211
Fixes: 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()")
Reported-by: Олег Мороз <oleg.moroz@mcc.vniiem.ru>
Reported-by: Sunjin Yang <fan4326@gmail.com>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
CC: Jiang Liu <jiang.liu@linux.intel.com>
---
 arch/x86/include/asm/pci_x86.h |    2 ++
 arch/x86/pci/common.c          |   20 +++++++++++---------
 arch/x86/pci/intel_mid_pci.c   |    7 ++-----
 arch/x86/pci/irq.c             |   15 ++++++++++++++-
 drivers/acpi/pci_irq.c         |    9 ++++++++-
 5 files changed, 37 insertions(+), 16 deletions(-)

diff --git a/arch/x86/include/asm/pci_x86.h b/arch/x86/include/asm/pci_x86.h
index 46873fb..d08eacd2 100644
--- a/arch/x86/include/asm/pci_x86.h
+++ b/arch/x86/include/asm/pci_x86.h
@@ -93,6 +93,8 @@ extern raw_spinlock_t pci_config_lock;
 extern int (*pcibios_enable_irq)(struct pci_dev *dev);
 extern void (*pcibios_disable_irq)(struct pci_dev *dev);
 
+extern bool mp_should_keep_irq(struct device *dev);
+
 struct pci_raw_ops {
 	int (*read)(unsigned int domain, unsigned int bus, unsigned int devfn,
 						int reg, int len, u32 *val);
diff --git a/arch/x86/pci/common.c b/arch/x86/pci/common.c
index cb499c5..d34b511 100644
--- a/arch/x86/pci/common.c
+++ b/arch/x86/pci/common.c
@@ -711,20 +711,22 @@ int pcibios_add_device(struct pci_dev *dev)
 	return 0;
 }
 
-int pcibios_alloc_irq(struct pci_dev *dev)
+int pcibios_enable_device(struct pci_dev *dev, int mask)
 {
-	return pcibios_enable_irq(dev);
-}
+	int err;
 
-void pcibios_free_irq(struct pci_dev *dev)
-{
-	if (pcibios_disable_irq)
-		pcibios_disable_irq(dev);
+	if ((err = pci_enable_resources(dev, mask)) < 0)
+		return err;
+
+	if (!pci_dev_msi_enabled(dev))
+		return pcibios_enable_irq(dev);
+	return 0;
 }
 
-int pcibios_enable_device(struct pci_dev *dev, int mask)
+void pcibios_disable_device (struct pci_dev *dev)
 {
-	return pci_enable_resources(dev, mask);
+	if (!pci_dev_msi_enabled(dev) && pcibios_disable_irq)
+		pcibios_disable_irq(dev);
 }
 
 int pci_ext_cfg_avail(void)
diff --git a/arch/x86/pci/intel_mid_pci.c b/arch/x86/pci/intel_mid_pci.c
index 8826ff5..8b93e63 100644
--- a/arch/x86/pci/intel_mid_pci.c
+++ b/arch/x86/pci/intel_mid_pci.c
@@ -256,13 +256,10 @@ static int intel_mid_pci_irq_enable(struct pci_dev *dev)
 
 static void intel_mid_pci_irq_disable(struct pci_dev *dev)
 {
-	if (dev->irq_managed && dev->irq > 0) {
+	if (!mp_should_keep_irq(&dev->dev) && dev->irq_managed &&
+	    dev->irq > 0) {
 		mp_unmap_irq(dev->irq);
 		dev->irq_managed = 0;
-		/*
-		 * Don't reset dev->irq here, otherwise
-		 * intel_mid_pci_irq_enable() will fail on next call.
-		 */
 	}
 }
 
diff --git a/arch/x86/pci/irq.c b/arch/x86/pci/irq.c
index 72108f0..9bd1154 100644
--- a/arch/x86/pci/irq.c
+++ b/arch/x86/pci/irq.c
@@ -1257,9 +1257,22 @@ static int pirq_enable_irq(struct pci_dev *dev)
 	return 0;
 }
 
+bool mp_should_keep_irq(struct device *dev)
+{
+	if (dev->power.is_prepared)
+		return true;
+#ifdef CONFIG_PM
+	if (dev->power.runtime_status == RPM_SUSPENDING)
+		return true;
+#endif
+
+	return false;
+}
+
 static void pirq_disable_irq(struct pci_dev *dev)
 {
-	if (io_apic_assign_pci_irqs && dev->irq_managed && dev->irq) {
+	if (io_apic_assign_pci_irqs && !mp_should_keep_irq(&dev->dev) &&
+	    dev->irq_managed && dev->irq) {
 		mp_unmap_irq(dev->irq);
 		dev->irq = 0;
 		dev->irq_managed = 0;
diff --git a/drivers/acpi/pci_irq.c b/drivers/acpi/pci_irq.c
index 9032db7..c8e169e 100644
--- a/drivers/acpi/pci_irq.c
+++ b/drivers/acpi/pci_irq.c
@@ -478,6 +478,14 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
 	if (!pin || !dev->irq_managed || dev->irq <= 0)
 		return;
 
+	/* Keep IOAPIC pin configuration when suspending */
+	if (dev->dev.power.is_prepared)
+		return;
+#ifdef	CONFIG_PM
+	if (dev->dev.power.runtime_status == RPM_SUSPENDING)
+		return;
+#endif
+
 	entry = acpi_pci_irq_lookup(dev, pin);
 	if (!entry)
 		return;
@@ -498,6 +506,5 @@ void acpi_pci_irq_disable(struct pci_dev *dev)
 	if (gsi >= 0) {
 		acpi_unregister_gsi(gsi);
 		dev->irq_managed = 0;
-		dev->irq = 0;
 	}
 }

^ permalink raw reply related	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()"
  2016-02-17 18:36 [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
                   ` (2 preceding siblings ...)
  2016-02-17 18:37 ` [PATCH v2 3/3] Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
@ 2016-02-17 19:47 ` Rafael J. Wysocki
  2016-02-18  5:13 ` Мороз Олег
  4 siblings, 0 replies; 9+ messages in thread
From: Rafael J. Wysocki @ 2016-02-17 19:47 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Linux PCI,
	ОлегМороз,
	Joerg Roedel, Rafael J. Wysocki, Linux Kernel Mailing List,
	Sunjin Yang, ACPI Devel Maling List, Thomas Gleixner, Yinghai Lu,
	Jiang Liu

On Wed, Feb 17, 2016 at 7:36 PM, Bjorn Helgaas <bhelgaas@google.com> wrote:
> These are clean reverts of 991de2e59090 ("PCI, x86: Implement
> pcibios_alloc_irq() and pcibios_free_irq()") and related changes.
>
> We have two reports of drivers broken in v4.3 by Jiang's change,
> 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
> pcibios_free_irq()").
>
> It would be best to fix the problem instead of reverting 991de2e59090, but
> I don't have time to do that myself, and we haven't heard from Jiang, so
> the only choice I have is to revert the commit.
>
> Note that reverting will likely break IOAPIC hotplug.
>
> Олег and Sunjin, can you please test this and see whether it fixes your
> drivers?  This patch is based on v4.5-rc1.
>
> I intend to merge these for v4.5 unless I hear objections.
>
> They're on my for-linus branch, so they should appear in linux-next
> tomorrow.
>
> Changes from the v1 posting:
>   - Explicitly revert related patches instead of resolving conflicts
>     manually
> ---
>
> Bjorn Helgaas (3):
>       Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"
>       Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
>       Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"

ACK for all three FWIW.

Thanks,
Rafael

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()"
  2016-02-17 18:36 [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
                   ` (3 preceding siblings ...)
  2016-02-17 19:47 ` [PATCH v2 0/3] PCI: Revert "Implement " Rafael J. Wysocki
@ 2016-02-18  5:13 ` Мороз Олег
  2016-02-18 16:03   ` Bjorn Helgaas
  4 siblings, 1 reply; 9+ messages in thread
From: Мороз Олег @ 2016-02-18  5:13 UTC (permalink / raw)
  To: Bjorn Helgaas, linux-pci
  Cc: Joerg Roedel, Rafael J. Wysocki, linux-kernel, Sunjin Yang,
	linux-acpi, Thomas Gleixner, Yinghai Lu, Jiang Liu

On 17.02.2016 21:36, Bjorn Helgaas wrote:
> These are clean reverts of 991de2e59090 ("PCI, x86: Implement
> pcibios_alloc_irq() and pcibios_free_irq()") and related changes.
>
> We have two reports of drivers broken in v4.3 by Jiang's change,
> 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
> pcibios_free_irq()").
>
> It would be best to fix the problem instead of reverting 991de2e59090, but
> I don't have time to do that myself, and we haven't heard from Jiang, so
> the only choice I have is to revert the commit.
>
> Note that reverting will likely break IOAPIC hotplug.
>
> Олег and Sunjin, can you please test this and see whether it fixes your
> drivers?  This patch is based on v4.5-rc1.
>
> I intend to merge these for v4.5 unless I hear objections.
>
> They're on my for-linus branch, so they should appear in linux-next
> tomorrow.
>
> Changes from the v1 posting:
>    - Explicitly revert related patches instead of resolving conflicts
>      manually
> ---
>
> Bjorn Helgaas (3):
>        Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"
>        Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
>        Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
>
>
>   arch/x86/include/asm/pci_x86.h |    2 ++
>   arch/x86/pci/common.c          |   26 ++++++++++----------------
>   arch/x86/pci/intel_mid_pci.c   |    9 +++------
>   arch/x86/pci/irq.c             |   23 +++++++++++++++++++----
>   drivers/acpi/pci_irq.c         |   17 +++++++++++++----
>   include/linux/pci.h            |   17 -----------------
>   6 files changed, 47 insertions(+), 47 deletions(-)
As i undestand this patch will appear in kernel git repo tomorrow? I 
don't need to apply in manyally to v4.5-rc1?

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()"
  2016-02-18  5:13 ` Мороз Олег
@ 2016-02-18 16:03   ` Bjorn Helgaas
  2016-02-24 18:30     ` Олег Мороз
  0 siblings, 1 reply; 9+ messages in thread
From: Bjorn Helgaas @ 2016-02-18 16:03 UTC (permalink / raw)
  To: Мороз Олег
  Cc: Bjorn Helgaas, linux-pci, Joerg Roedel, Rafael J. Wysocki,
	linux-kernel, Sunjin Yang, linux-acpi, Thomas Gleixner,
	Yinghai Lu, Jiang Liu

On Thu, Feb 18, 2016 at 08:13:41AM +0300, Мороз Олег wrote:
> On 17.02.2016 21:36, Bjorn Helgaas wrote:
> >These are clean reverts of 991de2e59090 ("PCI, x86: Implement
> >pcibios_alloc_irq() and pcibios_free_irq()") and related changes.
> >
> >We have two reports of drivers broken in v4.3 by Jiang's change,
> >991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
> >pcibios_free_irq()").
> >
> >It would be best to fix the problem instead of reverting 991de2e59090, but
> >I don't have time to do that myself, and we haven't heard from Jiang, so
> >the only choice I have is to revert the commit.
> >
> >Note that reverting will likely break IOAPIC hotplug.
> >
> >Олег and Sunjin, can you please test this and see whether it fixes your
> >drivers?  This patch is based on v4.5-rc1.
> >
> >I intend to merge these for v4.5 unless I hear objections.
> >
> >They're on my for-linus branch, so they should appear in linux-next
> >tomorrow.
> >
> >Changes from the v1 posting:
> >   - Explicitly revert related patches instead of resolving conflicts
> >     manually
> >---
> >
> >Bjorn Helgaas (3):
> >       Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"
> >       Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
> >       Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
> >
> >
> >  arch/x86/include/asm/pci_x86.h |    2 ++
> >  arch/x86/pci/common.c          |   26 ++++++++++----------------
> >  arch/x86/pci/intel_mid_pci.c   |    9 +++------
> >  arch/x86/pci/irq.c             |   23 +++++++++++++++++++----
> >  drivers/acpi/pci_irq.c         |   17 +++++++++++++----
> >  include/linux/pci.h            |   17 -----------------
> >  6 files changed, 47 insertions(+), 47 deletions(-)
> As i undestand this patch will appear in kernel git repo tomorrow? I
> don't need to apply in manyally to v4.5-rc1?

These are included in the next-20160218 tag in the linux-next git repo (not
Linus' repo) at:

  git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git

You browse this at:

  https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/

If you'd rather, you can also apply the patches yourself to v4.5-rc1.

Bjorn

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()"
  2016-02-18 16:03   ` Bjorn Helgaas
@ 2016-02-24 18:30     ` Олег Мороз
  2016-02-25 14:53       ` Bjorn Helgaas
  0 siblings, 1 reply; 9+ messages in thread
From: Олег Мороз @ 2016-02-24 18:30 UTC (permalink / raw)
  To: Bjorn Helgaas
  Cc: Bjorn Helgaas, linux-pci, Joerg Roedel, Rafael J. Wysocki,
	linux-kernel, Sunjin Yang, linux-acpi, Thomas Gleixner,
	Yinghai Lu, Jiang Liu

I've checked next next-20160218 tag and confirm that it works.

18.02.2016 19:03, Bjorn Helgaas пишет:
> On Thu, Feb 18, 2016 at 08:13:41AM +0300, Мороз Олег wrote:
>> On 17.02.2016 21:36, Bjorn Helgaas wrote:
>>> These are clean reverts of 991de2e59090 ("PCI, x86: Implement
>>> pcibios_alloc_irq() and pcibios_free_irq()") and related changes.
>>>
>>> We have two reports of drivers broken in v4.3 by Jiang's change,
>>> 991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
>>> pcibios_free_irq()").
>>>
>>> It would be best to fix the problem instead of reverting 991de2e59090, but
>>> I don't have time to do that myself, and we haven't heard from Jiang, so
>>> the only choice I have is to revert the commit.
>>>
>>> Note that reverting will likely break IOAPIC hotplug.
>>>
>>> Олег and Sunjin, can you please test this and see whether it fixes your
>>> drivers?  This patch is based on v4.5-rc1.
>>>
>>> I intend to merge these for v4.5 unless I hear objections.
>>>
>>> They're on my for-linus branch, so they should appear in linux-next
>>> tomorrow.
>>>
>>> Changes from the v1 posting:
>>>    - Explicitly revert related patches instead of resolving conflicts
>>>      manually
>>> ---
>>>
>>> Bjorn Helgaas (3):
>>>        Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"
>>>        Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
>>>        Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
>>>
>>>
>>>   arch/x86/include/asm/pci_x86.h |    2 ++
>>>   arch/x86/pci/common.c          |   26 ++++++++++----------------
>>>   arch/x86/pci/intel_mid_pci.c   |    9 +++------
>>>   arch/x86/pci/irq.c             |   23 +++++++++++++++++++----
>>>   drivers/acpi/pci_irq.c         |   17 +++++++++++++----
>>>   include/linux/pci.h            |   17 -----------------
>>>   6 files changed, 47 insertions(+), 47 deletions(-)
>> As i undestand this patch will appear in kernel git repo tomorrow? I
>> don't need to apply in manyally to v4.5-rc1?
> These are included in the next-20160218 tag in the linux-next git repo (not
> Linus' repo) at:
>
>    git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
>
> You browse this at:
>
>    https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/
>
> If you'd rather, you can also apply the patches yourself to v4.5-rc1.
>
> Bjorn

^ permalink raw reply	[flat|nested] 9+ messages in thread

* Re: [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()"
  2016-02-24 18:30     ` Олег Мороз
@ 2016-02-25 14:53       ` Bjorn Helgaas
  0 siblings, 0 replies; 9+ messages in thread
From: Bjorn Helgaas @ 2016-02-25 14:53 UTC (permalink / raw)
  To: Олег Мороз
  Cc: Bjorn Helgaas, linux-pci, Joerg Roedel, Rafael J. Wysocki,
	linux-kernel, Sunjin Yang, linux-acpi, Thomas Gleixner,
	Yinghai Lu, Jiang Liu

On Wed, Feb 24, 2016 at 09:30:56PM +0300, Олег Мороз wrote:
> I've checked next next-20160218 tag and confirm that it works.

Thanks a lot for testing this!  I added your tested-by to the commit.

I apologize again for the inconvenience of this.  Thank you very much
for your effort in reporting it and helping track it down.

Bjorn

> 18.02.2016 19:03, Bjorn Helgaas пишет:
> >On Thu, Feb 18, 2016 at 08:13:41AM +0300, Мороз Олег wrote:
> >>On 17.02.2016 21:36, Bjorn Helgaas wrote:
> >>>These are clean reverts of 991de2e59090 ("PCI, x86: Implement
> >>>pcibios_alloc_irq() and pcibios_free_irq()") and related changes.
> >>>
> >>>We have two reports of drivers broken in v4.3 by Jiang's change,
> >>>991de2e59090 ("PCI, x86: Implement pcibios_alloc_irq() and
> >>>pcibios_free_irq()").
> >>>
> >>>It would be best to fix the problem instead of reverting 991de2e59090, but
> >>>I don't have time to do that myself, and we haven't heard from Jiang, so
> >>>the only choice I have is to revert the commit.
> >>>
> >>>Note that reverting will likely break IOAPIC hotplug.
> >>>
> >>>Олег and Sunjin, can you please test this and see whether it fixes your
> >>>drivers?  This patch is based on v4.5-rc1.
> >>>
> >>>I intend to merge these for v4.5 unless I hear objections.
> >>>
> >>>They're on my for-linus branch, so they should appear in linux-next
> >>>tomorrow.
> >>>
> >>>Changes from the v1 posting:
> >>>   - Explicitly revert related patches instead of resolving conflicts
> >>>     manually
> >>>---
> >>>
> >>>Bjorn Helgaas (3):
> >>>       Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled"
> >>>       Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed"
> >>>       Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()"
> >>>
> >>>
> >>>  arch/x86/include/asm/pci_x86.h |    2 ++
> >>>  arch/x86/pci/common.c          |   26 ++++++++++----------------
> >>>  arch/x86/pci/intel_mid_pci.c   |    9 +++------
> >>>  arch/x86/pci/irq.c             |   23 +++++++++++++++++++----
> >>>  drivers/acpi/pci_irq.c         |   17 +++++++++++++----
> >>>  include/linux/pci.h            |   17 -----------------
> >>>  6 files changed, 47 insertions(+), 47 deletions(-)
> >>As i undestand this patch will appear in kernel git repo tomorrow? I
> >>don't need to apply in manyally to v4.5-rc1?
> >These are included in the next-20160218 tag in the linux-next git repo (not
> >Linus' repo) at:
> >
> >   git://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> >
> >You browse this at:
> >
> >   https://git.kernel.org/cgit/linux/kernel/git/next/linux-next.git/
> >
> >If you'd rather, you can also apply the patches yourself to v4.5-rc1.
> >
> >Bjorn
> 

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2016-02-25 14:53 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-02-17 18:36 [PATCH v2 0/3] PCI: Revert "Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
2016-02-17 18:37 ` [PATCH v2 1/3] Revert "x86/PCI: Don't alloc pcibios-irq when MSI is enabled" Bjorn Helgaas
2016-02-17 18:37 ` [PATCH v2 2/3] Revert "PCI: Add helpers to manage pci_dev->irq and pci_dev->irq_managed" Bjorn Helgaas
2016-02-17 18:37 ` [PATCH v2 3/3] Revert "PCI, x86: Implement pcibios_alloc_irq() and pcibios_free_irq()" Bjorn Helgaas
2016-02-17 19:47 ` [PATCH v2 0/3] PCI: Revert "Implement " Rafael J. Wysocki
2016-02-18  5:13 ` Мороз Олег
2016-02-18 16:03   ` Bjorn Helgaas
2016-02-24 18:30     ` Олег Мороз
2016-02-25 14:53       ` Bjorn Helgaas

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).