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()
2131 return 0; in irq_map()
2195 unsigned int irqmap = 0; in lan78xx_setup_irq_domain()
2197 int ret = 0; in lan78xx_setup_irq_domain()
2209 irqdomain = irq_domain_add_simple(of_node, MAX_INT_EP, 0, in lan78xx_setup_irq_domain()
2232 if (dev->domain_data.phyirq > 0) { in lan78xx_remove_irq_domain()
2238 dev->domain_data.phyirq = 0; in lan78xx_remove_irq_domain()
2248 buf = phy_read_mmd(phydev, MDIO_MMD_PCS, 0x8010); in lan8835_fixup()
2249 buf &= ~0x1800; in lan8835_fixup()
2250 buf |= 0x0800; in lan8835_fixup()
2251 phy_write_mmd(phydev, MDIO_MMD_PCS, 0x8010, buf); in lan8835_fixup()
2258 lan78xx_write_reg(dev, RGMII_TX_BYP_DLL, 0x3D00); in lan8835_fixup()
2271 phy_write_mmd(phydev, MDIO_MMD_WIS, 4, 0x0077); in ksz9031rnx_fixup()
2273 phy_write_mmd(phydev, MDIO_MMD_WIS, 5, 0x7777); in ksz9031rnx_fixup()
2275 phy_write_mmd(phydev, MDIO_MMD_WIS, 8, 0x1FF); in ksz9031rnx_fixup()
2305 ret = lan78xx_write_reg(dev, RGMII_TX_BYP_DLL, 0x3D00); in lan7801_phy_init()
2317 ret = phy_register_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0, in lan7801_phy_init()
2319 if (ret < 0) { in lan7801_phy_init()
2324 ret = phy_register_fixup_for_uid(PHY_LAN8835, 0xfffffff0, in lan7801_phy_init()
2326 if (ret < 0) { in lan7801_phy_init()
2339 __ETHTOOL_DECLARE_LINK_MODE_MASK(fc) = { 0, }; in lan78xx_phy_init()
2370 if (dev->domain_data.phyirq > 0) in lan78xx_phy_init()
2390 0xfffffff0); in lan78xx_phy_init()
2392 0xfffffff0); in lan78xx_phy_init()
2418 if (len >= 0) { in lan78xx_phy_init()
2425 reg |= (len > 0) * HW_CFG_LED0_EN_ | in lan78xx_phy_init()
2437 return 0; in lan78xx_phy_init()
2447 rxenabled = ((buf & MAC_RX_RXEN_) != 0); in lan78xx_set_rx_max_frame_length()
2465 return 0; in lan78xx_set_rx_max_frame_length()
2472 int count = 0; in unlink_urbs()
2502 if (ret != -EINPROGRESS && ret != 0) in unlink_urbs()
2520 if ((max_frame_len % dev->maxpacket) == 0) in lan78xx_change_mtu()
2524 if (ret < 0) in lan78xx_change_mtu()
2550 addr_lo = netdev->dev_addr[0] | in lan78xx_set_mac_addr()
2561 lan78xx_write_reg(dev, MAF_LO(0), addr_lo); in lan78xx_set_mac_addr()
2562 lan78xx_write_reg(dev, MAF_HI(0), addr_hi | MAF_HI_VALID_); in lan78xx_set_mac_addr()
2564 return 0; in lan78xx_set_mac_addr()
2572 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_set_features()
2599 return 0; in lan78xx_set_features()
2608 lan78xx_dataport_write(dev, DP_SEL_RSEL_VLAN_DA_, 0, in lan78xx_deferred_vlan_write()
2616 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_vlan_rx_add_vid()
2620 vid_dword_index = (vid >> 5) & 0x7F; in lan78xx_vlan_rx_add_vid()
2621 vid_bit_index = vid & 0x1F; in lan78xx_vlan_rx_add_vid()
2628 return 0; in lan78xx_vlan_rx_add_vid()
2635 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_vlan_rx_kill_vid()
2639 vid_dword_index = (vid >> 5) & 0x7F; in lan78xx_vlan_rx_kill_vid()
2640 vid_bit_index = vid & 0x1F; in lan78xx_vlan_rx_kill_vid()
2647 return 0; in lan78xx_vlan_rx_kill_vid()
2654 u32 regs[6] = { 0 }; in lan78xx_init_ltm()
2660 if (lan78xx_read_eeprom(dev, 0x3F, 2, temp) == 0) { in lan78xx_init_ltm()
2661 if (temp[0] == 24) { in lan78xx_init_ltm()
2666 if (ret < 0) in lan78xx_init_ltm()
2669 } else if (lan78xx_read_otp(dev, 0x3F, 2, temp) == 0) { in lan78xx_init_ltm()
2670 if (temp[0] == 24) { in lan78xx_init_ltm()
2675 if (ret < 0) in lan78xx_init_ltm()
2681 lan78xx_write_reg(dev, LTM_BELT_IDLE0, regs[0]); in lan78xx_init_ltm()
2691 int result = 0; in lan78xx_urb_config_init()
2743 if (ret < 0) in lan78xx_stop_hw()
2750 if (ret < 0) in lan78xx_stop_hw()
2757 if (ret < 0) in lan78xx_stop_hw()
2767 ret = stopped ? 0 : -ETIME; in lan78xx_stop_hw()
2786 if (ret < 0) in lan78xx_start_tx_path()
2792 if (ret < 0) in lan78xx_start_tx_path()
2795 return 0; in lan78xx_start_tx_path()
2807 if (ret < 0) in lan78xx_stop_tx_path()
2813 if (ret < 0) in lan78xx_stop_tx_path()
2816 return 0; in lan78xx_stop_tx_path()
2836 if (ret < 0) in lan78xx_start_rx_path()
2842 if (ret < 0) in lan78xx_start_rx_path()
2845 return 0; in lan78xx_start_rx_path()
2857 if (ret < 0) in lan78xx_stop_rx_path()
2863 if (ret < 0) in lan78xx_stop_rx_path()
2866 return 0; in lan78xx_stop_rx_path()
2879 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_reset()
2886 if (ret < 0) in lan78xx_reset()
2892 if (ret < 0) in lan78xx_reset()
2899 if (ret < 0) in lan78xx_reset()
2914 if (ret < 0) in lan78xx_reset()
2922 if (ret < 0) in lan78xx_reset()
2928 if (ret < 0) in lan78xx_reset()
2935 if (ret < 0) in lan78xx_reset()
2939 if (ret < 0) in lan78xx_reset()
2943 if (ret < 0) in lan78xx_reset()
2949 if (ret < 0) in lan78xx_reset()
2953 if (ret < 0) in lan78xx_reset()
2959 if (ret < 0) in lan78xx_reset()
2966 if (ret < 0) in lan78xx_reset()
2972 if (ret < 0) in lan78xx_reset()
2976 if (ret < 0) in lan78xx_reset()
2979 ret = lan78xx_write_reg(dev, FLOW, 0); in lan78xx_reset()
2980 if (ret < 0) in lan78xx_reset()
2983 ret = lan78xx_write_reg(dev, FCT_FLOW, 0); in lan78xx_reset()
2984 if (ret < 0) in lan78xx_reset()
2989 if (ret < 0) in lan78xx_reset()
2995 if (ret < 0) in lan78xx_reset()
3000 if (ret < 0) in lan78xx_reset()
3007 if (ret < 0) in lan78xx_reset()
3013 if (ret < 0) in lan78xx_reset()
3020 if (ret < 0) in lan78xx_reset()
3031 if (ret < 0) in lan78xx_reset()
3039 ret = lan78xx_read_raw_eeprom(dev, 0, 1, &sig); in lan78xx_reset()
3047 if (ret < 0) in lan78xx_reset()
3065 for (i = 0; i < (sizeof(dev->stats.rollover_max) / (sizeof(u32))); i++) in lan78xx_init_stats()
3066 p[i] = 0xFFFFF; in lan78xx_init_stats()
3068 dev->stats.rollover_max.rx_unicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3069 dev->stats.rollover_max.rx_broadcast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3070 dev->stats.rollover_max.rx_multicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3071 dev->stats.rollover_max.eee_rx_lpi_transitions = 0xFFFFFFFF; in lan78xx_init_stats()
3072 dev->stats.rollover_max.eee_rx_lpi_time = 0xFFFFFFFF; in lan78xx_init_stats()
3073 dev->stats.rollover_max.tx_unicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3074 dev->stats.rollover_max.tx_broadcast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3075 dev->stats.rollover_max.tx_multicast_byte_count = 0xFFFFFFFF; in lan78xx_init_stats()
3076 dev->stats.rollover_max.eee_tx_lpi_transitions = 0xFFFFFFFF; in lan78xx_init_stats()
3077 dev->stats.rollover_max.eee_tx_lpi_time = 0xFFFFFFFF; in lan78xx_init_stats()
3090 if (ret < 0) in lan78xx_open()
3102 if (ret < 0) { in lan78xx_open()
3110 if (ret < 0) in lan78xx_open()
3113 if (ret < 0) in lan78xx_open()
3117 if (ret < 0) in lan78xx_open()
3120 if (ret < 0) in lan78xx_open()
3224 return 0; in lan78xx_stop()
3257 if (urb->status == 0) { in tx_complete()
3379 schedule_delayed_work(&dev->wq, 0); in lan78xx_start_xmit()
3414 dev->data[0] = (unsigned long)kzalloc(sizeof(*pdata), GFP_KERNEL); in lan78xx_bind()
3416 pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_bind()
3429 for (i = 0; i < DP_SEL_VHF_VLAN_LEN; i++) in lan78xx_bind()
3430 pdata->vlan_table[i] = 0; in lan78xx_bind()
3434 dev->net->features = 0; in lan78xx_bind()
3454 if (ret < 0) { in lan78xx_bind()
3492 struct lan78xx_priv *pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_unbind()
3504 dev->data[0] = 0; in lan78xx_unbind()
3533 (rx_cmd_b & 0xffff)); in lan78xx_rx_vlan_offload()
3543 netif_dbg(dev, rx_status, dev->net, "< rx, len %zu, type 0x%x\n", in lan78xx_skb_return()
3545 memset(skb->cb, 0, sizeof(struct skb_data)); in lan78xx_skb_return()
3557 return 0; in lan78xx_rx()
3562 while (skb->len > 0) { in lan78xx_rx()
3584 "size err rx_cmd_a=0x%08x\n", in lan78xx_rx()
3586 return 0; in lan78xx_rx()
3591 "Error rx_cmd_a=0x%08x", rx_cmd_a); in lan78xx_rx()
3598 "size err rx_cmd_a=0x%08x\n", in lan78xx_rx()
3600 return 0; in lan78xx_rx()
3607 return 0; in lan78xx_rx()
3666 case 0: in rx_complete()
3714 int ret = 0; in rx_submit()
3727 case 0: in rx_submit()
3767 if (rx_submit(dev, rx_buf, GFP_ATOMIC) != 0) in lan78xx_rx_urb_submit_all()
3779 rx_buf->len = 0; in lan78xx_rx_urb_resubmit()
3780 rx_buf->data_len = 0; in lan78xx_rx_urb_resubmit()
3795 tx_cmd_b = 0; in lan78xx_fill_tx_cmd_words()
3819 u32 urb_len = 0; in lan78xx_tx_buf_fill()
3821 entry->num_of_packet = 0; in lan78xx_tx_buf_fill()
3822 entry->length = 0; in lan78xx_tx_buf_fill()
3854 if (skb_copy_bits(skb, 0, tx_data, len) < 0) { in lan78xx_tx_buf_fill()
3912 if (ret < 0) { in lan78xx_tx_bh()
3921 if (tx_buf->len % dev->maxpacket == 0) { in lan78xx_tx_bh()
3939 case 0: in lan78xx_tx_bh()
3969 } while (ret == 0); in lan78xx_tx_bh()
3978 int work_done = 0; in lan78xx_bh()
4057 napi_complete_done(napi, 0); in lan78xx_poll()
4058 return 0; in lan78xx_poll()
4102 if (usb_autopm_get_interface(dev->intf) < 0) in lan78xx_delayedwork()
4109 if (status < 0 && in lan78xx_delayedwork()
4126 if (status < 0 && in lan78xx_delayedwork()
4140 int ret = 0; in lan78xx_delayedwork()
4143 if (lan78xx_link_reset(dev) < 0) { in lan78xx_delayedwork()
4170 case 0: in intr_complete()
4196 memset(urb->transfer_buffer, 0, urb->transfer_buffer_length); in intr_complete()
4200 case 0: in intr_complete()
4240 phy_unregister_fixup_for_uid(PHY_KSZ9031RNX, 0xfffffff0); in lan78xx_disconnect()
4241 phy_unregister_fixup_for_uid(PHY_LAN8835, 0xfffffff0); in lan78xx_disconnect()
4349 if (ret < 0) in lan78xx_probe()
4353 if (ret < 0) in lan78xx_probe()
4357 if (ret < 0) in lan78xx_probe()
4375 timer_setup(&dev->stat_monitor, lan78xx_stat_monitor, 0); in lan78xx_probe()
4408 if (ret < 0) in lan78xx_probe()
4419 dev->urb_intr = usb_alloc_urb(0, GFP_KERNEL); in lan78xx_probe()
4433 if (dev->maxpacket == 0) { in lan78xx_probe()
4442 if (ret < 0) in lan78xx_probe()
4446 if (ret != 0) { in lan78xx_probe()
4461 return 0; in lan78xx_probe()
4486 const u16 crc16poly = 0x8005; in lan78xx_wakeframe_crc16()
4491 crc = 0xFFFF; in lan78xx_wakeframe_crc16()
4492 for (i = 0; i < len; i++) { in lan78xx_wakeframe_crc16()
4494 for (bit = 0; bit < 8; bit++) { in lan78xx_wakeframe_crc16()
4500 crc |= (u16)0x0001U; in lan78xx_wakeframe_crc16()
4515 if (ret < 0) in lan78xx_set_auto_suspend()
4519 if (ret < 0) in lan78xx_set_auto_suspend()
4524 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_set_auto_suspend()
4525 if (ret < 0) in lan78xx_set_auto_suspend()
4527 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_set_auto_suspend()
4528 if (ret < 0) in lan78xx_set_auto_suspend()
4530 ret = lan78xx_write_reg(dev, WK_SRC, 0xFFF1FF1FUL); in lan78xx_set_auto_suspend()
4531 if (ret < 0) in lan78xx_set_auto_suspend()
4537 if (ret < 0) in lan78xx_set_auto_suspend()
4544 if (ret < 0) in lan78xx_set_auto_suspend()
4548 if (ret < 0) in lan78xx_set_auto_suspend()
4559 if (ret < 0) in lan78xx_set_auto_suspend()
4563 if (ret < 0) in lan78xx_set_auto_suspend()
4569 if (ret < 0) in lan78xx_set_auto_suspend()
4579 const u8 ipv4_multicast[3] = { 0x01, 0x00, 0x5E }; in lan78xx_set_suspend()
4580 const u8 ipv6_multicast[3] = { 0x33, 0x33 }; in lan78xx_set_suspend()
4581 const u8 arp_type[2] = { 0x08, 0x06 }; in lan78xx_set_suspend()
4590 if (ret < 0) in lan78xx_set_suspend()
4593 if (ret < 0) in lan78xx_set_suspend()
4596 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_set_suspend()
4597 if (ret < 0) in lan78xx_set_suspend()
4599 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_set_suspend()
4600 if (ret < 0) in lan78xx_set_suspend()
4602 ret = lan78xx_write_reg(dev, WK_SRC, 0xFFF1FF1FUL); in lan78xx_set_suspend()
4603 if (ret < 0) in lan78xx_set_suspend()
4606 temp_wucsr = 0; in lan78xx_set_suspend()
4608 temp_pmt_ctl = 0; in lan78xx_set_suspend()
4611 if (ret < 0) in lan78xx_set_suspend()
4617 for (mask_index = 0; mask_index < NUM_OF_WUF_CFG; mask_index++) { in lan78xx_set_suspend()
4618 ret = lan78xx_write_reg(dev, WUF_CFG(mask_index), 0); in lan78xx_set_suspend()
4619 if (ret < 0) in lan78xx_set_suspend()
4623 mask_index = 0; in lan78xx_set_suspend()
4653 (0 << WUF_CFGX_OFFSET_SHIFT_) | in lan78xx_set_suspend()
4655 if (ret < 0) in lan78xx_set_suspend()
4659 if (ret < 0) in lan78xx_set_suspend()
4661 ret = lan78xx_write_reg(dev, WUF_MASK1(mask_index), 0); in lan78xx_set_suspend()
4662 if (ret < 0) in lan78xx_set_suspend()
4664 ret = lan78xx_write_reg(dev, WUF_MASK2(mask_index), 0); in lan78xx_set_suspend()
4665 if (ret < 0) in lan78xx_set_suspend()
4667 ret = lan78xx_write_reg(dev, WUF_MASK3(mask_index), 0); in lan78xx_set_suspend()
4668 if (ret < 0) in lan78xx_set_suspend()
4678 (0 << WUF_CFGX_OFFSET_SHIFT_) | in lan78xx_set_suspend()
4680 if (ret < 0) in lan78xx_set_suspend()
4684 if (ret < 0) in lan78xx_set_suspend()
4686 ret = lan78xx_write_reg(dev, WUF_MASK1(mask_index), 0); in lan78xx_set_suspend()
4687 if (ret < 0) in lan78xx_set_suspend()
4689 ret = lan78xx_write_reg(dev, WUF_MASK2(mask_index), 0); in lan78xx_set_suspend()
4690 if (ret < 0) in lan78xx_set_suspend()
4692 ret = lan78xx_write_reg(dev, WUF_MASK3(mask_index), 0); in lan78xx_set_suspend()
4693 if (ret < 0) in lan78xx_set_suspend()
4713 * for packettype (offset 12,13) = ARP (0x0806) in lan78xx_set_suspend()
4719 (0 << WUF_CFGX_OFFSET_SHIFT_) | in lan78xx_set_suspend()
4721 if (ret < 0) in lan78xx_set_suspend()
4724 ret = lan78xx_write_reg(dev, WUF_MASK0(mask_index), 0x3000); in lan78xx_set_suspend()
4725 if (ret < 0) in lan78xx_set_suspend()
4727 ret = lan78xx_write_reg(dev, WUF_MASK1(mask_index), 0); in lan78xx_set_suspend()
4728 if (ret < 0) in lan78xx_set_suspend()
4730 ret = lan78xx_write_reg(dev, WUF_MASK2(mask_index), 0); in lan78xx_set_suspend()
4731 if (ret < 0) in lan78xx_set_suspend()
4733 ret = lan78xx_write_reg(dev, WUF_MASK3(mask_index), 0); in lan78xx_set_suspend()
4734 if (ret < 0) in lan78xx_set_suspend()
4745 if (ret < 0) in lan78xx_set_suspend()
4755 if (ret < 0) in lan78xx_set_suspend()
4760 if (ret < 0) in lan78xx_set_suspend()
4766 if (ret < 0) in lan78xx_set_suspend()
4803 if (ret < 0) in lan78xx_suspend()
4807 if (ret < 0) in lan78xx_suspend()
4812 if (ret < 0) in lan78xx_suspend()
4827 if (ret < 0) in lan78xx_suspend()
4832 pdata = (struct lan78xx_priv *)(dev->data[0]); in lan78xx_suspend()
4835 if (ret < 0) in lan78xx_suspend()
4846 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_suspend()
4847 if (ret < 0) in lan78xx_suspend()
4849 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_suspend()
4850 if (ret < 0) in lan78xx_suspend()
4854 if (ret < 0) in lan78xx_suspend()
4863 if (ret < 0) in lan78xx_suspend()
4867 if (ret < 0) in lan78xx_suspend()
4873 if (ret < 0) in lan78xx_suspend()
4877 ret = 0; in lan78xx_suspend()
4902 if (ret == 0) { in lan78xx_submit_deferred_urbs()
4936 if (ret < 0) in lan78xx_resume()
4942 if (ret < 0) { in lan78xx_resume()
4968 if (ret < 0) in lan78xx_resume()
4983 ret = lan78xx_write_reg(dev, WUCSR2, 0); in lan78xx_resume()
4984 if (ret < 0) in lan78xx_resume()
4986 ret = lan78xx_write_reg(dev, WUCSR, 0); in lan78xx_resume()
4987 if (ret < 0) in lan78xx_resume()
4989 ret = lan78xx_write_reg(dev, WK_SRC, 0xFFF1FF1FUL); in lan78xx_resume()
4990 if (ret < 0) in lan78xx_resume()
4997 if (ret < 0) in lan78xx_resume()
5007 if (ret < 0) in lan78xx_resume()
5010 ret = 0; in lan78xx_resume()
5025 if (ret < 0) in lan78xx_reset_resume()