Searched refs:fwspec (Results 1 - 25 of 98) sorted by relevance

1234

/linux-master/drivers/acpi/
H A Dirq.c59 struct irq_fwspec fwspec; local
62 fwspec.fwnode = acpi_get_gsi_domain_id(gsi);
63 if (WARN_ON(!fwspec.fwnode)) {
68 fwspec.param[0] = gsi;
69 fwspec.param[1] = acpi_dev_get_irq_type(trigger, polarity);
70 fwspec.param_count = 2;
72 irq = irq_create_fwspec_mapping(&fwspec);
139 * and fwspec where the result is returned.
145 struct irq_fwspec *fwspec; member in struct:acpi_irq_parse_one_ctx
173 ctx->fwspec
252 acpi_irq_parse_one(acpi_handle handle, unsigned int index, struct irq_fwspec *fwspec, unsigned long *flags) argument
278 struct irq_fwspec fwspec; local
[all...]
/linux-master/drivers/irqchip/
H A Dirq-crossbar.c77 struct irq_fwspec fwspec; local
96 fwspec.fwnode = domain->parent->fwnode;
97 fwspec.param_count = 3;
98 fwspec.param[0] = 0; /* SPI */
99 fwspec.param[1] = i;
100 fwspec.param[2] = IRQ_TYPE_LEVEL_HIGH;
102 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec);
114 struct irq_fwspec *fwspec = data; local
118 if (fwspec->param_count != 3)
120 if (fwspec
168 crossbar_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-ti-sci-intr.c51 * @fwspec: Pointer to IRQ specific firmware structure
58 struct irq_fwspec *fwspec,
64 if (fwspec->param_count != 1)
67 *hwirq = fwspec->param[0];
139 struct irq_fwspec fwspec; local
152 fwspec.fwnode = of_node_to_fwnode(parent_node);
156 fwspec.param_count = 3;
157 fwspec.param[0] = 0; /* SPI */
158 fwspec.param[1] = p_hwirq - 32; /* SPI offset */
159 fwspec
57 ti_sci_intr_irq_domain_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
198 struct irq_fwspec *fwspec = data; local
[all...]
H A Dirq-mst-intc.c177 struct irq_fwspec *fwspec,
183 if (is_of_node(fwspec->fwnode)) {
184 if (fwspec->param_count != 3)
188 if (fwspec->param[0] != 0)
191 if (fwspec->param[1] >= cd->nr_irqs)
194 *hwirq = fwspec->param[1];
195 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
207 struct irq_fwspec parent_fwspec, *fwspec = data; local
211 if (fwspec->param_count != 3)
215 if (fwspec
176 mst_intc_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-mbigen.c169 struct irq_fwspec *fwspec,
173 if (is_of_node(fwspec->fwnode) || is_acpi_device_node(fwspec->fwnode)) {
174 if (fwspec->param_count != 2)
177 if ((fwspec->param[0] > MAXIMUM_IRQ_PIN_NUM) ||
178 (fwspec->param[0] < RESERVED_IRQ_PER_MBIGEN_CHIP))
181 *hwirq = fwspec->param[0];
184 if ((fwspec->param[1] == IRQ_TYPE_EDGE_RISING) ||
185 (fwspec->param[1] == IRQ_TYPE_LEVEL_HIGH))
186 *type = fwspec
168 mbigen_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
200 struct irq_fwspec *fwspec = args; local
[all...]
H A Dirq-sni-exiu.c139 struct irq_fwspec *fwspec,
145 if (is_of_node(fwspec->fwnode)) {
146 if (fwspec->param_count != 3)
149 if (fwspec->param[0] != GIC_SPI)
152 *hwirq = fwspec->param[1] - info->spi_base;
153 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
155 if (fwspec->param_count != 2)
157 *hwirq = fwspec->param[0];
158 *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK;
166 struct irq_fwspec *fwspec local
138 exiu_domain_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-mtk-sysirq.c72 struct irq_fwspec *fwspec,
76 if (is_of_node(fwspec->fwnode)) {
77 if (fwspec->param_count != 3)
81 if (fwspec->param[0] != 0)
84 *hwirq = fwspec->param[1];
85 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
97 struct irq_fwspec *fwspec = arg; local
98 struct irq_fwspec gic_fwspec = *fwspec;
100 if (fwspec->param_count != 3)
104 if (fwspec
71 mtk_sysirq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-ixp4xx.c130 struct irq_fwspec *fwspec,
135 if (is_of_node(fwspec->fwnode) && fwspec->param_count == 2) {
136 *hwirq = fwspec->param[0];
137 *type = fwspec->param[1];
141 if (is_fwnode_irqchip(fwspec->fwnode)) {
142 if (fwspec->param_count != 2)
144 *hwirq = fwspec->param[0];
145 *type = fwspec->param[1];
160 struct irq_fwspec *fwspec local
129 ixp4xx_irq_domain_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-mtk-cirq.c145 struct irq_fwspec *fwspec,
149 if (is_of_node(fwspec->fwnode)) {
150 if (fwspec->param_count != 3)
154 if (fwspec->param[0] != 0)
158 if (fwspec->param[1] < cirq_data->ext_irq_start ||
159 fwspec->param[1] > cirq_data->ext_irq_end)
162 *hwirq = fwspec->param[1] - cirq_data->ext_irq_start;
163 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
176 struct irq_fwspec *fwspec = arg; local
177 struct irq_fwspec parent_fwspec = *fwspec;
144 mtk_cirq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-vf610-mscm-ir.c129 struct irq_fwspec *fwspec = arg; local
135 if (fwspec->param_count != 2)
138 hwirq = fwspec->param[0];
148 parent_fwspec.param[0] = fwspec->param[0];
152 parent_fwspec.param[1] = fwspec->param[0];
153 parent_fwspec.param[2] = fwspec->param[1];
161 struct irq_fwspec *fwspec,
165 if (WARN_ON(fwspec->param_count < 2))
167 *hwirq = fwspec->param[0];
168 *type = fwspec
160 vf610_mscm_ir_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-mvebu-icu.c151 mvebu_icu_irq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, argument
159 if (WARN_ON(fwspec->param_count != param_count)) {
161 fwspec->param_count);
166 *hwirq = fwspec->param[1];
167 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
168 if (fwspec->param[0] != ICU_GRP_NSR) {
170 fwspec->param[0]);
174 *hwirq = fwspec->param[0];
175 *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK;
201 struct irq_fwspec *fwspec local
[all...]
H A Dirq-imx-gpcv2.c141 struct irq_fwspec *fwspec,
145 if (is_of_node(fwspec->fwnode)) {
146 if (fwspec->param_count != 3)
150 if (fwspec->param[0] != 0)
153 *hwirq = fwspec->param[1];
154 *type = fwspec->param[2];
165 struct irq_fwspec *fwspec = data; local
172 err = imx_gpcv2_domain_translate(domain, fwspec, &hwirq, &type);
184 parent_fwspec = *fwspec;
140 imx_gpcv2_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
H A Dirq-tegra.c216 struct irq_fwspec *fwspec,
220 if (is_of_node(fwspec->fwnode)) {
221 if (fwspec->param_count != 3)
225 if (fwspec->param[0] != 0)
228 *hwirq = fwspec->param[1];
229 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
240 struct irq_fwspec *fwspec = data; local
246 if (fwspec->param_count != 3)
248 if (fwspec->param[0] != GIC_SPI)
251 hwirq = fwspec
215 tegra_ictlr_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-mvebu-sei.c171 struct irq_fwspec *fwspec = arg; local
174 irq_domain_set_hwirq_and_chip(domain, virq, fwspec->param[0],
198 struct irq_fwspec *fwspec,
202 *hwirq = fwspec->param[0];
212 struct irq_fwspec fwspec; local
219 fwspec.fwnode = domain->parent->fwnode;
220 fwspec.param_count = 1;
221 fwspec.param[0] = hwirq + sei->caps->ap_range.first;
223 err = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec);
253 struct irq_fwspec fwspec; local
197 mvebu_sei_ap_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-meson-gpio.c432 struct irq_fwspec *fwspec,
436 if (is_of_node(fwspec->fwnode) && fwspec->param_count == 2) {
437 *hwirq = fwspec->param[0];
438 *type = fwspec->param[1];
450 struct irq_fwspec fwspec; local
452 fwspec.fwnode = domain->parent->fwnode;
453 fwspec.param_count = 3;
454 fwspec.param[0] = 0; /* SPI */
455 fwspec
431 meson_gpio_irq_domain_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
466 struct irq_fwspec *fwspec = data; local
[all...]
H A Dirq-sun6i-r.c199 struct irq_fwspec *fwspec,
204 if (fwspec->param_count == 2 && fwspec->param[0] == 0) {
206 *type = fwspec->param[1] & IRQ_TYPE_SENSE_MASK;
211 if (fwspec->param_count < 3)
213 if (fwspec->param[0] != GIC_SPI)
216 *hwirq = fwspec->param[1];
217 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
226 struct irq_fwspec *fwspec = arg; local
232 ret = sun6i_r_intc_domain_translate(domain, fwspec,
198 sun6i_r_intc_domain_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
H A Dirq-alpine-msi.c122 struct irq_fwspec fwspec; local
129 fwspec.fwnode = domain->parent->fwnode;
130 fwspec.param_count = 3;
131 fwspec.param[0] = 0;
132 fwspec.param[1] = sgi;
133 fwspec.param[2] = IRQ_TYPE_EDGE_RISING;
135 ret = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec);
H A Dirq-mvebu-gicp.c84 struct irq_fwspec fwspec; local
97 fwspec.fwnode = domain->parent->fwnode;
98 fwspec.param_count = 3;
99 fwspec.param[0] = GIC_SPI;
100 fwspec.param[1] = gicp_idx_to_spi(gicp, hwirq) - 32;
105 fwspec.param[2] = IRQ_TYPE_EDGE_RISING;
107 ret = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec);
H A Dirq-mvebu-odmi.c82 struct irq_fwspec fwspec; local
100 fwspec.fwnode = domain->parent->fwnode;
101 fwspec.param_count = 3;
102 fwspec.param[0] = GIC_SPI;
103 fwspec.param[1] = odmi->spi_base - 32 + odmin;
104 fwspec.param[2] = IRQ_TYPE_EDGE_RISING;
106 ret = irq_domain_alloc_irqs_parent(domain, virq, 1, &fwspec);
H A Dirq-renesas-rza1.c106 struct irq_fwspec *fwspec = arg; local
107 unsigned int hwirq = fwspec->param[0];
126 struct irq_fwspec *fwspec, unsigned long *hwirq,
129 if (fwspec->param_count != 2 || fwspec->param[0] >= IRQC_NUM_IRQ)
132 *hwirq = fwspec->param[0];
133 *type = fwspec->param[1];
125 rza1_irqc_translate(struct irq_domain *domain, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
/linux-master/arch/x86/include/asm/
H A Dirqdomain.h13 extern int x86_fwspec_is_ioapic(struct irq_fwspec *fwspec);
14 extern int x86_fwspec_is_hpet(struct irq_fwspec *fwspec);
/linux-master/drivers/gpio/
H A Dgpio-xgene-sb.c115 struct irq_fwspec fwspec; local
121 fwspec.fwnode = gc->parent->fwnode;
122 fwspec.param_count = 2;
123 fwspec.param[0] = GPIO_TO_HWIRQ(priv, gpio);
124 fwspec.param[1] = IRQ_TYPE_EDGE_RISING;
125 return irq_create_fwspec_mapping(&fwspec);
161 struct irq_fwspec *fwspec,
167 if ((fwspec->param_count != 2) ||
168 (fwspec->param[0] >= priv->nirq))
170 *hwirq = fwspec
160 xgene_gpio_sb_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
179 struct irq_fwspec *fwspec = data; local
[all...]
H A Dgpio-visconti.c112 struct irq_fwspec *fwspec = &gfwspec->fwspec; local
114 fwspec->fwnode = chip->irq.parent_domain->fwnode;
115 fwspec->param_count = 3;
116 fwspec->param[0] = 0;
117 fwspec->param[1] = parent_hwirq;
118 fwspec->param[2] = parent_type;
/linux-master/arch/arm/mach-imx/
H A Dgpc.c173 struct irq_fwspec *fwspec,
177 if (is_of_node(fwspec->fwnode)) {
178 if (fwspec->param_count != 3)
182 if (fwspec->param[0] != 0)
185 *hwirq = fwspec->param[1];
186 *type = fwspec->param[2];
197 struct irq_fwspec *fwspec = data; local
202 if (fwspec->param_count != 3)
204 if (fwspec->param[0] != 0)
207 hwirq = fwspec
172 imx_gpc_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *hwirq, unsigned int *type) argument
[all...]
/linux-master/kernel/irq/
H A Dirqdomain.c430 * irq_find_matching_fwspec() - Locates a domain for a given fwspec
431 * @fwspec: FW specifier for an interrupt
434 struct irq_domain *irq_find_matching_fwspec(struct irq_fwspec *fwspec, argument
438 struct fwnode_handle *fwnode = fwspec->fwnode;
453 rc = h->ops->select(h, fwspec, bus_token);
762 struct irq_fwspec *fwspec,
767 return d->ops->translate(d, fwspec, hwirq, type);
770 return d->ops->xlate(d, to_of_node(fwspec->fwnode),
771 fwspec->param, fwspec
761 irq_domain_translate(struct irq_domain *d, struct irq_fwspec *fwspec, irq_hw_number_t *hwirq, unsigned int *type) argument
779 of_phandle_args_to_fwspec(struct device_node *np, const u32 *args, unsigned int count, struct irq_fwspec *fwspec) argument
792 irq_create_fwspec_mapping(struct irq_fwspec *fwspec) argument
897 struct irq_fwspec fwspec; local
1011 struct irq_fwspec fwspec; local
1054 irq_domain_translate_onecell(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *out_hwirq, unsigned int *out_type) argument
1075 irq_domain_translate_twocell(struct irq_domain *d, struct irq_fwspec *fwspec, unsigned long *out_hwirq, unsigned int *out_type) argument
[all...]

Completed in 190 milliseconds

1234