Lines Matching full:falling
565 __clear_bit(bit, &mcu->falling); in omnia_irq_shutdown()
608 __assign_bit(bit, &mcu->falling, type & IRQ_TYPE_EDGE_FALLING); in omnia_irq_set_type()
626 * omnia_mask_interleave - Interleaves the bytes from @rising and @falling
629 * @falling: falling mask
631 * Interleaves the little-endian bytes from @rising and @falling words.
633 * If @rising = (r0, r1, r2, r3) and @falling = (f0, f1, f2, f3), the result is
646 omnia_mask_interleave(u8 *dst, unsigned long rising, unsigned long falling) in omnia_mask_interleave() argument
650 dst[2 * i + 1] = falling >> (8 * i); in omnia_mask_interleave()
655 * omnia_mask_deinterleave - Deinterleaves the bytes into @rising and @falling
658 * @falling: pointer where to store the falling mask gathered from @src
663 unsigned long *falling) in omnia_mask_deinterleave() argument
665 *rising = *falling = 0; in omnia_mask_deinterleave()
669 *falling |= src[2 * i + 1] << (8 * i); in omnia_mask_deinterleave()
679 unsigned long rising, falling; in omnia_irq_bus_sync_unlock() local
689 falling = mcu->falling & mcu->mask; in omnia_irq_bus_sync_unlock()
691 /* interleave the rising and falling bytes into the command arguments */ in omnia_irq_bus_sync_unlock()
692 omnia_mask_interleave(&cmd[1], rising, falling); in omnia_irq_bus_sync_unlock()
703 * Remember which GPIOs have both rising and falling interrupts enabled. in omnia_irq_bus_sync_unlock()
708 mcu->both = rising & falling; in omnia_irq_bus_sync_unlock()
760 omnia_irq_compute_pending_length(unsigned long rising, unsigned long falling) in omnia_irq_compute_pending_length() argument
763 omnia_compute_reply_length(falling, true, 1)); in omnia_irq_compute_pending_length()
771 unsigned long rising, falling; in omnia_irq_read_pending_new() local
776 mcu->falling & mcu->mask); in omnia_irq_read_pending_new()
789 /* deinterleave the reply bytes into rising and falling */ in omnia_irq_read_pending_new()
790 omnia_mask_deinterleave(reply, &rising, &falling); in omnia_irq_read_pending_new()
793 falling &= mcu->mask; in omnia_irq_read_pending_new()
794 *pending = rising | falling; in omnia_irq_read_pending_new()
797 mcu->is_cached &= ~(rising & falling); in omnia_irq_read_pending_new()
798 mcu->is_cached |= mcu->both & (rising ^ falling); in omnia_irq_read_pending_new()
799 mcu->cached = (mcu->cached | rising) & ~falling; in omnia_irq_read_pending_new()
835 fill_int_from_sts(unsigned long *rising, unsigned long *falling, in fill_int_from_sts() argument
842 *falling |= int_bit; in fill_int_from_sts()
848 unsigned long status, rising_sts, falling_sts, rising, falling; in omnia_irq_read_pending_old() local
902 falling = 0; in omnia_irq_read_pending_old()
903 fill_int_from_sts(&rising, &falling, rising_sts, falling_sts, in omnia_irq_read_pending_old()
905 fill_int_from_sts(&rising, &falling, rising_sts, falling_sts, in omnia_irq_read_pending_old()
907 fill_int_from_sts(&rising, &falling, rising_sts, falling_sts, in omnia_irq_read_pending_old()
912 falling &= mcu->falling & mcu->mask; in omnia_irq_read_pending_old()
913 *pending = rising | falling; in omnia_irq_read_pending_old()