From 877cf6ae71c8eb9315014b3b379d9519ae6401b4 Mon Sep 17 00:00:00 2001 From: Phil Elwell Date: Wed, 3 Apr 2024 23:15:28 +0100 Subject: [PATCH 1/5] mfd: rp1: Support interrupt CPU affinity See: https://github.com/raspberrypi/linux/issues/6077 Signed-off-by: Phil Elwell --- drivers/mfd/rp1.c | 9 +++++++++ 1 file changed, 9 insertions(+) --- a/drivers/mfd/rp1.c +++ b/drivers/mfd/rp1.c @@ -141,11 +141,20 @@ static int rp1_irq_set_type(struct irq_d return ret; } +static int rp1_irq_set_affinity(struct irq_data *irqd, const struct cpumask *dest, bool force) +{ + struct rp1_dev *rp1 = irqd->domain->host_data; + struct irq_data *pcie_irqd = rp1->pcie_irqds[irqd->hwirq]; + + return msi_domain_set_affinity(pcie_irqd, dest, force); +} + static struct irq_chip rp1_irq_chip = { .name = "rp1_irq_chip", .irq_mask = rp1_mask_irq, .irq_unmask = rp1_unmask_irq, .irq_set_type = rp1_irq_set_type, + .irq_set_affinity = rp1_irq_set_affinity, }; static void rp1_chained_handle_irq(struct irq_desc *desc)