Lines Matching +full:port +full:- +full:irqs

4  * SPDX-License-Identifier: Apache-2.0
9 /* This implementation supports only the regular irqs
31 intr_bitpos = find_lsb_set(intr_status) - 1; in dw_ictl_dispatch_child_isrs()
41 const struct dw_ictl_config *config = dev->config; in dw_ictl_initialize()
43 (struct dw_ictl_registers *)config->base_addr; in dw_ictl_initialize()
46 regs->irq_inten_l = 0U; in dw_ictl_initialize()
47 regs->irq_inten_h = 0U; in dw_ictl_initialize()
54 const struct dw_ictl_config *config = dev->config; in dw_ictl_isr()
56 (struct dw_ictl_registers *)config->base_addr; in dw_ictl_isr()
58 dw_ictl_dispatch_child_isrs(regs->irq_finalstatus_l, in dw_ictl_isr()
59 config->isr_table_offset); in dw_ictl_isr()
61 if (config->numirqs > 32) { in dw_ictl_isr()
62 dw_ictl_dispatch_child_isrs(regs->irq_finalstatus_h, in dw_ictl_isr()
63 config->isr_table_offset + 32); in dw_ictl_isr()
70 const struct dw_ictl_config *config = dev->config; in dw_ictl_intr_enable()
72 (struct dw_ictl_registers *)config->base_addr; in dw_ictl_intr_enable()
75 regs->irq_inten_l |= (1 << irq); in dw_ictl_intr_enable()
77 regs->irq_inten_h |= (1 << (irq - 32)); in dw_ictl_intr_enable()
84 const struct dw_ictl_config *config = dev->config; in dw_ictl_intr_disable()
86 (struct dw_ictl_registers *)config->base_addr; in dw_ictl_intr_disable()
89 regs->irq_inten_l &= ~(1 << irq); in dw_ictl_intr_disable()
91 regs->irq_inten_h &= ~(1 << (irq - 32)); in dw_ictl_intr_disable()
97 const struct dw_ictl_config *config = dev->config; in dw_ictl_intr_get_state()
99 (struct dw_ictl_registers *)config->base_addr; in dw_ictl_intr_get_state()
101 if (regs->irq_inten_l) { in dw_ictl_intr_get_state()
105 if (config->numirqs > 32) { in dw_ictl_intr_get_state()
106 if (regs->irq_inten_h) { in dw_ictl_intr_get_state()
116 const struct dw_ictl_config *config = dev->config; in dw_ictl_intr_get_line_state()
118 (struct dw_ictl_registers *)config->base_addr; in dw_ictl_intr_get_line_state()
120 if (config->numirqs > 32) { in dw_ictl_intr_get_line_state()
121 if ((regs->irq_inten_h & BIT(irq - 32)) != 0) { in dw_ictl_intr_get_line_state()
125 if ((regs->irq_inten_l & BIT(irq)) != 0) { in dw_ictl_intr_get_line_state()
153 static void dw_ictl_config_irq(const struct device *port) in dw_ictl_config_irq() argument