Lines Matching full:tail
206 u32 head, tail; in mailbox_send_msg() local
211 tail = mb_chann->x2i_tail; in mailbox_send_msg()
214 tmp_tail = tail + mb_msg->pkg_size; in mailbox_send_msg()
216 if (tail < head && tmp_tail >= head) in mailbox_send_msg()
219 if (tail >= head && (tmp_tail > ringbuf_size - sizeof(u32) && in mailbox_send_msg()
223 if (tail >= head && tmp_tail > ringbuf_size - sizeof(u32)) { in mailbox_send_msg()
224 write_addr = mb_chann->mb->res.ringbuf_base + start_addr + tail; in mailbox_send_msg()
228 tail = 0; in mailbox_send_msg()
231 write_addr = mb_chann->mb->res.ringbuf_base + start_addr + tail; in mailbox_send_msg()
233 mailbox_set_tailptr(mb_chann, tail + mb_msg->pkg_size); in mailbox_send_msg()
282 u32 head, tail; in mailbox_get_msg() local
286 if (mailbox_reg_read_non_zero(mb_chann, mb_chann->res[CHAN_RES_I2X].mb_tail_ptr_reg, &tail)) in mailbox_get_msg()
292 if (unlikely(tail > ringbuf_size || !IS_ALIGNED(tail, 4))) { in mailbox_get_msg()
293 MB_WARN_ONCE(mb_chann, "Invalid tail 0x%x", tail); in mailbox_get_msg()
298 if (head == tail) in mailbox_get_msg()
309 if (head < tail) { in mailbox_get_msg()
310 MB_WARN_ONCE(mb_chann, "Tombstone, head 0x%x tail 0x%x", in mailbox_get_msg()
311 head, tail); in mailbox_get_msg()
324 if (msg_size > ringbuf_size - head || msg_size > tail - head) { in mailbox_get_msg()
325 MB_WARN_ONCE(mb_chann, "Invalid message size %d, tail %d, head %d", in mailbox_get_msg()
326 msg_size, tail, head); in mailbox_get_msg()