eibnx_thr_info_t
eibnx_fip_make_solicit_pkt(eibnx_thr_info_t *info, eibnx_wqe_t *swqe)
eibnx_setup_ud_dest(eibnx_thr_info_t *info, eibnx_wqe_t *swqe,
eibnx_fip_send_solicit_pkt(eibnx_thr_info_t *info, eibnx_wqe_t *swqe,
static int eibnx_fip_make_solicit_pkt(eibnx_thr_info_t *, eibnx_wqe_t *);
static int eibnx_fip_send_solicit_pkt(eibnx_thr_info_t *, eibnx_wqe_t *,
eibnx_fip_solicit_mcast(eibnx_thr_info_t *info)
eibnx_fip_solicit_ucast(eibnx_thr_info_t *info, clock_t *solicit_period_ticks)
eibnx_thr_info_t *ti;
eibnx_thr_info_t *ti;
eibnx_thr_info_t *ti_stop_list = NULL;
eibnx_thr_info_t *ti_prev;
eibnx_thr_info_t *ti_next;
eibnx_thr_info_t *ti;
static void eibnx_gw_is_aware(eibnx_thr_info_t *, eibnx_gw_info_t *, boolean_t);
static void eibnx_process_rx(eibnx_thr_info_t *, ibt_wc_t *, eibnx_wqe_t *);
eibnx_gw_is_aware(eibnx_thr_info_t *info, eibnx_gw_info_t *gwi,
static void eibnx_handle_wcerr(uint8_t, eibnx_wqe_t *, eibnx_thr_info_t *);
static void eibnx_handle_login_ack(eibnx_thr_info_t *, uint8_t *);
static void eibnx_handle_gw_rebirth(eibnx_thr_info_t *, uint16_t);
static void eibnx_handle_gw_info_update(eibnx_thr_info_t *, uint16_t, void *);
static int eibnx_replace_portinfo(eibnx_thr_info_t *, ibt_hca_portinfo_t *,
eibnx_thr_info_t *info = arg;
eibnx_thr_info_t *info = (eibnx_thr_info_t *)arg1;
eibnx_process_rx(eibnx_thr_info_t *info, ibt_wc_t *wc, eibnx_wqe_t *wqe)
eibnx_handle_wcerr(uint8_t wcerr, eibnx_wqe_t *wqe, eibnx_thr_info_t *info)
eibnx_handle_login_ack(eibnx_thr_info_t *info, uint8_t *pkt)
eibnx_handle_gw_rebirth(eibnx_thr_info_t *info, uint16_t portid)
eibnx_handle_gw_info_update(eibnx_thr_info_t *info, uint16_t portid,
eibnx_port_monitor(eibnx_thr_info_t *info)
eibnx_replace_portinfo(eibnx_thr_info_t *ti, ibt_hca_portinfo_t *new_pi,
eibnx_thr_info_t *ti;
eibnx_rb_setup_rxbufs(eibnx_thr_info_t *info)
eibnx_rb_setup_bufs(eibnx_thr_info_t *info)
eibnx_rb_setup_cq_handler(eibnx_thr_info_t *info)
eibnx_rb_join_solicit_mcg(eibnx_thr_info_t *info)
eibnx_rb_join_advertise_mcg(eibnx_thr_info_t *info)
eibnx_rb_join_mcgs(eibnx_thr_info_t *info)
eibnx_find_mgroups(eibnx_thr_info_t *info)
eibnx_setup_cq(eibnx_thr_info_t *info)
eibnx_setup_ud_channel(eibnx_thr_info_t *info)
eibnx_setup_txbufs(eibnx_thr_info_t *info)
eibnx_setup_rxbufs(eibnx_thr_info_t *info)
static int eibnx_setup_txbufs(eibnx_thr_info_t *);
static int eibnx_setup_rxbufs(eibnx_thr_info_t *);
static int eibnx_join_solicit_mcg(eibnx_thr_info_t *);
static int eibnx_join_advertise_mcg(eibnx_thr_info_t *);
eibnx_setup_bufs(eibnx_thr_info_t *info)
static void eibnx_rb_setup_txbufs(eibnx_thr_info_t *);
static void eibnx_rb_setup_rxbufs(eibnx_thr_info_t *);
static void eibnx_rb_join_solicit_mcg(eibnx_thr_info_t *);
static void eibnx_rb_join_advertise_mcg(eibnx_thr_info_t *);
eibnx_setup_cq_handler(eibnx_thr_info_t *info)
eibnx_join_solicit_mcg(eibnx_thr_info_t *info)
eibnx_join_advertise_mcg(eibnx_thr_info_t *info)
eibnx_join_mcgs(eibnx_thr_info_t *info)
eibnx_rejoin_mcgs(eibnx_thr_info_t *info)
eibnx_rb_find_mgroups(eibnx_thr_info_t *info)
eibnx_rb_setup_cq(eibnx_thr_info_t *info)
eibnx_rb_setup_ud_channel(eibnx_thr_info_t *info)
eibnx_rb_setup_txbufs(eibnx_thr_info_t *info)
eibnx_thr_info_t *ti;
eibnx_thr_info_t *ti_tail;
eibnx_thr_info_t *ti;
eibnx_thr_info_t *ti;
eibnx_thr_info_t *ti;
eibnx_create_node_props(dev_info_t *dip, eibnx_thr_info_t *info,
eibnx_thr_info_t *
eibnx_thr_info_t *ti;
ti = kmem_zalloc(sizeof (eibnx_thr_info_t), KM_SLEEP);
static char *eibnx_make_nodename(eibnx_thr_info_t *, uint16_t);
eibnx_stop_port_monitor(eibnx_thr_info_t *ti)
kmem_free(ti, sizeof (eibnx_thr_info_t));
eibnx_thr_info_t *ti_list;
eibnx_thr_info_t *ti;
eibnx_thr_info_t *ti_next;
eibnx_configure_node(eibnx_thr_info_t *ti, eibnx_gw_info_t *gwi,
eibnx_cleanup_port_nodes(eibnx_thr_info_t *info)
eibnx_unconfigure_node(eibnx_thr_info_t *ti, eibnx_gw_info_t *gwi)
eibnx_locate_node_name(char *devname, eibnx_thr_info_t **ti_p,
eibnx_thr_info_t *ti;
eibnx_locate_unconfigured_node(eibnx_thr_info_t **ti_p, eibnx_gw_info_t **gwi_p)
eibnx_thr_info_t *ti;
eibnx_make_nodename(eibnx_thr_info_t *info, uint16_t gw_portid)
eibnx_return_rwqe(eibnx_thr_info_t *info, eibnx_wqe_t *wqe)
eibnx_enqueue_child(eibnx_thr_info_t *info, eibnx_gw_info_t *gwi,
eibnx_update_child(eibnx_thr_info_t *info, eibnx_gw_info_t *gwi,
eibnx_find_child_dip_by_inst(eibnx_thr_info_t *info, int inst)
eibnx_find_child_dip_by_gw(eibnx_thr_info_t *info, uint16_t gw_portid)
eibnx_find_gw_in_gwlist(eibnx_thr_info_t *info, eibnx_gw_info_t *gwi)
eibnx_add_gw_to_gwlist(eibnx_thr_info_t *info, eibnx_gw_info_t *gwi,
eibnx_replace_gw_in_gwlist(eibnx_thr_info_t *info, eibnx_gw_info_t *orig_gwi,
eibnx_acquire_swqe(eibnx_thr_info_t *info, int flag)
eibnx_queue_for_creation(eibnx_thr_info_t *info, eibnx_gw_info_t *gwi)
eibnx_thr_info_t *nc_info;
eibnx_thr_info_t *nx_thr_info;
void eibnx_port_monitor(eibnx_thr_info_t *);
int eibnx_find_mgroups(eibnx_thr_info_t *);
int eibnx_setup_cq(eibnx_thr_info_t *);
int eibnx_setup_ud_channel(eibnx_thr_info_t *);
int eibnx_setup_bufs(eibnx_thr_info_t *);
int eibnx_setup_cq_handler(eibnx_thr_info_t *);
int eibnx_join_mcgs(eibnx_thr_info_t *);
int eibnx_rejoin_mcgs(eibnx_thr_info_t *);
void eibnx_rb_find_mgroups(eibnx_thr_info_t *);
void eibnx_rb_setup_cq(eibnx_thr_info_t *);
void eibnx_rb_setup_ud_channel(eibnx_thr_info_t *);
void eibnx_rb_setup_bufs(eibnx_thr_info_t *);
void eibnx_rb_setup_cq_handler(eibnx_thr_info_t *);
void eibnx_rb_join_mcgs(eibnx_thr_info_t *);
int eibnx_fip_solicit_mcast(eibnx_thr_info_t *);
int eibnx_fip_solicit_ucast(eibnx_thr_info_t *, clock_t *);
eibnx_wqe_t *eibnx_acquire_swqe(eibnx_thr_info_t *, int);
void eibnx_return_rwqe(eibnx_thr_info_t *, eibnx_wqe_t *);
void eibnx_enqueue_child(eibnx_thr_info_t *, eibnx_gw_info_t *, char *,
int eibnx_update_child(eibnx_thr_info_t *, eibnx_gw_info_t *, dev_info_t *);
dev_info_t *eibnx_find_child_dip_by_inst(eibnx_thr_info_t *, int);
dev_info_t *eibnx_find_child_dip_by_gw(eibnx_thr_info_t *, uint16_t);
eibnx_gw_info_t *eibnx_find_gw_in_gwlist(eibnx_thr_info_t *, eibnx_gw_info_t *);
eibnx_gw_info_t *eibnx_add_gw_to_gwlist(eibnx_thr_info_t *, eibnx_gw_info_t *,
void eibnx_replace_gw_in_gwlist(eibnx_thr_info_t *, eibnx_gw_info_t *,
void eibnx_queue_for_creation(eibnx_thr_info_t *, eibnx_gw_info_t *);
void eibnx_cleanup_port_nodes(eibnx_thr_info_t *);
void eibnx_create_node_props(dev_info_t *, eibnx_thr_info_t *,
eibnx_thr_info_t *eibnx_start_port_monitor(eibnx_hca_t *, eibnx_port_t *);
void eibnx_stop_port_monitor(eibnx_thr_info_t *);
int eibnx_configure_node(eibnx_thr_info_t *, eibnx_gw_info_t *, dev_info_t **);
int eibnx_unconfigure_node(eibnx_thr_info_t *, eibnx_gw_info_t *);
int eibnx_locate_node_name(char *, eibnx_thr_info_t **, eibnx_gw_info_t **);
int eibnx_locate_unconfigured_node(eibnx_thr_info_t **, eibnx_gw_info_t **);