Lines Matching +full:0 +full:x1032
86 * hardware will not write to a size 0 descriptor and mark the previous
170 static int eeprom_bad_csum_allow = 0;
171 static int use_io = 0;
172 module_param(debug, int, 0);
175 MODULE_PARM_DESC(debug, "Debug level (0=none,...,16=all)");
181 PCI_CLASS_NETWORK_ETHERNET << 8, 0xFFFF00, ich }
183 INTEL_8255X_ETHERNET_DEVICE(0x1029, 0),
184 INTEL_8255X_ETHERNET_DEVICE(0x1030, 0),
185 INTEL_8255X_ETHERNET_DEVICE(0x1031, 3),
186 INTEL_8255X_ETHERNET_DEVICE(0x1032, 3),
187 INTEL_8255X_ETHERNET_DEVICE(0x1033, 3),
188 INTEL_8255X_ETHERNET_DEVICE(0x1034, 3),
189 INTEL_8255X_ETHERNET_DEVICE(0x1038, 3),
190 INTEL_8255X_ETHERNET_DEVICE(0x1039, 4),
191 INTEL_8255X_ETHERNET_DEVICE(0x103A, 4),
192 INTEL_8255X_ETHERNET_DEVICE(0x103B, 4),
193 INTEL_8255X_ETHERNET_DEVICE(0x103C, 4),
194 INTEL_8255X_ETHERNET_DEVICE(0x103D, 4),
195 INTEL_8255X_ETHERNET_DEVICE(0x103E, 4),
196 INTEL_8255X_ETHERNET_DEVICE(0x1050, 5),
197 INTEL_8255X_ETHERNET_DEVICE(0x1051, 5),
198 INTEL_8255X_ETHERNET_DEVICE(0x1052, 5),
199 INTEL_8255X_ETHERNET_DEVICE(0x1053, 5),
200 INTEL_8255X_ETHERNET_DEVICE(0x1054, 5),
201 INTEL_8255X_ETHERNET_DEVICE(0x1055, 5),
202 INTEL_8255X_ETHERNET_DEVICE(0x1056, 5),
203 INTEL_8255X_ETHERNET_DEVICE(0x1057, 5),
204 INTEL_8255X_ETHERNET_DEVICE(0x1059, 0),
205 INTEL_8255X_ETHERNET_DEVICE(0x1064, 6),
206 INTEL_8255X_ETHERNET_DEVICE(0x1065, 6),
207 INTEL_8255X_ETHERNET_DEVICE(0x1066, 6),
208 INTEL_8255X_ETHERNET_DEVICE(0x1067, 6),
209 INTEL_8255X_ETHERNET_DEVICE(0x1068, 6),
210 INTEL_8255X_ETHERNET_DEVICE(0x1069, 6),
211 INTEL_8255X_ETHERNET_DEVICE(0x106A, 6),
212 INTEL_8255X_ETHERNET_DEVICE(0x106B, 6),
213 INTEL_8255X_ETHERNET_DEVICE(0x1091, 7),
214 INTEL_8255X_ETHERNET_DEVICE(0x1092, 7),
215 INTEL_8255X_ETHERNET_DEVICE(0x1093, 7),
216 INTEL_8255X_ETHERNET_DEVICE(0x1094, 7),
217 INTEL_8255X_ETHERNET_DEVICE(0x1095, 7),
218 INTEL_8255X_ETHERNET_DEVICE(0x10fe, 7),
219 INTEL_8255X_ETHERNET_DEVICE(0x1209, 0),
220 INTEL_8255X_ETHERNET_DEVICE(0x1229, 0),
221 INTEL_8255X_ETHERNET_DEVICE(0x2449, 2),
222 INTEL_8255X_ETHERNET_DEVICE(0x2459, 2),
223 INTEL_8255X_ETHERNET_DEVICE(0x245D, 2),
224 INTEL_8255X_ETHERNET_DEVICE(0x27DC, 7),
225 { 0, }
230 mac_82557_D100_A = 0,
242 mac_unknown = 0xFF,
246 phy_100a = 0x000003E0,
247 phy_100c = 0x035002A8,
248 phy_82555_tx = 0x015002A8,
249 phy_nsc_tx = 0x5C002000,
250 phy_82562_et = 0x033002A8,
251 phy_82562_em = 0x032002A8,
252 phy_82562_ek = 0x031002A8,
253 phy_82562_eh = 0x017002A8,
254 phy_82552_v = 0xd061004d,
255 phy_unknown = 0xFFFFFFFF,
276 rus_no_res = 0x08,
277 rus_ready = 0x10,
278 rus_mask = 0x3C,
282 RU_SUSPENDED = 0,
288 stat_ack_not_ours = 0x00,
289 stat_ack_sw_gen = 0x04,
290 stat_ack_rnr = 0x10,
291 stat_ack_cu_idle = 0x20,
292 stat_ack_frame_rx = 0x40,
293 stat_ack_cu_cmd_done = 0x80,
294 stat_ack_not_present = 0xFF,
300 irq_mask_none = 0x00,
301 irq_mask_all = 0x01,
302 irq_sw_gen = 0x02,
306 cuc_nop = 0x00,
307 ruc_start = 0x01,
308 ruc_load_base = 0x06,
309 cuc_start = 0x10,
310 cuc_resume = 0x20,
311 cuc_dump_addr = 0x40,
312 cuc_dump_stats = 0x50,
313 cuc_load_base = 0x60,
314 cuc_dump_reset = 0x70,
318 cuc_dump_complete = 0x0000A005,
319 cuc_dump_reset_complete = 0x0000A007,
323 software_reset = 0x0000,
324 selftest = 0x0001,
325 selective_reset = 0x0002,
329 eesk = 0x01,
330 eecs = 0x02,
331 eedi = 0x04,
332 eedo = 0x08,
336 mdi_write = 0x04000000,
337 mdi_read = 0x08000000,
338 mdi_ready = 0x10000000,
342 op_write = 0x05,
343 op_read = 0x06,
344 op_ewds = 0x10,
345 op_ewen = 0x13,
349 eeprom_cnfg_mdix = 0x03,
350 eeprom_phy_iface = 0x06,
351 eeprom_id = 0x0A,
352 eeprom_config_asf = 0x0D,
353 eeprom_smbus_addr = 0x90,
357 eeprom_mdix_enabled = 0x0080,
361 NoSuchPhy = 0,
373 eeprom_id_wol = 0x0020,
377 eeprom_asf = 0x8000,
378 eeprom_gcl = 0x4000,
382 cb_complete = 0x8000,
383 cb_ok = 0x2000,
388 * @cb_tx_nc: 0: controller does CRC (normal), 1: CRC from skb memory
391 cb_nop = 0x0000,
392 cb_iaaddr = 0x0001,
393 cb_config = 0x0002,
394 cb_multi = 0x0003,
395 cb_tx = 0x0004,
396 cb_ucode = 0x0005,
397 cb_dump = 0x0006,
398 cb_tx_sf = 0x0008,
399 cb_tx_nc = 0x0010,
400 cb_cid = 0x1f00,
401 cb_i = 0x2000,
402 cb_s = 0x4000,
403 cb_el = 0x8000,
427 /*0*/ u8 X(byte_count:6, pad0:2);
501 lb_none = 0, lb_mac = 1, lb_phy = 3,
563 ich = (1 << 0),
654 nic->mem->selftest.signature = 0; in e100_self_test()
655 nic->mem->selftest.result = 0xFFFFFFFF; in e100_self_test()
666 if (nic->mem->selftest.result != 0) { in e100_self_test()
668 "Self-test failed: result=0x%08X\n", in e100_self_test()
672 if (nic->mem->selftest.signature == 0) { in e100_self_test()
677 return 0; in e100_self_test()
687 cmd_addr_data[0] = op_ewen << (addr_len - 2); in e100_eeprom_write()
693 for (j = 0; j < 3; j++) { in e100_eeprom_write()
699 for (i = 31; i >= 0; i--) { in e100_eeprom_write()
712 iowrite8(0, &nic->csr->eeprom_ctrl_lo); in e100_eeprom_write()
721 u16 data = 0; in e100_eeprom_read()
732 for (i = 31; i >= 0; i--) { in e100_eeprom_read()
748 data = (data << 1) | (ctrl & eedo ? 1 : 0); in e100_eeprom_read()
752 iowrite8(0, &nic->csr->eeprom_ctrl_lo); in e100_eeprom_read()
761 u16 addr, addr_len = 8, checksum = 0; in e100_eeprom_load()
764 e100_eeprom_read(nic, &addr_len, 0); in e100_eeprom_load()
767 for (addr = 0; addr < nic->eeprom_wc; addr++) { in e100_eeprom_load()
774 * the sum of words should be 0xBABA */ in e100_eeprom_load()
775 if (cpu_to_le16(0xBABA - checksum) != nic->eeprom[nic->eeprom_wc - 1]) { in e100_eeprom_load()
781 return 0; in e100_eeprom_load()
787 u16 addr, addr_len = 8, checksum = 0; in e100_eeprom_save()
790 e100_eeprom_read(nic, &addr_len, 0); in e100_eeprom_save()
800 * the sum of words should be 0xBABA */ in e100_eeprom_save()
801 for (addr = 0; addr < nic->eeprom_wc - 1; addr++) in e100_eeprom_save()
803 nic->eeprom[nic->eeprom_wc - 1] = cpu_to_le16(0xBABA - checksum); in e100_eeprom_save()
807 return 0; in e100_eeprom_save()
816 int err = 0; in e100_exec_cmd()
821 for (i = 0; i < E100_WAIT_SCB_TIMEOUT; i++) { in e100_exec_cmd()
904 return nic->mdio_ctrl(nic, addr, mdi_read, reg, 0); in mdio_read()
917 u32 data_out = 0; in mdio_ctrl_hw()
937 return 0; /* No way to indicate timeout error */ in mdio_ctrl_hw()
941 for (i = 0; i < 100; i++) { in mdio_ctrl_hw()
948 "%s:addr=%d, reg=%d, data_in=0x%04X, data_out=0x%04X\n", in mdio_ctrl_hw()
1011 "%s:addr=%d, reg=%d, data=0x%04X: unimplemented emulation!\n", in mdio_ctrl_phy_mii_emulated()
1014 return 0xFFFF; in mdio_ctrl_phy_mii_emulated()
1020 "%s:addr=%d, reg=%d, data=0x%04X: unimplemented emulation!\n", in mdio_ctrl_phy_mii_emulated()
1023 return 0xFFFF; in mdio_ctrl_phy_mii_emulated()
1049 nic->tx_threshold = 0xE0; in e100_get_defaults()
1056 nic->blank_rfd.command = 0; in e100_get_defaults()
1057 nic->blank_rfd.rbd = cpu_to_le32(0xFFFFFFFF); in e100_get_defaults()
1061 nic->mii.phy_id_mask = 0x1F; in e100_get_defaults()
1062 nic->mii.reg_num_mask = 0x1F; in e100_get_defaults()
1076 memset(config, 0, sizeof(struct config)); in e100_configure()
1078 config->byte_count = 0x16; /* bytes in this struct */ in e100_configure()
1079 config->rx_fifo_limit = 0x8; /* bytes in FIFO before DMA */ in e100_configure()
1080 config->direct_rx_dma = 0x1; /* reserved */ in e100_configure()
1081 config->standard_tcb = 0x1; /* 1=standard, 0=extended */ in e100_configure()
1082 config->standard_stat_counter = 0x1; /* 1=standard, 0=extended */ in e100_configure()
1083 config->rx_discard_short_frames = 0x1; /* 1=discard, 0=pass */ in e100_configure()
1084 config->tx_underrun_retry = 0x3; /* # of underrun retries */ in e100_configure()
1086 config->mii_mode = 1; /* 1=MII mode, 0=i82503 mode */ in e100_configure()
1087 config->pad10 = 0x6; in e100_configure()
1088 config->no_source_addr_insertion = 0x1; /* 1=no, 0=yes */ in e100_configure()
1089 config->preamble_length = 0x2; /* 0=1, 1=3, 2=7, 3=15 bytes */ in e100_configure()
1090 config->ifs = 0x6; /* x16 = inter frame spacing */ in e100_configure()
1091 config->ip_addr_hi = 0xF2; /* ARP IP filter - not used */ in e100_configure()
1092 config->pad15_1 = 0x1; in e100_configure()
1093 config->pad15_2 = 0x1; in e100_configure()
1094 config->crs_or_cdt = 0x0; /* 0=CRS only, 1=CRS or CDT */ in e100_configure()
1095 config->fc_delay_hi = 0x40; /* time delay for fc frame */ in e100_configure()
1096 config->tx_padding = 0x1; /* 1=pad short frames */ in e100_configure()
1097 config->fc_priority_threshold = 0x7; /* 7=priority fc disabled */ in e100_configure()
1098 config->pad18 = 0x1; in e100_configure()
1099 config->full_duplex_pin = 0x1; /* 1=examine FDX# pin */ in e100_configure()
1100 config->pad20_1 = 0x1F; in e100_configure()
1101 config->fc_priority_location = 0x1; /* 1=byte#31, 0=byte#19 */ in e100_configure()
1102 config->pad21_1 = 0x5; in e100_configure()
1108 config->full_duplex_force = 0x1; /* 1=force, 0=auto */ in e100_configure()
1111 config->rx_save_bad_frames = 0x1; /* 1=save, 0=discard */ in e100_configure()
1112 config->rx_discard_short_frames = 0x0; /* 1=discard, 0=save */ in e100_configure()
1113 config->promiscuous_mode = 0x1; /* 1=on, 0=off */ in e100_configure()
1117 config->rx_crc_transfer = 0x1; /* 1=save, 0=discard */ in e100_configure()
1120 config->multicast_all = 0x1; /* 1=accept, 0=no */ in e100_configure()
1124 config->magic_packet_disable = 0x1; /* 1=off, 0=on */ in e100_configure()
1127 config->fc_disable = 0x1; /* 1=Tx fc off, 0=Tx fc on */ in e100_configure()
1128 config->mwi_enable = 0x1; /* 1=enable, 0=disable */ in e100_configure()
1129 config->standard_tcb = 0x0; /* 1=standard, 0=extended */ in e100_configure()
1130 config->rx_long_ok = 0x1; /* 1=VLANs ok, 0=standard */ in e100_configure()
1132 config->tno_intr = 0x1; /* TCO stats enable */ in e100_configure()
1135 config->byte_count = 0x20; /* extended bytes */ in e100_configure()
1136 config->rx_d102_mode = 0x1; /* GMRC for TCO */ in e100_configure()
1139 config->standard_stat_counter = 0x0; in e100_configure()
1144 config->rx_save_overruns = 0x1; /* 1=save, 0=discard */ in e100_configure()
1145 config->rx_save_bad_frames = 0x1; /* 1=save, 0=discard */ in e100_configure()
1146 config->rx_discard_short_frames = 0x0; /* 1=discard, 0=save */ in e100_configure()
1150 c + 0); in e100_configure()
1155 return 0; in e100_configure()
1170 * The current default is 0x600 or 1536. Experiments show that
1171 * the value should probably stay within the 0x200 - 0x1000.
1196 * The current default is 0xFF80, which masks out the lower 7 bits.
1202 * parameters are used). Likewise, a value of 0xF800 (2047) would
1209 * BUNDLESMALL 0
1215 #define INTDELAY (u16)1536 /* 0x600 */
1223 int err = 0; in e100_request_firmware()
1294 "\"%s\" has bogus offset values (0x%x,0x%x,0x%x)\n", in e100_request_firmware()
1325 cb->u.ucode[timer] &= cpu_to_le32(0xFFFF0000); in e100_setup_ucode()
1327 cb->u.ucode[bundle] &= cpu_to_le32(0xFFFF0000); in e100_setup_ucode()
1329 cb->u.ucode[min_size] &= cpu_to_le32(0xFFFF0000); in e100_setup_ucode()
1330 cb->u.ucode[min_size] |= cpu_to_le32((BUNDLESMALL) ? 0xFFFF : 0xFF80); in e100_setup_ucode()
1333 return 0; in e100_setup_ucode()
1339 int err = 0, counter = 50; in e100_load_ucode_wait()
1365 iowrite8(~0, &nic->csr->scb.stat_ack); in e100_load_ucode_wait()
1381 return 0; in e100_setup_iaaddr()
1389 return 0; in e100_dump()
1397 phy_type = (le16_to_cpu(nic->eeprom[eeprom_phy_iface]) >> 8) & 0x0f; in e100_phy_check_without_mii()
1413 nic->mii.phy_id = 0; /* is this ok for an MII-less PHY? */ in e100_phy_check_without_mii()
1422 without_mii = 0; in e100_phy_check_without_mii()
1428 #define NCONFIG_AUTO_SWITCH 0x0080
1430 #define NSC_CONG_ENABLE 0x0100
1431 #define NSC_CONG_TXREADY 0x0400
1438 /* Discover phy addr by searching addrs in order {1,0,2,..., 31} */ in e100_phy_init()
1439 for (addr = 0; addr < 32; addr++) { in e100_phy_init()
1440 nic->mii.phy_id = (addr == 0) ? 1 : (addr == 1) ? 0 : addr; in e100_phy_init()
1444 if (!((bmcr == 0xFFFF) || ((stat == 0) && (bmcr == 0)))) in e100_phy_init()
1453 return 0; /* simply return and hope for the best */ in e100_phy_init()
1469 "phy ID = 0x%08X\n", nic->phy); in e100_phy_init()
1472 for (addr = 0; addr < 32; addr++) { in e100_phy_init()
1491 #define NCS_PHY_MODEL_MASK 0xFFF0FFFF in e100_phy_init()
1515 (mdio_read(netdev, nic->mii.phy_id, MII_TPISTATUS) & 0x8000) && in e100_phy_init()
1519 nic->mii.force_media ? 0 : NCONFIG_AUTO_SWITCH); in e100_phy_init()
1522 return 0; in e100_phy_init()
1527 int err = 0; in e100_hw_init()
1537 if ((err = e100_exec_cmd(nic, cuc_load_base, 0))) in e100_hw_init()
1539 if ((err = e100_exec_cmd(nic, ruc_load_base, 0))) in e100_hw_init()
1550 if ((err = e100_exec_cmd(nic, cuc_dump_reset, 0))) in e100_hw_init()
1555 return 0; in e100_hw_init()
1566 i = 0; in e100_multi()
1573 return 0; in e100_multi()
1581 "mc_count=%d, flags=0x%04X\n", in e100_set_multicast_list()
1613 *complete = 0; in e100_update_stats()
1656 if (e100_exec_cmd(nic, cuc_dump_reset, 0)) in e100_update_stats()
1759 cb->u.tcb.tcb_byte_count = 0; in e100_xmit_prepare()
1765 return 0; in e100_xmit_prepare()
1778 if (e100_exec_cmd(nic, cuc_nop, 0)) in e100_xmit_frame()
1808 int tx_cleaned = 0; in e100_tx_clean()
1818 "cb[%d]->status = 0x%04X\n", in e100_tx_clean()
1834 cb->status = 0; in e100_tx_clean()
1864 nic->cbs_avail = 0; in e100_clean_cbs()
1878 nic->cbs_avail = 0; in e100_alloc_cbs()
1885 for (cb = nic->cbs, i = 0; i < count; cb++, i++) { in e100_alloc_cbs()
1887 cb->prev = (i == 0) ? nic->cbs + count - 1 : cb - 1; in e100_alloc_cbs()
1897 return 0; in e100_alloc_cbs()
1929 rx->dma_addr = 0; in e100_rx_alloc_skb()
1945 return 0; in e100_rx_alloc_skb()
1955 u16 fcs_pad = 0; in e100_rx_indicate()
1966 "status=0x%04X\n", rfd_status); in e100_rx_indicate()
1990 actual_size = le16_to_cpu(rfd->actual_size) & 0x3FFF; in e100_rx_indicate()
2044 return 0; in e100_rx_indicate()
2051 int restart_required = 0, err = 0; in e100_rx_clean()
2087 * We set the size to 0 to prevent hardware from touching this in e100_rx_clean()
2090 * and size of 0, it will RNR interrupt, the RUS will go into in e100_rx_clean()
2095 new_before_last_rfd->size = 0; in e100_rx_clean()
2135 for (rx = nic->rxs, i = 0; i < count; rx++, i++) { in e100_rx_clean_list()
2162 for (rx = nic->rxs, i = 0; i < count; rx++, i++) { in e100_rx_alloc_list()
2164 rx->prev = (i == 0) ? nic->rxs + count - 1 : rx - 1; in e100_rx_alloc_list()
2173 * We set the size to 0 to prevent hardware from touching this buffer. in e100_rx_alloc_list()
2175 * of 0, it will RNR interrupt, the RU will go into the No Resources in e100_rx_alloc_list()
2180 before_last->size = 0; in e100_rx_alloc_list()
2187 return 0; in e100_rx_alloc_list()
2197 "stat_ack = 0x%02X\n", stat_ack); in e100_intr()
2221 unsigned int work_done = 0; in e100_poll()
2260 return 0; in e100_set_mac_address()
2266 return (nic->pdev->device >= 0x1050) && (nic->pdev->device <= 0x1057) && in e100_asf()
2269 ((le16_to_cpu(nic->eeprom[eeprom_smbus_addr]) & 0xFF) != 0xFE); in e100_asf()
2293 return 0; in e100_up()
2332 "scb.status=0x%02X\n", ioread8(&nic->csr->scb.status)); in e100_tx_timeout_task()
2376 memset(skb->data, 0xFF, ETH_DATA_LEN); in e100_loopback_test()
2389 mdio_write(nic->netdev, nic->mii.phy_id, MII_BMCR, 0); in e100_loopback_test()
2398 #define MII_LED_CONTROL 0x1B
2399 #define E100_82552_LED_OVERRIDE 0x19
2400 #define E100_82552_LED_ON 0x000F /* LEDTX and LED_RX both on */
2401 #define E100_82552_LED_OFF 0x000A /* LEDTX and LED_RX both off */
2410 return 0; in e100_get_link_ksettings()
2435 #define E100_PHY_REGS 0x1D
2454 buff[0] = ioread8(&nic->csr->scb.cmd_hi) << 24 | in e100_get_regs()
2457 for (i = 0; i < E100_PHY_REGS; i++) in e100_get_regs()
2464 memset(nic->mem->dump_buf, 0, sizeof(nic->mem->dump_buf)); in e100_get_regs()
2474 wol->supported = (nic->mac >= mac_82558_D101_A4) ? WAKE_MAGIC : 0; in e100_get_wol()
2475 wol->wolopts = (nic->flags & wol_magic) ? WAKE_MAGIC : 0; in e100_get_wol()
2495 return 0; in e100_set_wol()
2528 #define E100_EEPROM_MAGIC 0x1234
2537 return 0; in e100_get_eeprom()
2592 return 0; in e100_set_ringparam()
2611 memset(data, 0, E100_TEST_LEN * sizeof(u64)); in e100_diag_test()
2612 data[0] = !mii_link_ok(&nic->mii); in e100_diag_test()
2631 for (i = 0; i < E100_TEST_LEN; i++) in e100_diag_test()
2632 test->flags |= data[i] ? ETH_TEST_FL_FAILED : 0; in e100_diag_test()
2642 led_on = 0x01, in e100_set_phys_id()
2643 led_off = 0x04, in e100_set_phys_id()
2644 led_on_559 = 0x05, in e100_set_phys_id()
2645 led_on_557 = 0x07, in e100_set_phys_id()
2649 u16 leds = 0; in e100_set_phys_id()
2669 return 0; in e100_set_phys_id()
2706 for (i = 0; i < E100_NET_STATS_LEN; i++) in e100_get_ethtool_stats()
2769 return nic->mem ? 0 : -ENOMEM; in e100_alloc()
2784 int err = 0; in e100_open()
2795 return 0; in e100_close()
2805 return 0; in e100_set_features()
2858 if (!(pci_resource_flags(pdev, 0) & IORESOURCE_MEM)) { in e100_probe()
2879 nic->csr = pci_iomap(pdev, (use_io ? 1 : 0), sizeof(struct csr)); in e100_probe()
2909 timer_setup(&nic->watchdog, e100_watchdog, 0); in e100_probe()
2953 0); in e100_probe()
2960 "addr 0x%llx, irq %d, MAC addr %pM\n", in e100_probe()
2961 (unsigned long long)pci_resource_start(pdev, use_io ? 1 : 0), in e100_probe()
2964 return 0; in e100_probe()
2997 #define E100_82552_SMARTSPEED 0x14 /* SmartSpeed Ctrl register */
2998 #define E100_82552_REV_ANEG 0x0200 /* Reverse auto-negotiation */
2999 #define E100_82552_ANEG_NOW 0x0400 /* Auto-negotiate now */
3036 return 0; in __e100_power_off()
3045 return 0; in e100_suspend()
3076 return 0; in e100_resume()
3129 if (0 != PCI_FUNC(pdev->devfn)) in e100_io_slot_reset()
3150 pci_enable_wake(pdev, PCI_D0, 0); in e100_io_resume()