Lines Matching defs:un
92 struct usbnet * const un = &sc->ncm_un;
114 un->un_dev = self;
115 un->un_udev = dev;
116 un->un_sc = sc;
117 un->un_ops = &ncm_ops;
118 un->un_rx_xfer_flags = USBD_SHORT_XFER_OK;
119 un->un_tx_xfer_flags = USBD_FORCE_SHORT_XFER;
121 ud = (const usb_cdc_union_descriptor_t *)usb_find_desc_if(un->un_udev,
136 un->un_iface = uiaa->uiaa_ifaces[i];
141 if (un->un_iface == NULL) {
164 id = usbd_get_interface_descriptor(un->un_iface);
165 cd = usbd_get_config_descriptor(un->un_udev);
169 if (usbd_set_interface(un->un_iface, j)) {
170 aprint_error_dev(un->un_dev,
175 id = usbd_get_interface_descriptor(un->un_iface);
176 un->un_ed[USBNET_ENDPT_RX] = un->un_ed[USBNET_ENDPT_TX] = 0;
178 ed = usbd_interface2endpoint_descriptor(un->un_iface, i);
186 un->un_ed[USBNET_ENDPT_RX] = ed->bEndpointAddress;
189 un->un_ed[USBNET_ENDPT_TX] = ed->bEndpointAddress;
199 if (un->un_ed[USBNET_ENDPT_RX] != 0 && un->un_ed[USBNET_ENDPT_TX] != 0)
203 if (un->un_ed[USBNET_ENDPT_RX] == 0) {
207 if (un->un_ed[USBNET_ENDPT_TX] == 0) {
216 ether_aton_r(un->un_eaddr, sizeof(un->un_eaddr), eaddr_str)) {
218 un->un_eaddr[0] = 0x2a;
220 memcpy(&un->un_eaddr[1], &ticks, sizeof(ticks));
221 un->un_eaddr[5] = (uint8_t)(device_unit(un->un_dev));
230 if (usbd_do_request(un->un_udev, &req, &np) != USBD_NORMAL_COMPLETION ||
232 aprint_error_dev(un->un_dev,
236 un->un_rx_list_cnt = 1;
237 un->un_tx_list_cnt = 1;
238 un->un_rx_bufsz = UGETDW(np.dwNtbInMaxSize);
239 un->un_tx_bufsz = UGETDW(np.dwNtbOutMaxSize);
240 if (un->un_tx_bufsz < NCM_MIN_TX_BUFSZ) {
241 aprint_error_dev(un->un_dev, "dwNtbOutMaxSize %u too small\n",
242 un->un_tx_bufsz);
246 usbnet_attach(un);
247 usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,
251 if_link_state_change(usbnet_ifp(un), LINK_STATE_UP);
255 ncm_uno_rx_loop(struct usbnet *un, struct usbnet_chain *c, uint32_t total_len)
257 struct ifnet *ifp = usbnet_ifp(un);
264 aprint_error_dev(un->un_dev, "got a too small usb message\n");
270 aprint_error_dev(un->un_dev,
279 aprint_error_dev(un->un_dev, "ndp start offset %d "
289 aprint_error_dev(un->un_dev, "ncm dptab16 signature %08x is "
296 aprint_error_dev(un->un_dev, "dptab16 wlength %u goes off end "
314 aprint_error_dev(un->un_dev,
319 usbnet_enqueue(un, buf + data_start, data_len, 0, 0, 0);
324 ncm_uno_tx_prepare(struct usbnet *un, struct mbuf *m, struct usbnet_chain *c)
326 struct ncm_softc *sc = un->un_sc;
333 KASSERT(hdr_len <= un->un_tx_bufsz);
334 KASSERT(len <= un->un_tx_bufsz - hdr_len);