sunhme.c (4bc683472bda1e224e652104686231057647d2da) sunhme.c (9e903e085262ffbf1fc44a17ac06058aca03524a)
1/* sunhme.c: Sparc HME/BigMac 10/100baseT half/full duplex auto switching,
2 * auto carrier detecting ethernet driver. Also known as the
3 * "Happy Meal Ethernet" found on SunSwift SBUS cards.
4 *
5 * Copyright (C) 1996, 1998, 1999, 2002, 2003,
6 * 2006, 2008 David S. Miller (davem@davemloft.net)
7 *
8 * Changes :

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

2300 * Otherwise we could race with the device.
2301 */
2302 first_len = skb_headlen(skb);
2303 first_mapping = dma_map_single(hp->dma_dev, skb->data, first_len,
2304 DMA_TO_DEVICE);
2305 entry = NEXT_TX(entry);
2306
2307 for (frag = 0; frag < skb_shinfo(skb)->nr_frags; frag++) {
1/* sunhme.c: Sparc HME/BigMac 10/100baseT half/full duplex auto switching,
2 * auto carrier detecting ethernet driver. Also known as the
3 * "Happy Meal Ethernet" found on SunSwift SBUS cards.
4 *
5 * Copyright (C) 1996, 1998, 1999, 2002, 2003,
6 * 2006, 2008 David S. Miller (davem@davemloft.net)
7 *
8 * Changes :

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

2300 * Otherwise we could race with the device.
2301 */
2302 first_len = skb_headlen(skb);
2303 first_mapping = dma_map_single(hp->dma_dev, skb->data, first_len,
2304 DMA_TO_DEVICE);
2305 entry = NEXT_TX(entry);
2306
2307 for (frag = 0; frag < skb_shinfo(skb)->nr_frags; frag++) {
2308 skb_frag_t *this_frag = &skb_shinfo(skb)->frags[frag];
2308 const skb_frag_t *this_frag = &skb_shinfo(skb)->frags[frag];
2309 u32 len, mapping, this_txflags;
2310
2309 u32 len, mapping, this_txflags;
2310
2311 len = this_frag->size;
2311 len = skb_frag_size(this_frag);
2312 mapping = skb_frag_dma_map(hp->dma_dev, this_frag,
2313 0, len, DMA_TO_DEVICE);
2314 this_txflags = tx_flags;
2315 if (frag == skb_shinfo(skb)->nr_frags - 1)
2316 this_txflags |= TXFLAG_EOP;
2317 hme_write_txd(hp, &hp->happy_block->happy_meal_txd[entry],
2318 (this_txflags | (len & TXFLAG_SIZE)),
2319 mapping);

--- 1040 unchanged lines hidden ---
2312 mapping = skb_frag_dma_map(hp->dma_dev, this_frag,
2313 0, len, DMA_TO_DEVICE);
2314 this_txflags = tx_flags;
2315 if (frag == skb_shinfo(skb)->nr_frags - 1)
2316 this_txflags |= TXFLAG_EOP;
2317 hme_write_txd(hp, &hp->happy_block->happy_meal_txd[entry],
2318 (this_txflags | (len & TXFLAG_SIZE)),
2319 mapping);

--- 1040 unchanged lines hidden ---