Lines Matching defs:un
61 #define DEVNAME(un) (device_xname(un->un_dev))
110 urndis_ctrl_msg(struct usbnet *un, uint8_t rt, uint8_t r,
121 return usbd_do_request(un->un_udev, &req, buf);
125 urndis_ctrl_send(struct usbnet *un, void *buf, size_t len)
127 struct urndis_softc *sc = usbnet_softc(un);
130 if (usbnet_isdying(un))
133 err = urndis_ctrl_msg(un, UT_WRITE_CLASS_INTERFACE, UR_GET_STATUS,
137 printf("%s: %s\n", DEVNAME(un), usbd_errstr(err));
143 urndis_ctrl_recv(struct usbnet *un)
145 struct urndis_softc *sc = usbnet_softc(un);
150 if (usbnet_isdying(un))
154 err = urndis_ctrl_msg(un, UT_READ_CLASS_INTERFACE, UR_CLEAR_FEATURE,
158 printf("%s: %s\n", DEVNAME(un), usbd_errstr(err));
165 DEVNAME(un),
171 DEVNAME(un),
182 urndis_ctrl_handle(struct usbnet *un, struct rndis_comp_hdr *hdr,
187 DPRINTF(("%s: urndis_ctrl_handle\n", DEVNAME(un)));
196 rval = urndis_ctrl_handle_init(un, hdr);
200 rval = urndis_ctrl_handle_query(un, hdr, buf, bufsz);
204 rval = urndis_ctrl_handle_reset(un, hdr);
213 rval = urndis_ctrl_handle_status(un, hdr);
218 DEVNAME(un), le32toh(hdr->rm_type));
228 urndis_ctrl_handle_init(struct usbnet *un, const struct rndis_comp_hdr *hdr)
230 struct urndis_softc *sc = usbnet_softc(un);
238 DEVNAME(un),
254 DEVNAME(un),
262 DEVNAME(un),
270 DEVNAME(un), le32toh(msg->rm_medium));
278 DEVNAME(un), RNDIS_MAJOR_VERSION, RNDIS_MINOR_VERSION,
292 urndis_ctrl_handle_query(struct usbnet *un,
301 DEVNAME(un),
315 DEVNAME(un),
326 DEVNAME(un),
350 urndis_ctrl_handle_reset(struct usbnet *un, const struct rndis_comp_hdr *hdr)
352 struct urndis_softc *sc = usbnet_softc(un);
362 DEVNAME(un),
368 printf("%s: reset failed %#x\n", DEVNAME(un), rval);
376 rval = urndis_ctrl_set(un, OID_GEN_CURRENT_PACKET_FILTER,
380 DEVNAME(un));
389 urndis_ctrl_handle_status(struct usbnet *un,
401 DEVNAME(un),
414 printf("%s: status %#x\n", DEVNAME(un), rval);
421 urndis_ctrl_init(struct usbnet *un)
437 DEVNAME(un),
445 rval = urndis_ctrl_send(un, msg, sizeof(*msg));
449 printf("%s: init failed\n", DEVNAME(un));
453 if ((hdr = urndis_ctrl_recv(un)) == NULL) {
454 printf("%s: unable to get init response\n", DEVNAME(un));
457 rval = urndis_ctrl_handle(un, hdr, NULL, NULL);
464 urndis_ctrl_halt(struct usbnet *un)
475 DEVNAME(un),
480 rval = urndis_ctrl_send(un, msg, sizeof(*msg));
484 printf("%s: halt failed\n", DEVNAME(un));
491 urndis_ctrl_query(struct usbnet *un, uint32_t oid,
514 DEVNAME(un),
523 rval = urndis_ctrl_send(un, msg, sizeof(*msg));
527 printf("%s: query failed\n", DEVNAME(un));
531 if ((hdr = urndis_ctrl_recv(un)) == NULL) {
532 printf("%s: unable to get query response\n", DEVNAME(un));
535 rval = urndis_ctrl_handle(un, hdr, rbuf, rbufsz);
541 urndis_ctrl_set(struct usbnet *un, uint32_t oid, void *buf, size_t len)
562 DEVNAME(un),
571 rval = urndis_ctrl_send(un, msg, sizeof(*msg));
575 printf("%s: set failed\n", DEVNAME(un));
579 if ((hdr = urndis_ctrl_recv(un)) == NULL) {
580 printf("%s: unable to get set response\n", DEVNAME(un));
583 rval = urndis_ctrl_handle(un, hdr, NULL, NULL);
585 printf("%s: set failed %#x\n", DEVNAME(un), rval);
592 urndis_ctrl_set_param(struct urndis_softc *un,
624 DEVNAME(un),
631 rval = urndis_ctrl_set(un, OID_GEN_RNDIS_CONFIG_PARAMETER, param, tlen);
634 printf("%s: set param failed %#x\n", DEVNAME(un), rval);
641 urndis_ctrl_reset(struct usbnet *un)
653 DEVNAME(un),
658 rval = urndis_ctrl_send(un, reset, sizeof(*reset));
662 printf("%s: reset failed\n", DEVNAME(un));
666 if ((hdr = urndis_ctrl_recv(un)) == NULL) {
667 printf("%s: unable to get reset response\n", DEVNAME(un));
670 rval = urndis_ctrl_handle(un, hdr, NULL, NULL);
676 urndis_ctrl_keepalive(struct usbnet *un)
688 DEVNAME(un),
693 rval = urndis_ctrl_send(un, keep, sizeof(*keep));
697 printf("%s: keepalive failed\n", DEVNAME(un));
701 if ((hdr = urndis_ctrl_recv(un)) == NULL) {
702 printf("%s: unable to get keepalive response\n", DEVNAME(un));
705 rval = urndis_ctrl_handle(un, hdr, NULL, NULL);
707 printf("%s: keepalive failed %#x\n", DEVNAME(un), rval);
708 urndis_ctrl_reset(un);
716 urndis_uno_tx_prepare(struct usbnet *un, struct mbuf *m, struct usbnet_chain *c)
720 if ((unsigned)m->m_pkthdr.len > un->un_tx_bufsz - sizeof(*msg))
737 DEVNAME(un),
747 urndis_uno_rx_loop(struct usbnet * un, struct usbnet_chain *c,
751 struct ifnet *ifp = usbnet_ifp(un);
759 DPRINTF(("%s: %s buffer size left %u\n", DEVNAME(un), __func__,
765 DEVNAME(un),
773 DEVNAME(un),
785 DEVNAME(un),
792 DEVNAME(un),
800 DEVNAME(un),
812 DEVNAME(un),
825 DEVNAME(un),
831 usbnet_enqueue(un,
844 struct urndis_softc *sc = usbnet_softc(un);
846 if (un->un_dying)
850 printf("%s: watchdog timeout\n", DEVNAME(un));
852 urndis_ctrl_keepalive(un);
859 struct usbnet *un = ifp->if_softc;
863 if (urndis_ctrl_init(un) != RNDIS_STATUS_SUCCESS)
895 struct usbnet * const un = &sc->sc_un;
913 KASSERT((void *)sc == un);
921 un->un_dev = self;
922 un->un_udev = dev;
923 un->un_sc = sc;
924 un->un_ops = &urndis_ops;
925 un->un_rx_xfer_flags = USBD_SHORT_XFER_OK;
926 un->un_tx_xfer_flags = USBD_FORCE_SHORT_XFER;
927 un->un_rx_list_cnt = RNDIS_RX_LIST_CNT;
928 un->un_tx_list_cnt = RNDIS_TX_LIST_CNT;
929 un->un_rx_bufsz = RNDIS_BUFSZ;
930 un->un_tx_bufsz = RNDIS_BUFSZ;
933 un->un_iface = uiaa->uiaa_iface;
944 usb_desc_iter_init(un->un_udev, &iter);
972 un->un_iface = iface_ctl;
982 un->un_iface = uiaa->uiaa_ifaces[i];
989 if (un->un_iface == NULL) {
990 aprint_error("%s: no data interface\n", DEVNAME(un));
994 id = usbd_get_interface_descriptor(un->un_iface);
995 cd = usbd_get_config_descriptor(un->un_udev);
999 if (usbd_set_interface(un->un_iface, j)) {
1001 "failed\n", DEVNAME(un), j);
1005 id = usbd_get_interface_descriptor(un->un_iface);
1006 un->un_ed[USBNET_ENDPT_RX] = un->un_ed[USBNET_ENDPT_TX] = 0;
1009 un->un_iface, i);
1012 "endpoint %u\n", DEVNAME(un), i);
1017 un->un_ed[USBNET_ENDPT_RX] = ed->bEndpointAddress;
1022 un->un_ed[USBNET_ENDPT_TX] = ed->bEndpointAddress;
1026 if (un->un_ed[USBNET_ENDPT_RX] != 0 && un->un_ed[USBNET_ENDPT_TX] != 0) {
1028 DEVNAME(un),
1029 un->un_ed[USBNET_ENDPT_RX],
1030 un->un_ed[USBNET_ENDPT_TX]));
1035 if (un->un_ed[USBNET_ENDPT_RX] == 0)
1036 aprint_error("%s: could not find data bulk in\n", DEVNAME(un));
1037 if (un->un_ed[USBNET_ENDPT_TX] == 0)
1038 aprint_error("%s: could not find data bulk out\n",DEVNAME(un));
1039 if (un->un_ed[USBNET_ENDPT_RX] == 0 || un->un_ed[USBNET_ENDPT_TX] == 0)
1046 usbnet_attach(un);
1048 if (urndis_ctrl_init(un) != RNDIS_STATUS_SUCCESS) {
1050 DEVNAME(un));
1054 if (urndis_ctrl_query(un, OID_802_3_PERMANENT_ADDRESS, NULL, 0,
1057 DEVNAME(un));
1062 memcpy(un->un_eaddr, buf, ETHER_ADDR_LEN);
1065 aprint_error("%s: invalid address\n", DEVNAME(un));
1075 if (urndis_ctrl_set(un, OID_GEN_CURRENT_PACKET_FILTER, &filter,
1077 aprint_error("%s: unable to set data filters\n", DEVNAME(un));
1081 usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,