Skip to content

Commit bfb7bfe

Browse files
committed
Merge branch 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip
Pull irq fixes from Ingo Molnar: "Mostly irqchip driver fixes, plus a symbol export" * 'irq-urgent-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip: kernel/irq: Export irq_set_parent() irqchip/gic: Add missing \n to CPU IF adjustment message irqchip/jcore: Don't show Kconfig menu item for driver irqchip/eznps: Drop pointless static qualifier in nps400_of_init() irqchip/gic-v3-its: Fix entry size mask for GITS_BASER irqchip/gic-v3-its: Fix 64bit GIC{R,ITS}_TYPER accesses
2 parents 90e0105 + a442950 commit bfb7bfe

6 files changed

Lines changed: 11 additions & 10 deletions

File tree

drivers/irqchip/Kconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -158,8 +158,8 @@ config PIC32_EVIC
158158
select IRQ_DOMAIN
159159

160160
config JCORE_AIC
161-
bool "J-Core integrated AIC"
162-
depends on OF && (SUPERH || COMPILE_TEST)
161+
bool "J-Core integrated AIC" if COMPILE_TEST
162+
depends on OF
163163
select IRQ_DOMAIN
164164
help
165165
Support for the J-Core integrated AIC.

drivers/irqchip/irq-eznps.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -135,7 +135,7 @@ static const struct irq_domain_ops nps400_irq_ops = {
135135
static int __init nps400_of_init(struct device_node *node,
136136
struct device_node *parent)
137137
{
138-
static struct irq_domain *nps400_root_domain;
138+
struct irq_domain *nps400_root_domain;
139139

140140
if (parent) {
141141
pr_err("DeviceTree incore ic not a root irq controller\n");

drivers/irqchip/irq-gic-v3-its.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1023,7 +1023,7 @@ static void its_free_tables(struct its_node *its)
10231023

10241024
static int its_alloc_tables(struct its_node *its)
10251025
{
1026-
u64 typer = readq_relaxed(its->base + GITS_TYPER);
1026+
u64 typer = gic_read_typer(its->base + GITS_TYPER);
10271027
u32 ids = GITS_TYPER_DEVBITS(typer);
10281028
u64 shr = GITS_BASER_InnerShareable;
10291029
u64 cache = GITS_BASER_WaWb;
@@ -1198,7 +1198,7 @@ static void its_cpu_init_collection(void)
11981198
* We now have to bind each collection to its target
11991199
* redistributor.
12001200
*/
1201-
if (readq_relaxed(its->base + GITS_TYPER) & GITS_TYPER_PTA) {
1201+
if (gic_read_typer(its->base + GITS_TYPER) & GITS_TYPER_PTA) {
12021202
/*
12031203
* This ITS wants the physical address of the
12041204
* redistributor.
@@ -1208,7 +1208,7 @@ static void its_cpu_init_collection(void)
12081208
/*
12091209
* This ITS wants a linear CPU number.
12101210
*/
1211-
target = readq_relaxed(gic_data_rdist_rd_base() + GICR_TYPER);
1211+
target = gic_read_typer(gic_data_rdist_rd_base() + GICR_TYPER);
12121212
target = GICR_TYPER_CPU_NUMBER(target) << 16;
12131213
}
12141214

@@ -1691,7 +1691,7 @@ static int __init its_probe_one(struct resource *res,
16911691
INIT_LIST_HEAD(&its->its_device_list);
16921692
its->base = its_base;
16931693
its->phys_base = res->start;
1694-
its->ite_size = ((readl_relaxed(its_base + GITS_TYPER) >> 4) & 0xf) + 1;
1694+
its->ite_size = ((gic_read_typer(its_base + GITS_TYPER) >> 4) & 0xf) + 1;
16951695
its->numa_node = numa_node;
16961696

16971697
its->cmd_base = kzalloc(ITS_CMD_QUEUE_SZ, GFP_KERNEL);
@@ -1763,7 +1763,7 @@ static int __init its_probe_one(struct resource *res,
17631763

17641764
static bool gic_rdists_supports_plpis(void)
17651765
{
1766-
return !!(readl_relaxed(gic_data_rdist_rd_base() + GICR_TYPER) & GICR_TYPER_PLPIS);
1766+
return !!(gic_read_typer(gic_data_rdist_rd_base() + GICR_TYPER) & GICR_TYPER_PLPIS);
17671767
}
17681768

17691769
int its_cpu_init(void)

drivers/irqchip/irq-gic.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1279,7 +1279,7 @@ static bool gic_check_eoimode(struct device_node *node, void __iomem **base)
12791279
*/
12801280
*base += 0xf000;
12811281
cpuif_res.start += 0xf000;
1282-
pr_warn("GIC: Adjusting CPU interface base to %pa",
1282+
pr_warn("GIC: Adjusting CPU interface base to %pa\n",
12831283
&cpuif_res.start);
12841284
}
12851285

include/linux/irqchip/arm-gic-v3.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -290,7 +290,7 @@
290290
#define GITS_BASER_TYPE_SHIFT (56)
291291
#define GITS_BASER_TYPE(r) (((r) >> GITS_BASER_TYPE_SHIFT) & 7)
292292
#define GITS_BASER_ENTRY_SIZE_SHIFT (48)
293-
#define GITS_BASER_ENTRY_SIZE(r) ((((r) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0xff) + 1)
293+
#define GITS_BASER_ENTRY_SIZE(r) ((((r) >> GITS_BASER_ENTRY_SIZE_SHIFT) & 0x1f) + 1)
294294
#define GITS_BASER_SHAREABILITY_SHIFT (10)
295295
#define GITS_BASER_InnerShareable \
296296
GIC_BASER_SHAREABILITY(GITS_BASER, InnerShareable)

kernel/irq/manage.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -721,6 +721,7 @@ int irq_set_parent(int irq, int parent_irq)
721721
irq_put_desc_unlock(desc, flags);
722722
return 0;
723723
}
724+
EXPORT_SYMBOL_GPL(irq_set_parent);
724725
#endif
725726

726727
/*

0 commit comments

Comments
 (0)