Lines Matching +full:non +full:- +full:inverted
1 // SPDX-License-Identifier: GPL-2.0-only
28 #include "omap-wakeupgen.h"
29 #include "omap-secure.h"
32 #include "omap4-sar-layout.h"
138 _wakeupgen_clear(d->hwirq, irq_target_cpu[d->hwirq]); in wakeupgen_mask()
151 _wakeupgen_set(d->hwirq, irq_target_cpu[d->hwirq]); in wakeupgen_unmask()
158 * to MPUSS wakeupgen. They get automatically inverted for GIC.
162 bool inverted = false; in wakeupgen_irq_set_type() local
168 inverted = true; in wakeupgen_irq_set_type()
173 inverted = true; in wakeupgen_irq_set_type()
179 if (inverted && d->hwirq != SYS_NIRQ1_EXT_SYS_IRQ_1 && in wakeupgen_irq_set_type()
180 d->hwirq != SYS_NIRQ2_EXT_SYS_IRQ_2) in wakeupgen_irq_set_type()
181 pr_warn("wakeupgen: irq%li polarity inverted in dts\n", in wakeupgen_irq_set_type()
182 d->hwirq); in wakeupgen_irq_set_type()
254 * code blindly restores secure and non-secure interrupt in omap4_irq_save_context()
333 if (wakeupgen_ops && wakeupgen_ops->save_context) in irq_save_context()
334 wakeupgen_ops->save_context(); in irq_save_context()
366 if (wakeupgen_ops && wakeupgen_ops->restore_context) in irq_restore_context()
367 wakeupgen_ops->restore_context(); in irq_restore_context()
420 cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "arm/omap-wake:online", in irq_hotplug_init()
423 "arm/omap-wake:dead", NULL, in irq_hotplug_init()
492 if (is_of_node(fwspec->fwnode)) { in wakeupgen_domain_translate()
493 if (fwspec->param_count != 3) in wakeupgen_domain_translate()
494 return -EINVAL; in wakeupgen_domain_translate()
497 if (fwspec->param[0] != 0) in wakeupgen_domain_translate()
498 return -EINVAL; in wakeupgen_domain_translate()
500 *hwirq = fwspec->param[1]; in wakeupgen_domain_translate()
501 *type = fwspec->param[2]; in wakeupgen_domain_translate()
505 return -EINVAL; in wakeupgen_domain_translate()
517 if (fwspec->param_count != 3) in wakeupgen_domain_alloc()
518 return -EINVAL; /* Not GIC compliant */ in wakeupgen_domain_alloc()
519 if (fwspec->param[0] != 0) in wakeupgen_domain_alloc()
520 return -EINVAL; /* No PPI should point to this domain */ in wakeupgen_domain_alloc()
522 hwirq = fwspec->param[1]; in wakeupgen_domain_alloc()
524 return -EINVAL; /* Can't deal with this */ in wakeupgen_domain_alloc()
531 parent_fwspec.fwnode = domain->parent->fwnode; in wakeupgen_domain_alloc()
555 return -ENODEV; in wakeupgen_init()
561 return -ENXIO; in wakeupgen_init()
566 return -EPERM; in wakeupgen_init()
572 return -ENOMEM; in wakeupgen_init()
592 return -ENOMEM; in wakeupgen_init()
634 IRQCHIP_DECLARE(ti_wakeupgen, "ti,omap4-wugen-mpu", wakeupgen_init);