sungem.c (5d6bcdfe38ce883946aebf751a64695471ce1ab5) sungem.c (9e903e085262ffbf1fc44a17ac06058aca03524a)
1/* $Id: sungem.c,v 1.44.2.22 2002/03/13 01:18:12 davem Exp $
2 * sungem.c: Sun GEM ethernet driver.
3 *
4 * Copyright (C) 2000, 2001, 2002, 2003 David S. Miller (davem@redhat.com)
5 *
6 * Support for Apple GMAC and assorted PHYs, WOL, Power Management
7 * (C) 2001,2002,2003 Benjamin Herrenscmidt (benh@kernel.crashing.org)
8 * (C) 2004,2005 Benjamin Herrenscmidt, IBM Corp.

--- 1051 unchanged lines hidden (view full) ---

1060 */
1061 first_len = skb_headlen(skb);
1062 first_mapping = pci_map_page(gp->pdev, virt_to_page(skb->data),
1063 offset_in_page(skb->data),
1064 first_len, PCI_DMA_TODEVICE);
1065 entry = NEXT_TX(entry);
1066
1067 for (frag = 0; frag < skb_shinfo(skb)->nr_frags; frag++) {
1/* $Id: sungem.c,v 1.44.2.22 2002/03/13 01:18:12 davem Exp $
2 * sungem.c: Sun GEM ethernet driver.
3 *
4 * Copyright (C) 2000, 2001, 2002, 2003 David S. Miller (davem@redhat.com)
5 *
6 * Support for Apple GMAC and assorted PHYs, WOL, Power Management
7 * (C) 2001,2002,2003 Benjamin Herrenscmidt (benh@kernel.crashing.org)
8 * (C) 2004,2005 Benjamin Herrenscmidt, IBM Corp.

--- 1051 unchanged lines hidden (view full) ---

1060 */
1061 first_len = skb_headlen(skb);
1062 first_mapping = pci_map_page(gp->pdev, virt_to_page(skb->data),
1063 offset_in_page(skb->data),
1064 first_len, PCI_DMA_TODEVICE);
1065 entry = NEXT_TX(entry);
1066
1067 for (frag = 0; frag < skb_shinfo(skb)->nr_frags; frag++) {
1068 skb_frag_t *this_frag = &skb_shinfo(skb)->frags[frag];
1068 const skb_frag_t *this_frag = &skb_shinfo(skb)->frags[frag];
1069 u32 len;
1070 dma_addr_t mapping;
1071 u64 this_ctrl;
1072
1069 u32 len;
1070 dma_addr_t mapping;
1071 u64 this_ctrl;
1072
1073 len = this_frag->size;
1073 len = skb_frag_size(this_frag);
1074 mapping = skb_frag_dma_map(&gp->pdev->dev, this_frag,
1075 0, len, DMA_TO_DEVICE);
1076 this_ctrl = ctrl;
1077 if (frag == skb_shinfo(skb)->nr_frags - 1)
1078 this_ctrl |= TXDCTRL_EOF;
1079
1080 txd = &gp->init_block->txd[entry];
1081 txd->buffer = cpu_to_le64(mapping);

--- 1966 unchanged lines hidden ---
1074 mapping = skb_frag_dma_map(&gp->pdev->dev, this_frag,
1075 0, len, DMA_TO_DEVICE);
1076 this_ctrl = ctrl;
1077 if (frag == skb_shinfo(skb)->nr_frags - 1)
1078 this_ctrl |= TXDCTRL_EOF;
1079
1080 txd = &gp->init_block->txd[entry];
1081 txd->buffer = cpu_to_le64(mapping);

--- 1966 unchanged lines hidden ---