Lines Matching refs:fwspec

932 				    struct irq_fwspec *fwspec,  in gic_irq_domain_translate()  argument
936 if (is_of_node(fwspec->fwnode)) { in gic_irq_domain_translate()
937 if (fwspec->param_count < 3) in gic_irq_domain_translate()
940 switch (fwspec->param[0]) { in gic_irq_domain_translate()
942 *hwirq = fwspec->param[1] + 32; in gic_irq_domain_translate()
946 *hwirq = fwspec->param[1] + 16; in gic_irq_domain_translate()
949 *hwirq = fwspec->param[1]; in gic_irq_domain_translate()
955 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK; in gic_irq_domain_translate()
962 fwspec->param[0] != GIC_IRQ_TYPE_PARTITION); in gic_irq_domain_translate()
966 if (is_fwnode_irqchip(fwspec->fwnode)) { in gic_irq_domain_translate()
967 if(fwspec->param_count != 2) in gic_irq_domain_translate()
970 *hwirq = fwspec->param[0]; in gic_irq_domain_translate()
971 *type = fwspec->param[1]; in gic_irq_domain_translate()
986 struct irq_fwspec *fwspec = arg; in gic_irq_domain_alloc() local
988 ret = gic_irq_domain_translate(domain, fwspec, &hwirq, &type); in gic_irq_domain_alloc()
1014 struct irq_fwspec *fwspec, in gic_irq_domain_select() argument
1018 if (fwspec->fwnode != d->fwnode) in gic_irq_domain_select()
1022 if (!is_of_node(fwspec->fwnode)) in gic_irq_domain_select()
1029 if (fwspec->param_count >= 4 && in gic_irq_domain_select()
1030 fwspec->param[0] == 1 && fwspec->param[3] != 0) in gic_irq_domain_select()
1031 return d == partition_get_domain(gic_data.ppi_descs[fwspec->param[1]]); in gic_irq_domain_select()
1044 struct irq_fwspec *fwspec, in partition_domain_translate() argument
1051 np = of_find_node_by_phandle(fwspec->param[3]); in partition_domain_translate()
1055 ret = partition_translate_id(gic_data.ppi_descs[fwspec->param[1]], in partition_domain_translate()
1061 *type = fwspec->param[2] & IRQ_TYPE_SENSE_MASK; in partition_domain_translate()