Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge tag 'irq-urgent-2022-02-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip

Pull irq fixes from Thomas Gleixner:
"Interrupt chip driver fixes:

- Don't install an hotplug notifier for GICV3-ITS on systems which do
not need it to prevent a warning in the notifier about inconsistent
state

- Add the missing device tree matching for the T-HEAD PLIC variant so
the related SoC is properly supported"

* tag 'irq-urgent-2022-02-13' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip:
irqchip/sifive-plic: Add missing thead,c900-plic match string
dt-bindings: update riscv plic compatible string
irqchip/gic-v3-its: Skip HP notifier when no ITS is registered

+19 -6
+15 -6
Documentation/devicetree/bindings/interrupt-controller/sifive,plic-1.0.0.yaml
··· 35 35 contains a specific memory layout, which is documented in chapter 8 of the 36 36 SiFive U5 Coreplex Series Manual <https://static.dev.sifive.com/U54-MC-RVCoreIP.pdf>. 37 37 38 + The thead,c900-plic is different from sifive,plic-1.0.0 in opensbi, the 39 + T-HEAD PLIC implementation requires setting a delegation bit to allow access 40 + from S-mode. So add thead,c900-plic to distinguish them. 41 + 38 42 maintainers: 39 43 - Sagar Kadam <sagar.kadam@sifive.com> 40 44 - Paul Walmsley <paul.walmsley@sifive.com> ··· 46 42 47 43 properties: 48 44 compatible: 49 - items: 50 - - enum: 51 - - sifive,fu540-c000-plic 52 - - starfive,jh7100-plic 53 - - canaan,k210-plic 54 - - const: sifive,plic-1.0.0 45 + oneOf: 46 + - items: 47 + - enum: 48 + - sifive,fu540-c000-plic 49 + - starfive,jh7100-plic 50 + - canaan,k210-plic 51 + - const: sifive,plic-1.0.0 52 + - items: 53 + - enum: 54 + - allwinner,sun20i-d1-plic 55 + - const: thead,c900-plic 55 56 56 57 reg: 57 58 maxItems: 1
+3
drivers/irqchip/irq-gic-v3-its.c
··· 5517 5517 if (!efi_enabled(EFI_CONFIG_TABLES)) 5518 5518 return 0; 5519 5519 5520 + if (list_empty(&its_nodes)) 5521 + return 0; 5522 + 5520 5523 gic_rdists->cpuhp_memreserve_state = CPUHP_INVALID; 5521 5524 state = cpuhp_setup_state(CPUHP_AP_ONLINE_DYN, 5522 5525 "irqchip/arm/gicv3/memreserve:online",
+1
drivers/irqchip/irq-sifive-plic.c
··· 398 398 399 399 IRQCHIP_DECLARE(sifive_plic, "sifive,plic-1.0.0", plic_init); 400 400 IRQCHIP_DECLARE(riscv_plic0, "riscv,plic0", plic_init); /* for legacy systems */ 401 + IRQCHIP_DECLARE(thead_c900_plic, "thead,c900-plic", plic_init); /* for firmware driver */