Home | History | Annotate | Download | only in usb

Lines Matching refs:un

126 #define AXE_IS_178_FAMILY(un)				\
127 ((un)->un_flags & (AX178 | AX772 | AX772A | AX772B))
129 #define AXE_IS_772(un) \
130 ((un)->un_flags & (AX772 | AX772A | AX772B))
132 #define AXE_IS_172(un) (AXE_IS_178_FAMILY(un) == 0)
292 struct usbnet * const un = &sc->axe_un;
296 if (usbnet_isdying(un))
310 err = usbd_do_request(un->un_udev, &req, buf);
318 axe_uno_mii_read_reg(struct usbnet *un, int phy, int reg, uint16_t *val)
321 struct axe_softc * const sc = usbnet_softc(un);
327 if (un->un_phyno != phy) {
338 device_printf(un->un_dev, "read PHY failed\n");
344 if (AXE_IS_772(un) && reg == MII_BMSR) {
360 axe_uno_mii_write_reg(struct usbnet *un, int phy, int reg, uint16_t val)
362 struct axe_softc * const sc = usbnet_softc(un);
366 if (un->un_phyno != phy)
385 struct usbnet * const un = ifp->if_softc;
386 struct axe_softc * const sc = usbnet_softc(un);
387 struct mii_data *mii = usbnet_mii(un);
390 if (usbnet_isdying(un))
394 if (AXE_IS_172(un)) {
406 if (un->un_flags & AX178)
411 usbnet_set_link(un, true);
415 usbnet_set_link(un, true);
418 usbnet_set_link(un, true);
426 device_printf(un->un_dev, "media change failed\n");
433 struct usbnet * const un = ifp->if_softc;
434 struct axe_softc * const sc = usbnet_softc(un);
435 struct ethercom *ec = usbnet_ec(un);
442 if (usbnet_isdying(un))
446 device_printf(un->un_dev, "can't read rxmode");
455 if (usbnet_ispromisc(un)) {
486 axe_ax_init(struct usbnet *un)
488 struct axe_softc * const sc = usbnet_softc(un);
492 if (un->un_flags & AX178) {
494 } else if (un->un_flags & AX772) {
496 } else if (un->un_flags & AX772A) {
498 } else if (un->un_flags & AX772B) {
505 if (axe_cmd(sc, cmd, 0, 0, un->un_eaddr)) {
506 aprint_error_dev(un->un_dev,
513 axe_reset(struct usbnet *un)
516 if (usbnet_isdying(un))
532 axe_ax_init(un);
570 struct usbnet * const un = &sc->axe_un;
654 axe_uno_mii_write_reg(un, un->un_phyno, 0x1F, 0x0005);
655 axe_uno_mii_write_reg(un, un->un_phyno, 0x0C, 0x0000);
656 axe_uno_mii_read_reg(un, un->un_phyno, 0x0001, &val);
657 axe_uno_mii_write_reg(un, un->un_phyno, 0x01, val | 0x0080);
658 axe_uno_mii_write_reg(un, un->un_phyno, 0x1F, 0x0000);
668 usbd_delay_ms(un->un_udev, 150);
671 usbd_delay_ms(un->un_udev, 150);
674 usbd_delay_ms(un->un_udev, 10);
682 struct usbnet * const un = &sc->axe_un;
685 usbd_delay_ms(un->un_udev, 40);
687 if (un->un_phyno == AXE_772_PHY_NO_EPHY) {
691 usbd_delay_ms(un->un_udev, 10);
695 usbd_delay_ms(un->un_udev, 60);
700 usbd_delay_ms(un->un_udev, 150);
712 usbd_delay_ms(un->un_udev, 10);
719 usbd_delay_ms(un->un_udev, 150);
727 struct usbnet * const un = &sc->axe_un;
729 if (un->un_phyno == AXE_772_PHY_NO_EPHY) {
733 usbd_delay_ms(un->un_udev, hztoms(hz / 32));
741 usbd_delay_ms(un->un_udev, hztoms(hz / 32));
748 usbd_delay_ms(un->un_udev, 150);
751 if (un->un_phyno == AXE_772_PHY_NO_EPHY) {
758 usbd_delay_ms(un->un_udev, 600);
763 usbd_delay_ms(un->un_udev, hztoms(hz / 32));
765 usbd_delay_ms(un->un_udev, hztoms(hz / 32));
784 struct usbnet * const un = &sc->axe_un;
797 aprint_error_dev(un->un_dev, "failed to read eeprom\n");
808 uint8_t *eaddr = un->un_eaddr;
812 aprint_error_dev(un->un_dev,
850 struct usbnet * const un = &sc->axe_un;
860 KASSERT((void *)sc == un);
868 un->un_dev = self;
869 un->un_udev = dev;
870 un->un_sc = sc;
871 un->un_ops = &axe_ops;
872 un->un_rx_xfer_flags = USBD_SHORT_XFER_OK;
873 un->un_tx_xfer_flags = USBD_FORCE_SHORT_XFER;
874 un->un_rx_list_cnt = AXE_RX_LIST_CNT;
875 un->un_tx_list_cnt = AXE_TX_LIST_CNT;
884 un->un_flags = axe_lookup(uaa->uaa_vendor, uaa->uaa_product)->axe_flags;
886 err = usbd_device2interface_handle(dev, AXE_IFACE_IDX, &un->un_iface);
892 id = usbd_get_interface_descriptor(un->un_iface);
895 if (AXE_IS_172(un))
898 bufsz = (un->un_udev->ud_speed == USB_SPEED_HIGH) ?
900 un->un_rx_bufsz = un->un_tx_bufsz = bufsz;
902 un->un_ed[USBNET_ENDPT_RX] = 0;
903 un->un_ed[USBNET_ENDPT_TX] = 0;
904 un->un_ed[USBNET_ENDPT_INTR] = 0;
908 ed = usbd_interface2endpoint_descriptor(un->un_iface, i);
917 un->un_ed[USBNET_ENDPT_RX] == 0) {
918 un->un_ed[USBNET_ENDPT_RX] = ed->bEndpointAddress;
920 un->un_ed[USBNET_ENDPT_TX] == 0) {
921 un->un_ed[USBNET_ENDPT_TX] = ed->bEndpointAddress;
923 un->un_ed[USBNET_ENDPT_INTR] = ed->bEndpointAddress;
928 usbnet_attach(un);
938 un->un_phyno = axe_get_phyno(sc, AXE_PHY_SEL_PRI);
939 if (un->un_phyno == -1)
940 un->un_phyno = axe_get_phyno(sc, AXE_PHY_SEL_SEC);
941 if (un->un_phyno == -1) {
944 un->un_phyno = 0;
949 axe_ax_init(un);
954 if (un->un_flags & (AX772A | AX772B)) {
966 if (!AXE_IS_172(un))
967 usbnet_ec(un)->ec_capabilities = ETHERCAP_VLAN_MTU;
968 if (un->un_flags & AX772B) {
969 struct ifnet *ifp = usbnet_ifp(un);
985 if (un->un_flags & (AX772A | AX772B | AX178))
988 usbnet_attach_ifp(un, IFF_SIMPLEX | IFF_BROADCAST | IFF_MULTICAST,
993 axe_uno_rx_loop(struct usbnet * un, struct usbnet_chain *c, uint32_t total_len)
996 struct axe_softc * const sc = usbnet_softc(un);
997 struct ifnet *ifp = usbnet_ifp(un);
1005 if ((un->un_flags & AXSTD_FRAME) != 0) {
1040 } else if ((un->un_flags & AXCSUM_FRAME) != 0) {
1117 usbnet_enqueue(un, buf, pktlen, flags, 0, 0);
1126 axe_uno_tx_prepare(struct usbnet *un, struct mbuf *m, struct usbnet_chain *c)
1133 if (!AXE_IS_172(un)) {
1138 boundary = (un->un_udev->ud_speed == USB_SPEED_HIGH) ? 512 : 64;
1155 if ((unsigned)m->m_pkthdr.len > un->un_tx_bufsz - hdr_len - tlr_len)
1171 struct usbnet * const un = &sc->axe_un;
1172 struct ifnet * const ifp = usbnet_ifp(un);
1175 if ((un->un_flags & AX772B) != 0) {
1210 struct usbnet * const un = ifp->if_softc;
1211 struct axe_softc * const sc = usbnet_softc(un);
1215 axe_reset(un);
1222 if (AXE_IS_172(un)) {
1223 axe_cmd(sc, AXE_172_CMD_WRITE_NODEID, 0, 0, un->un_eaddr);
1228 axe_cmd(sc, AXE_178_CMD_WRITE_NODEID, 0, 0, un->un_eaddr);
1232 un->un_flags &= ~(AXSTD_FRAME | AXCSUM_FRAME);
1233 if ((un->un_flags & AX772B) != 0 &&
1236 un->un_flags |= AXCSUM_FRAME;
1239 un->un_flags |= AXSTD_FRAME;
1246 if (un->un_flags & AX772B) {
1254 if (AXE_IS_172(un))
1257 if (un->un_flags & AX772B) {
1269 if (un->un_flags & AXCSUM_FRAME)
1277 if (un->un_udev->ud_speed == USB_SPEED_HIGH) {
1295 struct usbnet * const un = ifp->if_softc;
1297 axe_reset(un);