Home
last modified time | relevance | path

Searched refs:ldcp (Results 1 – 14 of 14) sorted by relevance

/titanic_41/usr/src/uts/sun4v/io/
H A Dldc.c71 void i_ldc_reset(ldc_chan_t *ldcp, boolean_t force_reset);
73 static int i_ldc_txq_reconf(ldc_chan_t *ldcp);
74 static int i_ldc_rxq_reconf(ldc_chan_t *ldcp, boolean_t force_reset);
75 static void i_ldc_rxq_drain(ldc_chan_t *ldcp);
76 static void i_ldc_reset_state(ldc_chan_t *ldcp);
79 static int i_ldc_get_tx_tail(ldc_chan_t *ldcp, uint64_t *tail);
80 static void i_ldc_get_tx_head(ldc_chan_t *ldcp, uint64_t *head);
81 static int i_ldc_set_tx_tail(ldc_chan_t *ldcp, uint64_t tail);
82 static int i_ldc_set_rx_head(ldc_chan_t *ldcp, uint64_t head);
83 static int i_ldc_send_pkt(ldc_chan_t *ldcp, uint8_t pkttype, uint8_t subtype,
[all …]
H A Dvnet_rxdring.c61 int vgen_create_rx_dring(vgen_ldc_t *ldcp);
62 void vgen_destroy_rx_dring(vgen_ldc_t *ldcp);
63 int vgen_map_tx_dring(vgen_ldc_t *ldcp, void *pkt);
64 void vgen_unmap_tx_dring(vgen_ldc_t *ldcp);
65 int vgen_map_data(vgen_ldc_t *ldcp, void *pkt);
68 mblk_t *vgen_poll_rcv_shm(vgen_ldc_t *ldcp, int bytes_to_pickup);
69 int vgen_send_dringack_shm(vgen_ldc_t *ldcp, vio_msg_tag_t *tagp,
73 static int vgen_handle_dringdata_info_shm(vgen_ldc_t *ldcp, vio_msg_tag_t *tp);
74 static int vgen_handle_dringdata_ack_shm(vgen_ldc_t *ldcp, vio_msg_tag_t *tagp);
75 static int vgen_handle_dringdata_nack_shm(vgen_ldc_t *ldcp, vio_msg_tag_t *tp);
[all …]
H A Dvnet_txdring.c59 int vgen_create_tx_dring(vgen_ldc_t *ldcp);
60 void vgen_destroy_tx_dring(vgen_ldc_t *ldcp);
61 int vgen_map_rx_dring(vgen_ldc_t *ldcp, void *pkt);
62 void vgen_unmap_rx_dring(vgen_ldc_t *ldcp);
65 void vgen_stop_msg_thread(vgen_ldc_t *ldcp);
67 mblk_t *vgen_poll_rcv(vgen_ldc_t *ldcp, int bytes_to_pickup);
68 int vgen_check_datamsg_seq(vgen_ldc_t *ldcp, vio_msg_tag_t *tagp);
69 int vgen_sendmsg(vgen_ldc_t *ldcp, caddr_t msg, size_t msglen,
73 static int vgen_init_multipools(vgen_ldc_t *ldcp);
74 static int vgen_handle_dringdata_info(vgen_ldc_t *ldcp, vio_msg_tag_t *tagp);
[all …]
H A Dvsw_ldc.c76 static void vsw_ldc_detach(vsw_ldc_t *ldcp);
77 static int vsw_ldc_init(vsw_ldc_t *ldcp);
78 static void vsw_ldc_uninit(vsw_ldc_t *ldcp);
79 static void vsw_ldc_drain(vsw_ldc_t *ldcp);
106 static void vsw_set_vnet_proto_ops(vsw_ldc_t *ldcp);
107 static void vsw_reset_vnet_proto_ops(vsw_ldc_t *ldcp);
127 static void vsw_process_evt_read(vsw_ldc_t *ldcp);
128 static void vsw_ldc_rcv(vsw_ldc_t *ldcp);
132 static void vsw_ldcsend_pkt(vsw_ldc_t *ldcp, mblk_t *mp);
133 static int vsw_ldcsend(vsw_ldc_t *ldcp, mblk_t *mp, uint32_t retries);
[all …]
H A Dvnet_gen.c122 static int vgen_ldc_reset(vgen_ldc_t *ldcp, vgen_caller_t caller);
123 static void vgen_ldc_up(vgen_ldc_t *ldcp);
125 static void vgen_ldc_detach(vgen_ldc_t *ldcp);
128 static int vgen_ldc_init(vgen_ldc_t *ldcp);
129 static void vgen_ldc_uninit(vgen_ldc_t *ldcp);
130 static uint64_t vgen_ldc_stat(vgen_ldc_t *ldcp, uint_t stat);
140 static int vgen_create_dring(vgen_ldc_t *ldcp);
141 static void vgen_destroy_dring(vgen_ldc_t *ldcp);
142 static int vgen_map_dring(vgen_ldc_t *ldcp, void *pkt);
143 static void vgen_unmap_dring(vgen_ldc_t *ldcp);
[all …]
H A Dvsw_txdring.c59 int vsw_setup_tx_dring(vsw_ldc_t *ldcp, dring_info_t *dp);
60 void vsw_destroy_tx_dring(vsw_ldc_t *ldcp);
61 dring_info_t *vsw_map_rx_dring(vsw_ldc_t *ldcp, void *pkt);
62 void vsw_unmap_rx_dring(vsw_ldc_t *ldcp);
65 void vsw_stop_msg_thread(vsw_ldc_t *ldcp);
72 static int vsw_init_multipools(vsw_ldc_t *ldcp, vsw_t *vswp);
78 extern dring_info_t *vsw_map_dring_cmn(vsw_ldc_t *ldcp,
101 #define SND_DRING_NACK(ldcp, pkt) \ argument
103 pkt->tag.vio_sid = ldcp->local_session; \
104 (void) vsw_send_msg(ldcp, (void *)pkt, \
[all …]
H A Dvsw_rxdring.c61 void vsw_destroy_rx_dring(vsw_ldc_t *ldcp);
62 dring_info_t *vsw_map_tx_dring(vsw_ldc_t *ldcp, void *pkt);
63 void vsw_unmap_tx_dring(vsw_ldc_t *ldcp);
66 void vsw_stop_rcv_thread(vsw_ldc_t *ldcp);
71 static int vsw_setup_rx_dring(vsw_ldc_t *ldcp, dring_info_t *dp);
72 static void vsw_process_dringdata_info_shm(vsw_ldc_t *ldcp,
74 static void vsw_process_dringdata_ack_shm(vsw_ldc_t *ldcp,
76 static void vsw_ldc_rcv_shm(vsw_ldc_t *ldcp);
77 static int vsw_receive_packet(vsw_ldc_t *ldcp, mblk_t **bp);
78 static int vsw_send_msg_shm(vsw_ldc_t *ldcp, void *msgp, int size,
[all …]
H A Dldc_shm.c60 extern void i_ldc_reset(ldc_chan_t *ldcp, boolean_t force_reset);
194 ldc_chan_t *ldcp; in ldc_mem_alloc_handle() local
202 ldcp = (ldc_chan_t *)handle; in ldc_mem_alloc_handle()
204 mutex_enter(&ldcp->lock); in ldc_mem_alloc_handle()
207 if ((ldcp->tstate & ~TS_IN_RESET) < TS_INIT) { in ldc_mem_alloc_handle()
208 DWARN(ldcp->id, in ldc_mem_alloc_handle()
210 ldcp->id); in ldc_mem_alloc_handle()
211 mutex_exit(&ldcp->lock); in ldc_mem_alloc_handle()
223 mhdl->ldcp = ldcp; in ldc_mem_alloc_handle()
227 if (ldcp->mhdl_list == NULL) { in ldc_mem_alloc_handle()
[all …]
H A Dvsw_hio.c90 void vsw_hio_start(vsw_t *vswp, vsw_ldc_t *ldcp);
91 void vsw_hio_stop(vsw_t *vswp, vsw_ldc_t *ldcp);
92 void vsw_process_dds_msg(vsw_t *vswp, vsw_ldc_t *ldcp, void *msg);
98 static vsw_share_t *vsw_hio_alloc_share(vsw_t *vswp, vsw_ldc_t *ldcp);
103 static int vsw_send_dds_msg(vsw_ldc_t *ldcp, uint8_t dds_subclass,
105 static int vsw_send_dds_resp_msg(vsw_ldc_t *ldcp, vio_dds_msg_t *dmsg, int ack);
191 vsw_hio_alloc_share(vsw_t *vswp, vsw_ldc_t *ldcp) in vsw_hio_alloc_share() argument
194 vsw_port_t *portp = ldcp->ldc_port; in vsw_hio_alloc_share()
195 uint64_t ldc_id = ldcp->ldc_id; in vsw_hio_alloc_share()
213 vsharep->vs_ldcid = ldcp->ldc_id; in vsw_hio_alloc_share()
[all …]
H A Dvsw.c411 #define LDC_ENTER_LOCK(ldcp) \ argument
412 mutex_enter(&((ldcp)->ldc_cblock));\
413 mutex_enter(&((ldcp)->ldc_rxlock));\
414 mutex_enter(&((ldcp)->ldc_txlock));
415 #define LDC_EXIT_LOCK(ldcp) \ argument
416 mutex_exit(&((ldcp)->ldc_txlock));\
417 mutex_exit(&((ldcp)->ldc_rxlock));\
418 mutex_exit(&((ldcp)->ldc_cblock));
/titanic_41/usr/src/cmd/mdb/sun4v/modules/ldc/
H A Dldc.c155 ldc_chan_t ldcp; in ldcinfo() local
171 if (mdb_vread(&ldcp, sizeof (ldcp), addr) != sizeof (ldcp)) { in ldcinfo()
189 ldcp.id, addr, ldcp.mode, ldc_mode_bits, in ldcinfo()
190 ldcp.devclass, ldc_class_bits, in ldcinfo()
191 ldcp.status, ldc_status_bits, ldcp.tstate, ldcp.hstate, in ldcinfo()
192 ldcp.link_state, ldc_linkstate_bits); in ldcinfo()
195 mdb_printf("Link State: %b\n", ldcp.tstate, ldc_tstate_bits); in ldcinfo()
196 mdb_printf("Hshake State: %b\n", ldcp.hstate, ldc_hstate_bits); in ldcinfo()
198 ldcp.cb, ldcp.cb_arg, in ldcinfo()
199 (ldcp.cb_enabled == 1) ? "enabled" : "disabled"); in ldcinfo()
[all …]
/titanic_41/usr/src/uts/sun4v/sys/
H A Dvnet_gen.h68 #define LDC_TO_VNET(ldcp) ((ldcp)->portp->vgenp->vnetp) argument
69 #define LDC_TO_VGEN(ldcp) ((ldcp)->portp->vgenp) argument
165 #define NEXTTBUF(ldcp, tbufp) (((tbufp) + 1) == (ldcp)->tbufendp \ argument
166 ? (ldcp)->tbufp : ((tbufp) + 1))
169 #define INCR_RXI(i, ldcp) \ argument
170 ((i) = (((i) + 1) & ((ldcp)->num_rxds - 1)))
173 #define DECR_RXI(i, ldcp) \ argument
174 ((i) = (((i) - 1) & ((ldcp)->num_rxds - 1)))
177 #define INCR_TXI(i, ldcp) \ argument
178 ((i) = (((i) + 1) & ((ldcp)->num_txds - 1)))
[all …]
H A Dldc_impl.h381 ldc_chan_t *ldcp; /* Pointer to channel struct */ member
399 ldc_chan_t *ldcp; /* Pointer to bound channel */ member
480 int (*read_p)(ldc_chan_t *ldcp, caddr_t bufferp,
482 int (*write_p)(ldc_chan_t *ldcp, caddr_t bufferp,
485 uint64_t (*readq_get_state)(ldc_chan_t *ldcp, uint64_t *head,
488 int (*readq_set_head)(ldc_chan_t *ldcp, uint64_t head);
H A Dvsw_ldc.h405 vsw_ldc_t *ldcp; /* ldc for this port */ member
452 vsw_ldc_t *ldcp; member
470 vsw_ldc_t *ldcp; member