Lines Matching refs:len

120 	u16 len = fm10k_fifo_head_len(fifo);
123 fifo->head += len;
125 return len;
139 u16 len = tail - head;
142 if (len > tail)
143 len -= 2;
145 return len & ((mbx->mbmem_len << 1) - 1);
235 * @len: length of FIFO to copy into message header
242 const u32 *msg, u16 tail_offset, u16 len)
251 if (end < len)
252 memcpy(fifo->buffer, msg + end, (len - end) << 2);
254 end = len;
271 u16 len = FM10K_TLV_DWORD_LEN(*msg);
274 if (len > fifo->size)
278 if (len > fm10k_fifo_unused(fifo))
282 fm10k_fifo_write_copy(fifo, msg, 0, len);
288 fifo->tail += len;
296 * @len: length of data pushed onto buffer
301 static u16 fm10k_mbx_validate_msg_size(struct fm10k_mbx_info *mbx, u16 len)
308 len += mbx->pushed;
315 } while (total_len < len);
318 if ((len < total_len) && (msg_len <= mbx->rx.size))
322 return (len < total_len) ? len : (len - total_len);
332 * tail and len determines the length to copy.
340 u16 end, len, tail, mask;
347 len = mbx->tail_len;
348 tail = fm10k_mbx_tail_sub(mbx, len);
360 for (end = fifo->size - end; len; head = fifo->buffer) {
369 } while (--len && --end);
387 u16 mbmem_len, len, ack = fm10k_mbx_index_len(mbx, head, mbx->tail);
395 len = fm10k_fifo_used(fifo) - mbx->pulled;
396 if (len > mbmem_len)
397 len = mbmem_len;
400 mbx->tail = fm10k_mbx_tail_add(mbx, len - ack);
401 mbx->tail_len = len;
404 for (len = fm10k_fifo_head_len(fifo);
405 len && (mbx->pulled >= len);
406 len = fm10k_fifo_head_len(fifo)) {
409 mbx->tx_dwords += len;
423 * head and len determines the length to copy.
431 u16 end, len, head;
434 len = mbx->head_len;
435 head = fm10k_mbx_head_sub(mbx, len);
444 for (end = fifo->size - end; len; tail = fifo->buffer) {
453 } while (--len && --end);
476 u16 len, seq = fm10k_mbx_index_len(mbx, mbx->head, tail);
479 len = fm10k_fifo_unused(fifo) - mbx->pushed;
480 if (len > seq)
481 len = seq;
484 mbx->head = fm10k_mbx_head_add(mbx, len);
485 mbx->head_len = len;
488 if (!len)
495 if (fm10k_mbx_validate_msg_size(mbx, len))
499 mbx->pushed += len;
502 for (len = fm10k_mbx_pushed_tail_len(mbx);
503 len && (mbx->pushed >= len);
504 len = fm10k_mbx_pushed_tail_len(mbx)) {
505 fifo->tail += len;
506 mbx->pushed -= len;
508 mbx->rx_dwords += len;
553 * @len: length measured in 16 bits words
560 static u16 fm10k_crc_16b(const u32 *data, u16 seed, u16 len)
564 while (len--) {
569 if (!(len--))
583 * @len: number of DWORDS words to process
589 u16 len, u16 seed)
597 if (offset < len) {
600 len -= offset;
604 return fm10k_crc_16b(data, seed, len * 2);
619 u16 len = mbx->tail_len - fm10k_mbx_index_len(mbx, head, mbx->tail);
625 mbx->local = fm10k_fifo_crc(&mbx->tx, head, len, mbx->local);
641 u16 len = mbx->head_len;
642 u16 offset = fm10k_fifo_tail_offset(fifo, mbx->pushed) - len;
646 if (len)
647 mbx->remote = fm10k_fifo_crc(fifo, offset, len, mbx->remote);
672 * @len: verify free space is >= this value
676 static bool fm10k_mbx_tx_ready(struct fm10k_mbx_info *mbx, u16 len)
680 return (mbx->state == FM10K_STATE_OPEN) && (fifo_unused >= len);
1060 u16 len;
1065 for (len = fm10k_fifo_head_len(&mbx->tx);
1066 len > size;
1067 len = fm10k_fifo_head_len(&mbx->tx)) {
1881 u16 tail_len, len = 0;
1892 msg = fifo->buffer + fm10k_fifo_head_offset(fifo, len);
1893 tail_len = len;
1894 len += FM10K_TLV_DWORD_LEN(*msg);
1895 } while ((len <= mbx->tail_len) && (len < mbmem_len));
1994 s32 len;
2012 len = fm10k_sm_mbx_receive(hw, mbx, tail);
2013 if (len < 0)
2014 return len;
2017 } while (len);