Lines Matching defs:vio

32 #include <asm/vio.h>
62 ldc_disconnect(port->vio.lp);
69 int sunvnet_send_attr_common(struct vio_driver_state *vio)
71 struct vnet_port *port = to_vnet_port(vio);
77 err = vnet_port_alloc_tx_ring(to_vnet_port(vio));
85 pkt.tag.sid = vio_send_sid(vio);
86 if (vio_version_before(vio, 1, 2))
94 if (vio_version_after(vio, 1, 3)) {
102 if (vio_version_after_eq(vio, 1, 6))
104 } else if (vio_version_before(vio, 1, 3)) {
111 if (vio_version_after_eq(vio, 1, 7) && port->tso) {
128 return vio_ldc_send(vio, &pkt, sizeof(pkt));
132 static int handle_attr_info(struct vio_driver_state *vio,
135 struct vnet_port *port = to_vnet_port(vio);
148 pkt->tag.sid = vio_send_sid(vio);
152 if (vio_version_before(vio, 1, 2) && xfer_mode == VIO_DRING_MODE)
161 if (vio_version_before(vio, 1, 3)) {
163 } else if (vio_version_after(vio, 1, 3)) {
173 if (vio_version_after_eq(vio, 1, 7))
194 if (vio_version_after_eq(vio, 1, 6)) {
206 (void)vio_ldc_send(vio, pkt, sizeof(*pkt));
222 return vio_ldc_send(vio, pkt, sizeof(*pkt));
225 static int handle_attr_ack(struct vio_driver_state *vio,
233 static int handle_attr_nack(struct vio_driver_state *vio,
241 int sunvnet_handle_attr_common(struct vio_driver_state *vio, void *arg)
247 return handle_attr_info(vio, pkt);
250 return handle_attr_ack(vio, pkt);
253 return handle_attr_nack(vio, pkt);
261 void sunvnet_handshake_complete_common(struct vio_driver_state *vio)
265 dr = &vio->drings[VIO_DRIVER_RX_RING];
269 dr = &vio->drings[VIO_DRIVER_TX_RING];
402 err = ldc_copy(port->vio.lp, LDC_COPY_IN,
414 if (vio_version_after_eq(&port->vio, 1, 8)) {
478 .sid = vio_send_sid(&port->vio),
491 err = vio_ldc_send(&port->vio, &hdr, sizeof(hdr));
523 struct vio_net_desc *desc = port->vio.desc_buf;
526 err = ldc_get_dring_entry(port->vio.lp, desc, dr->entry_size,
542 err = ldc_put_dring_entry(port->vio.lp, desc, dr->entry_size,
556 struct vio_driver_state *vio = &port->vio;
577 trace_vnet_rx_one(port->vio._local_sid, port->vio._peer_sid,
590 struct vio_driver_state *vio = &port->vio;
629 trace_vnet_tx_send_stopped_ack(port->vio._local_sid,
630 port->vio._peer_sid,
635 trace_vnet_tx_defer_stopped_ack(port->vio._local_sid,
636 port->vio._peer_sid,
648 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_RX_RING];
649 struct vio_driver_state *vio = &port->vio;
688 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
709 trace_vnet_rx_stopped_ack(port->vio._local_sid,
710 port->vio._peer_sid, end);
774 struct vio_driver_state *vio = &vnet->vio;
776 return !!(vio->hs_state & VIO_HS_COMPLETE);
783 struct vio_driver_state *vio = &port->vio;
801 vio_link_state_change(vio, LDC_EVENT_RESET);
803 vio_port_up(vio);
828 vio_link_state_change(vio, LDC_EVENT_UP);
846 &port->vio.drings[VIO_DRIVER_RX_RING];
856 err = ldc_read(vio->lp, &msgbuf, sizeof(msgbuf));
859 vio_conn_reset(vio);
869 err = vio_validate_sid(vio, &msgbuf.tag);
900 err = vio_control_pkt_engine(vio, &msgbuf);
917 struct vio_driver_state *vio = &port->vio;
923 vio_set_intr(vio->vdev->rx_ino, HV_INTR_ENABLED);
932 struct vio_driver_state *vio = &port->vio;
935 vio_set_intr(vio->vdev->rx_ino, HV_INTR_DISABLED);
942 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
948 .sid = vio_send_sid(&port->vio),
958 trace_vnet_tx_pending_stopped_ack(port->vio._local_sid,
959 port->vio._peer_sid,
962 &port->vio.drings[VIO_DRIVER_RX_RING],
972 err = vio_ldc_send(&port->vio, &hdr, sizeof(hdr));
983 trace_vnet_tx_trigger(port->vio._local_sid,
984 port->vio._peer_sid, start, err);
992 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
1022 ldc_unmap(port->vio.lp,
1226 struct vio_dring_state *dr = &port->vio.drings[VIO_DRIVER_TX_RING];
1351 if (vio_version_after_eq(&port->vio, 1, 3))
1378 dr = &port->vio.drings[VIO_DRIVER_TX_RING];
1405 err = vnet_skb_map(port->vio.lp, skb, port->tx_bufs[txi].cookies, 2,
1429 if (vio_version_after_eq(&port->vio, 1, 7)) {
1438 if (vio_version_after_eq(&port->vio, 1, 8) &&
1473 trace_vnet_skip_tx_trigger(port->vio._local_sid,
1474 port->vio._peer_sid, dr->cons);
1597 info.tag.sid = vio_send_sid(&port->vio);
1610 (void)vio_ldc_send(&port->vio, &info,
1617 (void)vio_ldc_send(&port->vio, &info, sizeof(info));
1635 (void)vio_ldc_send(&port->vio, &info,
1645 (void)vio_ldc_send(&port->vio, &info, sizeof(info));
1676 dr = &port->vio.drings[VIO_DRIVER_TX_RING];
1690 ldc_unmap(port->vio.lp,
1697 ldc_free_exp_dring(port->vio.lp, dr->base,
1725 dr = &port->vio.drings[VIO_DRIVER_TX_RING];
1729 if (vio_version_after_eq(&port->vio, 1, 7))
1734 dring = ldc_alloc_exp_dring(port->vio.lp, len,