mirror of
https://github.com/torvalds/linux.git
synced 2026-05-27 08:33:17 +02:00
irqchip/renesas-rzv2h: Add max_tssel to struct rzv2h_hw_info
The number of GPIO interrupts on RZ/G3E for TINT selection is 141 compared to 86 on RZ/V2H. Rename the macro ICU_PB5_TINT->ICU_RZV2H_TSSEL_MAX_VAL to hold this difference for RZ/V2H. Add max_tssel to struct rzv2h_hw_info and replace the hardcoded constants in the code. Signed-off-by: Biju Das <biju.das.jz@bp.renesas.com> Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Reviewed-by: Fabrizio Castro <fabrizio.castro.jz@renesas.com> Reviewed-by: Tommaso Merciai <tommaso.merciai.xr@bp.renesas.com> Reviewed-by: Geert Uytterhoeven <geert+renesas@glider.be> Link: https://lore.kernel.org/all/20250224131253.134199-9-biju.das.jz@bp.renesas.com
This commit is contained in:
parent
0a9d6ef64e
commit
eb23d23d08
|
|
@ -78,14 +78,16 @@
|
|||
|
||||
#define ICU_TINT_EXTRACT_HWIRQ(x) FIELD_GET(GENMASK(15, 0), (x))
|
||||
#define ICU_TINT_EXTRACT_GPIOINT(x) FIELD_GET(GENMASK(31, 16), (x))
|
||||
#define ICU_PB5_TINT 0x55
|
||||
#define ICU_RZV2H_TSSEL_MAX_VAL 0x55
|
||||
|
||||
/**
|
||||
* struct rzv2h_hw_info - Interrupt Control Unit controller hardware info structure.
|
||||
* @t_offs: TINT offset
|
||||
* @max_tssel: TSSEL max value
|
||||
*/
|
||||
struct rzv2h_hw_info {
|
||||
u16 t_offs;
|
||||
u8 max_tssel;
|
||||
};
|
||||
|
||||
/**
|
||||
|
|
@ -298,13 +300,12 @@ static int rzv2h_tint_set_type(struct irq_data *d, unsigned int type)
|
|||
return -EINVAL;
|
||||
}
|
||||
|
||||
priv = irq_data_to_priv(d);
|
||||
tint = (u32)(uintptr_t)irq_data_get_irq_chip_data(d);
|
||||
if (tint > ICU_PB5_TINT)
|
||||
if (tint > priv->info->max_tssel)
|
||||
return -EINVAL;
|
||||
|
||||
priv = irq_data_to_priv(d);
|
||||
hwirq = irqd_to_hwirq(d);
|
||||
|
||||
tint_nr = hwirq - ICU_TINT_START;
|
||||
|
||||
tssr_k = ICU_TSSR_K(tint_nr);
|
||||
|
|
@ -517,6 +518,7 @@ static int rzv2h_icu_init_common(struct device_node *node, struct device_node *p
|
|||
|
||||
static const struct rzv2h_hw_info rzv2h_hw_params = {
|
||||
.t_offs = 0,
|
||||
.max_tssel = ICU_RZV2H_TSSEL_MAX_VAL,
|
||||
};
|
||||
|
||||
static int rzv2h_icu_init(struct device_node *node, struct device_node *parent)
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user