Commit 4dc5af1f authored by Thomas Gleixner's avatar Thomas Gleixner
Browse files

Merge tag 'irqchip-fixes-6.6-2' of...

Merge tag 'irqchip-fixes-6.6-2' of git://git.kernel.org/pub/scm/linux/kernel/git/maz/arm-platforms into irq/urgent

Pull irqchip fixes from Marc Zyngier:

  - DT binding updates for Renesas r8a779f0 and rzg2l

  - Let GICv3 honor the "dma-non-coherent" attribute for systems that
    rely on SW guessing what the HW supports

  - Fix the RISC-V INTC probing by marking all devices as initialised
    at once

  - Properly translate interrupt numbers from DT on stm32-exti

  - Use irq_data_get_irq_chip_data() in the rzg2l driver instead of
    blindly dereferencing the irq_data structure

  - Add a MAINTAINERS entry for the various ARM GIC irqchip drivers

  - Remove myself as the top-level irqchip/irqdomain maintainer

Link: https://lore.kernel.org/all/20231007121933.3840357-1-maz@kernel.org
parents 9cd847ee b673fe1a
Loading
Loading
Loading
Loading
+12 −0
Original line number Diff line number Diff line
@@ -106,6 +106,12 @@ properties:
    $ref: /schemas/types.yaml#/definitions/uint32
    maximum: 4096

  dma-noncoherent:
    description:
      Present if the GIC redistributors permit programming shareability
      and cacheability attributes but are connected to a non-coherent
      downstream interconnect.

  msi-controller:
    description:
      Only present if the Message Based Interrupt functionality is
@@ -193,6 +199,12 @@ patternProperties:
      compatible:
        const: arm,gic-v3-its

      dma-noncoherent:
        description:
          Present if the GIC ITS permits programming shareability and
          cacheability attributes but is connected to a non-coherent
          downstream interconnect.

      msi-controller: true

      "#msi-cells":
+1 −0
Original line number Diff line number Diff line
@@ -37,6 +37,7 @@ properties:
          - renesas,intc-ex-r8a77990    # R-Car E3
          - renesas,intc-ex-r8a77995    # R-Car D3
          - renesas,intc-ex-r8a779a0    # R-Car V3U
          - renesas,intc-ex-r8a779f0    # R-Car S4-8
          - renesas,intc-ex-r8a779g0    # R-Car V4H
      - const: renesas,irqc

+170 −55
Original line number Diff line number Diff line
@@ -19,13 +19,11 @@ description: |
    - NMI edge select (NMI is not treated as NMI exception and supports fall edge and
      stand-up edge detection interrupts)

allOf:
  - $ref: /schemas/interrupt-controller.yaml#

properties:
  compatible:
    items:
      - enum:
          - renesas,r9a07g043u-irqc   # RZ/G2UL
          - renesas,r9a07g044-irqc    # RZ/G2{L,LC}
          - renesas,r9a07g054-irqc    # RZ/V2L
      - const: renesas,rzg2l-irqc
@@ -45,7 +43,96 @@ properties:
    maxItems: 1

  interrupts:
    maxItems: 41
    minItems: 41
    items:
      - description: NMI interrupt
      - description: IRQ0 interrupt
      - description: IRQ1 interrupt
      - description: IRQ2 interrupt
      - description: IRQ3 interrupt
      - description: IRQ4 interrupt
      - description: IRQ5 interrupt
      - description: IRQ6 interrupt
      - description: IRQ7 interrupt
      - description: GPIO interrupt, TINT0
      - description: GPIO interrupt, TINT1
      - description: GPIO interrupt, TINT2
      - description: GPIO interrupt, TINT3
      - description: GPIO interrupt, TINT4
      - description: GPIO interrupt, TINT5
      - description: GPIO interrupt, TINT6
      - description: GPIO interrupt, TINT7
      - description: GPIO interrupt, TINT8
      - description: GPIO interrupt, TINT9
      - description: GPIO interrupt, TINT10
      - description: GPIO interrupt, TINT11
      - description: GPIO interrupt, TINT12
      - description: GPIO interrupt, TINT13
      - description: GPIO interrupt, TINT14
      - description: GPIO interrupt, TINT15
      - description: GPIO interrupt, TINT16
      - description: GPIO interrupt, TINT17
      - description: GPIO interrupt, TINT18
      - description: GPIO interrupt, TINT19
      - description: GPIO interrupt, TINT20
      - description: GPIO interrupt, TINT21
      - description: GPIO interrupt, TINT22
      - description: GPIO interrupt, TINT23
      - description: GPIO interrupt, TINT24
      - description: GPIO interrupt, TINT25
      - description: GPIO interrupt, TINT26
      - description: GPIO interrupt, TINT27
      - description: GPIO interrupt, TINT28
      - description: GPIO interrupt, TINT29
      - description: GPIO interrupt, TINT30
      - description: GPIO interrupt, TINT31
      - description: Bus error interrupt

  interrupt-names:
    minItems: 41
    items:
      - const: nmi
      - const: irq0
      - const: irq1
      - const: irq2
      - const: irq3
      - const: irq4
      - const: irq5
      - const: irq6
      - const: irq7
      - const: tint0
      - const: tint1
      - const: tint2
      - const: tint3
      - const: tint4
      - const: tint5
      - const: tint6
      - const: tint7
      - const: tint8
      - const: tint9
      - const: tint10
      - const: tint11
      - const: tint12
      - const: tint13
      - const: tint14
      - const: tint15
      - const: tint16
      - const: tint17
      - const: tint18
      - const: tint19
      - const: tint20
      - const: tint21
      - const: tint22
      - const: tint23
      - const: tint24
      - const: tint25
      - const: tint26
      - const: tint27
      - const: tint28
      - const: tint29
      - const: tint30
      - const: tint31
      - const: bus-err

  clocks:
    maxItems: 2
