Lines Matching refs:chan
32 #define RX_BIT_CHAN(chan) BIT(chan) argument
34 #define TX_BIT_CHAN(chan) BIT(TX_BIT_SHIFT + (chan)) argument
45 static int stm32_ipcc_request(struct mbox_chan *chan) in stm32_ipcc_request() argument
47 struct stm32_ipcc *ipcc = dev_get_priv(chan->dev); in stm32_ipcc_request()
49 dev_dbg(chan->dev, "chan=%p\n", chan); in stm32_ipcc_request()
51 if (chan->id >= ipcc->n_chans) { in stm32_ipcc_request()
52 dev_dbg(chan->dev, "failed to request channel: %ld\n", in stm32_ipcc_request()
53 chan->id); in stm32_ipcc_request()
60 static int stm32_ipcc_free(struct mbox_chan *chan) in stm32_ipcc_free() argument
62 dev_dbg(chan->dev, "chan=%p\n", chan); in stm32_ipcc_free()
67 static int stm32_ipcc_send(struct mbox_chan *chan, const void *data) in stm32_ipcc_send() argument
69 struct stm32_ipcc *ipcc = dev_get_priv(chan->dev); in stm32_ipcc_send()
71 dev_dbg(chan->dev, "chan=%p, data=%p\n", chan, data); in stm32_ipcc_send()
73 if (readl(ipcc->reg_proc + IPCC_XTOYSR) & BIT(chan->id)) in stm32_ipcc_send()
77 setbits_le32(ipcc->reg_proc + IPCC_XSCR, TX_BIT_CHAN(chan->id)); in stm32_ipcc_send()
82 static int stm32_ipcc_recv(struct mbox_chan *chan, void *data) in stm32_ipcc_recv() argument
84 struct stm32_ipcc *ipcc = dev_get_priv(chan->dev); in stm32_ipcc_recv()
88 dev_dbg(chan->dev, "chan=%p, data=%p\n", chan, data); in stm32_ipcc_recv()
94 if (!(val & BIT(chan->id))) in stm32_ipcc_recv()
97 setbits_le32(ipcc->reg_proc + IPCC_XSCR, RX_BIT_CHAN(chan->id)); in stm32_ipcc_recv()