Lines Matching +full:0 +full:x3d00
50 #define FLOW_THRESHOLD(n) ((((n) + 511) / 512) & 0x7F)
51 #define FLOW_CTRL_THRESHOLD(on, off) ((FLOW_THRESHOLD(on) << 0) | \
63 #define DEFAULT_BULK_IN_DELAY (0x0800)
73 #define LAN78XX_USB_VENDOR_ID (0x0424)
74 #define LAN7800_USB_PRODUCT_ID (0x7800)
75 #define LAN7850_USB_PRODUCT_ID (0x7850)
76 #define LAN7801_USB_PRODUCT_ID (0x7801)
77 #define LAN78XX_EEPROM_MAGIC (0x78A5)
78 #define LAN78XX_OTP_MAGIC (0x78F3)
79 #define AT29M2AF_USB_VENDOR_ID (0x07C9)
80 #define AT29M2AF_USB_PRODUCT_ID (0x0012)
83 #define MII_WRITE 0
85 #define EEPROM_INDICATOR (0xA5)
86 #define EEPROM_MAC_OFFSET (0x01)
88 #define OTP_INDICATOR_1 (0xF3)
89 #define OTP_INDICATOR_2 (0xF7)
114 #define SS_BULK_IN_DELAY 0x2000
116 #define HS_BULK_IN_DELAY 0x2000
118 #define FS_BULK_IN_DELAY 0x2000
174 #define INT_EP_GPIO_0 (0)
366 illegal = 0,
388 #define EVENT_TX_HALT 0
481 #define PHY_LAN8835 (0x0007C130)
482 #define PHY_KSZ9031RNX (0x00221620)
486 module_param(msg_level, int, 0);
503 buf->len = 0; in lan78xx_release_buf()
504 buf->data_len = 0; in lan78xx_release_buf()
535 for (i = 0; i < n_urbs; i++) { in lan78xx_alloc_buf_pool()
540 if (skb_linearize(buf) != 0) { in lan78xx_alloc_buf_pool()
545 urb = usb_alloc_urb(0, GFP_ATOMIC); in lan78xx_alloc_buf_pool()
554 entry->length = 0; in lan78xx_alloc_buf_pool()
555 entry->num_of_packet = 0; in lan78xx_alloc_buf_pool()
560 return 0; in lan78xx_alloc_buf_pool()
624 ret = usb_control_msg(dev->udev, usb_rcvctrlpipe(dev->udev, 0), in lan78xx_read_reg()
627 0, index, buf, 4, USB_CTRL_GET_TIMEOUT); in lan78xx_read_reg()
628 if (likely(ret >= 0)) { in lan78xx_read_reg()
633 "Failed to read register index 0x%08x. ret = %d", in lan78xx_read_reg()
657 ret = usb_control_msg(dev->udev, usb_sndctrlpipe(dev->udev, 0), in lan78xx_write_reg()
660 0, index, buf, 4, USB_CTRL_SET_TIMEOUT); in lan78xx_write_reg()
661 if (unlikely(ret < 0) && in lan78xx_write_reg()
664 "Failed to write register index 0x%08x. ret = %d", in lan78xx_write_reg()
680 if (ret < 0) in lan78xx_update_reg()
687 if (ret < 0) in lan78xx_update_reg()
690 return 0; in lan78xx_update_reg()
696 int ret = 0; in lan78xx_read_stats()
707 usb_rcvctrlpipe(dev->udev, 0), in lan78xx_read_stats()
710 0, in lan78xx_read_stats()
711 0, in lan78xx_read_stats()
715 if (likely(ret >= 0)) { in lan78xx_read_stats()
718 for (i = 0; i < sizeof(*stats) / sizeof(u32); i++) { in lan78xx_read_stats()
736 } while (0)
799 if (usb_autopm_get_interface(dev->intf) < 0) in lan78xx_update_stats()
809 if (lan78xx_read_stats(dev, &lan78xx_stats) > 0) in lan78xx_update_stats()
812 for (i = 0; i < (sizeof(lan78xx_stats) / (sizeof(u32))); i++) in lan78xx_update_stats()
829 if (unlikely(ret < 0)) in lan78xx_phy_wait_not_busy()
833 return 0; in lan78xx_phy_wait_not_busy()
862 if (unlikely(ret < 0)) in lan78xx_wait_eeprom()
876 return 0; in lan78xx_wait_eeprom()
887 if (unlikely(ret < 0)) in lan78xx_eeprom_confirm_not_busy()
891 return 0; in lan78xx_eeprom_confirm_not_busy()
922 for (i = 0; i < length; i++) { in lan78xx_read_raw_eeprom()
926 if (unlikely(ret < 0)) { in lan78xx_read_raw_eeprom()
932 if (retval < 0) in lan78xx_read_raw_eeprom()
936 if (unlikely(ret < 0)) { in lan78xx_read_raw_eeprom()
941 data[i] = val & 0xFF; in lan78xx_read_raw_eeprom()
945 retval = 0; in lan78xx_read_raw_eeprom()
959 ret = lan78xx_read_raw_eeprom(dev, 0, 1, &sig); in lan78xx_read_eeprom()
960 if ((ret == 0) && (sig == EEPROM_INDICATOR)) in lan78xx_read_eeprom()
993 if (unlikely(ret < 0)) { in lan78xx_write_raw_eeprom()
999 if (retval < 0) in lan78xx_write_raw_eeprom()
1002 for (i = 0; i < length; i++) { in lan78xx_write_raw_eeprom()
1006 if (ret < 0) { in lan78xx_write_raw_eeprom()
1015 if (ret < 0) { in lan78xx_write_raw_eeprom()
1021 if (retval < 0) in lan78xx_write_raw_eeprom()
1027 retval = 0; in lan78xx_write_raw_eeprom()
1046 lan78xx_write_reg(dev, OTP_PWR_DN, 0); in lan78xx_read_raw_otp()
1060 for (i = 0; i < length; i++) { in lan78xx_read_raw_otp()
1082 data[i] = (u8)(buf & 0xFF); in lan78xx_read_raw_otp()
1085 return 0; in lan78xx_read_raw_otp()
1099 lan78xx_write_reg(dev, OTP_PWR_DN, 0); in lan78xx_write_raw_otp()
1116 for (i = 0; i < length; i++) { in lan78xx_write_raw_otp()
1137 return 0; in lan78xx_write_raw_otp()
1146 ret = lan78xx_read_raw_otp(dev, 0, 1, &sig); in lan78xx_read_otp()
1148 if (ret == 0) { in lan78xx_read_otp()
1150 offset += 0x100; in lan78xx_read_otp()
1164 for (i = 0; i < 100; i++) { in lan78xx_dataport_wait_not_busy()
1168 if (unlikely(ret < 0)) in lan78xx_dataport_wait_not_busy()
1172 return 0; in lan78xx_dataport_wait_not_busy()
1185 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_dataport_write()
1189 if (usb_autopm_get_interface(dev->intf) < 0) in lan78xx_dataport_write()
1190 return 0; in lan78xx_dataport_write()
1195 if (ret < 0) in lan78xx_dataport_write()
1204 for (i = 0; i < length; i++) { in lan78xx_dataport_write()
1212 if (ret < 0) in lan78xx_dataport_write()
1228 if ((pdata) && (index > 0) && (index < NUM_OF_MAF)) { in lan78xx_set_addr_filter()
1232 temp = addr[0] | (temp << 8); in lan78xx_set_addr_filter()
1237 pdata->pfilter_table[index][0] = temp; in lan78xx_set_addr_filter()
1244 return (ether_crc(ETH_ALEN, addr) >> 23) & 0x1ff; in lan78xx_hash()
1254 netif_dbg(dev, drv, dev->net, "deferred multicast write 0x%08x\n", in lan78xx_deferred_multicast_write()
1261 lan78xx_write_reg(dev, MAF_HI(i), 0); in lan78xx_deferred_multicast_write()
1265 pdata->pfilter_table[i][0]); in lan78xx_deferred_multicast_write()
1274 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_set_multicast()
1283 for (i = 0; i < DP_SEL_VHF_HASH_LEN; i++) in lan78xx_set_multicast()
1284 pdata->mchash_table[i] = 0; in lan78xx_set_multicast()
1286 /* pfilter_table[0] has own HW address */ in lan78xx_set_multicast()
1288 pdata->pfilter_table[i][0] = 0; in lan78xx_set_multicast()
1289 pdata->pfilter_table[i][1] = 0; in lan78xx_set_multicast()
1338 u32 flow = 0, fct_flow = 0; in lan78xx_update_flowcontrol()
1347 flow |= (FLOW_CR_TX_FCEN_ | 0xFFFF); in lan78xx_update_flowcontrol()
1366 return 0; in lan78xx_update_flowcontrol()
1384 if (ret < 0) in lan78xx_mac_reset()
1388 if (ret < 0) in lan78xx_mac_reset()
1393 if (ret < 0) in lan78xx_mac_reset()
1401 if (ret < 0) in lan78xx_mac_reset()
1405 ret = 0; in lan78xx_mac_reset()
1426 if (unlikely(ret < 0)) in lan78xx_link_reset()
1439 if (ret < 0) in lan78xx_link_reset()
1452 if (ret < 0) in lan78xx_link_reset()
1456 if (ret < 0) in lan78xx_link_reset()
1460 if (ret < 0) in lan78xx_link_reset()
1464 if (ret < 0) in lan78xx_link_reset()
1469 if (ret < 0) in lan78xx_link_reset()
1474 if (ret < 0) in lan78xx_link_reset()
1480 if (ladv < 0) in lan78xx_link_reset()
1484 if (radv < 0) in lan78xx_link_reset()
1488 "speed: %u duplex: %d anadv: 0x%04x anlpa: 0x%04x", in lan78xx_link_reset()
1493 if (ret < 0) in lan78xx_link_reset()
1507 return 0; in lan78xx_link_reset()
1518 if (!schedule_delayed_work(&dev->wq, 0)) in lan78xx_defer_kevent()
1535 netif_dbg(dev, link, dev->net, "PHY INTR: 0x%08x\n", intdata); in lan78xx_status()
1538 if (dev->domain_data.phyirq > 0) in lan78xx_status()
1542 "unexpected interrupt: 0x%08x\n", intdata); in lan78xx_status()
1586 (ee->offset == 0) && in lan78xx_ethtool_set_eeprom()
1588 (data[0] == OTP_INDICATOR_1)) in lan78xx_ethtool_set_eeprom()
1629 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_get_wol()
1631 if (usb_autopm_get_interface(dev->intf) < 0) in lan78xx_get_wol()
1635 if (unlikely(ret < 0)) { in lan78xx_get_wol()
1636 wol->supported = 0; in lan78xx_get_wol()
1637 wol->wolopts = 0; in lan78xx_get_wol()
1643 wol->supported = 0; in lan78xx_get_wol()
1644 wol->wolopts = 0; in lan78xx_get_wol()
1655 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_set_wol()
1659 if (ret < 0) in lan78xx_set_wol()
1684 if (ret < 0) in lan78xx_get_eee()
1688 if (ret < 0) in lan78xx_get_eee()
1704 edata->tx_lpi_timer = 0; in lan78xx_get_eee()
1707 ret = 0; in lan78xx_get_eee()
1721 if (ret < 0) in lan78xx_set_eee()
1741 return 0; in lan78xx_set_eee()
1787 if (ret < 0) in lan78xx_get_link_ksettings()
1802 int ret = 0; in lan78xx_set_link_ksettings()
1806 if (ret < 0) in lan78xx_set_link_ksettings()
1858 dev->fc_request_control = 0; in lan78xx_set_pause()
1866 __ETHTOOL_DECLARE_LINK_MODE_MASK(fc) = { 0, }; in lan78xx_set_pause()
1883 ret = 0; in lan78xx_set_pause()
1905 for (i = 0; i < ARRAY_SIZE(lan78xx_regs); i++) in lan78xx_get_regs()
1912 for (j = 0; j < 32; i++, j++) in lan78xx_get_regs()
1949 addr[0] = addr_lo & 0xFF; in lan78xx_init_mac_address()
1950 addr[1] = (addr_lo >> 8) & 0xFF; in lan78xx_init_mac_address()
1951 addr[2] = (addr_lo >> 16) & 0xFF; in lan78xx_init_mac_address()
1952 addr[3] = (addr_lo >> 24) & 0xFF; in lan78xx_init_mac_address()
1953 addr[4] = addr_hi & 0xFF; in lan78xx_init_mac_address()
1954 addr[5] = (addr_hi >> 8) & 0xFF; in lan78xx_init_mac_address()
1962 ETH_ALEN, addr) == 0) || in lan78xx_init_mac_address()
1964 ETH_ALEN, addr) == 0)) && in lan78xx_init_mac_address()
1976 addr_lo = addr[0] | (addr[1] << 8) | in lan78xx_init_mac_address()
1984 lan78xx_write_reg(dev, MAF_LO(0), addr_lo); in lan78xx_init_mac_address()
1985 lan78xx_write_reg(dev, MAF_HI(0), addr_hi | MAF_HI_VALID_); in lan78xx_init_mac_address()
1998 if (ret < 0) in lan78xx_mdiobus_read()
2005 if (ret < 0) in lan78xx_mdiobus_read()
2013 if (ret < 0) in lan78xx_mdiobus_read()
2018 ret = (int)(val & 0xFFFF); in lan78xx_mdiobus_read()
2035 if (ret < 0) in lan78xx_mdiobus_write()
2042 if (ret < 0) in lan78xx_mdiobus_write()
2053 if (ret < 0) in lan78xx_mdiobus_write()
2059 return 0; in lan78xx_mdiobus_write()
2089 /* scan thru PHYAD[2..0] */ in lan78xx_mdio_init()
2090 dev->mdiobus->phy_mask = ~(0xFF); in lan78xx_mdio_init()
2103 return 0; in lan78xx_mdio_init()
2156 return 0; in irq_map()
2220 unsigned int irqmap = 0; in lan78xx_setup_irq_domain()
2222 int ret = 0; in lan78xx_setup_irq_domain()
2234 irqdomain = irq_domain_add_simple(of_node, MAX_INT_EP, 0, in lan78xx_setup_irq_domain()
2257 if (dev->domain_data.phyirq > 0) { in lan78xx_remove_irq_domain()
2263 dev->domain_data.phyirq = 0; in lan78xx_remove_irq_domain()
2273 buf = phy_read_mmd(phydev, MDIO_MMD_PCS, 0x8010); in lan8835_fixup()
2274 buf &= ~0x1800; in lan8835_fixup()
2275 buf |= 0x0800; in lan8835_fixup()
2276 phy_write_mmd(phydev, MDIO_MMD_PCS, 0x8010, buf); in lan8835_fixup()
2283 lan78xx_write_reg(dev, RGMII_TX_BYP_DLL, 0x3D00); in lan8835_fixup()
2296 phy_write_mmd(phydev, MDIO_MMD_WIS, 4, 0x0077); in ksz9031rnx_fixup()
2298 phy_write_mmd(phydev, MDIO_MMD_WIS, 5, 0x7777); in ksz9031rnx_fixup()
2300 phy_write_mmd(phydev, MDIO_MMD_WIS, 8, 0x1FF); in ksz9031rnx_fixup()
2330 ret = lan78xx_write_reg(dev, RGMII_TX_BYP_DLL, 0x3D00); in lan7801_phy_init()
2342 ret = phy_register_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0, in lan7801_phy_init()
2344 if (ret < 0) { in lan7801_phy_init()
2349 ret = phy_register_fixup_for_uid(PHY_LAN8835, 0xfffffff0, in lan7801_phy_init()
2351 if (ret < 0) { in lan7801_phy_init()
2364 __ETHTOOL_DECLARE_LINK_MODE_MASK(fc) = { 0, }; in lan78xx_phy_init()
2395 if (dev->domain_data.phyirq > 0) in lan78xx_phy_init()
2415 0xfffffff0); in lan78xx_phy_init()
2417 0xfffffff0); in lan78xx_phy_init()
2443 if (len >= 0) { in lan78xx_phy_init()
2450 reg |= (len > 0) * HW_CFG_LED0_EN_ | in lan78xx_phy_init()
2462 return 0; in lan78xx_phy_init()
2472 rxenabled = ((buf & MAC_RX_RXEN_) != 0); in lan78xx_set_rx_max_frame_length()
2490 return 0; in lan78xx_set_rx_max_frame_length()
2497 int count = 0; in unlink_urbs()
2527 if (ret != -EINPROGRESS && ret != 0) in unlink_urbs()
2545 if ((max_frame_len % dev->maxpacket) == 0) in lan78xx_change_mtu()
2549 if (ret < 0) in lan78xx_change_mtu()
2575 addr_lo = netdev->dev_addr[0] | in lan78xx_set_mac_addr()
2586 lan78xx_write_reg(dev, MAF_LO(0), addr_lo); in lan78xx_set_mac_addr()
2587 lan78xx_write_reg(dev, MAF_HI(0), addr_hi | MAF_HI_VALID_); in lan78xx_set_mac_addr()
2589 return 0; in lan78xx_set_mac_addr()
2597 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_set_features()
2624 return 0; in lan78xx_set_features()
2633 lan78xx_dataport_write(dev, DP_SEL_RSEL_VLAN_DA_, 0, in lan78xx_deferred_vlan_write()
2641 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_vlan_rx_add_vid()
2645 vid_dword_index = (vid >> 5) & 0x7F; in lan78xx_vlan_rx_add_vid()
2646 vid_bit_index = vid & 0x1F; in lan78xx_vlan_rx_add_vid()
2653 return 0; in lan78xx_vlan_rx_add_vid()
2660 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_vlan_rx_kill_vid()
2664 vid_dword_index = (vid >> 5) & 0x7F; in lan78xx_vlan_rx_kill_vid()
2665 vid_bit_index = vid & 0x1F; in lan78xx_vlan_rx_kill_vid()
2672 return 0; in lan78xx_vlan_rx_kill_vid()
2679 u32 regs[6] = { 0 }; in lan78xx_init_ltm()
2685 if (lan78xx_read_eeprom(dev, 0x3F, 2, temp) == 0) { in lan78xx_init_ltm()
2686 if (temp[0] == 24) { in lan78xx_init_ltm()
2691 if (ret < 0) in lan78xx_init_ltm()
2694 } else if (lan78xx_read_otp(dev, 0x3F, 2, temp) == 0) { in lan78xx_init_ltm()
2695 if (temp[0] == 24) { in lan78xx_init_ltm()
2700 if (ret < 0) in lan78xx_init_ltm()
2706 lan78xx_write_reg(dev, LTM_BELT_IDLE0, regs[0]); in lan78xx_init_ltm()
2716 int result = 0; in lan78xx_urb_config_init()
2768 if (ret < 0) in lan78xx_stop_hw()
2775 if (ret < 0) in lan78xx_stop_hw()
2782 if (ret < 0) in lan78xx_stop_hw()
2792 ret = stopped ? 0 : -ETIME; in lan78xx_stop_hw()
2811 if (ret < 0) in lan78xx_start_tx_path()
2817 if (ret < 0) in lan78xx_start_tx_path()
2820 return 0; in lan78xx_start_tx_path()
2832 if (ret < 0) in lan78xx_stop_tx_path()
2838 if (ret < 0) in lan78xx_stop_tx_path()
2841 return 0; in lan78xx_stop_tx_path()
2861 if (ret < 0) in lan78xx_start_rx_path()
2867 if (ret < 0) in lan78xx_start_rx_path()
2870 return 0; in lan78xx_start_rx_path()
2882 if (ret < 0) in lan78xx_stop_rx_path()
2888 if (ret < 0) in lan78xx_stop_rx_path()
2891 return 0; in lan78xx_stop_rx_path()
2904 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_reset()
2911 if (ret < 0) in lan78xx_reset()
2917 if (ret < 0) in lan78xx_reset()
2924 if (ret < 0) in lan78xx_reset()
2939 if (ret < 0) in lan78xx_reset()
2947 if (ret < 0) in lan78xx_reset()
2953 if (ret < 0) in lan78xx_reset()
2960 if (ret < 0) in lan78xx_reset()
2964 if (ret < 0) in lan78xx_reset()
2968 if (ret < 0) in lan78xx_reset()
2974 if (ret < 0) in lan78xx_reset()
2978 if (ret < 0) in lan78xx_reset()
2984 if (ret < 0) in lan78xx_reset()
2991 if (ret < 0) in lan78xx_reset()
2997 if (ret < 0) in lan78xx_reset()
3001 if (ret < 0) in lan78xx_reset()
3004 ret = lan78xx_write_reg(dev, FLOW, 0); in lan78xx_reset()
3005 if (ret < 0) in lan78xx_reset()
3008 ret = lan78xx_write_reg(dev, FCT_FLOW, 0); in lan78xx_reset()
3009 if (ret < 0) in lan78xx_reset()
3014 if (ret < 0) in lan78xx_reset()
3020 if (ret < 0) in lan78xx_reset()
3025 if (ret < 0) in lan78xx_reset()
3032 if (ret < 0) in lan78xx_reset()
3038 if (ret < 0) in lan78xx_reset()
3045 if (ret < 0) in lan78xx_reset()
3056 if (ret < 0) in lan78xx_reset()
3064 ret = lan78xx_read_raw_eeprom(dev, 0, 1, &sig); in lan78xx_reset()
3072 if (ret < 0) in lan78xx_reset()
3090 for (i = 0; i < (sizeof(dev->stats.rollover_max) / (sizeof(u32))); i++) in lan78xx_init_stats()
3091 p[i] = 0xFFFFF; in lan78xx_init_stats()
3093 dev->stats.rollover_max.rx_unicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3094 dev->stats.rollover_max.rx_broadcast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3095 dev->stats.rollover_max.rx_multicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3096 dev->stats.rollover_max.eee_rx_lpi_transitions = 0xFFFFFFFF; in lan78xx_init_stats()
3097 dev->stats.rollover_max.eee_rx_lpi_time = 0xFFFFFFFF; in lan78xx_init_stats()
3098 dev->stats.rollover_max.tx_unicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3099 dev->stats.rollover_max.tx_broadcast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3100 dev->stats.rollover_max.tx_multicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3101 dev->stats.rollover_max.eee_tx_lpi_transitions = 0xFFFFFFFF; in lan78xx_init_stats()
3102 dev->stats.rollover_max.eee_tx_lpi_time = 0xFFFFFFFF; in lan78xx_init_stats()
3115 if (ret < 0) in lan78xx_open()
3127 if (ret < 0) { in lan78xx_open()
3135 if (ret < 0) in lan78xx_open()
3138 if (ret < 0) in lan78xx_open()
3142 if (ret < 0) in lan78xx_open()
3145 if (ret < 0) in lan78xx_open()
3249 return 0; in lan78xx_stop()
3282 if (urb->status == 0) { in tx_complete()
3404 schedule_delayed_work(&dev->wq, 0); in lan78xx_start_xmit()
3439 dev->data[0] = (unsigned long)kzalloc(sizeof(*pdata), GFP_KERNEL); in lan78xx_bind()
3441 pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_bind()
3454 for (i = 0; i < DP_SEL_VHF_VLAN_LEN; i++) in lan78xx_bind()
3455 pdata->vlan_table[i] = 0; in lan78xx_bind()
3459 dev->net->features = 0; in lan78xx_bind()
3479 if (ret < 0) { in lan78xx_bind()
3517 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_unbind()
3529 dev->data[0] = 0; in lan78xx_unbind()
3558 (rx_cmd_b & 0xffff)); in lan78xx_rx_vlan_offload()
3568 netif_dbg(dev, rx_status, dev->net, "< rx, len %zu, type 0x%x\n", in lan78xx_skb_return()
3570 memset(skb->cb, 0, sizeof(struct skb_data)); in lan78xx_skb_return()
3582 return 0; in lan78xx_rx()
3587 while (skb->len > 0) { in lan78xx_rx()
3609 "Error rx_cmd_a=0x%08x", rx_cmd_a); in lan78xx_rx()
3616 return 0; in lan78xx_rx()
3675 case 0: in rx_complete()
3723 int ret = 0; in rx_submit()
3736 case 0: in rx_submit()
3776 if (rx_submit(dev, rx_buf, GFP_ATOMIC) != 0) in lan78xx_rx_urb_submit_all()
3788 rx_buf->len = 0; in lan78xx_rx_urb_resubmit()
3789 rx_buf->data_len = 0; in lan78xx_rx_urb_resubmit()
3804 tx_cmd_b = 0; in lan78xx_fill_tx_cmd_words()
3828 u32 urb_len = 0; in lan78xx_tx_buf_fill()
3830 entry->num_of_packet = 0; in lan78xx_tx_buf_fill()
3831 entry->length = 0; in lan78xx_tx_buf_fill()
3863 if (skb_copy_bits(skb, 0, tx_data, len) < 0) { in lan78xx_tx_buf_fill()
3921 if (ret < 0) { in lan78xx_tx_bh()
3930 if (tx_buf->len % dev->maxpacket == 0) { in lan78xx_tx_bh()
3948 case 0: in lan78xx_tx_bh()
3978 } while (ret == 0); in lan78xx_tx_bh()
3987 int work_done = 0; in lan78xx_bh()
4066 napi_complete_done(napi, 0); in lan78xx_poll()
4067 return 0; in lan78xx_poll()
4111 if (usb_autopm_get_interface(dev->intf) < 0) in lan78xx_delayedwork()
4118 if (status < 0 && in lan78xx_delayedwork()
4135 if (status < 0 && in lan78xx_delayedwork()
4149 int ret = 0; in lan78xx_delayedwork()
4152 if (lan78xx_link_reset(dev) < 0) { in lan78xx_delayedwork()
4179 case 0: in intr_complete()
4205 memset(urb->transfer_buffer, 0, urb->transfer_buffer_length); in intr_complete()
4209 case 0: in intr_complete()
4249 phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0); in lan78xx_disconnect()
4250 phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0); in lan78xx_disconnect()
4361 if (ret < 0) in lan78xx_probe()
4365 if (ret < 0) in lan78xx_probe()
4369 if (ret < 0) in lan78xx_probe()
4387 timer_setup(&dev->stat_monitor, lan78xx_stat_monitor, 0); in lan78xx_probe()
4420 if (ret < 0) in lan78xx_probe()
4431 dev->urb_intr = usb_alloc_urb(0, GFP_KERNEL); in lan78xx_probe()
4445 if (dev->maxpacket == 0) { in lan78xx_probe()
4454 if (ret < 0) in lan78xx_probe()
4458 if (ret != 0) { in lan78xx_probe()
4473 return 0; in lan78xx_probe()
4498 const u16 crc16poly = 0x8005; in lan78xx_wakeframe_crc16()
4503 crc = 0xFFFF; in lan78xx_wakeframe_crc16()
4504 for (i = 0; i < len; i++) { in lan78xx_wakeframe_crc16()
4506 for (bit = 0; bit < 8; bit++) { in lan78xx_wakeframe_crc16()
4512 crc |= (u16)0x0001U; in lan78xx_wakeframe_crc16()
4527 if (ret < 0) in lan78xx_set_auto_suspend()
4531 if (ret < 0) in lan78xx_set_auto_suspend()
4536 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_set_auto_suspend()
4537 if (ret < 0) in lan78xx_set_auto_suspend()
4539 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_set_auto_suspend()
4540 if (ret < 0) in lan78xx_set_auto_suspend()
4542 ret = lan78xx_write_reg(dev, WK_SRC, 0xFFF1FF1FUL); in lan78xx_set_auto_suspend()
4543 if (ret < 0) in lan78xx_set_auto_suspend()
4549 if (ret < 0) in lan78xx_set_auto_suspend()
4556 if (ret < 0) in lan78xx_set_auto_suspend()
4560 if (ret < 0) in lan78xx_set_auto_suspend()
4571 if (ret < 0) in lan78xx_set_auto_suspend()
4575 if (ret < 0) in lan78xx_set_auto_suspend()
4581 if (ret < 0) in lan78xx_set_auto_suspend()
4591 const u8 ipv4_multicast[3] = { 0x01, 0x00, 0x5E }; in lan78xx_set_suspend()
4592 const u8 ipv6_multicast[3] = { 0x33, 0x33 }; in lan78xx_set_suspend()
4593 const u8 arp_type[2] = { 0x08, 0x06 }; in lan78xx_set_suspend()
4602 if (ret < 0) in lan78xx_set_suspend()
4605 if (ret < 0) in lan78xx_set_suspend()
4608 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_set_suspend()
4609 if (ret < 0) in lan78xx_set_suspend()
4611 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_set_suspend()
4612 if (ret < 0) in lan78xx_set_suspend()
4614 ret = lan78xx_write_reg(dev, WK_SRC, 0xFFF1FF1FUL); in lan78xx_set_suspend()
4615 if (ret < 0) in lan78xx_set_suspend()
4618 temp_wucsr = 0; in lan78xx_set_suspend()
4620 temp_pmt_ctl = 0; in lan78xx_set_suspend()
4623 if (ret < 0) in lan78xx_set_suspend()
4629 for (mask_index = 0; mask_index < NUM_OF_WUF_CFG; mask_index++) { in lan78xx_set_suspend()
4630 ret = lan78xx_write_reg(dev, WUF_CFG(mask_index), 0); in lan78xx_set_suspend()
4631 if (ret < 0) in lan78xx_set_suspend()
4635 mask_index = 0; in lan78xx_set_suspend()
4665 (0 << WUF_CFGX_OFFSET_SHIFT_) | in lan78xx_set_suspend()
4667 if (ret < 0) in lan78xx_set_suspend()
4671 if (ret < 0) in lan78xx_set_suspend()
4673 ret = lan78xx_write_reg(dev, WUF_MASK1(mask_index), 0); in lan78xx_set_suspend()
4674 if (ret < 0) in lan78xx_set_suspend()
4676 ret = lan78xx_write_reg(dev, WUF_MASK2(mask_index), 0); in lan78xx_set_suspend()
4677 if (ret < 0) in lan78xx_set_suspend()
4679 ret = lan78xx_write_reg(dev, WUF_MASK3(mask_index), 0); in lan78xx_set_suspend()
4680 if (ret < 0) in lan78xx_set_suspend()
4690 (0 << WUF_CFGX_OFFSET_SHIFT_) | in lan78xx_set_suspend()
4692 if (ret < 0) in lan78xx_set_suspend()
4696 if (ret < 0) in lan78xx_set_suspend()
4698 ret = lan78xx_write_reg(dev, WUF_MASK1(mask_index), 0); in lan78xx_set_suspend()
4699 if (ret < 0) in lan78xx_set_suspend()
4701 ret = lan78xx_write_reg(dev, WUF_MASK2(mask_index), 0); in lan78xx_set_suspend()
4702 if (ret < 0) in lan78xx_set_suspend()
4704 ret = lan78xx_write_reg(dev, WUF_MASK3(mask_index), 0); in lan78xx_set_suspend()
4705 if (ret < 0) in lan78xx_set_suspend()
4725 * for packettype (offset 12,13) = ARP (0x0806) in lan78xx_set_suspend()
4731 (0 << WUF_CFGX_OFFSET_SHIFT_) | in lan78xx_set_suspend()
4733 if (ret < 0) in lan78xx_set_suspend()
4736 ret = lan78xx_write_reg(dev, WUF_MASK0(mask_index), 0x3000); in lan78xx_set_suspend()
4737 if (ret < 0) in lan78xx_set_suspend()
4739 ret = lan78xx_write_reg(dev, WUF_MASK1(mask_index), 0); in lan78xx_set_suspend()
4740 if (ret < 0) in lan78xx_set_suspend()
4742 ret = lan78xx_write_reg(dev, WUF_MASK2(mask_index), 0); in lan78xx_set_suspend()
4743 if (ret < 0) in lan78xx_set_suspend()
4745 ret = lan78xx_write_reg(dev, WUF_MASK3(mask_index), 0); in lan78xx_set_suspend()
4746 if (ret < 0) in lan78xx_set_suspend()
4757 if (ret < 0) in lan78xx_set_suspend()
4767 if (ret < 0) in lan78xx_set_suspend()
4772 if (ret < 0) in lan78xx_set_suspend()
4778 if (ret < 0) in lan78xx_set_suspend()
4815 if (ret < 0) in lan78xx_suspend()
4819 if (ret < 0) in lan78xx_suspend()
4824 if (ret < 0) in lan78xx_suspend()
4839 if (ret < 0) in lan78xx_suspend()
4844 pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_suspend()
4847 if (ret < 0) in lan78xx_suspend()
4858 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_suspend()
4859 if (ret < 0) in lan78xx_suspend()
4861 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_suspend()
4862 if (ret < 0) in lan78xx_suspend()
4866 if (ret < 0) in lan78xx_suspend()
4875 if (ret < 0) in lan78xx_suspend()
4879 if (ret < 0) in lan78xx_suspend()
4885 if (ret < 0) in lan78xx_suspend()
4889 ret = 0; in lan78xx_suspend()
4914 if (ret == 0) { in lan78xx_submit_deferred_urbs()
4948 if (ret < 0) in lan78xx_resume()
4954 if (ret < 0) { in lan78xx_resume()
4980 if (ret < 0) in lan78xx_resume()
4995 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_resume()
4996 if (ret < 0) in lan78xx_resume()
4998 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_resume()
4999 if (ret < 0) in lan78xx_resume()
5001 ret = lan78xx_write_reg(dev, WK_SRC, 0xFFF1FF1FUL); in lan78xx_resume()
5002 if (ret < 0) in lan78xx_resume()
5009 if (ret < 0) in lan78xx_resume()
5019 if (ret < 0) in lan78xx_resume()
5022 ret = 0; in lan78xx_resume()
5037 if (ret < 0) in lan78xx_reset_resume()