taglinefilesource code
zn132drivers/net/znet.cstatic struct znet_private zn;
zn244drivers/net/znet.cdev->priv = (void *) &zn;
zn245drivers/net/znet.czn.rx_dma = netinfo->dma1;
zn246drivers/net/znet.czn.tx_dma = netinfo->dma2;
zn250drivers/net/znet.c|| request_dma(zn.rx_dma,"ZNet rx")
zn251drivers/net/znet.c|| request_dma(zn.tx_dma,"ZNet tx")) {
zn260drivers/net/znet.czn.rx_start = dma_buffer1;
zn262drivers/net/znet.czn.rx_start = dma_buffer2;
zn265drivers/net/znet.czn.tx_start = dma_buffer3;
zn267drivers/net/znet.czn.tx_start = dma_buffer2;
zn268drivers/net/znet.czn.rx_end = zn.rx_start + RX_BUF_SIZE/2;
zn269drivers/net/znet.czn.tx_buf_len = TX_BUF_SIZE/2;
zn270drivers/net/znet.czn.tx_end = zn.tx_start + zn.tx_buf_len;
zn362drivers/net/znet.cushort *tx_link = zn.tx_cur - 1;
zn366drivers/net/znet.cshort dma_port = ((zn.tx_dma&3)<<2) + IO_DMA2_BASE;
zn370drivers/net/znet.cif (((int)zn.tx_cur & 0x1ffff) != addr)
zn372drivers/net/znet.c(int)zn.tx_cur & 0xffff, addr);
zn373drivers/net/znet.czn.tx_cur = (ushort *)(((int)zn.tx_cur & 0xfe0000) | addr);
zn376drivers/net/znet.cif (zn.tx_cur >= zn.tx_end)
zn377drivers/net/znet.czn.tx_cur = zn.tx_start;
zn378drivers/net/znet.c*zn.tx_cur++ = length;
zn379drivers/net/znet.cif (zn.tx_cur + rnd_len + 1 > zn.tx_end) {
zn380drivers/net/znet.cint semi_cnt = (zn.tx_end - zn.tx_cur)<<1; /* Cvrt to byte cnt. */
zn381drivers/net/znet.cmemcpy(zn.tx_cur, buf, semi_cnt);
zn383drivers/net/znet.cmemcpy(zn.tx_start, buf + semi_cnt, length - semi_cnt);
zn384drivers/net/znet.czn.tx_cur = zn.tx_start + rnd_len;
zn386drivers/net/znet.cmemcpy(zn.tx_cur, buf, skb->len);
zn387drivers/net/znet.czn.tx_cur += rnd_len;
zn389drivers/net/znet.c*zn.tx_cur++ = 0;
zn482drivers/net/znet.cif (cur_frame_end_offset == zn.rx_cur - zn.rx_start) {
zn492drivers/net/znet.cwhile (zn.rx_start + cur_frame_end_offset != zn.rx_cur
zn501drivers/net/znet.cmemcpy(zn.rx_end, zn.rx_start, 8);
zn504drivers/net/znet.ccur_frame_end = zn.rx_start + cur_frame_end_offset - 4;
zn529drivers/net/znet.cushort *this_rfp_ptr = zn.rx_start + next_frame_end_offset;
zn561drivers/net/znet.cif (&zn.rx_cur[(pkt_len+1)>>1] > zn.rx_end) {
zn562drivers/net/znet.cint semi_cnt = (zn.rx_end - zn.rx_cur)<<1;
zn563drivers/net/znet.cmemcpy((unsigned char *) (skb + 1), zn.rx_cur, semi_cnt);
zn564drivers/net/znet.cmemcpy((unsigned char *) (skb + 1) + semi_cnt, zn.rx_start,
zn567drivers/net/znet.cmemcpy((unsigned char *) (skb + 1), zn.rx_cur, pkt_len);
zn587drivers/net/znet.czn.rx_cur = this_rfp_ptr;
zn588drivers/net/znet.cif (zn.rx_cur >= zn.rx_end)
zn589drivers/net/znet.czn.rx_cur -= RX_BUF_SIZE/2;
zn590drivers/net/znet.cupdate_stop_hit(ioaddr, (zn.rx_cur - zn.rx_start)<<1);
zn594drivers/net/znet.cthis_rfp_ptr = zn.rx_start + next_frame_end_offset;
zn613drivers/net/znet.cdisable_dma(zn.rx_dma);
zn614drivers/net/znet.cdisable_dma(zn.tx_dma);
zn665drivers/net/znet.c*zn.tx_cur++ = sizeof(i593_init);
zn666drivers/net/znet.cmemcpy(zn.tx_cur, i593_init, sizeof(i593_init));
zn667drivers/net/znet.czn.tx_cur += sizeof(i593_init)/2;
zn672drivers/net/znet.c*zn.tx_cur++ = addrs_len;
zn673drivers/net/znet.cmemcpy(zn.tx_cur, addrs, addrs_len);
zn675drivers/net/znet.czn.tx_cur += addrs_len>>1;
zn683drivers/net/znet.cshort dma_port = ((zn.tx_dma&3)<<2) + IO_DMA2_BASE;
zn686drivers/net/znet.cprintk("Addr: %04x cnt:%3x...", addr<<1, get_dma_residue(zn.tx_dma));
zn695drivers/net/znet.czn.rx_cur = zn.rx_start;
zn696drivers/net/znet.czn.tx_cur = zn.tx_start;
zn702drivers/net/znet.cdisable_dma(zn.rx_dma);     /* reset by an interrupting task. */
zn703drivers/net/znet.cclear_dma_ff(zn.rx_dma);
zn704drivers/net/znet.cset_dma_mode(zn.rx_dma, DMA_RX_MODE);
zn705drivers/net/znet.cset_dma_addr(zn.rx_dma, (unsigned int) zn.rx_start);
zn706drivers/net/znet.cset_dma_count(zn.rx_dma, RX_BUF_SIZE);
zn707drivers/net/znet.cenable_dma(zn.rx_dma);
zn709drivers/net/znet.cdisable_dma(zn.tx_dma);
zn710drivers/net/znet.cclear_dma_ff(zn.tx_dma);
zn711drivers/net/znet.cset_dma_mode(zn.tx_dma, DMA_TX_MODE);
zn712drivers/net/znet.cset_dma_addr(zn.tx_dma, (unsigned int) zn.tx_start);
zn713drivers/net/znet.cset_dma_count(zn.tx_dma, zn.tx_buf_len<<1);
zn714drivers/net/znet.cenable_dma(zn.tx_dma);
zn719drivers/net/znet.czn.tx_start);
zn722drivers/net/znet.c*zn.tx_cur++ = 0;
zn723drivers/net/znet.c*zn.tx_cur++ = 0;
zn726drivers/net/znet.c*zn.tx_cur++ = sizeof(i593_init);
zn727drivers/net/znet.cmemcpy(zn.tx_cur, i593_init, sizeof(i593_init));
zn728drivers/net/znet.czn.tx_cur += sizeof(i593_init)/2;
zn731drivers/net/znet.c*zn.tx_cur++ = 6;
zn732drivers/net/znet.cmemcpy(zn.tx_cur, dev->dev_addr, 6);
zn733drivers/net/znet.czn.tx_cur += 3;