in efawin/verbs.c [607:632]
static void efa_cq_fill_pfns(struct ibv_cq_ex *ibvcqx,
struct ibv_cq_init_attr_ex *attr)
{
ibvcqx->start_poll = efa_start_poll;
ibvcqx->end_poll = efa_end_poll;
ibvcqx->next_poll = efa_next_poll;
ibvcqx->read_opcode = efa_wc_read_opcode;
ibvcqx->read_vendor_err = efa_wc_read_vendor_err;
ibvcqx->read_wc_flags = efa_wc_read_wc_flags;
if (attr->wc_flags & IBV_WC_EX_WITH_BYTE_LEN)
ibvcqx->read_byte_len = efa_wc_read_byte_len;
if (attr->wc_flags & IBV_WC_EX_WITH_IMM)
ibvcqx->read_imm_data = efa_wc_read_imm_data;
if (attr->wc_flags & IBV_WC_EX_WITH_QP_NUM)
ibvcqx->read_qp_num = efa_wc_read_qp_num;
if (attr->wc_flags & IBV_WC_EX_WITH_SRC_QP)
ibvcqx->read_src_qp = efa_wc_read_src_qp;
if (attr->wc_flags & IBV_WC_EX_WITH_SLID)
ibvcqx->read_slid = efa_wc_read_slid;
if (attr->wc_flags & IBV_WC_EX_WITH_SL)
ibvcqx->read_sl = efa_wc_read_sl;
if (attr->wc_flags & IBV_WC_EX_WITH_DLID_PATH_BITS)
ibvcqx->read_dlid_path_bits = efa_wc_read_dlid_path_bits;
}