Lines Matching refs:uf

5352 	struct bfa_uf_s   *uf = cbarg;
5353 struct bfa_uf_mod_s *ufm = BFA_UF_MOD(uf->bfa);
5356 ufm->ufrecv(ufm->cbarg, uf);
5391 struct bfa_uf_s *uf;
5401 for (i = 0, uf = ufm->uf_list; i < ufm->num_ufs; i++, uf++) {
5402 memset(uf, 0, sizeof(struct bfa_uf_s));
5403 uf->bfa = ufm->bfa;
5404 uf->uf_tag = i;
5405 uf->pb_len = BFA_PER_UF_DMA_SZ;
5406 uf->buf_kva = bfa_mem_get_dmabuf_kva(ufm, i, BFA_PER_UF_DMA_SZ);
5407 uf->buf_pa = ufm_pbs_pa(ufm, i);
5408 list_add_tail(&uf->qe, &ufm->uf_free_q);
5414 bfa_mem_kva_curp(ufm) = (u8 *) uf;
5470 struct bfa_uf_s *uf;
5472 bfa_q_deq(&uf_mod->uf_free_q, &uf);
5473 return uf;
5477 bfa_uf_put(struct bfa_uf_mod_s *uf_mod, struct bfa_uf_s *uf)
5479 list_add_tail(&uf->qe, &uf_mod->uf_free_q);
5483 bfa_uf_post(struct bfa_uf_mod_s *ufm, struct bfa_uf_s *uf)
5491 memcpy(uf_post_msg, &ufm->uf_buf_posts[uf->uf_tag],
5495 bfa_trc(ufm->bfa, uf->uf_tag);
5497 list_add_tail(&uf->qe, &ufm->uf_posted_q);
5504 struct bfa_uf_s *uf;
5506 while ((uf = bfa_uf_get(uf_mod)) != NULL) {
5507 if (bfa_uf_post(uf_mod, uf) != BFA_STATUS_OK)
5517 struct bfa_uf_s *uf = &ufm->uf_list[uf_tag];
5522 bfa_mem_get_dmabuf_kva(ufm, uf_tag, uf->pb_len);
5528 list_del(&uf->qe); /* dequeue from posted queue */
5530 uf->data_ptr = buf;
5531 uf->data_len = m->xfr_len;
5533 WARN_ON(uf->data_len < sizeof(struct fchs_s));
5535 if (uf->data_len == sizeof(struct fchs_s)) {
5537 uf->data_len, (struct fchs_s *)buf);
5541 BFA_PL_EID_RX, uf->data_len,
5546 __bfa_cb_uf_recv(uf, BFA_TRUE);
5548 bfa_cb_queue(bfa, &uf->hcb_qe, __bfa_cb_uf_recv, uf);
5555 struct bfa_uf_s *uf;
5558 /* Enqueue unused uf resources to free_q */
5562 uf = (struct bfa_uf_s *) qe;
5563 list_del(&uf->qe);
5564 bfa_uf_put(ufm, uf);
5593 * @param[in] uf unsolicited frame to be freed
5598 bfa_uf_free(struct bfa_uf_s *uf)
5600 bfa_uf_put(BFA_UF_MOD(uf->bfa), uf);
5601 bfa_uf_post_all(BFA_UF_MOD(uf->bfa));
5607 * uf_pub BFA uf module public functions