Lines Matching refs:uf
5346 struct bfa_uf_s *uf = cbarg;
5347 struct bfa_uf_mod_s *ufm = BFA_UF_MOD(uf->bfa);
5350 ufm->ufrecv(ufm->cbarg, uf);
5385 struct bfa_uf_s *uf;
5395 for (i = 0, uf = ufm->uf_list; i < ufm->num_ufs; i++, uf++) {
5396 memset(uf, 0, sizeof(struct bfa_uf_s));
5397 uf->bfa = ufm->bfa;
5398 uf->uf_tag = i;
5399 uf->pb_len = BFA_PER_UF_DMA_SZ;
5400 uf->buf_kva = bfa_mem_get_dmabuf_kva(ufm, i, BFA_PER_UF_DMA_SZ);
5401 uf->buf_pa = ufm_pbs_pa(ufm, i);
5402 list_add_tail(&uf->qe, &ufm->uf_free_q);
5408 bfa_mem_kva_curp(ufm) = (u8 *) uf;
5464 struct bfa_uf_s *uf;
5466 bfa_q_deq(&uf_mod->uf_free_q, &uf);
5467 return uf;
5471 bfa_uf_put(struct bfa_uf_mod_s *uf_mod, struct bfa_uf_s *uf)
5473 list_add_tail(&uf->qe, &uf_mod->uf_free_q);
5477 bfa_uf_post(struct bfa_uf_mod_s *ufm, struct bfa_uf_s *uf)
5485 memcpy(uf_post_msg, &ufm->uf_buf_posts[uf->uf_tag],
5489 bfa_trc(ufm->bfa, uf->uf_tag);
5491 list_add_tail(&uf->qe, &ufm->uf_posted_q);
5498 struct bfa_uf_s *uf;
5500 while ((uf = bfa_uf_get(uf_mod)) != NULL) {
5501 if (bfa_uf_post(uf_mod, uf) != BFA_STATUS_OK)
5511 struct bfa_uf_s *uf = &ufm->uf_list[uf_tag];
5516 bfa_mem_get_dmabuf_kva(ufm, uf_tag, uf->pb_len);
5522 list_del(&uf->qe); /* dequeue from posted queue */
5524 uf->data_ptr = buf;
5525 uf->data_len = m->xfr_len;
5527 WARN_ON(uf->data_len < sizeof(struct fchs_s));
5529 if (uf->data_len == sizeof(struct fchs_s)) {
5531 uf->data_len, (struct fchs_s *)buf);
5535 BFA_PL_EID_RX, uf->data_len,
5540 __bfa_cb_uf_recv(uf, BFA_TRUE);
5542 bfa_cb_queue(bfa, &uf->hcb_qe, __bfa_cb_uf_recv, uf);
5549 struct bfa_uf_s *uf;
5552 /* Enqueue unused uf resources to free_q */
5556 uf = (struct bfa_uf_s *) qe;
5557 list_del(&uf->qe);
5558 bfa_uf_put(ufm, uf);
5587 * @param[in] uf unsolicited frame to be freed
5592 bfa_uf_free(struct bfa_uf_s *uf)
5594 bfa_uf_put(BFA_UF_MOD(uf->bfa), uf);
5595 bfa_uf_post_all(BFA_UF_MOD(uf->bfa));
5601 * uf_pub BFA uf module public functions