taglinefilesource code
adapter232drivers/net/3c505.c#define  GET_ASF()    (get_status(adapter)&ASF_PCB_MASK)
adapter233drivers/net/3c505.c#define  GET_STATUS()    (get_status(adapter))
adapter235drivers/net/3c505.cstatic int get_status (elp_device * adapter)
adapter241drivers/net/3c505.cstat1 = INB(adapter->io_addr+PORT_STATUS);
adapter242drivers/net/3c505.c} while (stat1 != INB(adapter->io_addr+PORT_STATUS) && jiffies < timeout);
adapter248drivers/net/3c505.c#define  SET_HSF(hsf)  (set_hsf(adapter,hsf))
adapter250drivers/net/3c505.cstatic void set_hsf (elp_device * adapter, int hsf)
adapter254drivers/net/3c505.cOUTB((INB(adapter->io_addr+PORT_CONTROL)&(~HSF_PCB_MASK))|hsf, adapter->io_addr+PORT_CONTROL); 
adapter258drivers/net/3c505.c#define  WAIT_HCRE(toval)  (wait_hcre(adapter,toval))
adapter260drivers/net/3c505.cstatic int wait_hcre(elp_device * adapter, int toval)
adapter264drivers/net/3c505.cwhile(((INB(adapter->io_addr+PORT_STATUS)&STATUS_HCRE)==0) &&
adapter289drivers/net/3c505.cstatic int send_pcb(elp_device * adapter, pcb_struct * pcb)
adapter298drivers/net/3c505.cCHECK_NULL(adapter);
adapter313drivers/net/3c505.cOUTB(pcb->command, (adapter->io_addr)+PORT_COMMAND);
adapter317drivers/net/3c505.cOUTB(pcb->length, (adapter->io_addr)+PORT_COMMAND);
adapter322drivers/net/3c505.cOUTB(pcb->data.raw[i], (adapter->io_addr)+PORT_COMMAND);
adapter331drivers/net/3c505.cOUTB(2+pcb->length, adapter->io_addr+PORT_COMMAND);
adapter348drivers/net/3c505.cprintk("%s: PCB send was NAKed\n", adapter->name);
adapter358drivers/net/3c505.cprintk("%s: NAK/timeout on send PCB\n", adapter->name);
adapter360drivers/net/3c505.cprintk("%s: retry #%i on send PCB\n", adapter->name, retry);
adapter379drivers/net/3c505.cstatic int receive_pcb(elp_device * adapter, pcb_struct * pcb)
adapter388drivers/net/3c505.cCHECK_NULL(adapter);
adapter398drivers/net/3c505.cpcb->command = INB(adapter->io_addr+PORT_COMMAND);
adapter407drivers/net/3c505.cpcb->length = INB(adapter->io_addr+PORT_COMMAND);
adapter420drivers/net/3c505.cpcb->data.raw[i++] = INB(adapter->io_addr+PORT_COMMAND);
adapter434drivers/net/3c505.cprintk("%s: mangled PCB received\n", adapter->name);
adapter450drivers/net/3c505.cstatic void adapter_hard_reset(elp_device * adapter)
adapter455drivers/net/3c505.cCHECK_NULL(adapter);
adapter460drivers/net/3c505.cOUTB(CONTROL_ATTN|CONTROL_FLSH, adapter->io_addr+PORT_CONTROL); 
adapter471drivers/net/3c505.cOUTB(0, adapter->io_addr+PORT_CONTROL); 
adapter489drivers/net/3c505.cstatic void adapter_reset(elp_device * adapter)
adapter493drivers/net/3c505.cCHECK_NULL(adapter);
adapter496drivers/net/3c505.cOUTB(CONTROL_ATTN|INB(adapter->io_addr+PORT_CONTROL), adapter->io_addr+PORT_CONTROL);
adapter506drivers/net/3c505.cOUTB(INB(adapter->io_addr+PORT_CONTROL)&~(CONTROL_ATTN), adapter->io_addr+PORT_CONTROL);
adapter518drivers/net/3c505.cstatic int start_receive(elp_device * adapter, pcb_struct * tx_pcb)
adapter521drivers/net/3c505.cCHECK_NULL(adapter);
adapter525drivers/net/3c505.cprintk("%s: restarting receiver\n", adapter->name);
adapter531drivers/net/3c505.creturn send_pcb(adapter, tx_pcb); 
adapter544drivers/net/3c505.celp_device * adapter,
adapter564drivers/net/3c505.cCHECK_NULL(adapter);
adapter581drivers/net/3c505.cOUTB(INB(adapter->io_addr+PORT_CONTROL)|CONTROL_DIR, adapter->io_addr+PORT_CONTROL); 
adapter589drivers/net/3c505.cwhile ((INB(adapter->io_addr+PORT_STATUS)&STATUS_HRDY) == 0 && 
adapter595drivers/net/3c505.cd = inw(adapter->io_addr+PORT_DATA);
adapter597drivers/net/3c505.cadapter->stats.rx_dropped++;
adapter618drivers/net/3c505.cwhile ((INB(adapter->io_addr+PORT_STATUS)&STATUS_HRDY) == 0 && 
adapter633drivers/net/3c505.c*ptr = inw(adapter->io_addr+PORT_DATA); 
adapter659drivers/net/3c505.cOUTB(INB(adapter->io_addr+PORT_CONTROL)&(~CONTROL_DIR), adapter->io_addr+PORT_CONTROL); 
adapter676drivers/net/3c505.celp_device * adapter;
adapter699drivers/net/3c505.cadapter = (elp_device *) dev->priv;
adapter701drivers/net/3c505.cCHECK_NULL(adapter);
adapter717drivers/net/3c505.cwhile ((INB(adapter->io_addr+PORT_STATUS)&STATUS_ACRF) != 0 &&
adapter720drivers/net/3c505.cif (receive_pcb(adapter, &adapter->irx_pcb)) {
adapter722drivers/net/3c505.cswitch (adapter->irx_pcb.command) {
adapter728drivers/net/3c505.cadapter->got[CMD_CONFIGURE_82586] = 1;
adapter737drivers/net/3c505.cadapter->got[CMD_CONFIGURE_ADAPTER_MEMORY] = 1;
adapter740drivers/net/3c505.cadapter->irx_pcb.data.failed?"failed":"succeeded");
adapter747drivers/net/3c505.cadapter->got[CMD_LOAD_MULTICAST_LIST] = 1;
adapter750drivers/net/3c505.cadapter->irx_pcb.data.failed?"failed":"succeeded");
adapter757drivers/net/3c505.cadapter->got[CMD_SET_STATION_ADDRESS] = 1;
adapter760drivers/net/3c505.cadapter->irx_pcb.data.failed?"failed":"succeeded");
adapter768drivers/net/3c505.cadapter->stats.rx_packets += adapter->irx_pcb.data.netstat.tot_recv;
adapter769drivers/net/3c505.cadapter->stats.tx_packets += adapter->irx_pcb.data.netstat.tot_xmit;
adapter770drivers/net/3c505.cadapter->stats.rx_crc_errors += adapter->irx_pcb.data.netstat.err_CRC;
adapter771drivers/net/3c505.cadapter->stats.rx_frame_errors += adapter->irx_pcb.data.netstat.err_align;
adapter772drivers/net/3c505.cadapter->stats.rx_fifo_errors += adapter->irx_pcb.data.netstat.err_ovrrun;
adapter773drivers/net/3c505.cadapter->got[CMD_NETWORK_STATISTICS] = 1;
adapter785drivers/net/3c505.clen = adapter->irx_pcb.data.rcv_resp.pkt_len;
adapter786drivers/net/3c505.cdlen = adapter->irx_pcb.data.rcv_resp.buf_len;
adapter787drivers/net/3c505.cif (adapter->irx_pcb.data.rcv_resp.timeout != 0) {
adapter792drivers/net/3c505.creceive_packet(dev, adapter, dlen);
adapter796drivers/net/3c505.cif (dev->start && !start_receive(adapter, &adapter->itx_pcb)) 
adapter812drivers/net/3c505.cif (adapter->irx_pcb.data.xmit_resp.c_stat != 0)
adapter815drivers/net/3c505.cdev->name, adapter->irx_pcb.data.xmit_resp.c_stat);
adapter828drivers/net/3c505.cprintk("%s: unknown PCB received - %2.2x\n", dev->name, adapter->irx_pcb.command);
adapter853drivers/net/3c505.celp_device * adapter = (elp_device *) dev->priv;
adapter863drivers/net/3c505.cif (adapter == NULL) {
adapter871drivers/net/3c505.cOUTB(0x00, adapter->io_addr+PORT_CONTROL);
adapter876drivers/net/3c505.cINB(adapter->io_addr+PORT_COMMAND);
adapter902drivers/net/3c505.cOUTB(CONTROL_CMDE, adapter->io_addr+PORT_CONTROL);
adapter914drivers/net/3c505.cadapter->tx_pcb.command = CMD_CONFIGURE_ADAPTER_MEMORY;
adapter915drivers/net/3c505.cadapter->tx_pcb.data.memconf.cmd_q = 10;
adapter916drivers/net/3c505.cadapter->tx_pcb.data.memconf.rcv_q = 20;
adapter917drivers/net/3c505.cadapter->tx_pcb.data.memconf.mcast = 10;
adapter918drivers/net/3c505.cadapter->tx_pcb.data.memconf.frame = 20;
adapter919drivers/net/3c505.cadapter->tx_pcb.data.memconf.rcv_b = 20;
adapter920drivers/net/3c505.cadapter->tx_pcb.data.memconf.progs = 0;
adapter921drivers/net/3c505.cadapter->tx_pcb.length = sizeof(struct Memconf);
adapter922drivers/net/3c505.cadapter->got[CMD_CONFIGURE_ADAPTER_MEMORY] = 0;
adapter923drivers/net/3c505.cif (!send_pcb(adapter, &adapter->tx_pcb))
adapter927drivers/net/3c505.cwhile (adapter->got[CMD_CONFIGURE_ADAPTER_MEMORY] == 0 && jiffies < timeout)
adapter939drivers/net/3c505.cadapter->tx_pcb.command = CMD_CONFIGURE_82586;
adapter940drivers/net/3c505.cadapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_BROAD;
adapter941drivers/net/3c505.cadapter->tx_pcb.length  = 2;
adapter942drivers/net/3c505.cadapter->got[CMD_CONFIGURE_82586] = 0;
adapter943drivers/net/3c505.cif (!send_pcb(adapter, &adapter->tx_pcb))
adapter947drivers/net/3c505.cwhile (adapter->got[CMD_CONFIGURE_82586] == 0 && jiffies < timeout)
adapter956drivers/net/3c505.cif (!start_receive(adapter, &adapter->tx_pcb))
adapter971drivers/net/3c505.cstatic int send_packet (elp_device * adapter, unsigned char * ptr, int len)
adapter981drivers/net/3c505.cCHECK_NULL(adapter);
adapter991drivers/net/3c505.cadapter->tx_pcb.command = CMD_TRANSMIT_PACKET;
adapter992drivers/net/3c505.cadapter->tx_pcb.length = sizeof(struct Xmit_pkt);
adapter993drivers/net/3c505.cadapter->tx_pcb.data.xmit_pkt.buf_ofs = adapter->tx_pcb.data.xmit_pkt.buf_seg = 0; /* Unused */
adapter994drivers/net/3c505.cadapter->tx_pcb.data.xmit_pkt.pkt_len = nlen;
adapter995drivers/net/3c505.cif (!send_pcb(adapter, &adapter->tx_pcb)) 
adapter1002drivers/net/3c505.cOUTB(INB(adapter->io_addr+PORT_CONTROL)&(~CONTROL_DIR), adapter->io_addr+PORT_CONTROL); 
adapter1010drivers/net/3c505.cwhile ((INB(adapter->io_addr+PORT_STATUS)&STATUS_HRDY) == 0 && jiffies < timeout)
adapter1018drivers/net/3c505.coutw(*(short *)ptr, adapter->io_addr+PORT_DATA);
adapter1035drivers/net/3c505.celp_device * adapter = (elp_device *) dev->priv;
adapter1078drivers/net/3c505.cif ((INB(adapter->io_addr+PORT_STATUS)&STATUS_ACRF) != 0) 
adapter1080drivers/net/3c505.cadapter_reset(adapter);
adapter1088drivers/net/3c505.cif (!send_packet(adapter, (unsigned char *)SKB_DATA, skb->len)) {
adapter1132drivers/net/3c505.celp_device *adapter = (elp_device *) dev->priv;
adapter1140drivers/net/3c505.creturn &adapter->stats;
adapter1143drivers/net/3c505.cadapter->tx_pcb.command = CMD_NETWORK_STATISTICS;
adapter1144drivers/net/3c505.cadapter->tx_pcb.length  = 0;
adapter1145drivers/net/3c505.cadapter->got[CMD_NETWORK_STATISTICS] = 0;
adapter1146drivers/net/3c505.cif (!send_pcb(adapter, &adapter->tx_pcb))
adapter1151drivers/net/3c505.cwhile (adapter->got[CMD_NETWORK_STATISTICS] == 0 && jiffies < timeout)
adapter1155drivers/net/3c505.creturn &adapter->stats;
adapter1160drivers/net/3c505.creturn &adapter->stats;
adapter1172drivers/net/3c505.celp_device * adapter = (elp_device *) dev->priv;
adapter1175drivers/net/3c505.cCHECK_NULL(adapter);
adapter1189drivers/net/3c505.cOUTB(0x00, adapter->io_addr+PORT_CONTROL);
adapter1226drivers/net/3c505.celp_device *adapter = (elp_device *) dev->priv;
adapter1235drivers/net/3c505.cadapter->tx_pcb.command = CMD_LOAD_MULTICAST_LIST;
adapter1236drivers/net/3c505.cadapter->tx_pcb.length  = 6*num_addrs;
adapter1238drivers/net/3c505.cmemcpy(adapter->tx_pcb.data.multicast[i], addrs+6*i,6);
adapter1239drivers/net/3c505.cadapter->got[CMD_LOAD_MULTICAST_LIST] = 0;
adapter1240drivers/net/3c505.cif (!send_pcb(adapter, &adapter->tx_pcb))
adapter1244drivers/net/3c505.cwhile (adapter->got[CMD_LOAD_MULTICAST_LIST] == 0 && jiffies < timeout)
adapter1251drivers/net/3c505.cadapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_BROAD | RECV_MULTI;
adapter1253drivers/net/3c505.cadapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_BROAD;
adapter1255drivers/net/3c505.cadapter->tx_pcb.data.configure = NO_LOOPBACK | RECV_ALL;
adapter1262drivers/net/3c505.cadapter->tx_pcb.command = CMD_CONFIGURE_82586;
adapter1263drivers/net/3c505.cadapter->tx_pcb.length  = 2;
adapter1264drivers/net/3c505.cadapter->got[CMD_CONFIGURE_82586]  = 0;
adapter1265drivers/net/3c505.cif (!send_pcb(adapter, &adapter->tx_pcb))
adapter1269drivers/net/3c505.cwhile (adapter->got[CMD_CONFIGURE_82586] == 0 && jiffies < timeout)
adapter1285drivers/net/3c505.celp_device * adapter;
adapter1324drivers/net/3c505.cadapter = (elp_device *)(dev->priv = kmalloc(sizeof(elp_device), GFP_KERNEL));
adapter1325drivers/net/3c505.cCHECK_NULL(adapter);
adapter1326drivers/net/3c505.cadapter->io_addr = dev->base_addr;
adapter1327drivers/net/3c505.cadapter->name    = dev->name;
adapter1328drivers/net/3c505.cmemset(&(adapter->stats), 0, sizeof(struct enet_statistics));
adapter1363drivers/net/3c505.cadapter_hard_reset(adapter);
adapter1365drivers/net/3c505.cadapter_reset(adapter);
adapter1464drivers/net/3c505.celp_device adapter;
adapter1473drivers/net/3c505.cadapter.io_addr = dev->base_addr = elp_autodetect(dev);
adapter1474drivers/net/3c505.cif ( !adapter.io_addr )
adapter1489drivers/net/3c505.cadapter.tx_pcb.command = CMD_STATION_ADDRESS;
adapter1490drivers/net/3c505.cadapter.tx_pcb.length  = 0;
adapter1491drivers/net/3c505.cif (!send_pcb   (&adapter, &adapter.tx_pcb) ||
adapter1492drivers/net/3c505.c!receive_pcb(&adapter, &adapter.rx_pcb) ||
adapter1493drivers/net/3c505.c(adapter.rx_pcb.command != CMD_ADDRESS_RESPONSE) ||
adapter1494drivers/net/3c505.c(adapter.rx_pcb.length != 6)) {
adapter1530drivers/net/3c505.cdev->dev_addr[i] = adapter.rx_pcb.data.eth_addr[i];