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;
zn560drivers/net/znet.cif (&zn.rx_cur[(pkt_len+1)>>1] > zn.rx_end) {
zn561drivers/net/znet.cint semi_cnt = (zn.rx_end - zn.rx_cur)<<1;
zn562drivers/net/znet.cmemcpy(skb_put(skb,semi_cnt), zn.rx_cur, semi_cnt);
zn563drivers/net/znet.cmemcpy(skb_put(skb,pkt_len-semi_cnt), zn.rx_start,
zn566drivers/net/znet.cmemcpy(skb_put(skb,pkt_len), zn.rx_cur, pkt_len);
zn577drivers/net/znet.czn.rx_cur = this_rfp_ptr;
zn578drivers/net/znet.cif (zn.rx_cur >= zn.rx_end)
zn579drivers/net/znet.czn.rx_cur -= RX_BUF_SIZE/2;
zn580drivers/net/znet.cupdate_stop_hit(ioaddr, (zn.rx_cur - zn.rx_start)<<1);
zn584drivers/net/znet.cthis_rfp_ptr = zn.rx_start + next_frame_end_offset;
zn603drivers/net/znet.cdisable_dma(zn.rx_dma);
zn604drivers/net/znet.cdisable_dma(zn.tx_dma);
zn655drivers/net/znet.c*zn.tx_cur++ = sizeof(i593_init);
zn656drivers/net/znet.cmemcpy(zn.tx_cur, i593_init, sizeof(i593_init));
zn657drivers/net/znet.czn.tx_cur += sizeof(i593_init)/2;
zn662drivers/net/znet.c*zn.tx_cur++ = addrs_len;
zn663drivers/net/znet.cmemcpy(zn.tx_cur, addrs, addrs_len);
zn665drivers/net/znet.czn.tx_cur += addrs_len>>1;
zn673drivers/net/znet.cshort dma_port = ((zn.tx_dma&3)<<2) + IO_DMA2_BASE;
zn676drivers/net/znet.cprintk("Addr: %04x cnt:%3x...", addr<<1, get_dma_residue(zn.tx_dma));
zn685drivers/net/znet.czn.rx_cur = zn.rx_start;
zn686drivers/net/znet.czn.tx_cur = zn.tx_start;
zn692drivers/net/znet.cdisable_dma(zn.rx_dma);     /* reset by an interrupting task. */
zn693drivers/net/znet.cclear_dma_ff(zn.rx_dma);
zn694drivers/net/znet.cset_dma_mode(zn.rx_dma, DMA_RX_MODE);
zn695drivers/net/znet.cset_dma_addr(zn.rx_dma, (unsigned int) zn.rx_start);
zn696drivers/net/znet.cset_dma_count(zn.rx_dma, RX_BUF_SIZE);
zn697drivers/net/znet.cenable_dma(zn.rx_dma);
zn699drivers/net/znet.cdisable_dma(zn.tx_dma);
zn700drivers/net/znet.cclear_dma_ff(zn.tx_dma);
zn701drivers/net/znet.cset_dma_mode(zn.tx_dma, DMA_TX_MODE);
zn702drivers/net/znet.cset_dma_addr(zn.tx_dma, (unsigned int) zn.tx_start);
zn703drivers/net/znet.cset_dma_count(zn.tx_dma, zn.tx_buf_len<<1);
zn704drivers/net/znet.cenable_dma(zn.tx_dma);
zn709drivers/net/znet.czn.tx_start);
zn712drivers/net/znet.c*zn.tx_cur++ = 0;
zn713drivers/net/znet.c*zn.tx_cur++ = 0;
zn716drivers/net/znet.c*zn.tx_cur++ = sizeof(i593_init);
zn717drivers/net/znet.cmemcpy(zn.tx_cur, i593_init, sizeof(i593_init));
zn718drivers/net/znet.czn.tx_cur += sizeof(i593_init)/2;
zn721drivers/net/znet.c*zn.tx_cur++ = 6;
zn722drivers/net/znet.cmemcpy(zn.tx_cur, dev->dev_addr, 6);
zn723drivers/net/znet.czn.tx_cur += 3;