diff for duplicates of <5459F0DE.6000307@linux.intel.com> diff --git a/a/1.txt b/N1/1.txt index 1ef680a..b6ed982 100644 --- a/a/1.txt +++ b/N1/1.txt @@ -83,7 +83,101 @@ On 2014/11/5 16:51, Joerg Roedel wrote: > > -- > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in -> the body of a message to majordomo@vger.kernel.org +> the body of a message to majordomo at vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ -> +> +-------------- next part -------------- +>From 705c73aee455cfe5abb27da0d62cb38e1a256bde Mon Sep 17 00:00:00 2001 +From: Jiang Liu <jiang.liu@linux.intel.com> +Date: Wed, 5 Nov 2014 17:25:04 +0800 +Subject: [PATCH] + + +Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> +--- + arch/x86/kernel/apic/msi.c | 1 + + drivers/ata/ahci.c | 2 ++ + drivers/ata/libahci.c | 1 + + drivers/pci/msi.c | 7 ++++++- + 4 files changed, 10 insertions(+), 1 deletion(-) + +diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c +index cc70fc659121..a2dffe3c30ce 100644 +--- a/arch/x86/kernel/apic/msi.c ++++ b/arch/x86/kernel/apic/msi.c +@@ -110,6 +110,7 @@ int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) + if (type == PCI_CAP_ID_MSI) { + info.type = X86_IRQ_ALLOC_TYPE_MSI; + info.flags |= X86_IRQ_ALLOC_CONTIGOUS_VECTORS; ++ dev_warn(&dev->dev, "irqdomain: try allocate %d MSI IRQs\n", nvec); + } else { + info.type = X86_IRQ_ALLOC_TYPE_MSIX; + } +diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c +index 5f039f191067..13985ba61b18 100644 +--- a/drivers/ata/ahci.c ++++ b/drivers/ata/ahci.c +@@ -1200,6 +1200,7 @@ static int ahci_init_interrupts(struct pci_dev *pdev, unsigned int n_ports, + if (nvec < 0) + goto intx; + ++ pr_warn("irqdomain: AHCI %d ports, %d MSI\n", n_ports, nvec); + /* + * If number of MSIs is less than number of ports then Sharing Last + * Message mode could be enforced. In this case assume that advantage +@@ -1214,6 +1215,7 @@ static int ahci_init_interrupts(struct pci_dev *pdev, unsigned int n_ports, + else if (rc < 0) + goto intx; + ++ pr_warn("irqdomain: AHCI allocated IRQ%d to IRQ%d\n", dev->irq, dev->irq + nvec - 1); + /* fallback to single MSI mode if the controller enforced MRSM mode */ + if (readl(hpriv->mmio + HOST_CTL) & HOST_MRSM) { + pci_disable_msi(pdev); +diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c +index 5eb61c9e63da..d90b623eab35 100644 +--- a/drivers/ata/libahci.c ++++ b/drivers/ata/libahci.c +@@ -2456,6 +2456,7 @@ static int ahci_host_activate_multi_irqs(struct ata_host *host, int irq, + continue; + } + ++ pr_warn("irqdomain: request IRQ%d\n", irq + i); + rc = devm_request_threaded_irq(host->dev, irq + i, + ahci_multi_irqs_intr, + ahci_port_thread_fn, IRQF_SHARED, +diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c +index 7423ee16972f..4d8fef065e2c 100644 +--- a/drivers/pci/msi.c ++++ b/drivers/pci/msi.c +@@ -216,6 +216,8 @@ static void msi_set_mask_bit(struct irq_data *data, u32 flag) + { + struct msi_desc *desc = irq_data_get_msi(data); + ++ if (desc == NULL) ++ pr_warn("no msi_desc for IRQ%d\n", data->irq); + if (desc->msi_attrib.is_msix) { + msix_mask_irq(desc, flag); + readl(desc->mask_base); /* Flush write to device */ +@@ -1202,6 +1204,8 @@ int msi_irq_domain_alloc_irqs(struct irq_domain *domain, int type, + int node = dev_to_node(&dev->dev); + + list_for_each_entry(msidesc, &dev->msi_list, list) { ++ if (type == PCI_CAP_ID_MSI && msidesc->nvec_used > 1) ++ dev_warn(&dev->dev, "try to alloc nvec %d\n", msidesc->nvec_used); + arch_msi_irq_domain_set_hwirq(arg, msi_get_hwirq(dev, msidesc)); + virq = irq_domain_alloc_irqs(domain, msidesc->nvec_used, + node, arg); +@@ -1210,8 +1214,9 @@ int msi_irq_domain_alloc_irqs(struct irq_domain *domain, int type, + return (type == PCI_CAP_ID_MSI && + msidesc->nvec_used > 1) ? 1 : -ENOSPC; + } ++ dev_warn(&dev->dev, "allocated IRQ%d for MSI\n", virq); + for (i = 0; i < msidesc->nvec_used; i++) +- irq_set_msi_desc_off(virq + i, i, msidesc); ++ BUG_ON(irq_set_msi_desc_off(virq + i, i, msidesc)); + } + + list_for_each_entry(msidesc, &dev->msi_list, list) +-- +1.7.10.4 diff --git a/a/2.hdr b/a/2.hdr deleted file mode 100644 index c58a877..0000000 --- a/a/2.hdr +++ /dev/null @@ -1,5 +0,0 @@ -Content-Type: text/plain; charset=gb18030; - name="0001-.patch" -Content-Transfer-Encoding: 7bit -Content-Disposition: attachment; - filename="0001-.patch" diff --git a/a/2.txt b/a/2.txt deleted file mode 100644 index 51faf0b..0000000 --- a/a/2.txt +++ /dev/null @@ -1,93 +0,0 @@ ->From 705c73aee455cfe5abb27da0d62cb38e1a256bde Mon Sep 17 00:00:00 2001 -From: Jiang Liu <jiang.liu@linux.intel.com> -Date: Wed, 5 Nov 2014 17:25:04 +0800 -Subject: [PATCH] - - -Signed-off-by: Jiang Liu <jiang.liu@linux.intel.com> ---- - arch/x86/kernel/apic/msi.c | 1 + - drivers/ata/ahci.c | 2 ++ - drivers/ata/libahci.c | 1 + - drivers/pci/msi.c | 7 ++++++- - 4 files changed, 10 insertions(+), 1 deletion(-) - -diff --git a/arch/x86/kernel/apic/msi.c b/arch/x86/kernel/apic/msi.c -index cc70fc659121..a2dffe3c30ce 100644 ---- a/arch/x86/kernel/apic/msi.c -+++ b/arch/x86/kernel/apic/msi.c -@@ -110,6 +110,7 @@ int native_setup_msi_irqs(struct pci_dev *dev, int nvec, int type) - if (type == PCI_CAP_ID_MSI) { - info.type = X86_IRQ_ALLOC_TYPE_MSI; - info.flags |= X86_IRQ_ALLOC_CONTIGOUS_VECTORS; -+ dev_warn(&dev->dev, "irqdomain: try allocate %d MSI IRQs\n", nvec); - } else { - info.type = X86_IRQ_ALLOC_TYPE_MSIX; - } -diff --git a/drivers/ata/ahci.c b/drivers/ata/ahci.c -index 5f039f191067..13985ba61b18 100644 ---- a/drivers/ata/ahci.c -+++ b/drivers/ata/ahci.c -@@ -1200,6 +1200,7 @@ static int ahci_init_interrupts(struct pci_dev *pdev, unsigned int n_ports, - if (nvec < 0) - goto intx; - -+ pr_warn("irqdomain: AHCI %d ports, %d MSI\n", n_ports, nvec); - /* - * If number of MSIs is less than number of ports then Sharing Last - * Message mode could be enforced. In this case assume that advantage -@@ -1214,6 +1215,7 @@ static int ahci_init_interrupts(struct pci_dev *pdev, unsigned int n_ports, - else if (rc < 0) - goto intx; - -+ pr_warn("irqdomain: AHCI allocated IRQ%d to IRQ%d\n", dev->irq, dev->irq + nvec - 1); - /* fallback to single MSI mode if the controller enforced MRSM mode */ - if (readl(hpriv->mmio + HOST_CTL) & HOST_MRSM) { - pci_disable_msi(pdev); -diff --git a/drivers/ata/libahci.c b/drivers/ata/libahci.c -index 5eb61c9e63da..d90b623eab35 100644 ---- a/drivers/ata/libahci.c -+++ b/drivers/ata/libahci.c -@@ -2456,6 +2456,7 @@ static int ahci_host_activate_multi_irqs(struct ata_host *host, int irq, - continue; - } - -+ pr_warn("irqdomain: request IRQ%d\n", irq + i); - rc = devm_request_threaded_irq(host->dev, irq + i, - ahci_multi_irqs_intr, - ahci_port_thread_fn, IRQF_SHARED, -diff --git a/drivers/pci/msi.c b/drivers/pci/msi.c -index 7423ee16972f..4d8fef065e2c 100644 ---- a/drivers/pci/msi.c -+++ b/drivers/pci/msi.c -@@ -216,6 +216,8 @@ static void msi_set_mask_bit(struct irq_data *data, u32 flag) - { - struct msi_desc *desc = irq_data_get_msi(data); - -+ if (desc == NULL) -+ pr_warn("no msi_desc for IRQ%d\n", data->irq); - if (desc->msi_attrib.is_msix) { - msix_mask_irq(desc, flag); - readl(desc->mask_base); /* Flush write to device */ -@@ -1202,6 +1204,8 @@ int msi_irq_domain_alloc_irqs(struct irq_domain *domain, int type, - int node = dev_to_node(&dev->dev); - - list_for_each_entry(msidesc, &dev->msi_list, list) { -+ if (type == PCI_CAP_ID_MSI && msidesc->nvec_used > 1) -+ dev_warn(&dev->dev, "try to alloc nvec %d\n", msidesc->nvec_used); - arch_msi_irq_domain_set_hwirq(arg, msi_get_hwirq(dev, msidesc)); - virq = irq_domain_alloc_irqs(domain, msidesc->nvec_used, - node, arg); -@@ -1210,8 +1214,9 @@ int msi_irq_domain_alloc_irqs(struct irq_domain *domain, int type, - return (type == PCI_CAP_ID_MSI && - msidesc->nvec_used > 1) ? 1 : -ENOSPC; - } -+ dev_warn(&dev->dev, "allocated IRQ%d for MSI\n", virq); - for (i = 0; i < msidesc->nvec_used; i++) -- irq_set_msi_desc_off(virq + i, i, msidesc); -+ BUG_ON(irq_set_msi_desc_off(virq + i, i, msidesc)); - } - - list_for_each_entry(msidesc, &dev->msi_list, list) --- -1.7.10.4 diff --git a/a/content_digest b/N1/content_digest index bb50fac..9d34816 100644 --- a/a/content_digest +++ b/N1/content_digest @@ -2,33 +2,11 @@ "ref\020141104144730.GE14512@8bytes.org\0" "ref\05458ECF3.4040308@linux.intel.com\0" "ref\020141105085154.GG10744@8bytes.org\0" - "From\0Jiang Liu <jiang.liu@linux.intel.com>\0" - "Subject\0Re: [Patch Part2 v4 00/31] Enable hierarchy irqdomian on x86 platforms\0" + "From\0jiang.liu@linux.intel.com (Jiang Liu)\0" + "Subject\0[Patch Part2 v4 00/31] Enable hierarchy irqdomian on x86 platforms\0" "Date\0Wed, 05 Nov 2014 17:41:50 +0800\0" - "To\0Joerg Roedel <joro@8bytes.org>\0" - "Cc\0Benjamin Herrenschmidt <benh@kernel.crashing.org>" - Thomas Gleixner <tglx@linutronix.de> - Ingo Molnar <mingo@redhat.com> - H. Peter Anvin <hpa@zytor.com> - Rafael J. Wysocki <rjw@rjwysocki.net> - Bjorn Helgaas <bhelgaas@google.com> - Randy Dunlap <rdunlap@infradead.org> - Yinghai Lu <yinghai@kernel.org> - Borislav Petkov <bp@alien8.de> - Grant Likely <grant.likely@linaro.org> - Marc Zyngier <marc.zyngier@arm.com> - Yingjoe Chen <yingjoe.chen@mediatek.com> - Matthias Brugger <matthias.bgg@gmail.com> - Konrad Rzeszutek Wilk <konrad.wilk@oracle.com> - Andrew Morton <akpm@linux-foundation.org> - Tony Luck <tony.luck@intel.com> - Greg Kroah-Hartman <gregkh@linuxfoundation.org> - x86@kernel.org - linux-kernel@vger.kernel.org - linux-pci@vger.kernel.org - linux-acpi@vger.kernel.org - " linux-arm-kernel@lists.infradead.org\0" - "\01:1\0" + "To\0linux-arm-kernel@lists.infradead.org\0" + "\00:1\0" "b\0" "Hi Joerg,\n" "\tCould you please help to apply the attached patch and send me\n" @@ -115,13 +93,11 @@ "> \n" "> --\n" "> To unsubscribe from this list: send the line \"unsubscribe linux-kernel\" in\n" - "> the body of a message to majordomo@vger.kernel.org\n" + "> the body of a message to majordomo at vger.kernel.org\n" "> More majordomo info at http://vger.kernel.org/majordomo-info.html\n" "> Please read the FAQ at http://www.tux.org/lkml/\n" - > - "\01:2\0" - "fn\00001-.patch\0" - "b\0" + "> \n" + "-------------- next part --------------\n" ">From 705c73aee455cfe5abb27da0d62cb38e1a256bde Mon Sep 17 00:00:00 2001\n" "From: Jiang Liu <jiang.liu@linux.intel.com>\n" "Date: Wed, 5 Nov 2014 17:25:04 +0800\n" @@ -216,4 +192,4 @@ "-- \n" 1.7.10.4 -dae1aa26b635e3fc0e52f3a1803c7bc23952a60934154cc40ec60043995a8472 +2fc86820d95df0a10fb742163218055bc9008cc0deedb28eaf67a4b5772bb167
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.