/linux-4.4.14/drivers/irqchip/ |
D | irq-mtk-sysirq.c | 71 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 …]
|
D | irq-crossbar.c | 81 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 …]
|
D | irq-vf610-mscm-ir.c | 133 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()
|
D | irq-tegra.c | 225 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 …]
|
D | irq-imx-gpcv2.c | 154 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()
|
D | irq-nvic.c | 52 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()
|
D | irq-gic-v2m.c | 131 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()
|
D | irq-gic-v3.c | 760 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()
|
D | irq-gic.c | 961 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 …]
|
D | irq-gic-v3-its.c | 1263 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/ |
D | gsi.c | 76 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/ |
D | omap-wakeupgen.c | 404 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/ |
D | gpc.c | 187 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/ |
D | suspend.c | 182 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/ |
D | irqdomain.c | 540 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/ |
D | irqdomain.h | 110 int (*translate)(struct irq_domain *d, struct irq_fwspec *fwspec, 288 extern unsigned int irq_create_fwspec_mapping(struct irq_fwspec *fwspec);
|