@@ -73,6 +160,23 @@ required:
  - power-domains
  - resets

allOf:
  - $ref: /schemas/interrupt-controller.yaml#

  - if:
      properties:
        compatible:
          contains:
            const: renesas,r9a07g043u-irqc
    then:
      properties:
        interrupts:
          minItems: 42
        interrupt-names:
          minItems: 42
      required:
        - interrupt-names

unevaluatedProperties: false

examples:
@@ -127,6 +231,17 @@ examples:
                     <GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>,
                     <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>;
        interrupt-names = "nmi",
                          "irq0", "irq1", "irq2", "irq3",
                          "irq4", "irq5", "irq6", "irq7",
                          "tint0", "tint1", "tint2", "tint3",
                          "tint4", "tint5", "tint6", "tint7",
                          "tint8", "tint9", "tint10", "tint11",
                          "tint12", "tint13", "tint14", "tint15",
                          "tint16", "tint17", "tint18", "tint19",
                          "tint20", "tint21", "tint22", "tint23",
                          "tint24", "tint25", "tint26", "tint27",
                          "tint28", "tint29", "tint30", "tint31";
        clocks = <&cpg CPG_MOD R9A07G044_IA55_CLK>,
                 <&cpg CPG_MOD R9A07G044_IA55_PCLK>;
        clock-names = "clk", "pclk";
+12 −2
Original line number Diff line number Diff line
@@ -1585,6 +1585,17 @@ F: arch/arm/include/asm/arch_timer.h
F:	arch/arm64/include/asm/arch_timer.h
F:	drivers/clocksource/arm_arch_timer.c
ARM GENERIC INTERRUPT CONTROLLER DRIVERS
M:	Marc Zyngier <maz@kernel.org>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
F:	Documentation/devicetree/bindings/interrupt-controller/arm,gic*
F:	arch/arm/include/asm/arch_gicv3.h
F:	arch/arm64/include/asm/arch_gicv3.h
F:	drivers/irqchip/irq-gic*.[ch]
F:	include/linux/irqchip/arm-gic*.h
F:	include/linux/irqchip/arm-vgic-info.h
ARM HDLCD DRM DRIVER
M:	Liviu Dudau <liviu.dudau@arm.com>
S:	Supported
@@ -11064,7 +11075,7 @@ F: Documentation/devicetree/bindings/sound/irondevice,*
F:	sound/soc/codecs/sma*
IRQ DOMAINS (IRQ NUMBER MAPPING LIBRARY)
M:	Marc Zyngier <maz@kernel.org>
M:	Thomas Gleixner <tglx@linutronix.de>
S:	Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
F:	Documentation/core-api/irq/irq-domain.rst
@@ -11083,7 +11094,6 @@ F: lib/group_cpus.c
IRQCHIP DRIVERS
M:	Thomas Gleixner <tglx@linutronix.de>
M:	Marc Zyngier <maz@kernel.org>
L:	linux-kernel@vger.kernel.org
S:	Maintained
T:	git git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git irq/core
+4 −0
Original line number Diff line number Diff line
@@ -29,4 +29,8 @@ void gic_enable_quirks(u32 iidr, const struct gic_quirk *quirks,
void gic_enable_of_quirks(const struct device_node *np,
			  const struct gic_quirk *quirks, void *data);

#define RDIST_FLAGS_PROPBASE_NEEDS_FLUSHING    (1 << 0)
#define RDIST_FLAGS_RD_TABLES_PREALLOCATED     (1 << 1)
#define RDIST_FLAGS_FORCE_NON_SHAREABLE        (1 << 2)

#endif /* _IRQ_GIC_COMMON_H */
Loading