diff options
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-.patch | 18 |
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; |