Home | History | Annotate | Download | only in usb

Lines Matching defs:un

177 mos_reg_read_1(struct usbnet *un, int reg)
183 if (usbnet_isdying(un))
192 err = usbd_do_request(un->un_udev, &req, &val);
195 aprint_error_dev(un->un_dev, "read reg %x\n", reg);
203 mos_reg_read_2(struct usbnet *un, int reg)
209 if (usbnet_isdying(un))
220 err = usbd_do_request(un->un_udev, &req, &val);
223 aprint_error_dev(un->un_dev, "read reg2 %x\n", reg);
231 mos_reg_write_1(struct usbnet *un, int reg, int aval)
237 if (usbnet_isdying(un))
248 err = usbd_do_request(un->un_udev, &req, &val);
251 aprint_error_dev(un->un_dev, "write reg %x <- %x\n",
258 mos_reg_write_2(struct usbnet *un, int reg, int aval)
266 if (usbnet_isdying(un))
275 err = usbd_do_request(un->un_udev, &req, &val);
278 aprint_error_dev(un->un_dev, "write reg2 %x <- %x\n",
285 mos_readmac(struct usbnet *un)
290 if (usbnet_isdying(un))
299 err = usbd_do_request(un->un_udev, &req, un->un_eaddr);
302 aprint_error_dev(un->un_dev, "%s: failed", __func__);
308 mos_writemac(struct usbnet *un)
313 if (usbnet_isdying(un))
322 err = usbd_do_request(un->un_udev, &req, un->un_eaddr);
325 aprint_error_dev(un->un_dev, "%s: failed", __func__);
331 mos_write_mcast(struct usbnet *un, uint8_t *hashtbl)
336 if (usbnet_isdying(un))
345 err = usbd_do_request(un->un_udev, &req, hashtbl);
348 aprint_error_dev(un->un_dev, "%s: failed", __func__);
356 mos_uno_mii_read_reg(struct usbnet *un, int phy, int reg, uint16_t *val)
360 mos_reg_write_2(un, MOS_PHY_DATA, 0);
361 mos_reg_write_1(un, MOS_PHY_CTL, (phy & MOS_PHYCTL_PHYADDR) |
363 mos_reg_write_1(un, MOS_PHY_STS, (reg & MOS_PHYSTS_PHYREG) |
367 if (usbnet_isdying(un)) {
371 if (mos_reg_read_1(un, MOS_PHY_STS) & MOS_PHYSTS_READY)
375 aprint_error_dev(un->un_dev, "read PHY failed\n");
380 res = mos_reg_read_2(un, MOS_PHY_DATA);
384 device_xname(un->un_dev), __func__, phy, reg, res));
390 mos_uno_mii_write_reg(struct usbnet *un, int phy, int reg, uint16_t val)
395 device_xname(un->un_dev), __func__, phy, reg, val));
397 mos_reg_write_2(un, MOS_PHY_DATA, val);
398 mos_reg_write_1(un, MOS_PHY_CTL, (phy & MOS_PHYCTL_PHYADDR) |
400 mos_reg_write_1(un, MOS_PHY_STS, (reg & MOS_PHYSTS_PHYREG) |
404 if (usbnet_isdying(un))
406 if (mos_reg_read_1(un, MOS_PHY_STS) & MOS_PHYSTS_READY)
410 aprint_error_dev(un->un_dev, "write PHY failed\n");
420 struct usbnet * const un = ifp->if_softc;
421 struct mii_data * const mii = usbnet_mii(un);
424 if (usbnet_isdying(un))
427 DPRINTFN(10,("%s: %s: enter\n", device_xname(un->un_dev), __func__));
430 val = mos_reg_read_1(un, MOS_CTL);
432 mos_reg_write_1(un, MOS_CTL, val);
435 mos_reg_write_1(un, MOS_FRAME_DROP_CNT, 0);
452 usbnet_set_link(un, true);
457 err = mos_reg_write_1(un, MOS_CTL, val);
460 aprint_error_dev(un->un_dev, "media change failed\n");
466 struct usbnet *un = ifp->if_softc;
467 struct ethercom *ec = usbnet_ec(un);
473 if (usbnet_isdying(un))
476 rxmode = mos_reg_read_1(un, MOS_CTL);
480 if (usbnet_ispromisc(un)) {
513 mos_write_mcast(un, mchash);
514 mos_reg_write_1(un, MOS_CTL, rxmode);
518 mos_reset(struct usbnet *un)
522 if (usbnet_isdying(un))
525 ctl = mos_reg_read_1(un, MOS_CTL);
529 mos_reg_write_1(un, MOS_CTL, ctl);
532 mos_reg_write_1(un, MOS_FRAME_DROP_CNT, 0);
539 mos_chip_init(struct usbnet *un)
547 if (mos_reg_read_1(un, MOS_PAUSE_TRHD) != -1) {
549 mos_reg_write_1(un, MOS_PAUSE_TRHD, 0);
572 struct usbnet * un = device_private(self);
587 un->un_dev = self;
588 un->un_udev = dev;
589 un->un_sc = un;
590 un->un_ops = &mos_ops;
591 un->un_rx_xfer_flags = USBD_SHORT_XFER_OK;
592 un->un_tx_xfer_flags = USBD_FORCE_SHORT_XFER;
593 un->un_rx_list_cnt = MOS_RX_LIST_CNT;
594 un->un_tx_list_cnt = MOS_TX_LIST_CNT;
595 un->un_rx_bufsz = un->un_tx_bufsz = MOS_BUFSZ;
604 err = usbd_device2interface_handle(dev, MOS_IFACE_IDX, &un->un_iface);
611 un
613 id = usbd_get_interface_descriptor(un->un_iface);
617 ed = usbd_interface2endpoint_descriptor(un->un_iface, i);
624 un->un_ed[USBNET_ENDPT_RX] = ed->bEndpointAddress;
627 un->un_ed[USBNET_ENDPT_TX] = ed->bEndpointAddress;
630 un->un_ed[USBNET_ENDPT_INTR] = ed->bEndpointAddress;
634 if (un->un_flags & MCS7730)
636 else if (un->un_flags & MCS7830)
638 else if (un->un_flags & MCS7832)
642 usbnet_attach(un);
644 mos_chip_init(un);
649 err = mos_readmac(un);
655 struct ethercom *ec = usbnet_ec(un);
658 usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,
667 mos_uno_rx_loop(struct usbnet * un, struct usbnet_chain *c, uint32_t total_len)
669 struct ifnet *ifp = usbnet_ifp(un);
675 device_xname(un->un_dev), __func__, total_len));
682 if (pktlen > un->un_rx_bufsz) {
690 device_xname(un->un_dev)));
708 usbnet_enqueue(un, c->unc_buf, pktlen, 0, 0, 0);
712 mos_uno_tx_prepare(struct usbnet *un, struct mbuf *m, struct usbnet_chain *c)
716 if ((unsigned)m->m_pkthdr.len > un->un_tx_bufsz)
723 device_xname(un->un_dev), __func__, length));
731 struct usbnet * const un = ifp->if_softc;
736 mos_reset(un);
739 mos_writemac(un);
742 ipgs[0] = mos_reg_read_1(un, MOS_IPG0);
743 ipgs[1] = mos_reg_read_1(un, MOS_IPG1);
744 mos_reg_write_1(un, MOS_IPG0, ipgs[0]);
745 mos_reg_write_1(un, MOS_IPG1, ipgs[1]);
748 rxmode = mos_reg_read_1(un, MOS_CTL);
751 mos_reg_write_1(un, MOS_CTL, rxmode);
759 struct usbnet * const un = ifp->if_softc;
761 mos_reset(un);