tag | line | file | source code |
adapter | 332 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 358 | drivers/net/3c505.c | if (!start_receive(dev, &adapter->tx_pcb)) |
adapter | 368 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 369 | drivers/net/3c505.c | if (adapter->dmaing && (jiffies > (adapter->current_dma.start_time + 10))) { |
adapter | 371 | drivers/net/3c505.c | printk("%s: DMA %s timed out, %d bytes left\n", dev->name, adapter->current_dma.direction ? "download" : "upload", get_dma_residue(dev->dma)); |
adapter | 374 | drivers/net/3c505.c | adapter->dmaing = 0; |
adapter | 375 | drivers/net/3c505.c | adapter->busy = 0; |
adapter | 377 | drivers/net/3c505.c | if (adapter->rx_active) |
adapter | 378 | drivers/net/3c505.c | adapter->rx_active--; |
adapter | 412 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 413 | drivers/net/3c505.c | while (adapter->rx_active < ELP_RX_PCBS && dev->start) { |
adapter | 414 | drivers/net/3c505.c | if (!start_receive(dev, &adapter->itx_pcb)) |
adapter | 447 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 451 | drivers/net/3c505.c | if (adapter->dmaing && adapter->current_dma.direction == 0) |
adapter | 455 | drivers/net/3c505.c | if (set_bit(1, &adapter->send_pcb_semaphore)) { |
adapter | 490 | drivers/net/3c505.c | adapter->send_pcb_semaphore = 0; |
adapter | 507 | drivers/net/3c505.c | adapter->send_pcb_semaphore = 0; |
adapter | 532 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 587 | drivers/net/3c505.c | if (set_bit(0, (void *) &adapter->busy)) { |
adapter | 588 | drivers/net/3c505.c | if (backlog_next(adapter->rx_backlog.in) == adapter->rx_backlog.out) { |
adapter | 612 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 624 | drivers/net/3c505.c | adapter->rx_active++; |
adapter | 640 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 647 | drivers/net/3c505.c | adapter->current_dma.copy_flag = 0; |
adapter | 651 | drivers/net/3c505.c | target = virt_to_bus(adapter->dma_buffer); |
adapter | 656 | drivers/net/3c505.c | target = virt_to_bus(adapter->dma_buffer); |
adapter | 657 | drivers/net/3c505.c | adapter->current_dma.copy_flag = 1; |
adapter | 661 | drivers/net/3c505.c | if (set_bit(0, (void *) &adapter->dmaing)) |
adapter | 662 | drivers/net/3c505.c | printk("%s: rx blocked, DMA in progress, dir %d\n", dev->name, adapter->current_dma.direction); |
adapter | 664 | drivers/net/3c505.c | adapter->current_dma.direction = 0; |
adapter | 665 | drivers/net/3c505.c | adapter->current_dma.length = rlen; |
adapter | 666 | drivers/net/3c505.c | adapter->current_dma.skb = skb; |
adapter | 667 | drivers/net/3c505.c | adapter->current_dma.start_time = jiffies; |
adapter | 681 | drivers/net/3c505.c | if (adapter->rx_active) |
adapter | 682 | drivers/net/3c505.c | adapter->rx_active--; |
adapter | 684 | drivers/net/3c505.c | if (!adapter->busy) |
adapter | 700 | drivers/net/3c505.c | elp_device *adapter; |
adapter | 713 | drivers/net/3c505.c | adapter = (elp_device *) dev->priv; |
adapter | 726 | drivers/net/3c505.c | if (!adapter->dmaing) { |
adapter | 730 | drivers/net/3c505.c | printk("%s: %s DMA complete, status %02x\n", dev->name, adapter->current_dma.direction ? "tx" : "rx", inb_status(dev->base_addr)); |
adapter | 734 | drivers/net/3c505.c | if (adapter->current_dma.direction) { |
adapter | 735 | drivers/net/3c505.c | dev_kfree_skb(adapter->current_dma.skb, FREE_WRITE); |
adapter | 737 | drivers/net/3c505.c | struct sk_buff *skb = adapter->current_dma.skb; |
adapter | 740 | drivers/net/3c505.c | if (adapter->current_dma.copy_flag) { |
adapter | 741 | drivers/net/3c505.c | memcpy(skb_put(skb, adapter->current_dma.length), adapter->dma_buffer, adapter->current_dma.length); |
adapter | 747 | drivers/net/3c505.c | adapter->dmaing = 0; |
adapter | 748 | drivers/net/3c505.c | if (adapter->rx_backlog.in != adapter->rx_backlog.out) { |
adapter | 749 | drivers/net/3c505.c | int t = adapter->rx_backlog.length[adapter->rx_backlog.out]; |
adapter | 750 | drivers/net/3c505.c | adapter->rx_backlog.out = backlog_next(adapter->rx_backlog.out); |
adapter | 755 | drivers/net/3c505.c | adapter->busy = 0; |
adapter | 769 | drivers/net/3c505.c | if (receive_pcb(dev, &adapter->irx_pcb)) { |
adapter | 770 | drivers/net/3c505.c | switch (adapter->irx_pcb.command) { |
adapter | 782 | drivers/net/3c505.c | len = adapter->irx_pcb.data.rcv_resp.pkt_len; |
adapter | 783 | drivers/net/3c505.c | dlen = adapter->irx_pcb.data.rcv_resp.buf_len; |
adapter | 784 | drivers/net/3c505.c | if (adapter->irx_pcb.data.rcv_resp.timeout != 0) { |
adapter | 793 | drivers/net/3c505.c | if (adapter->irx_pcb.command == 0xff) { |
adapter | 796 | drivers/net/3c505.c | adapter->rx_backlog.length[adapter->rx_backlog.in] = dlen; |
adapter | 797 | drivers/net/3c505.c | adapter->rx_backlog.in = backlog_next(adapter->rx_backlog.in); |
adapter | 811 | drivers/net/3c505.c | adapter->got[CMD_CONFIGURE_82586] = 1; |
adapter | 820 | drivers/net/3c505.c | adapter->got[CMD_CONFIGURE_ADAPTER_MEMORY] = 1; |
adapter | 823 | drivers/net/3c505.c | adapter->irx_pcb.data.failed ? "failed" : "succeeded"); |
adapter | 830 | drivers/net/3c505.c | adapter->got[CMD_LOAD_MULTICAST_LIST] = 1; |
adapter | 833 | drivers/net/3c505.c | adapter->irx_pcb.data.failed ? "failed" : "succeeded"); |
adapter | 840 | drivers/net/3c505.c | adapter->got[CMD_SET_STATION_ADDRESS] = 1; |
adapter | 843 | drivers/net/3c505.c | adapter->irx_pcb.data.failed ? "failed" : "succeeded"); |
adapter | 851 | drivers/net/3c505.c | adapter->stats.rx_packets += adapter->irx_pcb.data.netstat.tot_recv; |
adapter | 852 | drivers/net/3c505.c | adapter->stats.tx_packets += adapter->irx_pcb.data.netstat.tot_xmit; |
adapter | 853 | drivers/net/3c505.c | adapter->stats.rx_crc_errors += adapter->irx_pcb.data.netstat.err_CRC; |
adapter | 854 | drivers/net/3c505.c | adapter->stats.rx_frame_errors += adapter->irx_pcb.data.netstat.err_align; |
adapter | 855 | drivers/net/3c505.c | adapter->stats.rx_fifo_errors += adapter->irx_pcb.data.netstat.err_ovrrun; |
adapter | 856 | drivers/net/3c505.c | adapter->stats.rx_over_errors += adapter->irx_pcb.data.netstat.err_res; |
adapter | 857 | drivers/net/3c505.c | adapter->got[CMD_NETWORK_STATISTICS] = 1; |
adapter | 870 | drivers/net/3c505.c | switch (adapter->irx_pcb.data.xmit_resp.c_stat) { |
adapter | 872 | drivers/net/3c505.c | adapter->stats.tx_aborted_errors++; |
adapter | 876 | drivers/net/3c505.c | adapter->stats.tx_fifo_errors++; |
adapter | 888 | drivers/net/3c505.c | printk(KERN_DEBUG "%s: unknown PCB received - %2.2x\n", dev->name, adapter->irx_pcb.command); |
adapter | 916 | drivers/net/3c505.c | elp_device *adapter; |
adapter | 918 | drivers/net/3c505.c | adapter = dev->priv; |
adapter | 926 | drivers/net/3c505.c | if (adapter == NULL) { |
adapter | 954 | drivers/net/3c505.c | adapter->rx_active = 0; |
adapter | 956 | drivers/net/3c505.c | adapter->busy = 0; |
adapter | 957 | drivers/net/3c505.c | adapter->send_pcb_semaphore = 0; |
adapter | 958 | drivers/net/3c505.c | adapter->rx_backlog.in = 0; |
adapter | 959 | drivers/net/3c505.c | adapter->rx_backlog.out = 0; |
adapter | 977 | drivers/net/3c505.c | adapter->dma_buffer = (void *) dma_mem_alloc(DMA_BUFFER_SIZE); |
adapter | 978 | drivers/net/3c505.c | if (!adapter->dma_buffer) { |
adapter | 981 | drivers/net/3c505.c | adapter->dmaing = 0; |
adapter | 998 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_CONFIGURE_ADAPTER_MEMORY; |
adapter | 999 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.cmd_q = 10; |
adapter | 1000 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.rcv_q = 20; |
adapter | 1001 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.mcast = 10; |
adapter | 1002 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.frame = 20; |
adapter | 1003 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.rcv_b = 20; |
adapter | 1004 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.progs = 0; |
adapter | 1005 | drivers/net/3c505.c | adapter->tx_pcb.length = sizeof(struct Memconf); |
adapter | 1006 | drivers/net/3c505.c | adapter->got[CMD_CONFIGURE_ADAPTER_MEMORY] = 0; |
adapter | 1007 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb)) |
adapter | 1011 | drivers/net/3c505.c | while (adapter->got[CMD_CONFIGURE_ADAPTER_MEMORY] == 0 && jiffies < timeout); |
adapter | 1022 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_CONFIGURE_82586; |
adapter | 1023 | drivers/net/3c505.c | adapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_BROAD; |
adapter | 1024 | drivers/net/3c505.c | adapter->tx_pcb.length = 2; |
adapter | 1025 | drivers/net/3c505.c | adapter->got[CMD_CONFIGURE_82586] = 0; |
adapter | 1026 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb)) |
adapter | 1030 | drivers/net/3c505.c | while (adapter->got[CMD_CONFIGURE_82586] == 0 && jiffies < timeout); |
adapter | 1043 | drivers/net/3c505.c | printk("%s: %d receive PCBs active\n", dev->name, adapter->rx_active); |
adapter | 1059 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 1067 | drivers/net/3c505.c | if (set_bit(0, (void *) &adapter->busy)) { |
adapter | 1072 | drivers/net/3c505.c | adapter = dev->priv; |
adapter | 1078 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_TRANSMIT_PACKET; |
adapter | 1079 | drivers/net/3c505.c | adapter->tx_pcb.length = sizeof(struct Xmit_pkt); |
adapter | 1080 | drivers/net/3c505.c | adapter->tx_pcb.data.xmit_pkt.buf_ofs |
adapter | 1081 | drivers/net/3c505.c | = adapter->tx_pcb.data.xmit_pkt.buf_seg = 0; /* Unused */ |
adapter | 1082 | drivers/net/3c505.c | adapter->tx_pcb.data.xmit_pkt.pkt_len = nlen; |
adapter | 1084 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb)) { |
adapter | 1085 | drivers/net/3c505.c | adapter->busy = 0; |
adapter | 1089 | drivers/net/3c505.c | if (set_bit(0, (void *) &adapter->dmaing)) |
adapter | 1090 | drivers/net/3c505.c | printk("%s: tx: DMA %d in progress\n", dev->name, adapter->current_dma.direction); |
adapter | 1092 | drivers/net/3c505.c | adapter->current_dma.direction = 1; |
adapter | 1093 | drivers/net/3c505.c | adapter->current_dma.start_time = jiffies; |
adapter | 1097 | drivers/net/3c505.c | memcpy(adapter->dma_buffer, skb->data, nlen); |
adapter | 1098 | drivers/net/3c505.c | target = virt_to_bus(adapter->dma_buffer); |
adapter | 1100 | drivers/net/3c505.c | adapter->current_dma.skb = skb; |
adapter | 1135 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 1148 | drivers/net/3c505.c | adapter->stats.tx_dropped++; |
adapter | 1198 | drivers/net/3c505.c | elp_device *adapter = (elp_device *) dev->priv; |
adapter | 1206 | drivers/net/3c505.c | return &adapter->stats; |
adapter | 1209 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_NETWORK_STATISTICS; |
adapter | 1210 | drivers/net/3c505.c | adapter->tx_pcb.length = 0; |
adapter | 1211 | drivers/net/3c505.c | adapter->got[CMD_NETWORK_STATISTICS] = 0; |
adapter | 1212 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb)) |
adapter | 1216 | drivers/net/3c505.c | while (adapter->got[CMD_NETWORK_STATISTICS] == 0 && jiffies < timeout); |
adapter | 1219 | drivers/net/3c505.c | return &adapter->stats; |
adapter | 1224 | drivers/net/3c505.c | return &adapter->stats; |
adapter | 1235 | drivers/net/3c505.c | elp_device *adapter; |
adapter | 1237 | drivers/net/3c505.c | adapter = dev->priv; |
adapter | 1274 | drivers/net/3c505.c | free_pages((unsigned long) adapter->dma_buffer, __get_order(DMA_BUFFER_SIZE)); |
adapter | 1293 | drivers/net/3c505.c | elp_device *adapter = (elp_device *) dev->priv; |
adapter | 1303 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_LOAD_MULTICAST_LIST; |
adapter | 1304 | drivers/net/3c505.c | adapter->tx_pcb.length = 6 * dev->mc_count; |
adapter | 1306 | drivers/net/3c505.c | memcpy(adapter->tx_pcb.data.multicast[i], dmi->dmi_addr, 6); |
adapter | 1309 | drivers/net/3c505.c | adapter->got[CMD_LOAD_MULTICAST_LIST] = 0; |
adapter | 1310 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb)) |
adapter | 1314 | drivers/net/3c505.c | while (adapter->got[CMD_LOAD_MULTICAST_LIST] == 0 && jiffies < timeout); |
adapter | 1320 | drivers/net/3c505.c | adapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_BROAD | RECV_MULTI; |
adapter | 1322 | drivers/net/3c505.c | adapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_BROAD; |
adapter | 1324 | drivers/net/3c505.c | adapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_PROMISC; |
adapter | 1331 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_CONFIGURE_82586; |
adapter | 1332 | drivers/net/3c505.c | adapter->tx_pcb.length = 2; |
adapter | 1333 | drivers/net/3c505.c | adapter->got[CMD_CONFIGURE_82586] = 0; |
adapter | 1334 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb)) |
adapter | 1338 | drivers/net/3c505.c | while (adapter->got[CMD_CONFIGURE_82586] == 0 && jiffies < timeout); |
adapter | 1352 | drivers/net/3c505.c | elp_device *adapter = dev->priv; |
adapter | 1369 | drivers/net/3c505.c | memset(&(adapter->stats), 0, sizeof(struct enet_statistics)); |
adapter | 1500 | drivers/net/3c505.c | elp_device *adapter; |
adapter | 1514 | drivers/net/3c505.c | adapter = (elp_device *) (dev->priv = kmalloc(sizeof(elp_device), GFP_KERNEL)); |
adapter | 1515 | drivers/net/3c505.c | if (adapter == NULL) { |
adapter | 1565 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_STATION_ADDRESS; |
adapter | 1566 | drivers/net/3c505.c | adapter->tx_pcb.length = 0; |
adapter | 1568 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb)) { |
adapter | 1573 | drivers/net/3c505.c | if (!receive_pcb(dev, &adapter->rx_pcb)) { |
adapter | 1578 | drivers/net/3c505.c | if ((adapter->rx_pcb.command != CMD_ADDRESS_RESPONSE) || |
adapter | 1579 | drivers/net/3c505.c | (adapter->rx_pcb.length != 6)) { |
adapter | 1580 | drivers/net/3c505.c | printk("%s: first PCB wrong (%d, %d)\n", dev->name, adapter->rx_pcb.command, adapter->rx_pcb.length); |
adapter | 1629 | drivers/net/3c505.c | dev->dev_addr[i] = adapter->rx_pcb.data.eth_addr[i]; |
adapter | 1647 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_ADAPTER_INFO; |
adapter | 1648 | drivers/net/3c505.c | adapter->tx_pcb.length = 0; |
adapter | 1649 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb) || |
adapter | 1650 | drivers/net/3c505.c | !receive_pcb(dev, &adapter->rx_pcb) || |
adapter | 1651 | drivers/net/3c505.c | (adapter->rx_pcb.command != CMD_ADAPTER_INFO_RESPONSE) || |
adapter | 1652 | drivers/net/3c505.c | (adapter->rx_pcb.length != 10)) { |
adapter | 1655 | drivers/net/3c505.c | printk("rev %d.%d, %dk\n", adapter->rx_pcb.data.info.major_vers, adapter->rx_pcb.data.info.minor_vers, adapter->rx_pcb.data.info.RAM_sz); |
adapter | 1660 | drivers/net/3c505.c | adapter->tx_pcb.command = CMD_CONFIGURE_ADAPTER_MEMORY; |
adapter | 1661 | drivers/net/3c505.c | adapter->tx_pcb.length = 12; |
adapter | 1662 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.cmd_q = 8; |
adapter | 1663 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.rcv_q = 8; |
adapter | 1664 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.mcast = 10; |
adapter | 1665 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.frame = 10; |
adapter | 1666 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.rcv_b = 10; |
adapter | 1667 | drivers/net/3c505.c | adapter->tx_pcb.data.memconf.progs = 0; |
adapter | 1668 | drivers/net/3c505.c | if (!send_pcb(dev, &adapter->tx_pcb) || |
adapter | 1669 | drivers/net/3c505.c | !receive_pcb(dev, &adapter->rx_pcb) || |
adapter | 1670 | drivers/net/3c505.c | (adapter->rx_pcb.command != CMD_CONFIGURE_ADAPTER_RESPONSE) || |
adapter | 1671 | drivers/net/3c505.c | (adapter->rx_pcb.length != 2)) { |
adapter | 1674 | drivers/net/3c505.c | if (adapter->rx_pcb.data.configure) { |
adapter | 290 | drivers/net/depca.c | static enum {DEPCA, de100, de101, de200, de201, de202, de210, de422, unknown} adapter; |
adapter | 343 | drivers/net/depca.c | char adapter; /* Adapter type */ |
adapter | 520 | drivers/net/depca.c | netRAM = ((adapter != DEPCA) ? 64 : 48); |
adapter | 521 | drivers/net/depca.c | if ((nicsr & _128KB) && (adapter == de422)) netRAM = 128; |
adapter | 538 | drivers/net/depca.c | if (adapter != DEPCA) { |
adapter | 549 | drivers/net/depca.c | lp->adapter = adapter; |
adapter | 602 | drivers/net/depca.c | switch (lp->adapter) { |
adapter | 698 | drivers/net/depca.c | if (adapter != DEPCA) { |
adapter | 1055 | drivers/net/depca.c | if (lp->adapter != DEPCA) { |
adapter | 1431 | drivers/net/depca.c | adapter = i - 1; |
adapter | 1509 | drivers/net/depca.c | x = (((adapter == de100) || (adapter == de101)) ? 1 : 0); |