Lines Matching defs:fwspec
1560 struct irq_fwspec *fwspec,
1564 if (fwspec->param_count == 1 && fwspec->param[0] < 16) {
1565 *hwirq = fwspec->param[0];
1570 if (is_of_node(fwspec->fwnode)) {
1571 if (fwspec->param_count < 3)
1574 switch (fwspec->param[0]) {
1576 *hwirq = fwspec->param[1] + 32;
1579 *hwirq = fwspec->param[1] + 16;
1582 *hwirq = fwspec->param[1] + ESPI_BASE_INTID;
1585 *hwirq = fwspec->param[1] + EPPI_BASE_INTID;
1588 *hwirq = fwspec->param[1];
1591 *hwirq = fwspec->param[1];
1592 if (fwspec->param[1] >= 16)
1601 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;
1608 fwspec->param[0] != GIC_IRQ_TYPE_PARTITION);
1612 if (is_fwnode_irqchip(fwspec->fwnode)) {
1613 if(fwspec->param_count != 2)
1616 if (fwspec->param[0] < 16) {
1618 fwspec->param[0]);
1622 *hwirq = fwspec->param[0];
1623 *type = fwspec->param[1];
1638 struct irq_fwspec *fwspec = arg;
1640 ret = gic_irq_domain_translate(domain, fwspec, &hwirq, &type);
1665 static bool fwspec_is_partitioned_ppi(struct irq_fwspec *fwspec,
1673 if (!is_of_node(fwspec->fwnode))
1676 if (fwspec->param_count < 4 || !fwspec->param[3])
1687 struct irq_fwspec *fwspec,
1694 if (fwspec->fwnode != d->fwnode)
1698 if (!is_of_node(fwspec->fwnode))
1701 ret = gic_irq_domain_translate(d, fwspec, &hwirq, &type);
1705 if (!fwspec_is_partitioned_ppi(fwspec, hwirq))
1724 struct irq_fwspec *fwspec,
1736 np = of_find_node_by_phandle(fwspec->param[3]);
1740 ret = gic_irq_domain_translate(d, fwspec, &ppi_intid, type);
1751 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK;