Lines Matching refs:chan
26 #define RX_BIT_CHAN(chan) BIT(chan) argument
28 #define TX_BIT_CHAN(chan) BIT(TX_BIT_SHIFT + (chan)) argument
39 static int stm32_ipcc_request(struct mbox_chan *chan) in stm32_ipcc_request() argument
41 struct stm32_ipcc *ipcc = dev_get_priv(chan->dev); in stm32_ipcc_request()
43 debug("%s(chan=%p)\n", __func__, chan); in stm32_ipcc_request()
45 if (chan->id >= ipcc->n_chans) { in stm32_ipcc_request()
47 __func__, chan->id); in stm32_ipcc_request()
54 static int stm32_ipcc_free(struct mbox_chan *chan) in stm32_ipcc_free() argument
56 debug("%s(chan=%p)\n", __func__, chan); in stm32_ipcc_free()
61 static int stm32_ipcc_send(struct mbox_chan *chan, const void *data) in stm32_ipcc_send() argument
63 struct stm32_ipcc *ipcc = dev_get_priv(chan->dev); in stm32_ipcc_send()
65 debug("%s(chan=%p, data=%p)\n", __func__, chan, data); in stm32_ipcc_send()
67 if (readl(ipcc->reg_proc + IPCC_XTOYSR) & BIT(chan->id)) in stm32_ipcc_send()
71 setbits_le32(ipcc->reg_proc + IPCC_XSCR, TX_BIT_CHAN(chan->id)); in stm32_ipcc_send()
76 static int stm32_ipcc_recv(struct mbox_chan *chan, void *data) in stm32_ipcc_recv() argument
78 struct stm32_ipcc *ipcc = dev_get_priv(chan->dev); in stm32_ipcc_recv()
82 debug("%s(chan=%p, data=%p)\n", __func__, chan, data); in stm32_ipcc_recv()
88 if (!(val & BIT(chan->id))) in stm32_ipcc_recv()
91 setbits_le32(ipcc->reg_proc + IPCC_XSCR, RX_BIT_CHAN(chan->id)); in stm32_ipcc_recv()