summaryrefslogtreecommitdiff
path: root/patches/irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch
diff options
context:
space:
mode:
Diffstat (limited to 'patches/irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch')
-rw-r--r--patches/irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch18
1 files changed, 9 insertions, 9 deletions
diff --git a/patches/irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch b/patches/irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch
index 20b2bab359bf..216cb2763cd1 100644
--- a/patches/irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch
+++ b/patches/irqchip-gic-v3-its-Move-pending-table-allocation-to-.patch
@@ -12,7 +12,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/drivers/irqchip/irq-gic-v3-its.c
+++ b/drivers/irqchip/irq-gic-v3-its.c
-@@ -171,6 +171,7 @@ static DEFINE_RAW_SPINLOCK(vmovp_lock);
+@@ -173,6 +173,7 @@ static DEFINE_RAW_SPINLOCK(vmovp_lock);
static DEFINE_IDA(its_vpeid_ida);
#define gic_data_rdist() (raw_cpu_ptr(gic_rdists->rdist))
@@ -20,7 +20,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
#define gic_data_rdist_rd_base() (gic_data_rdist()->rd_base)
#define gic_data_rdist_vlpi_base() (gic_data_rdist_rd_base() + SZ_128K)
-@@ -1555,7 +1556,7 @@ static void its_free_prop_table(struct p
+@@ -1622,7 +1623,7 @@ static void its_free_prop_table(struct p
get_order(LPI_PROPBASE_SZ));
}
@@ -29,7 +29,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
{
phys_addr_t paddr;
-@@ -1877,30 +1878,47 @@ static void its_free_pending_table(struc
+@@ -1945,30 +1946,47 @@ static void its_free_pending_table(struc
get_order(max_t(u32, LPI_PENDBASE_SZ, SZ_64K)));
}
@@ -92,7 +92,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
/* set PROPBASE */
val = (page_to_phys(gic_rdists->prop_page) |
GICR_PROPBASER_InnerShareable |
-@@ -1952,6 +1970,10 @@ static void its_cpu_init_lpis(void)
+@@ -2020,6 +2038,10 @@ static void its_cpu_init_lpis(void)
/* Make sure the GIC has seen the above */
dsb(sy);
@@ -103,7 +103,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
}
static void its_cpu_init_collection(struct its_node *its)
-@@ -3427,16 +3449,6 @@ static int redist_disable_lpis(void)
+@@ -3498,16 +3520,6 @@ static int redist_disable_lpis(void)
u64 timeout = USEC_PER_SEC;
u64 val;
@@ -120,7 +120,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
if (!gic_rdists_supports_plpis()) {
pr_info("CPU%d: LPIs not supported\n", smp_processor_id());
return -ENXIO;
-@@ -3446,7 +3458,18 @@ static int redist_disable_lpis(void)
+@@ -3517,7 +3529,18 @@ static int redist_disable_lpis(void)
if (!(val & GICR_CTLR_ENABLE_LPIS))
return 0;
@@ -140,7 +140,7 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
smp_processor_id());
add_taint(TAINT_CRAP, LOCKDEP_STILL_OK);
-@@ -3702,7 +3725,8 @@ int __init its_init(struct fwnode_handle
+@@ -3773,7 +3796,8 @@ int __init its_init(struct fwnode_handle
}
gic_rdists = rdists;
@@ -152,11 +152,11 @@ Signed-off-by: Sebastian Andrzej Siewior <bigeasy@linutronix.de>
--- a/include/linux/irqchip/arm-gic-v3.h
+++ b/include/linux/irqchip/arm-gic-v3.h
-@@ -574,6 +574,7 @@ struct rdists {
+@@ -585,6 +585,7 @@ struct rdists {
void __iomem *rd_base;
struct page *pend_page;
phys_addr_t phys_base;
+ bool lpi_enabled;
} __percpu *rdist;
struct page *prop_page;
- int id_bits;
+ u64 flags;