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()
421 cpuhp_setup_state_nocalls(CPUHP_AP_ONLINE_DYN, "arm/omap-wake:online", in irq_hotplug_init()
424 "arm/omap-wake:dead", NULL, in irq_hotplug_init()
493 if (is_of_node(fwspec->fwnode)) { in wakeupgen_domain_translate()
494 if (fwspec->param_count != 3) in wakeupgen_domain_translate()
495 return -EINVAL; in wakeupgen_domain_translate()
498 if (fwspec->param[0] != 0) in wakeupgen_domain_translate()
499 return -EINVAL; in wakeupgen_domain_translate()
501 *hwirq = fwspec->param[1]; in wakeupgen_domain_translate()
502 *type = fwspec->param[2]; in wakeupgen_domain_translate()
506 return -EINVAL; in wakeupgen_domain_translate()
518 if (fwspec->param_count != 3) in wakeupgen_domain_alloc()
519 return -EINVAL; /* Not GIC compliant */ in wakeupgen_domain_alloc()
520 if (fwspec->param[0] != 0) in wakeupgen_domain_alloc()
521 return -EINVAL; /* No PPI should point to this domain */ in wakeupgen_domain_alloc()
523 hwirq = fwspec->param[1]; in wakeupgen_domain_alloc()
525 return -EINVAL; /* Can't deal with this */ in wakeupgen_domain_alloc()
532 parent_fwspec.fwnode = domain->parent->fwnode; in wakeupgen_domain_alloc()
556 return -ENODEV; in wakeupgen_init()
562 return -ENXIO; in wakeupgen_init()
567 return -EPERM; in wakeupgen_init()
573 return -ENOMEM; in wakeupgen_init()
593 return -ENOMEM; in wakeupgen_init()
635 IRQCHIP_DECLARE(ti_wakeupgen, "ti,omap4-wugen-mpu", wakeupgen_init);