Lines Matching +full:combiner +full:- +full:nr
1 // SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (c) 2010-2011 Samsung Electronics Co., Ltd.
6 * Combiner irqchip for EXYNOS
48 return combiner_data->base; in combiner_base()
53 u32 mask = 1 << (data->hwirq % 32); in combiner_mask_irq()
60 u32 mask = 1 << (data->hwirq % 32); in combiner_unmask_irq()
76 status = readl_relaxed(chip_data->base + COMBINER_INT_STATUS); in combiner_handle_cascade_irq()
78 status &= chip_data->irq_mask; in combiner_handle_cascade_irq()
83 combiner_irq = chip_data->hwirq_offset + __ffs(status); in combiner_handle_cascade_irq()
97 struct irq_chip *chip = irq_get_chip(chip_data->parent_irq); in combiner_set_affinity()
98 struct irq_data *data = irq_get_irq_data(chip_data->parent_irq); in combiner_set_affinity()
100 if (chip && chip->irq_set_affinity) in combiner_set_affinity()
101 return chip->irq_set_affinity(data, mask_val, force); in combiner_set_affinity()
103 return -EINVAL; in combiner_set_affinity()
108 .name = "COMBINER",
127 combiner_data->base = base; in combiner_init_one()
128 combiner_data->hwirq_offset = (combiner_nr & ~3) * IRQ_IN_COMBINER; in combiner_init_one()
129 combiner_data->irq_mask = 0xff << ((combiner_nr % 4) << 3); in combiner_init_one()
130 combiner_data->parent_irq = irq; in combiner_init_one()
133 writel_relaxed(combiner_data->irq_mask, base + COMBINER_ENABLE_CLEAR); in combiner_init_one()
143 return -EINVAL; in combiner_irq_domain_xlate()
146 return -EINVAL; in combiner_irq_domain_xlate()
157 struct combiner_chip_data *combiner_data = d->host_data; in combiner_irq_domain_map()
202 * combiner_suspend - save interrupt combiner state before suspend
204 * Save the interrupt enable set register for all combiner groups since
220 * combiner_resume - restore interrupt combiner state after resume
222 * Restore the interrupt enable set register for all combiner groups since
255 pr_err("%s: failed to map combiner registers\n", __func__); in combiner_of_init()
256 return -ENXIO; in combiner_of_init()
259 if (of_property_read_u32(np, "samsung,combiner-nr", &max_nr)) { in combiner_of_init()
271 IRQCHIP_DECLARE(exynos4210_combiner, "samsung,exynos4210-combiner",