• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/net/

Lines Matching refs:znet

0 /* znet.c: An Zenith Z-Note ethernet driver for linux. */
109 static char version[] __initdata = "znet.c:v1.02 9/23/94 becker@scyld.com\n";
171 struct znet_private *znet = netdev_priv(dev);
175 if (request_dma (znet->rx_dma, "ZNet rx"))
177 if (request_dma (znet->tx_dma, "ZNet tx"))
179 if (!request_region (znet->sia_base, znet->sia_size, "ZNet SIA"))
181 if (!request_region (dev->base_addr, znet->io_size, "ZNet I/O"))
187 release_region (znet->sia_base, znet->sia_size);
189 free_dma (znet->tx_dma);
191 free_dma (znet->rx_dma);
200 struct znet_private *znet = netdev_priv(dev);
202 release_region (znet->sia_base, znet->sia_size);
203 release_region (dev->base_addr, znet->io_size);
204 free_dma (znet->tx_dma);
205 free_dma (znet->rx_dma);
212 struct znet_private *znet = netdev_priv(dev);
217 outb(0x10, znet->sia_base);
220 v = inb(znet->sia_base + 1) | 0x84;
222 v = inb(znet->sia_base + 1) & ~0x84;
224 outb(v, znet->sia_base+1); /* Turn on/off LAN power (bit 2). */
231 struct znet_private *znet = netdev_priv(dev);
233 struct i82593_conf_block *cfblk = &znet->i593_init;
346 *znet->tx_cur++ = sizeof(struct i82593_conf_block);
347 memcpy(znet->tx_cur, cfblk, sizeof(struct i82593_conf_block));
348 znet->tx_cur += sizeof(struct i82593_conf_block)/2;
372 struct znet_private *znet;
392 znet = netdev_priv(dev);
420 znet->rx_dma = netinfo->dma1;
421 znet->tx_dma = netinfo->dma2;
422 spin_lock_init(&znet->lock);
423 znet->sia_base = 0xe6; /* Magic address for the 82501 SIA */
424 znet->sia_size = 2;
428 znet->io_size = 2;
430 if (!(znet->rx_start = kmalloc (DMA_BUF_SIZE, GFP_KERNEL | GFP_DMA)))
432 if (!(znet->tx_start = kmalloc (DMA_BUF_SIZE, GFP_KERNEL | GFP_DMA)))
435 if (!dma_page_eq (znet->rx_start, znet->rx_start + (RX_BUF_SIZE/2-1)) ||
436 !dma_page_eq (znet->tx_start, znet->tx_start + (TX_BUF_SIZE/2-1))) {
441 znet->rx_end = znet->rx_start + RX_BUF_SIZE/2;
442 znet->tx_buf_len = TX_BUF_SIZE/2;
443 znet->tx_end = znet->tx_start + znet->tx_buf_len;
455 kfree(znet->tx_start);
457 kfree(znet->rx_start);
532 struct znet_private *znet = netdev_priv(dev);
560 ushort *tx_link = znet->tx_cur - 1;
565 if (znet->tx_cur >= znet->tx_end)
566 znet->tx_cur = znet->tx_start;
567 *znet->tx_cur++ = length;
568 if (znet->tx_cur + rnd_len + 1 > znet->tx_end) {
569 int semi_cnt = (znet->tx_end - znet->tx_cur)<<1; /* Cvrt to byte cnt. */
570 memcpy(znet->tx_cur, buf, semi_cnt);
572 memcpy(znet->tx_start, buf + semi_cnt, length - semi_cnt);
573 znet->tx_cur = znet->tx_start + rnd_len;
575 memcpy(znet->tx_cur, buf, skb->len);
576 znet->tx_cur += rnd_len;
578 *znet->tx_cur++ = 0;
580 spin_lock_irqsave(&znet->lock, flags);
586 spin_unlock_irqrestore (&znet->lock, flags);
601 struct znet_private *znet = netdev_priv(dev);
606 spin_lock (&znet->lock);
672 spin_unlock (&znet->lock);
679 struct znet_private *znet = netdev_priv(dev);
689 if (cur_frame_end_offset == znet->rx_cur - znet->rx_start) {
699 while (znet->rx_start + cur_frame_end_offset != znet->rx_cur &&
708 memcpy(znet->rx_end, znet->rx_start, 8);
711 cur_frame_end = znet->rx_start + cur_frame_end_offset - 4;
736 ushort *this_rfp_ptr = znet->rx_start + next_frame_end_offset;
766 if (&znet->rx_cur[(pkt_len+1)>>1] > znet->rx_end) {
767 int semi_cnt = (znet->rx_end - znet->rx_cur)<<1;
768 memcpy(skb_put(skb,semi_cnt), znet->rx_cur, semi_cnt);
769 memcpy(skb_put(skb,pkt_len-semi_cnt), znet->rx_start,
772 memcpy(skb_put(skb,pkt_len), znet->rx_cur, pkt_len);
784 znet->rx_cur = this_rfp_ptr;
785 if (znet->rx_cur >= znet->rx_end)
786 znet->rx_cur -= RX_BUF_SIZE/2;
787 update_stop_hit(ioaddr, (znet->rx_cur - znet->rx_start)<<1);
791 this_rfp_ptr = znet->rx_start + next_frame_end_offset;
822 struct znet_private *znet = netdev_priv(dev);
824 short dma_port = ((znet->tx_dma&3)<<2) + IO_DMA2_BASE;
829 residue = get_dma_residue(znet->tx_dma);
845 struct znet_private *znet = netdev_priv(dev);
847 znet->rx_cur = znet->rx_start;
848 znet->tx_cur = znet->tx_start;
854 disable_dma(znet->rx_dma); /* reset by an interrupting task. */
855 clear_dma_ff(znet->rx_dma);
856 set_dma_mode(znet->rx_dma, DMA_RX_MODE);
857 set_dma_addr(znet->rx_dma, (unsigned int) znet->rx_start);
858 set_dma_count(znet->rx_dma, RX_BUF_SIZE);
859 enable_dma(znet->rx_dma);
861 disable_dma(znet->tx_dma);
862 clear_dma_ff(znet->tx_dma);
863 set_dma_mode(znet->tx_dma, DMA_TX_MODE);
864 set_dma_addr(znet->tx_dma, (unsigned int) znet->tx_start);
865 set_dma_count(znet->tx_dma, znet->tx_buf_len<<1);
866 enable_dma(znet->tx_dma);
871 dev->name, znet->rx_start,znet->tx_start);
874 *znet->tx_cur++ = 0;
875 *znet->tx_cur++ = 0;
881 *znet->tx_cur++ = 6;
882 memcpy(znet->tx_cur, dev->dev_addr, 6);
883 znet->tx_cur += 3;
907 struct znet_private *znet = netdev_priv(znet_dev);
910 kfree (znet->rx_start);
911 kfree (znet->tx_start);