tx.c (ed32f8d42cee118b075e4372a55c7739a11094b2) | tx.c (b54c9d5bd6e38edac9ce3a3f95f14a1292b5268d) |
---|---|
1// SPDX-License-Identifier: GPL-2.0-only 2/**************************************************************************** 3 * Driver for Solarflare network controllers and boards 4 * Copyright 2005-2006 Fen Systems Ltd. 5 * Copyright 2005-2013 Solarflare Communications Inc. 6 */ 7 8#include <linux/pci.h> --- 260 unchanged lines hidden (view full) --- 269 copy_buf); 270 271 for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) { 272 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; 273 u8 *vaddr; 274 275 vaddr = kmap_atomic(skb_frag_page(f)); 276 | 1// SPDX-License-Identifier: GPL-2.0-only 2/**************************************************************************** 3 * Driver for Solarflare network controllers and boards 4 * Copyright 2005-2006 Fen Systems Ltd. 5 * Copyright 2005-2013 Solarflare Communications Inc. 6 */ 7 8#include <linux/pci.h> --- 260 unchanged lines hidden (view full) --- 269 copy_buf); 270 271 for (i = 0; i < skb_shinfo(skb)->nr_frags; ++i) { 272 skb_frag_t *f = &skb_shinfo(skb)->frags[i]; 273 u8 *vaddr; 274 275 vaddr = kmap_atomic(skb_frag_page(f)); 276 |
277 efx_memcpy_toio_aligned_cb(efx, piobuf, vaddr + f->page_offset, | 277 efx_memcpy_toio_aligned_cb(efx, piobuf, vaddr + skb_frag_off(f), |
278 skb_frag_size(f), copy_buf); 279 kunmap_atomic(vaddr); 280 } 281 282 EFX_WARN_ON_ONCE_PARANOID(skb_shinfo(skb)->frag_list); 283} 284 285static int efx_enqueue_skb_pio(struct efx_tx_queue *tx_queue, --- 629 unchanged lines hidden --- | 278 skb_frag_size(f), copy_buf); 279 kunmap_atomic(vaddr); 280 } 281 282 EFX_WARN_ON_ONCE_PARANOID(skb_shinfo(skb)->frag_list); 283} 284 285static int efx_enqueue_skb_pio(struct efx_tx_queue *tx_queue, --- 629 unchanged lines hidden --- |