Lines Matching +full:valid +full:- +full:mask
1 // SPDX-License-Identifier: GPL-2.0+
9 #include <dt-bindings/firmware/imx/rsrc.h>
40 u32 mask; member
47 u32 mask; member
49 bool valid; member
91 if (scu_irq_wakeup[i].mask) { in imx_scu_irq_work_handler()
92 scu_irq_wakeup[i].valid = false; in imx_scu_irq_work_handler()
105 if (scu_irq_wakeup[i].mask & irq_status) { in imx_scu_irq_work_handler()
106 scu_irq_wakeup[i].valid = true; in imx_scu_irq_work_handler()
107 scu_irq_wakeup[i].wakeup_src = irq_status & scu_irq_wakeup[i].mask; in imx_scu_irq_work_handler()
123 hdr->ver = IMX_SC_RPC_VERSION; in imx_scu_irq_get_status()
124 hdr->svc = IMX_SC_RPC_SVC_IRQ; in imx_scu_irq_get_status()
125 hdr->func = IMX_SC_IRQ_FUNC_STATUS; in imx_scu_irq_get_status()
126 hdr->size = 2; in imx_scu_irq_get_status()
142 int imx_scu_irq_group_enable(u8 group, u32 mask, u8 enable) in imx_scu_irq_group_enable() argument
149 return -EPROBE_DEFER; in imx_scu_irq_group_enable()
151 hdr->ver = IMX_SC_RPC_VERSION; in imx_scu_irq_group_enable()
152 hdr->svc = IMX_SC_RPC_SVC_IRQ; in imx_scu_irq_group_enable()
153 hdr->func = IMX_SC_IRQ_FUNC_ENABLE; in imx_scu_irq_group_enable()
154 hdr->size = 3; in imx_scu_irq_group_enable()
158 msg.mask = mask; in imx_scu_irq_group_enable()
163 pr_err("enable irq failed, group %d, mask %d, ret %d\n", in imx_scu_irq_group_enable()
164 group, mask, ret); in imx_scu_irq_group_enable()
167 scu_irq_wakeup[group].mask |= mask; in imx_scu_irq_group_enable()
169 scu_irq_wakeup[group].mask &= ~mask; in imx_scu_irq_group_enable()
188 if (scu_irq_wakeup[i].valid) in wakeup_source_show()
212 return -ENOMEM; in imx_scu_enable_general_irq_channel()
214 cl->dev = dev; in imx_scu_enable_general_irq_channel()
215 cl->rx_callback = imx_scu_irq_callback; in imx_scu_enable_general_irq_channel()
228 if (!of_parse_phandle_with_args(dev->of_node, "mboxes", in imx_scu_enable_general_irq_channel()
229 "#mbox-cells", 0, &spec)) in imx_scu_enable_general_irq_channel()
241 ret = -ENOMEM; in imx_scu_enable_general_irq_channel()