Lines Matching +full:all +full:- +full:ones
2 * SPDX-License-Identifier: Apache-2.0
12 /* Mailbox: a simple interrupt source. Each direction has a 5-bit
14 * non-zero. The interrupt bits get cleared/acknowledged by writing
15 * ones to the corresponding bits of "cmd_clear". There are five
23 * There is an array of the devices. Linux's device-tree defines two.
26 * list interrupts for FIVE, and indeed those all seem to be present
36 * aren't used by the Linux kernel at all (which has a single driver
37 * for all these DSPs), so are described here for completeness but
71 struct mbox_data *data = ((struct device *)mbox)->data; in mtk_adsp_mbox_set_handler()
74 data->handlers[chan] = handler; in mtk_adsp_mbox_set_handler()
75 data->handler_arg[chan] = arg; in mtk_adsp_mbox_set_handler()
81 const struct mbox_cfg *cfg = ((struct device *)mbox)->config; in mtk_adsp_mbox_signal()
84 cfg->mbox->out_cmd |= BIT(chan); in mtk_adsp_mbox_signal()
90 const struct mbox_cfg *cfg = ((struct device *)arg)->config; in mbox_isr()
91 struct mbox_data *data = ((struct device *)arg)->data; in mbox_isr()
94 if (cfg->mbox->in_cmd & BIT(i)) { in mbox_isr()
95 if (data->handlers[i] != NULL) { in mbox_isr()
96 data->handlers[i](arg, data->handler_arg[i]); in mbox_isr()
101 cfg->mbox->in_cmd_clr = cfg->mbox->in_cmd; /* ACK */ in mbox_isr()