taglinefilesource code
zn133drivers/net/znet.cstatic struct znet_private zn;
zn245drivers/net/znet.cdev->priv = (void *) &zn;
zn246drivers/net/znet.czn.rx_dma = netinfo->dma1;
zn247drivers/net/znet.czn.tx_dma = netinfo->dma2;
zn251drivers/net/znet.c|| request_dma(zn.rx_dma,"ZNet rx")
zn252drivers/net/znet.c|| request_dma(zn.tx_dma,"ZNet tx")) {
zn261drivers/net/znet.czn.rx_start = dma_buffer1;
zn263drivers/net/znet.czn.rx_start = dma_buffer2;
zn266drivers/net/znet.czn.tx_start = dma_buffer3;
zn268drivers/net/znet.czn.tx_start = dma_buffer2;
zn269drivers/net/znet.czn.rx_end = zn.rx_start + RX_BUF_SIZE/2;
zn270drivers/net/znet.czn.tx_buf_len = TX_BUF_SIZE/2;
zn271drivers/net/znet.czn.tx_end = zn.tx_start + zn.tx_buf_len;
zn363drivers/net/znet.cushort *tx_link = zn.tx_cur - 1;
zn367drivers/net/znet.cshort dma_port = ((zn.tx_dma&3)<<2) + IO_DMA2_BASE;
zn371drivers/net/znet.cif (((int)zn.tx_cur & 0x1ffff) != addr)
zn373drivers/net/znet.c(int)zn.tx_cur & 0xffff, addr);
zn374drivers/net/znet.czn.tx_cur = (ushort *)(((int)zn.tx_cur & 0xfe0000) | addr);
zn377drivers/net/znet.cif (zn.tx_cur >= zn.tx_end)
zn378drivers/net/znet.czn.tx_cur = zn.tx_start;
zn379drivers/net/znet.c*zn.tx_cur++ = length;
zn380drivers/net/znet.cif (zn.tx_cur + rnd_len + 1 > zn.tx_end) {
zn381drivers/net/znet.cint semi_cnt = (zn.tx_end - zn.tx_cur)<<1; /* Cvrt to byte cnt. */
zn382drivers/net/znet.cmemcpy(zn.tx_cur, buf, semi_cnt);
zn384drivers/net/znet.cmemcpy(zn.tx_start, buf + semi_cnt, length - semi_cnt);
zn385drivers/net/znet.czn.tx_cur = zn.tx_start + rnd_len;
zn387drivers/net/znet.cmemcpy(zn.tx_cur, buf, skb->len);
zn388drivers/net/znet.czn.tx_cur += rnd_len;
zn390drivers/net/znet.c*zn.tx_cur++ = 0;
zn484drivers/net/znet.cif (cur_frame_end_offset == zn.rx_cur - zn.rx_start) {
zn494drivers/net/znet.cwhile (zn.rx_start + cur_frame_end_offset != zn.rx_cur
zn503drivers/net/znet.cmemcpy(zn.rx_end, zn.rx_start, 8);
zn506drivers/net/znet.ccur_frame_end = zn.rx_start + cur_frame_end_offset - 4;
zn531drivers/net/znet.cushort *this_rfp_ptr = zn.rx_start + next_frame_end_offset;
zn566drivers/net/znet.cif (&zn.rx_cur[(pkt_len+1)>>1] > zn.rx_end) {
zn567drivers/net/znet.cint semi_cnt = (zn.rx_end - zn.rx_cur)<<1;
zn568drivers/net/znet.cmemcpy((unsigned char *) (skb + 1), zn.rx_cur, semi_cnt);
zn569drivers/net/znet.cmemcpy((unsigned char *) (skb + 1) + semi_cnt, zn.rx_start,
zn572drivers/net/znet.cmemcpy((unsigned char *) (skb + 1), zn.rx_cur, pkt_len);
zn592drivers/net/znet.czn.rx_cur = this_rfp_ptr;
zn593drivers/net/znet.cif (zn.rx_cur >= zn.rx_end)
zn594drivers/net/znet.czn.rx_cur -= RX_BUF_SIZE/2;
zn595drivers/net/znet.cupdate_stop_hit(ioaddr, (zn.rx_cur - zn.rx_start)<<1);
zn599drivers/net/znet.cthis_rfp_ptr = zn.rx_start + next_frame_end_offset;
zn618drivers/net/znet.cdisable_dma(zn.rx_dma);
zn619drivers/net/znet.cdisable_dma(zn.tx_dma);
zn670drivers/net/znet.c*zn.tx_cur++ = sizeof(i593_init);
zn671drivers/net/znet.cmemcpy(zn.tx_cur, i593_init, sizeof(i593_init));
zn672drivers/net/znet.czn.tx_cur += sizeof(i593_init)/2;
zn677drivers/net/znet.c*zn.tx_cur++ = addrs_len;
zn678drivers/net/znet.cmemcpy(zn.tx_cur, addrs, addrs_len);
zn680drivers/net/znet.czn.tx_cur += addrs_len>>1;
zn688drivers/net/znet.cshort dma_port = ((zn.tx_dma&3)<<2) + IO_DMA2_BASE;
zn691drivers/net/znet.cprintk("Addr: %04x cnt:%3x...", addr<<1, get_dma_residue(zn.tx_dma));
zn700drivers/net/znet.czn.rx_cur = zn.rx_start;
zn701drivers/net/znet.czn.tx_cur = zn.tx_start;
zn707drivers/net/znet.cdisable_dma(zn.rx_dma);     /* reset by an interrupting task. */
zn708drivers/net/znet.cclear_dma_ff(zn.rx_dma);
zn709drivers/net/znet.cset_dma_mode(zn.rx_dma, DMA_RX_MODE);
zn710drivers/net/znet.cset_dma_addr(zn.rx_dma, (unsigned int) zn.rx_start);
zn711drivers/net/znet.cset_dma_count(zn.rx_dma, RX_BUF_SIZE);
zn712drivers/net/znet.cenable_dma(zn.rx_dma);
zn714drivers/net/znet.cdisable_dma(zn.tx_dma);
zn715drivers/net/znet.cclear_dma_ff(zn.tx_dma);
zn716drivers/net/znet.cset_dma_mode(zn.tx_dma, DMA_TX_MODE);
zn717drivers/net/znet.cset_dma_addr(zn.tx_dma, (unsigned int) zn.tx_start);
zn718drivers/net/znet.cset_dma_count(zn.tx_dma, zn.tx_buf_len<<1);
zn719drivers/net/znet.cenable_dma(zn.tx_dma);
zn724drivers/net/znet.czn.tx_start);
zn727drivers/net/znet.c*zn.tx_cur++ = 0;
zn728drivers/net/znet.c*zn.tx_cur++ = 0;
zn731drivers/net/znet.c*zn.tx_cur++ = sizeof(i593_init);
zn732drivers/net/znet.cmemcpy(zn.tx_cur, i593_init, sizeof(i593_init));
zn733drivers/net/znet.czn.tx_cur += sizeof(i593_init)/2;
zn736drivers/net/znet.c*zn.tx_cur++ = 6;
zn737drivers/net/znet.cmemcpy(zn.tx_cur, dev->dev_addr, 6);
zn738drivers/net/znet.czn.tx_cur += 3;