From 6ea8561c154363754ec2f923d3d727a7ca9e07ad Mon Sep 17 00:00:00 2001 From: Greg Kroah-Hartman Date: Wed, 9 Dec 2020 10:12:58 +0100 Subject: [PATCH] drop 2 4.9 patches --- ...irq_create_mapping_affinity-function.patch | 104 ------------------ ...s-msi-affinity-to-irq_create_mapping.patch | 54 --------- queue-4.9/series | 2 - 3 files changed, 160 deletions(-) delete mode 100644 queue-4.9/genirq-irqdomain-add-an-irq_create_mapping_affinity-function.patch delete mode 100644 queue-4.9/powerpc-pseries-pass-msi-affinity-to-irq_create_mapping.patch diff --git a/queue-4.9/genirq-irqdomain-add-an-irq_create_mapping_affinity-function.patch b/queue-4.9/genirq-irqdomain-add-an-irq_create_mapping_affinity-function.patch deleted file mode 100644 index 994b506660e..00000000000 --- a/queue-4.9/genirq-irqdomain-add-an-irq_create_mapping_affinity-function.patch +++ /dev/null @@ -1,104 +0,0 @@ -From bb4c6910c8b41623104c2e64a30615682689a54d Mon Sep 17 00:00:00 2001 -From: Laurent Vivier -Date: Thu, 26 Nov 2020 09:28:51 +0100 -Subject: genirq/irqdomain: Add an irq_create_mapping_affinity() function - -From: Laurent Vivier - -commit bb4c6910c8b41623104c2e64a30615682689a54d upstream. - -There is currently no way to convey the affinity of an interrupt -via irq_create_mapping(), which creates issues for devices that -expect that affinity to be managed by the kernel. - -In order to sort this out, rename irq_create_mapping() to -irq_create_mapping_affinity() with an additional affinity parameter that -can be passed down to irq_domain_alloc_descs(). - -irq_create_mapping() is re-implemented as a wrapper around -irq_create_mapping_affinity(). - -No functional change. - -Fixes: e75eafb9b039 ("genirq/msi: Switch to new irq spreading infrastructure") -Signed-off-by: Laurent Vivier -Signed-off-by: Thomas Gleixner -Reviewed-by: Greg Kurz -Cc: Michael Ellerman -Cc: stable@vger.kernel.org -Link: https://lore.kernel.org/r/20201126082852.1178497-2-lvivier@redhat.com -Signed-off-by: Greg Kroah-Hartman - ---- - include/linux/irqdomain.h | 12 ++++++++++-- - kernel/irq/irqdomain.c | 13 ++++++++----- - 2 files changed, 18 insertions(+), 7 deletions(-) - ---- a/include/linux/irqdomain.h -+++ b/include/linux/irqdomain.h -@@ -314,11 +314,19 @@ extern void irq_domain_associate_many(st - extern void irq_domain_disassociate(struct irq_domain *domain, - unsigned int irq); - --extern unsigned int irq_create_mapping(struct irq_domain *host, -- irq_hw_number_t hwirq); -+extern unsigned int irq_create_mapping_affinity(struct irq_domain *host, -+ irq_hw_number_t hwirq, -+ const struct irq_affinity_desc *affinity); - extern unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec); - extern void irq_dispose_mapping(unsigned int virq); - -+static inline unsigned int irq_create_mapping(struct irq_domain *host, -+ irq_hw_number_t hwirq) -+{ -+ return irq_create_mapping_affinity(host, hwirq, NULL); -+} -+ -+ - /** - * irq_linear_revmap() - Find a linux irq from a hw irq number. - * @domain: domain owning this hardware interrupt ---- a/kernel/irq/irqdomain.c -+++ b/kernel/irq/irqdomain.c -@@ -443,17 +443,19 @@ unsigned int irq_create_direct_mapping(s - EXPORT_SYMBOL_GPL(irq_create_direct_mapping); - - /** -- * irq_create_mapping() - Map a hardware interrupt into linux irq space -+ * irq_create_mapping_affinity() - Map a hardware interrupt into linux irq space - * @domain: domain owning this hardware interrupt or NULL for default domain - * @hwirq: hardware irq number in that domain space -+ * @affinity: irq affinity - * - * Only one mapping per hardware interrupt is permitted. Returns a linux - * irq number. - * If the sense/trigger is to be specified, set_irq_type() should be called - * on the number returned from that call. - */ --unsigned int irq_create_mapping(struct irq_domain *domain, -- irq_hw_number_t hwirq) -+unsigned int irq_create_mapping_affinity(struct irq_domain *domain, -+ irq_hw_number_t hwirq, -+ const struct irq_affinity_desc *affinity) - { - struct device_node *of_node; - int virq; -@@ -479,7 +481,8 @@ unsigned int irq_create_mapping(struct i - } - - /* Allocate a virtual interrupt number */ -- virq = irq_domain_alloc_descs(-1, 1, hwirq, of_node_to_nid(of_node), NULL); -+ virq = irq_domain_alloc_descs(-1, 1, hwirq, of_node_to_nid(of_node), -+ affinity); - if (virq <= 0) { - pr_debug("-> virq allocation failed\n"); - return 0; -@@ -495,7 +498,7 @@ unsigned int irq_create_mapping(struct i - - return virq; - } --EXPORT_SYMBOL_GPL(irq_create_mapping); -+EXPORT_SYMBOL_GPL(irq_create_mapping_affinity); - - /** - * irq_create_strict_mappings() - Map a range of hw irqs to fixed linux irqs diff --git a/queue-4.9/powerpc-pseries-pass-msi-affinity-to-irq_create_mapping.patch b/queue-4.9/powerpc-pseries-pass-msi-affinity-to-irq_create_mapping.patch deleted file mode 100644 index c7adf3c5058..00000000000 --- a/queue-4.9/powerpc-pseries-pass-msi-affinity-to-irq_create_mapping.patch +++ /dev/null @@ -1,54 +0,0 @@ -From 9ea69a55b3b9a71cded9726af591949c1138f235 Mon Sep 17 00:00:00 2001 -From: Laurent Vivier -Date: Thu, 26 Nov 2020 09:28:52 +0100 -Subject: powerpc/pseries: Pass MSI affinity to irq_create_mapping() - -From: Laurent Vivier - -commit 9ea69a55b3b9a71cded9726af591949c1138f235 upstream. - -With virtio multiqueue, normally each queue IRQ is mapped to a CPU. - -Commit 0d9f0a52c8b9f ("virtio_scsi: use virtio IRQ affinity") exposed -an existing shortcoming of the arch code by moving virtio_scsi to -the automatic IRQ affinity assignment. - -The affinity is correctly computed in msi_desc but this is not applied -to the system IRQs. - -It appears the affinity is correctly passed to rtas_setup_msi_irqs() but -lost at this point and never passed to irq_domain_alloc_descs() -(see commit 06ee6d571f0e ("genirq: Add affinity hint to irq allocation")) -because irq_create_mapping() doesn't take an affinity parameter. - -Use the new irq_create_mapping_affinity() function, which allows to forward -the affinity setting from rtas_setup_msi_irqs() to irq_domain_alloc_descs(). - -With this change, the virtqueues are correctly dispatched between the CPUs -on pseries. - -Fixes: e75eafb9b039 ("genirq/msi: Switch to new irq spreading infrastructure") -Signed-off-by: Laurent Vivier -Signed-off-by: Thomas Gleixner -Reviewed-by: Greg Kurz -Acked-by: Michael Ellerman -Cc: stable@vger.kernel.org -Link: https://lore.kernel.org/r/20201126082852.1178497-3-lvivier@redhat.com -Signed-off-by: Greg Kroah-Hartman - ---- - arch/powerpc/platforms/pseries/msi.c | 3 ++- - 1 file changed, 2 insertions(+), 1 deletion(-) - ---- a/arch/powerpc/platforms/pseries/msi.c -+++ b/arch/powerpc/platforms/pseries/msi.c -@@ -469,7 +469,8 @@ again: - return hwirq; - } - -- virq = irq_create_mapping(NULL, hwirq); -+ virq = irq_create_mapping_affinity(NULL, hwirq, -+ entry->affinity); - - if (!virq) { - pr_debug("rtas_msi: Failed mapping hwirq %d\n", hwirq); diff --git a/queue-4.9/series b/queue-4.9/series index 4f3a623a4e8..12b57e55df9 100644 --- a/queue-4.9/series +++ b/queue-4.9/series @@ -31,5 +31,3 @@ alsa-hda-generic-add-option-to-enforce-preferred_dacs-pairs.patch tty-fix-session-locking.patch ftrace-fix-updating-ftrace_fl_tramp.patch cifs-fix-potential-use-after-free-in-cifs_echo_request.patch -genirq-irqdomain-add-an-irq_create_mapping_affinity-function.patch -powerpc-pseries-pass-msi-affinity-to-irq_create_mapping.patch -- 2.47.3