forked from Openwrt/openwrt
8c405cdccc
The patches were generated from the RPi repo with the following command: git format-patch v6.6.34..rpi-6.1.y Some patches needed rebasing and, as usual, the applied and reverted, wireless drivers, Github workflows, READMEs and defconfigs patches were removed. Signed-off-by: Álvaro Fernández Rojas <noltari@gmail.com>
36 lines
1.1 KiB
Diff
36 lines
1.1 KiB
Diff
From 877cf6ae71c8eb9315014b3b379d9519ae6401b4 Mon Sep 17 00:00:00 2001
|
|
From: Phil Elwell <phil@raspberrypi.com>
|
|
Date: Wed, 3 Apr 2024 23:15:28 +0100
|
|
Subject: [PATCH 1005/1085] mfd: rp1: Support interrupt CPU affinity
|
|
|
|
See: https://github.com/raspberrypi/linux/issues/6077
|
|
|
|
Signed-off-by: Phil Elwell <phil@raspberrypi.com>
|
|
---
|
|
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)
|