• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7800-V1.0.2.28/target/linux/lantiq/files/drivers/net/ethernet/

Lines Matching defs:dma

37 #include <linux/dma-mapping.h>
347 struct ltq_dma_channel dma;
373 ch->skb[ch->dma.desc] = dev_alloc_skb(MAX_DMA_DATA_LEN);
374 if (!ch->skb[ch->dma.desc])
376 ch->dma.desc_base[ch->dma.desc].addr = dma_map_single(NULL,
377 ch->skb[ch->dma.desc]->data, MAX_DMA_DATA_LEN,
379 ch->dma.desc_base[ch->dma.desc].addr =
380 CPHYSADDR(ch->skb[ch->dma.desc]->data);
381 ch->dma.desc_base[ch->dma.desc].ctl =
384 skb_reserve(ch->skb[ch->dma.desc], NET_IP_ALIGN);
392 struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
393 struct sk_buff *skb = ch->skb[ch->dma.desc];
401 ltq_dma_close(&ch->dma);
403 ch->dma.desc++;
404 ch->dma.desc %= LTQ_DESC_NUM;
424 struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
436 ltq_dma_ack_irq(&ch->dma);
453 while ((ch->dma.desc_base[ch->tx_free].ctl &
457 memset(&ch->dma.desc_base[ch->tx_free], 0,
468 ltq_dma_ack_irq(&ch->dma);
488 ltq_dma_free(&ch->dma);
489 if (ch->dma.irq)
490 free_irq(ch->dma.irq, priv);
494 dev_kfree_skb_any(ch->skb[ch->dma.desc]);
792 netdev_info(dev, "setting up dma\n");
832 ch->idx = ch->dma.nr = i;
835 ltq_dma_alloc_tx(&ch->dma);
839 ltq_dma_alloc_rx(&ch->dma);
840 for (ch->dma.desc = 0; ch->dma.desc < LTQ_DESC_NUM;
841 ch->dma.desc++)
844 ch->dma.desc = 0;
849 ch->dma.irq = irq;
1099 ltq_dma_open(&ch->dma);
1127 ltq_dma_close(&ch->dma);
1140 struct ltq_dma_desc *desc = &ch->dma.desc_base[ch->dma.desc];
1147 if ((desc->ctl & (LTQ_DMA_OWN | LTQ_DMA_C)) || ch->skb[ch->dma.desc]) {
1153 /* dma needs to start on a 16 byte aligned address */
1155 ch->skb[ch->dma.desc] = skb;
1165 ch->dma.desc++;
1166 ch->dma.desc %= LTQ_DESC_NUM;
1169 if (ch->dma.desc_base[ch->dma.desc].ctl & LTQ_DMA_OWN)