* [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC
@ 2024-07-05 13:04 Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 1/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update interrupts Lad Prabhakar
` (10 more replies)
0 siblings, 11 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
Hi All,
This patch series aims to add IRQC support to RZ/Five SoC. While at it
fix build warning for RZ/G2L CPG driver and fix for ax45mp_cache driver.
- patches 4/9 and 5/9 have been cherry picked from -next
- rest of the patches have been cherry picked from v6.10-rc6
Cheers,
Prabhakar
Biju Das (1):
irqchip/renesas-rzg2l: Simplify rzg2l_irqc_irq_{en,dis}able()
Lad Prabhakar (8):
dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update
interrupts
dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document
RZ/Five SoC
irqchip/renesas-rzg2l: Add support for RZ/Five SoC
irqchip/renesas-rzg2l: Reorder function calls in
rzg2l_irqc_irq_disable()
riscv: dts: renesas: r9a07g043f: Add IRQC node to RZ/Five SoC DTSI
arm64: dts: renesas: r9a07g043: Move interrupt-parent property to
common DTSI
riscv: dts: renesas: rzfive-smarc-som: Drop deleting interrupt
properties from ETH0/1 nodes
cache: ax45mp_cache: Align end size to cache boundary in
ax45mp_dma_cache_wback()
.../renesas,rzg2l-irqc.yaml | 61 +++++--
arch/arm64/boot/dts/renesas/r9a07g043.dtsi | 1 +
arch/arm64/boot/dts/renesas/r9a07g043u.dtsi | 4 -
arch/riscv/boot/dts/renesas/r9a07g043f.dtsi | 75 +++++++++
.../boot/dts/renesas/rzfive-smarc-som.dtsi | 16 --
drivers/cache/ax45mp_cache.c | 4 +
drivers/irqchip/irq-renesas-rzg2l.c | 158 ++++++++++++++++--
7 files changed, 272 insertions(+), 47 deletions(-)
--
2.34.1
^ permalink raw reply [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 1/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update interrupts
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 2/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/Five SoC Lad Prabhakar
` (9 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit 392703b6a18bbecbb2ae652619a705454f0fa0d6 upstream.
All the RZ/G2L and alike SoC's (listed below) have ECCRAM0/1 interrupts
supported by the IRQC block, reflect the same in DT binding doc.
- R9A07G043U - RZ/G2UL
- R9A07G044L/R9A07G044LC - RZ/{G2L,G2LC}
- R9A07G054 - RZ/V2L
- R9A08G045 - RZ/G3S
For the RZ/G3S SoC ("R9A08G045") ECCRAM0/1 interrupts combined into single
interrupt so we just use the below to represent them:
- ec7tie1-0
- ec7tie2-0
- ec7tiovf-0
Previously, it was assumed that BUS-error and ECCRAM0/1 error interrupts
were only supported by RZ/G2UL ("R9A07G043U") and RZ/G3S ("R9A08G045")
SoCs. However, in reality, all RZ/G2L and similar SoCs (listed above)
support these interrupts. Therefore, mark the 'interrupt-names' property
as required for all the SoCs and update the example node in the binding
document.
Fixes: 96fed779d3d4 ("dt-bindings: interrupt-controller: Add Renesas RZ/G2L Interrupt Controller")
Fixes: 1cf0697a24ef ("dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/G3S")
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Acked-by: Conor Dooley <conor.dooley@microchip.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240213085912.56600-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Rob Herring <robh@kernel.org>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
.../renesas,rzg2l-irqc.yaml | 44 +++++++++++++++----
1 file changed, 35 insertions(+), 9 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml b/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
index d3b5aec0a3f74..daef4ee06f4ed 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
@@ -44,7 +44,7 @@ properties:
maxItems: 1
interrupts:
- minItems: 41
+ minItems: 45
items:
- description: NMI interrupt
- description: IRQ0 interrupt
@@ -88,9 +88,15 @@ properties:
- description: GPIO interrupt, TINT30
- description: GPIO interrupt, TINT31
- description: Bus error interrupt
+ - description: ECCRAM0 or combined ECCRAM0/1 1bit error interrupt
+ - description: ECCRAM0 or combined ECCRAM0/1 2bit error interrupt
+ - description: ECCRAM0 or combined ECCRAM0/1 error overflow interrupt
+ - description: ECCRAM1 1bit error interrupt
+ - description: ECCRAM1 2bit error interrupt
+ - description: ECCRAM1 error overflow interrupt
interrupt-names:
- minItems: 41
+ minItems: 45
items:
- const: nmi
- const: irq0
@@ -134,6 +140,12 @@ properties:
- const: tint30
- const: tint31
- const: bus-err
+ - const: ec7tie1-0
+ - const: ec7tie2-0
+ - const: ec7tiovf-0
+ - const: ec7tie1-1
+ - const: ec7tie2-1
+ - const: ec7tiovf-1
clocks:
maxItems: 2
@@ -156,6 +168,7 @@ required:
- interrupt-controller
- reg
- interrupts
+ - interrupt-names
- clocks
- clock-names
- power-domains
@@ -169,16 +182,19 @@ allOf:
compatible:
contains:
enum:
- - renesas,r9a07g043u-irqc
- renesas,r9a08g045-irqc
then:
properties:
interrupts:
- minItems: 42
+ maxItems: 45
interrupt-names:
- minItems: 42
- required:
- - interrupt-names
+ maxItems: 45
+ else:
+ properties:
+ interrupts:
+ minItems: 48
+ interrupt-names:
+ minItems: 48
unevaluatedProperties: false
@@ -233,7 +249,14 @@ examples:
<GIC_SPI 472 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 473 IRQ_TYPE_LEVEL_HIGH>,
<GIC_SPI 474 IRQ_TYPE_LEVEL_HIGH>,
- <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>;
+ <GIC_SPI 475 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 25 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>,
+ <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "nmi",
"irq0", "irq1", "irq2", "irq3",
"irq4", "irq5", "irq6", "irq7",
@@ -244,7 +267,10 @@ examples:
"tint16", "tint17", "tint18", "tint19",
"tint20", "tint21", "tint22", "tint23",
"tint24", "tint25", "tint26", "tint27",
- "tint28", "tint29", "tint30", "tint31";
+ "tint28", "tint29", "tint30", "tint31",
+ "bus-err", "ec7tie1-0", "ec7tie2-0",
+ "ec7tiovf-0", "ec7tie1-1", "ec7tie2-1",
+ "ec7tiovf-1";
clocks = <&cpg CPG_MOD R9A07G044_IA55_CLK>,
<&cpg CPG_MOD R9A07G044_IA55_PCLK>;
clock-names = "clk", "pclk";
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 2/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/Five SoC
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 1/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update interrupts Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 3/9] irqchip/renesas-rzg2l: Simplify rzg2l_irqc_irq_{en,dis}able() Lad Prabhakar
` (8 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit 372487b295557b6c0c7ba3583fb34a65c574ff9f upstream.
Document RZ/Five (R9A07G043F) IRQC bindings. The IRQC block on the RZ/Five
SoC is almost identical to the one found on the RZ/G2L SoC, with the only
difference being that it has additional mask control registers for
NMI/IRQ/TINT.
Hence new compatible string "renesas,r9a07g043f-irqc" is added for RZ/Five
SoC.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Acked-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Link: https://lore.kernel.org/r/20240604173710.534132-2-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
.../renesas,rzg2l-irqc.yaml | 17 ++++++++++-------
1 file changed, 10 insertions(+), 7 deletions(-)
diff --git a/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml b/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
index daef4ee06f4ed..44b6ae5fc8028 100644
--- a/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
+++ b/Documentation/devicetree/bindings/interrupt-controller/renesas,rzg2l-irqc.yaml
@@ -21,13 +21,16 @@ description: |
properties:
compatible:
- items:
- - enum:
- - renesas,r9a07g043u-irqc # RZ/G2UL
- - renesas,r9a07g044-irqc # RZ/G2{L,LC}
- - renesas,r9a07g054-irqc # RZ/V2L
- - renesas,r9a08g045-irqc # RZ/G3S
- - const: renesas,rzg2l-irqc
+ oneOf:
+ - items:
+ - enum:
+ - renesas,r9a07g043u-irqc # RZ/G2UL
+ - renesas,r9a07g044-irqc # RZ/G2{L,LC}
+ - renesas,r9a07g054-irqc # RZ/V2L
+ - renesas,r9a08g045-irqc # RZ/G3S
+ - const: renesas,rzg2l-irqc
+
+ - const: renesas,r9a07g043f-irqc # RZ/Five
'#interrupt-cells':
description: The first cell should contain a macro RZG2L_{NMI,IRQX} included in the
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 3/9] irqchip/renesas-rzg2l: Simplify rzg2l_irqc_irq_{en,dis}able()
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 1/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update interrupts Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 2/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/Five SoC Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 4/9] irqchip/renesas-rzg2l: Add support for RZ/Five SoC Lad Prabhakar
` (7 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
From: Biju Das <biju.das.jz@bp.renesas.com>
commit 46efb3053f4f23357e9e29f8abaa6f801d956a0c upstream.
Simplify rzg2l_irqc_irq_{en,dis}able() by moving common code to
rzg2l_tint_irq_endisable().
Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
drivers/irqchip/irq-renesas-rzg2l.c | 28 +++++++++++-----------------
1 file changed, 11 insertions(+), 17 deletions(-)
diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c
index ae67fec2ab468..f6484bf15e0b8 100644
--- a/drivers/irqchip/irq-renesas-rzg2l.c
+++ b/drivers/irqchip/irq-renesas-rzg2l.c
@@ -138,7 +138,7 @@ static void rzg2l_irqc_eoi(struct irq_data *d)
irq_chip_eoi_parent(d);
}
-static void rzg2l_irqc_irq_disable(struct irq_data *d)
+static void rzg2l_tint_irq_endisable(struct irq_data *d, bool enable)
{
unsigned int hw_irq = irqd_to_hwirq(d);
@@ -151,30 +151,24 @@ static void rzg2l_irqc_irq_disable(struct irq_data *d)
raw_spin_lock(&priv->lock);
reg = readl_relaxed(priv->base + TSSR(tssr_index));
- reg &= ~(TIEN << TSSEL_SHIFT(tssr_offset));
+ if (enable)
+ reg |= TIEN << TSSEL_SHIFT(tssr_offset);
+ else
+ reg &= ~(TIEN << TSSEL_SHIFT(tssr_offset));
writel_relaxed(reg, priv->base + TSSR(tssr_index));
raw_spin_unlock(&priv->lock);
}
+}
+
+static void rzg2l_irqc_irq_disable(struct irq_data *d)
+{
+ rzg2l_tint_irq_endisable(d, false);
irq_chip_disable_parent(d);
}
static void rzg2l_irqc_irq_enable(struct irq_data *d)
{
- unsigned int hw_irq = irqd_to_hwirq(d);
-
- if (hw_irq >= IRQC_TINT_START && hw_irq < IRQC_NUM_IRQ) {
- struct rzg2l_irqc_priv *priv = irq_data_to_priv(d);
- u32 offset = hw_irq - IRQC_TINT_START;
- u32 tssr_offset = TSSR_OFFSET(offset);
- u8 tssr_index = TSSR_INDEX(offset);
- u32 reg;
-
- raw_spin_lock(&priv->lock);
- reg = readl_relaxed(priv->base + TSSR(tssr_index));
- reg |= TIEN << TSSEL_SHIFT(tssr_offset);
- writel_relaxed(reg, priv->base + TSSR(tssr_index));
- raw_spin_unlock(&priv->lock);
- }
+ rzg2l_tint_irq_endisable(d, true);
irq_chip_enable_parent(d);
}
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 4/9] irqchip/renesas-rzg2l: Add support for RZ/Five SoC
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (2 preceding siblings ...)
2024-07-05 13:04 ` [PATCH 6.1.y-cip 3/9] irqchip/renesas-rzg2l: Simplify rzg2l_irqc_irq_{en,dis}able() Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 5/9] irqchip/renesas-rzg2l: Reorder function calls in rzg2l_irqc_irq_disable() Lad Prabhakar
` (6 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit d011c022efe275791897668aa421e2db9f2e6450 upstream.
The IX45 block has additional mask registers (NMSK/IMSK/TMSK) compared
to the RZ/G2L (family) SoC.
A new rzfive_irqc_chip irq_chip is introduced for RZ/Five, where function
pointers for irq_[un]mask() and irq_[dis|en]able() handle the ([un]masking
of the interrupts. The irq_chip pointer is now passed as an init callback
and stored in the priv pointer to differentiate between RZ/G2L and RZ/Five.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240604173710.534132-3-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
drivers/irqchip/irq-renesas-rzg2l.c | 148 +++++++++++++++++++++++++++-
1 file changed, 145 insertions(+), 3 deletions(-)
diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c
index f6484bf15e0b8..861a0e5a3e97b 100644
--- a/drivers/irqchip/irq-renesas-rzg2l.c
+++ b/drivers/irqchip/irq-renesas-rzg2l.c
@@ -37,6 +37,8 @@
#define TSSEL_SHIFT(n) (8 * (n))
#define TSSEL_MASK GENMASK(7, 0)
#define IRQ_MASK 0x3
+#define IMSK 0x10010
+#define TMSK 0x10020
#define TSSR_OFFSET(n) ((n) % 4)
#define TSSR_INDEX(n) ((n) / 4)
@@ -69,12 +71,14 @@ struct rzg2l_irqc_reg_cache {
/**
* struct rzg2l_irqc_priv - IRQ controller private data structure
* @base: Controller's base address
+ * @irqchip: Pointer to struct irq_chip
* @fwspec: IRQ firmware specific data
* @lock: Lock to serialize access to hardware registers
* @cache: Registers cache for suspend/resume
*/
static struct rzg2l_irqc_priv {
void __iomem *base;
+ const struct irq_chip *irqchip;
struct irq_fwspec fwspec[IRQC_NUM_IRQ];
raw_spinlock_t lock;
struct rzg2l_irqc_reg_cache cache;
@@ -138,6 +142,111 @@ static void rzg2l_irqc_eoi(struct irq_data *d)
irq_chip_eoi_parent(d);
}
+static void rzfive_irqc_mask_irq_interrupt(struct rzg2l_irqc_priv *priv,
+ unsigned int hwirq)
+{
+ u32 bit = BIT(hwirq - IRQC_IRQ_START);
+
+ writel_relaxed(readl_relaxed(priv->base + IMSK) | bit, priv->base + IMSK);
+}
+
+static void rzfive_irqc_unmask_irq_interrupt(struct rzg2l_irqc_priv *priv,
+ unsigned int hwirq)
+{
+ u32 bit = BIT(hwirq - IRQC_IRQ_START);
+
+ writel_relaxed(readl_relaxed(priv->base + IMSK) & ~bit, priv->base + IMSK);
+}
+
+static void rzfive_irqc_mask_tint_interrupt(struct rzg2l_irqc_priv *priv,
+ unsigned int hwirq)
+{
+ u32 bit = BIT(hwirq - IRQC_TINT_START);
+
+ writel_relaxed(readl_relaxed(priv->base + TMSK) | bit, priv->base + TMSK);
+}
+
+static void rzfive_irqc_unmask_tint_interrupt(struct rzg2l_irqc_priv *priv,
+ unsigned int hwirq)
+{
+ u32 bit = BIT(hwirq - IRQC_TINT_START);
+
+ writel_relaxed(readl_relaxed(priv->base + TMSK) & ~bit, priv->base + TMSK);
+}
+
+static void rzfive_irqc_mask(struct irq_data *d)
+{
+ struct rzg2l_irqc_priv *priv = irq_data_to_priv(d);
+ unsigned int hwirq = irqd_to_hwirq(d);
+
+ raw_spin_lock(&priv->lock);
+ if (hwirq >= IRQC_IRQ_START && hwirq <= IRQC_IRQ_COUNT)
+ rzfive_irqc_mask_irq_interrupt(priv, hwirq);
+ else if (hwirq >= IRQC_TINT_START && hwirq < IRQC_NUM_IRQ)
+ rzfive_irqc_mask_tint_interrupt(priv, hwirq);
+ raw_spin_unlock(&priv->lock);
+ irq_chip_mask_parent(d);
+}
+
+static void rzfive_irqc_unmask(struct irq_data *d)
+{
+ struct rzg2l_irqc_priv *priv = irq_data_to_priv(d);
+ unsigned int hwirq = irqd_to_hwirq(d);
+
+ raw_spin_lock(&priv->lock);
+ if (hwirq >= IRQC_IRQ_START && hwirq <= IRQC_IRQ_COUNT)
+ rzfive_irqc_unmask_irq_interrupt(priv, hwirq);
+ else if (hwirq >= IRQC_TINT_START && hwirq < IRQC_NUM_IRQ)
+ rzfive_irqc_unmask_tint_interrupt(priv, hwirq);
+ raw_spin_unlock(&priv->lock);
+ irq_chip_unmask_parent(d);
+}
+
+static void rzfive_tint_irq_endisable(struct irq_data *d, bool enable)
+{
+ struct rzg2l_irqc_priv *priv = irq_data_to_priv(d);
+ unsigned int hwirq = irqd_to_hwirq(d);
+
+ if (hwirq >= IRQC_TINT_START && hwirq < IRQC_NUM_IRQ) {
+ u32 offset = hwirq - IRQC_TINT_START;
+ u32 tssr_offset = TSSR_OFFSET(offset);
+ u8 tssr_index = TSSR_INDEX(offset);
+ u32 reg;
+
+ raw_spin_lock(&priv->lock);
+ if (enable)
+ rzfive_irqc_unmask_tint_interrupt(priv, hwirq);
+ else
+ rzfive_irqc_mask_tint_interrupt(priv, hwirq);
+ reg = readl_relaxed(priv->base + TSSR(tssr_index));
+ if (enable)
+ reg |= TIEN << TSSEL_SHIFT(tssr_offset);
+ else
+ reg &= ~(TIEN << TSSEL_SHIFT(tssr_offset));
+ writel_relaxed(reg, priv->base + TSSR(tssr_index));
+ raw_spin_unlock(&priv->lock);
+ } else {
+ raw_spin_lock(&priv->lock);
+ if (enable)
+ rzfive_irqc_unmask_irq_interrupt(priv, hwirq);
+ else
+ rzfive_irqc_mask_irq_interrupt(priv, hwirq);
+ raw_spin_unlock(&priv->lock);
+ }
+}
+
+static void rzfive_irqc_irq_disable(struct irq_data *d)
+{
+ irq_chip_disable_parent(d);
+ rzfive_tint_irq_endisable(d, false);
+}
+
+static void rzfive_irqc_irq_enable(struct irq_data *d)
+{
+ rzfive_tint_irq_endisable(d, true);
+ irq_chip_enable_parent(d);
+}
+
static void rzg2l_tint_irq_endisable(struct irq_data *d, bool enable)
{
unsigned int hw_irq = irqd_to_hwirq(d);
@@ -321,7 +430,7 @@ static struct syscore_ops rzg2l_irqc_syscore_ops = {
.resume = rzg2l_irqc_irq_resume,
};
-static const struct irq_chip irqc_chip = {
+static const struct irq_chip rzg2l_irqc_chip = {
.name = "rzg2l-irqc",
.irq_eoi = rzg2l_irqc_eoi,
.irq_mask = irq_chip_mask_parent,
@@ -338,6 +447,23 @@ static const struct irq_chip irqc_chip = {
IRQCHIP_SKIP_SET_WAKE,
};
+static const struct irq_chip rzfive_irqc_chip = {
+ .name = "rzfive-irqc",
+ .irq_eoi = rzg2l_irqc_eoi,
+ .irq_mask = rzfive_irqc_mask,
+ .irq_unmask = rzfive_irqc_unmask,
+ .irq_disable = rzfive_irqc_irq_disable,
+ .irq_enable = rzfive_irqc_irq_enable,
+ .irq_get_irqchip_state = irq_chip_get_parent_state,
+ .irq_set_irqchip_state = irq_chip_set_parent_state,
+ .irq_retrigger = irq_chip_retrigger_hierarchy,
+ .irq_set_type = rzg2l_irqc_set_type,
+ .irq_set_affinity = irq_chip_set_affinity_parent,
+ .flags = IRQCHIP_MASK_ON_SUSPEND |
+ IRQCHIP_SET_TYPE_MASKED |
+ IRQCHIP_SKIP_SET_WAKE,
+};
+
static int rzg2l_irqc_alloc(struct irq_domain *domain, unsigned int virq,
unsigned int nr_irqs, void *arg)
{
@@ -369,7 +495,7 @@ static int rzg2l_irqc_alloc(struct irq_domain *domain, unsigned int virq,
if (hwirq > (IRQC_NUM_IRQ - 1))
return -EINVAL;
- ret = irq_domain_set_hwirq_and_chip(domain, virq, hwirq, &irqc_chip,
+ ret = irq_domain_set_hwirq_and_chip(domain, virq, hwirq, priv->irqchip,
(void *)(uintptr_t)tint);
if (ret)
return ret;
@@ -401,7 +527,8 @@ static int rzg2l_irqc_parse_interrupts(struct rzg2l_irqc_priv *priv,
return 0;
}
-static int rzg2l_irqc_init(struct device_node *node, struct device_node *parent)
+static int rzg2l_irqc_common_init(struct device_node *node, struct device_node *parent,
+ const struct irq_chip *irq_chip)
{
struct irq_domain *irq_domain, *parent_domain;
struct platform_device *pdev;
@@ -422,6 +549,8 @@ static int rzg2l_irqc_init(struct device_node *node, struct device_node *parent)
if (!rzg2l_irqc_data)
return -ENOMEM;
+ rzg2l_irqc_data->irqchip = irq_chip;
+
rzg2l_irqc_data->base = devm_of_iomap(&pdev->dev, pdev->dev.of_node, 0, NULL);
if (IS_ERR(rzg2l_irqc_data->base))
return PTR_ERR(rzg2l_irqc_data->base);
@@ -472,8 +601,21 @@ static int rzg2l_irqc_init(struct device_node *node, struct device_node *parent)
return ret;
}
+static int __init rzg2l_irqc_init(struct device_node *node,
+ struct device_node *parent)
+{
+ return rzg2l_irqc_common_init(node, parent, &rzg2l_irqc_chip);
+}
+
+static int __init rzfive_irqc_init(struct device_node *node,
+ struct device_node *parent)
+{
+ return rzg2l_irqc_common_init(node, parent, &rzfive_irqc_chip);
+}
+
IRQCHIP_PLATFORM_DRIVER_BEGIN(rzg2l_irqc)
IRQCHIP_MATCH("renesas,rzg2l-irqc", rzg2l_irqc_init)
+IRQCHIP_MATCH("renesas,r9a07g043f-irqc", rzfive_irqc_init)
IRQCHIP_PLATFORM_DRIVER_END(rzg2l_irqc)
MODULE_AUTHOR("Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>");
MODULE_DESCRIPTION("Renesas RZ/G2L IRQC Driver");
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 5/9] irqchip/renesas-rzg2l: Reorder function calls in rzg2l_irqc_irq_disable()
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (3 preceding siblings ...)
2024-07-05 13:04 ` [PATCH 6.1.y-cip 4/9] irqchip/renesas-rzg2l: Add support for RZ/Five SoC Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 6/9] riscv: dts: renesas: r9a07g043f: Add IRQC node to RZ/Five SoC DTSI Lad Prabhakar
` (5 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit 492eee82574b163fbb3f099c74ce3b4322d0af28 upstream.
The order of function calls in the disable operation should be the reverse
of that in the enable operation. Thus, reorder the function calls to first
disable the parent IRQ chip before disabling the TINT IRQ.
Reported-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Claudiu Beznea <claudiu.beznea.uj@bp.renesas.com> # on RZ/G3S
Link: https://lore.kernel.org/r/20240606194813.676823-1-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
drivers/irqchip/irq-renesas-rzg2l.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/irqchip/irq-renesas-rzg2l.c b/drivers/irqchip/irq-renesas-rzg2l.c
index 861a0e5a3e97b..693ff285ca2c6 100644
--- a/drivers/irqchip/irq-renesas-rzg2l.c
+++ b/drivers/irqchip/irq-renesas-rzg2l.c
@@ -271,8 +271,8 @@ static void rzg2l_tint_irq_endisable(struct irq_data *d, bool enable)
static void rzg2l_irqc_irq_disable(struct irq_data *d)
{
- rzg2l_tint_irq_endisable(d, false);
irq_chip_disable_parent(d);
+ rzg2l_tint_irq_endisable(d, false);
}
static void rzg2l_irqc_irq_enable(struct irq_data *d)
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 6/9] riscv: dts: renesas: r9a07g043f: Add IRQC node to RZ/Five SoC DTSI
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (4 preceding siblings ...)
2024-07-05 13:04 ` [PATCH 6.1.y-cip 5/9] irqchip/renesas-rzg2l: Reorder function calls in rzg2l_irqc_irq_disable() Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 7/9] arm64: dts: renesas: r9a07g043: Move interrupt-parent property to common DTSI Lad Prabhakar
` (4 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit 808852fa3a5e11c8d2bf0aef3695aaf930bd4fa9 upstream.
Add the IRQC node to RZ/Five (R9A07G043F) SoC DTSI.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240403203503.634465-4-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
arch/riscv/boot/dts/renesas/r9a07g043f.dtsi | 75 +++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/arch/riscv/boot/dts/renesas/r9a07g043f.dtsi b/arch/riscv/boot/dts/renesas/r9a07g043f.dtsi
index e68a91c9fe775..611f6908aede2 100644
--- a/arch/riscv/boot/dts/renesas/r9a07g043f.dtsi
+++ b/arch/riscv/boot/dts/renesas/r9a07g043f.dtsi
@@ -50,6 +50,81 @@ &soc {
dma-noncoherent;
interrupt-parent = <&plic>;
+ irqc: interrupt-controller@110a0000 {
+ compatible = "renesas,r9a07g043f-irqc";
+ reg = <0 0x110a0000 0 0x20000>;
+ #interrupt-cells = <2>;
+ #address-cells = <0>;
+ interrupt-controller;
+ interrupts = <32 IRQ_TYPE_LEVEL_HIGH>,
+ <33 IRQ_TYPE_LEVEL_HIGH>,
+ <34 IRQ_TYPE_LEVEL_HIGH>,
+ <35 IRQ_TYPE_LEVEL_HIGH>,
+ <36 IRQ_TYPE_LEVEL_HIGH>,
+ <37 IRQ_TYPE_LEVEL_HIGH>,
+ <38 IRQ_TYPE_LEVEL_HIGH>,
+ <39 IRQ_TYPE_LEVEL_HIGH>,
+ <40 IRQ_TYPE_LEVEL_HIGH>,
+ <476 IRQ_TYPE_LEVEL_HIGH>,
+ <477 IRQ_TYPE_LEVEL_HIGH>,
+ <478 IRQ_TYPE_LEVEL_HIGH>,
+ <479 IRQ_TYPE_LEVEL_HIGH>,
+ <480 IRQ_TYPE_LEVEL_HIGH>,
+ <481 IRQ_TYPE_LEVEL_HIGH>,
+ <482 IRQ_TYPE_LEVEL_HIGH>,
+ <483 IRQ_TYPE_LEVEL_HIGH>,
+ <484 IRQ_TYPE_LEVEL_HIGH>,
+ <485 IRQ_TYPE_LEVEL_HIGH>,
+ <486 IRQ_TYPE_LEVEL_HIGH>,
+ <487 IRQ_TYPE_LEVEL_HIGH>,
+ <488 IRQ_TYPE_LEVEL_HIGH>,
+ <489 IRQ_TYPE_LEVEL_HIGH>,
+ <490 IRQ_TYPE_LEVEL_HIGH>,
+ <491 IRQ_TYPE_LEVEL_HIGH>,
+ <492 IRQ_TYPE_LEVEL_HIGH>,
+ <493 IRQ_TYPE_LEVEL_HIGH>,
+ <494 IRQ_TYPE_LEVEL_HIGH>,
+ <495 IRQ_TYPE_LEVEL_HIGH>,
+ <496 IRQ_TYPE_LEVEL_HIGH>,
+ <497 IRQ_TYPE_LEVEL_HIGH>,
+ <498 IRQ_TYPE_LEVEL_HIGH>,
+ <499 IRQ_TYPE_LEVEL_HIGH>,
+ <500 IRQ_TYPE_LEVEL_HIGH>,
+ <501 IRQ_TYPE_LEVEL_HIGH>,
+ <502 IRQ_TYPE_LEVEL_HIGH>,
+ <503 IRQ_TYPE_LEVEL_HIGH>,
+ <504 IRQ_TYPE_LEVEL_HIGH>,
+ <505 IRQ_TYPE_LEVEL_HIGH>,
+ <506 IRQ_TYPE_LEVEL_HIGH>,
+ <507 IRQ_TYPE_LEVEL_HIGH>,
+ <57 IRQ_TYPE_LEVEL_HIGH>,
+ <66 IRQ_TYPE_EDGE_RISING>,
+ <67 IRQ_TYPE_EDGE_RISING>,
+ <68 IRQ_TYPE_EDGE_RISING>,
+ <69 IRQ_TYPE_EDGE_RISING>,
+ <70 IRQ_TYPE_EDGE_RISING>,
+ <71 IRQ_TYPE_EDGE_RISING>;
+ 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",
+ "bus-err", "ec7tie1-0", "ec7tie2-0",
+ "ec7tiovf-0", "ec7tie1-1", "ec7tie2-1",
+ "ec7tiovf-1";
+ clocks = <&cpg CPG_MOD R9A07G043_IAX45_CLK>,
+ <&cpg CPG_MOD R9A07G043_IAX45_PCLK>;
+ clock-names = "clk", "pclk";
+ power-domains = <&cpg>;
+ resets = <&cpg R9A07G043_IAX45_RESETN>;
+ };
+
plic: interrupt-controller@12c00000 {
compatible = "renesas,r9a07g043-plic", "andestech,nceplic100";
#interrupt-cells = <2>;
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 7/9] arm64: dts: renesas: r9a07g043: Move interrupt-parent property to common DTSI
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (5 preceding siblings ...)
2024-07-05 13:04 ` [PATCH 6.1.y-cip 6/9] riscv: dts: renesas: r9a07g043f: Add IRQC node to RZ/Five SoC DTSI Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 8/9] riscv: dts: renesas: rzfive-smarc-som: Drop deleting interrupt properties from ETH0/1 nodes Lad Prabhakar
` (3 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit 1731ab2f8b62f0be2073de581ffef6db1196ad4f upstream.
Now that we have added support for IRQC to both RZ/Five and RZ/G2UL SoCs
we can move the interrupt-parent for pinctrl node back to the common
shared r9a07g043.dtsi file.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240403203503.634465-5-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
arch/arm64/boot/dts/renesas/r9a07g043.dtsi | 1 +
arch/arm64/boot/dts/renesas/r9a07g043u.dtsi | 4 ----
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/renesas/r9a07g043.dtsi b/arch/arm64/boot/dts/renesas/r9a07g043.dtsi
index 766c54b91acce..6212ee550f330 100644
--- a/arch/arm64/boot/dts/renesas/r9a07g043.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a07g043.dtsi
@@ -598,6 +598,7 @@ pinctrl: pinctrl@11030000 {
gpio-ranges = <&pinctrl 0 0 152>;
#interrupt-cells = <2>;
interrupt-controller;
+ interrupt-parent = <&irqc>;
clocks = <&cpg CPG_MOD R9A07G043_GPIO_HCLK>;
power-domains = <&cpg>;
resets = <&cpg R9A07G043_GPIO_RSTN>,
diff --git a/arch/arm64/boot/dts/renesas/r9a07g043u.dtsi b/arch/arm64/boot/dts/renesas/r9a07g043u.dtsi
index b3f83d0ebcbb5..f0c1757a794ad 100644
--- a/arch/arm64/boot/dts/renesas/r9a07g043u.dtsi
+++ b/arch/arm64/boot/dts/renesas/r9a07g043u.dtsi
@@ -54,10 +54,6 @@ timer {
};
};
-&pinctrl {
- interrupt-parent = <&irqc>;
-};
-
&soc {
interrupt-parent = <&gic>;
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 8/9] riscv: dts: renesas: rzfive-smarc-som: Drop deleting interrupt properties from ETH0/1 nodes
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (6 preceding siblings ...)
2024-07-05 13:04 ` [PATCH 6.1.y-cip 7/9] arm64: dts: renesas: r9a07g043: Move interrupt-parent property to common DTSI Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 9/9] cache: ax45mp_cache: Align end size to cache boundary in ax45mp_dma_cache_wback() Lad Prabhakar
` (2 subsequent siblings)
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit fc5d2b222ab18612bc7bdfef7f672afd2cd7275b upstream.
Now that we have enabled IRQC support for RZ/Five SoC switch to interrupt
mode for ethernet0/1 PHYs instead of polling mode.
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be>
Link: https://lore.kernel.org/r/20240403203503.634465-6-prabhakar.mahadev-lad.rj@bp.renesas.com
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
.../riscv/boot/dts/renesas/rzfive-smarc-som.dtsi | 16 ----------------
1 file changed, 16 deletions(-)
diff --git a/arch/riscv/boot/dts/renesas/rzfive-smarc-som.dtsi b/arch/riscv/boot/dts/renesas/rzfive-smarc-som.dtsi
index 433ab5c6a626c..5e808242649ec 100644
--- a/arch/riscv/boot/dts/renesas/rzfive-smarc-som.dtsi
+++ b/arch/riscv/boot/dts/renesas/rzfive-smarc-som.dtsi
@@ -6,19 +6,3 @@
*/
#include <arm64/renesas/rzg2ul-smarc-som.dtsi>
-
-#if (!SW_ET0_EN_N)
-ð0 {
- phy0: ethernet-phy@7 {
- /delete-property/ interrupt-parent;
- /delete-property/ interrupts;
- };
-};
-#endif
-
-ð1 {
- phy1: ethernet-phy@7 {
- /delete-property/ interrupt-parent;
- /delete-property/ interrupts;
- };
-};
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* [PATCH 6.1.y-cip 9/9] cache: ax45mp_cache: Align end size to cache boundary in ax45mp_dma_cache_wback()
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (7 preceding siblings ...)
2024-07-05 13:04 ` [PATCH 6.1.y-cip 8/9] riscv: dts: renesas: rzfive-smarc-som: Drop deleting interrupt properties from ETH0/1 nodes Lad Prabhakar
@ 2024-07-05 13:04 ` Lad Prabhakar
2024-07-07 9:17 ` [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Pavel Machek
2024-07-08 6:39 ` nobuhiro1.iwamatsu
10 siblings, 0 replies; 13+ messages in thread
From: Lad Prabhakar @ 2024-07-05 13:04 UTC (permalink / raw)
To: cip-dev, Nobuhiro Iwamatsu, Pavel Machek; +Cc: Biju Das
commit 9bd405c48b0ac4de087c0c4440fd79597201b8a7 upstream.
Align the end size to cache boundary size in ax45mp_dma_cache_wback()
callback likewise done in ax45mp_dma_cache_inv() callback.
Additionally return early in case of start == end.
Fixes: d34599bcd2e4 ("cache: Add L2 cache management for Andes AX45MP RISC-V core")
Reported-by: Pavel Machek <pavel@denx.de>
Link: https://lore.kernel.org/cip-dev/ZYsdKDiw7G+kxQ3m@duo.ucw.cz/
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
---
drivers/cache/ax45mp_cache.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/cache/ax45mp_cache.c b/drivers/cache/ax45mp_cache.c
index 57186c58dc849..1d7dd3d2c101c 100644
--- a/drivers/cache/ax45mp_cache.c
+++ b/drivers/cache/ax45mp_cache.c
@@ -129,8 +129,12 @@ static void ax45mp_dma_cache_wback(phys_addr_t paddr, size_t size)
unsigned long line_size;
unsigned long flags;
+ if (unlikely(start == end))
+ return;
+
line_size = ax45mp_priv.ax45mp_cache_line_size;
start = start & (~(line_size - 1));
+ end = ((end + line_size - 1) & (~(line_size - 1)));
local_irq_save(flags);
ax45mp_cpu_dcache_wb_range(start, end);
local_irq_restore(flags);
--
2.34.1
^ permalink raw reply related [flat|nested] 13+ messages in thread
* Re: [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (8 preceding siblings ...)
2024-07-05 13:04 ` [PATCH 6.1.y-cip 9/9] cache: ax45mp_cache: Align end size to cache boundary in ax45mp_dma_cache_wback() Lad Prabhakar
@ 2024-07-07 9:17 ` Pavel Machek
2024-07-08 6:39 ` nobuhiro1.iwamatsu
10 siblings, 0 replies; 13+ messages in thread
From: Pavel Machek @ 2024-07-07 9:17 UTC (permalink / raw)
To: Lad Prabhakar; +Cc: cip-dev, Nobuhiro Iwamatsu, Pavel Machek, Biju Das
[-- Attachment #1: Type: text/plain, Size: 593 bytes --]
Hi!
> This patch series aims to add IRQC support to RZ/Five SoC. While at it
> fix build warning for RZ/G2L CPG driver and fix for ax45mp_cache driver.
>
> - patches 4/9 and 5/9 have been cherry picked from -next
> - rest of the patches have been cherry picked from v6.10-rc6
I went through the series and it looks okay to me. I can apply it if
it passes testing and if there are no other comments.
Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
* RE: [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
` (9 preceding siblings ...)
2024-07-07 9:17 ` [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Pavel Machek
@ 2024-07-08 6:39 ` nobuhiro1.iwamatsu
2024-07-08 7:46 ` Pavel Machek
10 siblings, 1 reply; 13+ messages in thread
From: nobuhiro1.iwamatsu @ 2024-07-08 6:39 UTC (permalink / raw)
To: prabhakar.mahadev-lad.rj, cip-dev, pavel; +Cc: biju.das.jz
HI all,
> -----Original Message-----
> From: Lad Prabhakar <prabhakar.mahadev-lad.rj@bp.renesas.com>
> Sent: Friday, July 5, 2024 10:04 PM
> To: cip-dev@lists.cip-project.org; iwamatsu nobuhiro(岩松 信洋 ○DITC□
> DIT○OST) <nobuhiro1.iwamatsu@toshiba.co.jp>; Pavel Machek
> <pavel@denx.de>
> Cc: Biju Das <biju.das.jz@bp.renesas.com>
> Subject: [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC
>
> Hi All,
>
> This patch series aims to add IRQC support to RZ/Five SoC. While at it fix build
> warning for RZ/G2L CPG driver and fix for ax45mp_cache driver.
>
> - patches 4/9 and 5/9 have been cherry picked from -next
> - rest of the patches have been cherry picked from v6.10-rc6
>
> Cheers,
> Prabhakar
>
> Biju Das (1):
> irqchip/renesas-rzg2l: Simplify rzg2l_irqc_irq_{en,dis}able()
>
> Lad Prabhakar (8):
> dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update
> interrupts
> dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document
> RZ/Five SoC
> irqchip/renesas-rzg2l: Add support for RZ/Five SoC
> irqchip/renesas-rzg2l: Reorder function calls in
> rzg2l_irqc_irq_disable()
> riscv: dts: renesas: r9a07g043f: Add IRQC node to RZ/Five SoC DTSI
> arm64: dts: renesas: r9a07g043: Move interrupt-parent property to
> common DTSI
> riscv: dts: renesas: rzfive-smarc-som: Drop deleting interrupt
> properties from ETH0/1 nodes
> cache: ax45mp_cache: Align end size to cache boundary in
> ax45mp_dma_cache_wback()
>
> .../renesas,rzg2l-irqc.yaml | 61 +++++--
> arch/arm64/boot/dts/renesas/r9a07g043.dtsi | 1 +
> arch/arm64/boot/dts/renesas/r9a07g043u.dtsi | 4 -
> arch/riscv/boot/dts/renesas/r9a07g043f.dtsi | 75 +++++++++
> .../boot/dts/renesas/rzfive-smarc-som.dtsi | 16 --
> drivers/cache/ax45mp_cache.c | 4 +
> drivers/irqchip/irq-renesas-rzg2l.c | 158
> ++++++++++++++++--
> 7 files changed, 272 insertions(+), 47 deletions(-)
I reviewed this series, I don' t have any comment.
I can apppy this series, if there are no other comments.
Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Best regards,
Nobuhiro
^ permalink raw reply [flat|nested] 13+ messages in thread
* Re: [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC
2024-07-08 6:39 ` nobuhiro1.iwamatsu
@ 2024-07-08 7:46 ` Pavel Machek
0 siblings, 0 replies; 13+ messages in thread
From: Pavel Machek @ 2024-07-08 7:46 UTC (permalink / raw)
To: nobuhiro1.iwamatsu; +Cc: prabhakar.mahadev-lad.rj, cip-dev, pavel, biju.das.jz
[-- Attachment #1: Type: text/plain, Size: 443 bytes --]
Hi!
> I reviewed this series, I don' t have any comment.
> I can apppy this series, if there are no other comments.
>
> Reviewed-by: Nobuhiro Iwamatsu <nobuhiro1.iwamatsu@toshiba.co.jp>
Thanks for review, I applied the series with your reviewed-by tag.
Best regards,
Pavel
--
DENX Software Engineering GmbH, Managing Director: Erika Unter
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 195 bytes --]
^ permalink raw reply [flat|nested] 13+ messages in thread
end of thread, other threads:[~2024-07-08 7:46 UTC | newest]
Thread overview: 13+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-07-05 13:04 [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 1/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Update interrupts Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 2/9] dt-bindings: interrupt-controller: renesas,rzg2l-irqc: Document RZ/Five SoC Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 3/9] irqchip/renesas-rzg2l: Simplify rzg2l_irqc_irq_{en,dis}able() Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 4/9] irqchip/renesas-rzg2l: Add support for RZ/Five SoC Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 5/9] irqchip/renesas-rzg2l: Reorder function calls in rzg2l_irqc_irq_disable() Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 6/9] riscv: dts: renesas: r9a07g043f: Add IRQC node to RZ/Five SoC DTSI Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 7/9] arm64: dts: renesas: r9a07g043: Move interrupt-parent property to common DTSI Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 8/9] riscv: dts: renesas: rzfive-smarc-som: Drop deleting interrupt properties from ETH0/1 nodes Lad Prabhakar
2024-07-05 13:04 ` [PATCH 6.1.y-cip 9/9] cache: ax45mp_cache: Align end size to cache boundary in ax45mp_dma_cache_wback() Lad Prabhakar
2024-07-07 9:17 ` [PATCH 6.1.y-cip 0/9] Add IRQC support for RZ/Five SoC Pavel Machek
2024-07-08 6:39 ` nobuhiro1.iwamatsu
2024-07-08 7:46 ` Pavel Machek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox