Home
last modified time | relevance | path

Searched refs:fwspec (Results 1 – 16 of 16) sorted by relevance

/linux-4.4.14/drivers/irqchip/
Dirq-mtk-sysirq.c71 struct irq_fwspec *fwspec, in mtk_sysirq_domain_translate() argument
75 if (is_of_node(fwspec->fwnode)) { in mtk_sysirq_domain_translate()
76 if (fwspec->param_count != 3) in mtk_sysirq_domain_translate()
80 if (fwspec->param[0] != 0) in mtk_sysirq_domain_translate()
83 *hwirq = fwspec->param[1]; in mtk_sysirq_domain_translate()
84 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK; in mtk_sysirq_domain_translate()
96 struct irq_fwspec *fwspec = arg; in mtk_sysirq_domain_alloc() local
97 struct irq_fwspec gic_fwspec = *fwspec; in mtk_sysirq_domain_alloc()
99 if (fwspec->param_count != 3) in mtk_sysirq_domain_alloc()
103 if (fwspec->param[0]) in mtk_sysirq_domain_alloc()
[all …]
Dirq-crossbar.c81 struct irq_fwspec fwspec; in allocate_gic_irq() local
100 fwspec.fwnode = domain->parent->fwnode; in allocate_gic_irq()
101 fwspec.param_count = 3; in allocate_gic_irq()
102 fwspec.param[0] = 0; /* SPI */ in allocate_gic_irq()
103 fwspec.param[1] = i; in allocate_gic_irq()
104 fwspec.param[2] = IRQ_TYPE_LEVEL_HIGH; in allocate_gic_irq()
106 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in allocate_gic_irq()
118 struct irq_fwspec *fwspec = data; in crossbar_domain_alloc() local
122 if (fwspec->param_count != 3) in crossbar_domain_alloc()
124 if (fwspec->param[0] != 0) in crossbar_domain_alloc()
[all …]
Dirq-vf610-mscm-ir.c133 struct irq_fwspec *fwspec = arg; in vf610_mscm_ir_domain_alloc() local
139 if (fwspec->param_count != 2) in vf610_mscm_ir_domain_alloc()
142 hwirq = fwspec->param[0]; in vf610_mscm_ir_domain_alloc()
152 parent_fwspec.param[0] = fwspec->param[0]; in vf610_mscm_ir_domain_alloc()
156 parent_fwspec.param[1] = fwspec->param[0]; in vf610_mscm_ir_domain_alloc()
157 parent_fwspec.param[2] = fwspec->param[1]; in vf610_mscm_ir_domain_alloc()
165 struct irq_fwspec *fwspec, in vf610_mscm_ir_domain_translate() argument
169 if (WARN_ON(fwspec->param_count < 2)) in vf610_mscm_ir_domain_translate()
171 *hwirq = fwspec->param[0]; in vf610_mscm_ir_domain_translate()
172 *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK; in vf610_mscm_ir_domain_translate()
Dirq-tegra.c225 struct irq_fwspec *fwspec, in tegra_ictlr_domain_translate() argument
229 if (is_of_node(fwspec->fwnode)) { in tegra_ictlr_domain_translate()
230 if (fwspec->param_count != 3) in tegra_ictlr_domain_translate()
234 if (fwspec->param[0] != 0) in tegra_ictlr_domain_translate()
237 *hwirq = fwspec->param[1]; in tegra_ictlr_domain_translate()
238 *type = fwspec->param[2]; in tegra_ictlr_domain_translate()
249 struct irq_fwspec *fwspec = data; in tegra_ictlr_domain_alloc() local
255 if (fwspec->param_count != 3) in tegra_ictlr_domain_alloc()
257 if (fwspec->param[0] != GIC_SPI) in tegra_ictlr_domain_alloc()
260 hwirq = fwspec->param[1]; in tegra_ictlr_domain_alloc()
[all …]
Dirq-imx-gpcv2.c154 struct irq_fwspec *fwspec, in imx_gpcv2_domain_translate() argument
158 if (is_of_node(fwspec->fwnode)) { in imx_gpcv2_domain_translate()
159 if (fwspec->param_count != 3) in imx_gpcv2_domain_translate()
163 if (fwspec->param[0] != 0) in imx_gpcv2_domain_translate()
166 *hwirq = fwspec->param[1]; in imx_gpcv2_domain_translate()
167 *type = fwspec->param[2]; in imx_gpcv2_domain_translate()
178 struct irq_fwspec *fwspec = data; in imx_gpcv2_domain_alloc() local
185 err = imx_gpcv2_domain_translate(domain, fwspec, &hwirq, &type); in imx_gpcv2_domain_alloc()
197 parent_fwspec = *fwspec; in imx_gpcv2_domain_alloc()
Dirq-nvic.c52 struct irq_fwspec *fwspec, in nvic_irq_domain_translate() argument
55 if (WARN_ON(fwspec->param_count < 1)) in nvic_irq_domain_translate()
57 *hwirq = fwspec->param[0]; in nvic_irq_domain_translate()
68 struct irq_fwspec *fwspec = arg; in nvic_irq_domain_alloc() local
70 ret = nvic_irq_domain_translate(domain, fwspec, &hwirq, &type); in nvic_irq_domain_alloc()
Dirq-gic-v2m.c131 struct irq_fwspec fwspec; in gicv2m_irq_gic_domain_alloc() local
136 fwspec.fwnode = domain->parent->fwnode; in gicv2m_irq_gic_domain_alloc()
137 fwspec.param_count = 3; in gicv2m_irq_gic_domain_alloc()
138 fwspec.param[0] = 0; in gicv2m_irq_gic_domain_alloc()
139 fwspec.param[1] = hwirq - 32; in gicv2m_irq_gic_domain_alloc()
140 fwspec.param[2] = IRQ_TYPE_EDGE_RISING; in gicv2m_irq_gic_domain_alloc()
145 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in gicv2m_irq_gic_domain_alloc()
Dirq-gic-v3.c760 struct irq_fwspec *fwspec, in gic_irq_domain_translate() argument
764 if (is_of_node(fwspec->fwnode)) { in gic_irq_domain_translate()
765 if (fwspec->param_count < 3) in gic_irq_domain_translate()
768 switch (fwspec->param[0]) { in gic_irq_domain_translate()
770 *hwirq = fwspec->param[1] + 32; in gic_irq_domain_translate()
773 *hwirq = fwspec->param[1] + 16; in gic_irq_domain_translate()
776 *hwirq = fwspec->param[1]; in gic_irq_domain_translate()
782 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK; in gic_irq_domain_translate()
795 struct irq_fwspec *fwspec = arg; in gic_irq_domain_alloc() local
797 ret = gic_irq_domain_translate(domain, fwspec, &hwirq, &type); in gic_irq_domain_alloc()
Dirq-gic.c961 struct irq_fwspec *fwspec, in gic_irq_domain_translate() argument
965 if (is_of_node(fwspec->fwnode)) { in gic_irq_domain_translate()
966 if (fwspec->param_count < 3) in gic_irq_domain_translate()
970 *hwirq = fwspec->param[1] + 16; in gic_irq_domain_translate()
976 if (!fwspec->param[0]) in gic_irq_domain_translate()
979 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK; in gic_irq_domain_translate()
983 if (fwspec->fwnode->type == FWNODE_IRQCHIP) { in gic_irq_domain_translate()
984 if(fwspec->param_count != 2) in gic_irq_domain_translate()
987 *hwirq = fwspec->param[0]; in gic_irq_domain_translate()
988 *type = fwspec->param[1]; in gic_irq_domain_translate()
[all …]
Dirq-gic-v3-its.c1263 struct irq_fwspec fwspec; in its_irq_gic_domain_alloc() local
1266 fwspec.fwnode = domain->parent->fwnode; in its_irq_gic_domain_alloc()
1267 fwspec.param_count = 3; in its_irq_gic_domain_alloc()
1268 fwspec.param[0] = GIC_IRQ_TYPE_LPI; in its_irq_gic_domain_alloc()
1269 fwspec.param[1] = hwirq; in its_irq_gic_domain_alloc()
1270 fwspec.param[2] = IRQ_TYPE_EDGE_RISING; in its_irq_gic_domain_alloc()
1275 return irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec); in its_irq_gic_domain_alloc()
/linux-4.4.14/drivers/acpi/
Dgsi.c76 struct irq_fwspec fwspec; in acpi_register_gsi() local
83 fwspec.fwnode = acpi_gsi_domain_id; in acpi_register_gsi()
84 fwspec.param[0] = gsi; in acpi_register_gsi()
85 fwspec.param[1] = acpi_gsi_get_irq_type(trigger, polarity); in acpi_register_gsi()
86 fwspec.param_count = 2; in acpi_register_gsi()
88 return irq_create_fwspec_mapping(&fwspec); in acpi_register_gsi()
/linux-4.4.14/arch/arm/mach-omap2/
Domap-wakeupgen.c404 struct irq_fwspec *fwspec, in wakeupgen_domain_translate() argument
408 if (is_of_node(fwspec->fwnode)) { in wakeupgen_domain_translate()
409 if (fwspec->param_count != 3) in wakeupgen_domain_translate()
413 if (fwspec->param[0] != 0) in wakeupgen_domain_translate()
416 *hwirq = fwspec->param[1]; in wakeupgen_domain_translate()
417 *type = fwspec->param[2]; in wakeupgen_domain_translate()
428 struct irq_fwspec *fwspec = data; in wakeupgen_domain_alloc() local
433 if (fwspec->param_count != 3) in wakeupgen_domain_alloc()
435 if (fwspec->param[0] != 0) in wakeupgen_domain_alloc()
438 hwirq = fwspec->param[1]; in wakeupgen_domain_alloc()
[all …]
/linux-4.4.14/arch/arm/mach-imx/
Dgpc.c187 struct irq_fwspec *fwspec, in imx_gpc_domain_translate() argument
191 if (is_of_node(fwspec->fwnode)) { in imx_gpc_domain_translate()
192 if (fwspec->param_count != 3) in imx_gpc_domain_translate()
196 if (fwspec->param[0] != 0) in imx_gpc_domain_translate()
199 *hwirq = fwspec->param[1]; in imx_gpc_domain_translate()
200 *type = fwspec->param[2]; in imx_gpc_domain_translate()
211 struct irq_fwspec *fwspec = data; in imx_gpc_domain_alloc() local
216 if (fwspec->param_count != 3) in imx_gpc_domain_alloc()
218 if (fwspec->param[0] != 0) in imx_gpc_domain_alloc()
221 hwirq = fwspec->param[1]; in imx_gpc_domain_alloc()
[all …]
/linux-4.4.14/arch/arm/mach-exynos/
Dsuspend.c182 struct irq_fwspec *fwspec, in exynos_pmu_domain_translate() argument
186 if (is_of_node(fwspec->fwnode)) { in exynos_pmu_domain_translate()
187 if (fwspec->param_count != 3) in exynos_pmu_domain_translate()
191 if (fwspec->param[0] != 0) in exynos_pmu_domain_translate()
194 *hwirq = fwspec->param[1]; in exynos_pmu_domain_translate()
195 *type = fwspec->param[2]; in exynos_pmu_domain_translate()
206 struct irq_fwspec *fwspec = data; in exynos_pmu_domain_alloc() local
211 if (fwspec->param_count != 3) in exynos_pmu_domain_alloc()
213 if (fwspec->param[0] != 0) in exynos_pmu_domain_alloc()
216 hwirq = fwspec->param[1]; in exynos_pmu_domain_alloc()
[all …]
/linux-4.4.14/kernel/irq/
Dirqdomain.c540 struct irq_fwspec *fwspec, in irq_domain_translate() argument
545 return d->ops->translate(d, fwspec, hwirq, type); in irq_domain_translate()
548 return d->ops->xlate(d, to_of_node(fwspec->fwnode), in irq_domain_translate()
549 fwspec->param, fwspec->param_count, in irq_domain_translate()
553 *hwirq = fwspec->param[0]; in irq_domain_translate()
558 struct irq_fwspec *fwspec) in of_phandle_args_to_fwspec() argument
562 fwspec->fwnode = irq_data->np ? &irq_data->np->fwnode : NULL; in of_phandle_args_to_fwspec()
563 fwspec->param_count = irq_data->args_count; in of_phandle_args_to_fwspec()
566 fwspec->param[i] = irq_data->args[i]; in of_phandle_args_to_fwspec()
569 unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec) in irq_create_fwspec_mapping() argument
[all …]
/linux-4.4.14/include/linux/
Dirqdomain.h110 int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec,
288 extern unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec);