Lines Matching refs:pfpdu

1154 static u16 irdma_ieq_get_fpdu_len(struct irdma_pfpdu *pfpdu, u8 *datap,  in irdma_ieq_get_fpdu_len()  argument
1158 u8 marker_len = pfpdu->marker_len; in irdma_ieq_get_fpdu_len()
1162 blk_start = (pfpdu->rcv_start_seq - rcv_seq) & (IRDMA_MRK_BLK_SZ - 1); in irdma_ieq_get_fpdu_len()
1177 if (fpdu_len > pfpdu->max_fpdu_data) in irdma_ieq_get_fpdu_len()
1322 static int irdma_ieq_create_pbufl(struct irdma_pfpdu *pfpdu, in irdma_ieq_create_pbufl() argument
1342 pfpdu->bad_seq_num++; in irdma_ieq_create_pbufl()
1366 struct irdma_pfpdu *pfpdu, in irdma_ieq_handle_partial() argument
1375 struct list_head *rxlist = &pfpdu->rxlist; in irdma_ieq_handle_partial()
1382 status = irdma_ieq_create_pbufl(pfpdu, rxlist, &pbufl, buf, fpdu_len); in irdma_ieq_handle_partial()
1388 pfpdu->no_tx_bufs++; in irdma_ieq_handle_partial()
1410 txbuf->ah_id = pfpdu->ah->ah_info.ah_idx; in irdma_ieq_handle_partial()
1413 pfpdu->rcv_nxt = seqnum + fpdu_len; in irdma_ieq_handle_partial()
1434 struct irdma_pfpdu *pfpdu, in irdma_ieq_process_buf() argument
1448 struct list_head *rxlist = &pfpdu->rxlist; in irdma_ieq_process_buf()
1453 fpdu_len = irdma_ieq_get_fpdu_len(pfpdu, datap, buf->seqnum); in irdma_ieq_process_buf()
1477 pfpdu->fpdu_processed++; in irdma_ieq_process_buf()
1487 pfpdu->no_tx_bufs++; in irdma_ieq_process_buf()
1498 txbuf->ah_id = pfpdu->ah->ah_info.ah_idx; in irdma_ieq_process_buf()
1512 pfpdu->rcv_nxt = buf->seqnum + len; in irdma_ieq_process_buf()
1519 pfpdu->rcv_nxt = buf->seqnum; in irdma_ieq_process_buf()
1522 return irdma_ieq_handle_partial(ieq, pfpdu, buf, fpdu_len); in irdma_ieq_process_buf()
1535 struct irdma_pfpdu *pfpdu = &qp->pfpdu; in irdma_ieq_process_fpdus() local
1536 struct list_head *rxlist = &pfpdu->rxlist; in irdma_ieq_process_fpdus()
1548 if (buf->seqnum != pfpdu->rcv_nxt) { in irdma_ieq_process_fpdus()
1550 pfpdu->out_of_order++; in irdma_ieq_process_fpdus()
1555 status = irdma_ieq_process_buf(ieq, pfpdu, buf); in irdma_ieq_process_fpdus()
1557 pfpdu->mpa_crc_err = true; in irdma_ieq_process_fpdus()
1561 pfpdu->crc_err++; in irdma_ieq_process_fpdus()
1579 qp->pfpdu.ah_buf = buf; in irdma_ieq_create_ah()
1583 &qp->pfpdu.ah); in irdma_ieq_create_ah()
1596 struct irdma_pfpdu *pfpdu = &qp->pfpdu; in irdma_ieq_handle_exception() local
1601 struct list_head *rxlist = &pfpdu->rxlist; in irdma_ieq_handle_exception()
1608 spin_lock_irqsave(&pfpdu->lock, flags); in irdma_ieq_handle_exception()
1609 pfpdu->total_ieq_bufs++; in irdma_ieq_handle_exception()
1610 if (pfpdu->mpa_crc_err) { in irdma_ieq_handle_exception()
1611 pfpdu->crc_err++; in irdma_ieq_handle_exception()
1614 if (pfpdu->mode && fps != pfpdu->fps) { in irdma_ieq_handle_exception()
1618 pfpdu->mode = false; in irdma_ieq_handle_exception()
1621 if (!pfpdu->mode) { in irdma_ieq_handle_exception()
1625 pfpdu->rcv_nxt = fps; in irdma_ieq_handle_exception()
1626 pfpdu->fps = fps; in irdma_ieq_handle_exception()
1627 pfpdu->mode = true; in irdma_ieq_handle_exception()
1628 pfpdu->max_fpdu_data = (buf->ipv4) ? in irdma_ieq_handle_exception()
1631 pfpdu->pmode_count++; in irdma_ieq_handle_exception()
1637 if (!(rcv_wnd >= (buf->seqnum - pfpdu->rcv_nxt))) { in irdma_ieq_handle_exception()
1638 pfpdu->bad_seq_num++; in irdma_ieq_handle_exception()
1644 if (buf->seqnum != pfpdu->nextseqnum) { in irdma_ieq_handle_exception()
1652 pfpdu->nextseqnum = buf->seqnum + buf->datalen; in irdma_ieq_handle_exception()
1653 pfpdu->lastrcv_buf = buf; in irdma_ieq_handle_exception()
1654 if (hw_rev >= IRDMA_GEN_2 && !pfpdu->ah) { in irdma_ieq_handle_exception()
1656 if (!pfpdu->ah) in irdma_ieq_handle_exception()
1662 else if (pfpdu->ah && pfpdu->ah->ah_info.ah_valid) in irdma_ieq_handle_exception()
1665 spin_unlock_irqrestore(&pfpdu->lock, flags); in irdma_ieq_handle_exception()
1671 spin_unlock_irqrestore(&pfpdu->lock, flags); in irdma_ieq_handle_exception()
1723 struct irdma_pfpdu *pfpdu = &qp->pfpdu; in irdma_ieq_cleanup_qp() local
1724 struct list_head *rxlist = &pfpdu->rxlist; in irdma_ieq_cleanup_qp()
1726 if (qp->pfpdu.ah) { in irdma_ieq_cleanup_qp()
1727 irdma_puda_free_ah(ieq->dev, qp->pfpdu.ah); in irdma_ieq_cleanup_qp()
1728 qp->pfpdu.ah = NULL; in irdma_ieq_cleanup_qp()
1729 qp->pfpdu.ah_buf = NULL; in irdma_ieq_cleanup_qp()
1732 if (!pfpdu->mode) in irdma_ieq_cleanup_qp()