Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 266158
b: refs/heads/master
c: 3090bd9
h: refs/heads/master
v: v3
  • Loading branch information
Hayes Wang authored and Francois Romieu committed Sep 22, 2011
1 parent 0fc0f90 commit fbde90a
Show file tree
Hide file tree
Showing 18 changed files with 53 additions and 47 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 757216efb8f1bcab152c3f4c33ad7862b2f6663a
refs/heads/master: 3090bd9a3102331ed981280ef05ee5433ce978d7
3 changes: 2 additions & 1 deletion trunk/drivers/net/ethernet/3com/typhoon.c
Original file line number Diff line number Diff line change
Expand Up @@ -819,7 +819,8 @@ typhoon_start_tx(struct sk_buff *skb, struct net_device *dev)
typhoon_inc_tx_index(&txRing->lastWrite, 1);

len = frag->size;
frag_addr = skb_frag_address(frag);
frag_addr = (void *) page_address(frag->page) +
frag->page_offset;
skb_dma = pci_map_single(tp->tx_pdev, frag_addr, len,
PCI_DMA_TODEVICE);
txd->flags = TYPHOON_FRAG_DESC | TYPHOON_DESC_VALID;
Expand Down
5 changes: 1 addition & 4 deletions trunk/drivers/net/ethernet/adaptec/starfire.c
Original file line number Diff line number Diff line change
Expand Up @@ -1259,10 +1259,7 @@ static netdev_tx_t start_tx(struct sk_buff *skb, struct net_device *dev)
skb_frag_t *this_frag = &skb_shinfo(skb)->frags[i - 1];
status |= this_frag->size;
np->tx_info[entry].mapping =
pci_map_single(np->pci_dev,
skb_frag_address(this_frag),
this_frag->size,
PCI_DMA_TODEVICE);
pci_map_single(np->pci_dev, page_address(this_frag->page) + this_frag->page_offset, this_frag->size, PCI_DMA_TODEVICE);
}

np->tx_ring[entry].addr = cpu_to_dma(np->tx_info[entry].mapping);
Expand Down
4 changes: 2 additions & 2 deletions trunk/drivers/net/ethernet/marvell/skge.c
Original file line number Diff line number Diff line change
Expand Up @@ -2758,8 +2758,8 @@ static netdev_tx_t skge_xmit_frame(struct sk_buff *skb,
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
skb_frag_t *frag = &skb_shinfo(skb)->frags[i];

map = skb_frag_dma_map(&hw->pdev->dev, frag, 0,
frag->size, PCI_DMA_TODEVICE);
map = pci_map_page(hw->pdev, frag->page, frag->page_offset,
frag->size, PCI_DMA_TODEVICE);

e = e->next;
e->skb = skb;
Expand Down
13 changes: 7 additions & 6 deletions trunk/drivers/net/ethernet/marvell/sky2.c
Original file line number Diff line number Diff line change
Expand Up @@ -1226,9 +1226,10 @@ static int sky2_rx_map_skb(struct pci_dev *pdev, struct rx_ring_info *re,
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
skb_frag_t *frag = &skb_shinfo(skb)->frags[i];

re->frag_addr[i] = skb_frag_dma_map(&pdev->dev, frag, 0,
frag->size,
PCI_DMA_FROMDEVICE);
re->frag_addr[i] = pci_map_page(pdev, frag->page,
frag->page_offset,
frag->size,
PCI_DMA_FROMDEVICE);

if (pci_dma_mapping_error(pdev, re->frag_addr[i]))
goto map_page_error;
Expand Down Expand Up @@ -1909,8 +1910,8 @@ static netdev_tx_t sky2_xmit_frame(struct sk_buff *skb,
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
const skb_frag_t *frag = &skb_shinfo(skb)->frags[i];

mapping = skb_frag_dma_map(&hw->pdev->dev, frag, 0,
frag->size, PCI_DMA_TODEVICE);
mapping = pci_map_page(hw->pdev, frag->page, frag->page_offset,
frag->size, PCI_DMA_TODEVICE);

if (pci_dma_mapping_error(hw->pdev, mapping))
goto mapping_unwind;
Expand Down Expand Up @@ -2448,7 +2449,7 @@ static void skb_put_frags(struct sk_buff *skb, unsigned int hdr_space,

if (length == 0) {
/* don't need this page */
__skb_frag_unref(frag);
__free_page(frag->page);
--skb_shinfo(skb)->nr_frags;
} else {
size = min(length, (unsigned) PAGE_SIZE);
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/net/ethernet/neterion/s2io.c
Original file line number Diff line number Diff line change
Expand Up @@ -4190,10 +4190,10 @@ static netdev_tx_t s2io_xmit(struct sk_buff *skb, struct net_device *dev)
if (!frag->size)
continue;
txdp++;
txdp->Buffer_Pointer = (u64)skb_frag_dma_map(&sp->pdev->dev,
frag, 0,
frag->size,
PCI_DMA_TODEVICE);
txdp->Buffer_Pointer = (u64)pci_map_page(sp->pdev, frag->page,
frag->page_offset,
frag->size,
PCI_DMA_TODEVICE);
txdp->Control_1 = TXD_BUFFER0_SIZE(frag->size);
if (offload_type == SKB_GSO_UDP)
txdp->Control_1 |= TXD_UFO_EN;
Expand Down
3 changes: 2 additions & 1 deletion trunk/drivers/net/ethernet/realtek/r8169.c
Original file line number Diff line number Diff line change
Expand Up @@ -311,6 +311,7 @@ enum rtl_registers {
MaxTxPacketSize = 0xec, /* 8101/8168. Unit of 128 bytes. */

#define TxPacketMax (8064 >> 7)
#define EarlySize 0x27

FuncEvent = 0xf0,
FuncEventMask = 0xf4,
Expand Down Expand Up @@ -4479,7 +4480,7 @@ static void rtl_hw_start_8168e_2(void __iomem *ioaddr, struct pci_dev *pdev)
rtl_w1w0_eri(ioaddr, 0x0d4, ERIAR_MASK_0011, 0x0c00, 0xff00,
ERIAR_EXGMAC);

RTL_W8(MaxTxPacketSize, 0x27);
RTL_W8(MaxTxPacketSize, EarlySize);

rtl_disable_clock_request(pdev);

Expand Down
1 change: 0 additions & 1 deletion trunk/drivers/net/ethernet/seeq/Kconfig
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,6 @@
config NET_VENDOR_SEEQ
bool "SEEQ devices"
default y
depends on HAS_IOMEM
depends on (ARM && ARCH_ACORN) || SGI_HAS_SEEQ || EXPERIMENTAL
---help---
If you have a network (Ethernet) card belonging to this class, say Y
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/ethernet/sfc/rx.c
Original file line number Diff line number Diff line change
Expand Up @@ -478,7 +478,7 @@ static void efx_rx_packet_gro(struct efx_channel *channel,
if (efx->net_dev->features & NETIF_F_RXHASH)
skb->rxhash = efx_rx_buf_hash(eh);

skb_frag_set_page(skb, 0, page);
skb_shinfo(skb)->frags[0].page = page;
skb_shinfo(skb)->frags[0].page_offset =
efx_rx_buf_offset(efx, rx_buf);
skb_shinfo(skb)->frags[0].size = rx_buf->len;
Expand Down
13 changes: 9 additions & 4 deletions trunk/drivers/net/ethernet/sfc/tx.c
Original file line number Diff line number Diff line change
Expand Up @@ -137,6 +137,8 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
struct pci_dev *pci_dev = efx->pci_dev;
struct efx_tx_buffer *buffer;
skb_frag_t *fragment;
struct page *page;
int page_offset;
unsigned int len, unmap_len = 0, fill_level, insert_ptr;
dma_addr_t dma_addr, unmap_addr = 0;
unsigned int dma_len;
Expand Down Expand Up @@ -239,11 +241,13 @@ netdev_tx_t efx_enqueue_skb(struct efx_tx_queue *tx_queue, struct sk_buff *skb)
break;
fragment = &skb_shinfo(skb)->frags[i];
len = fragment->size;
page = fragment->page;
page_offset = fragment->page_offset;
i++;
/* Map for DMA */
unmap_single = false;
dma_addr = skb_frag_dma_map(&pci_dev->dev, fragment, 0, len,
PCI_DMA_TODEVICE);
dma_addr = pci_map_page(pci_dev, page, page_offset, len,
PCI_DMA_TODEVICE);
}

/* Transfer ownership of the skb to the final buffer */
Expand Down Expand Up @@ -925,8 +929,9 @@ static void tso_start(struct tso_state *st, const struct sk_buff *skb)
static int tso_get_fragment(struct tso_state *st, struct efx_nic *efx,
skb_frag_t *frag)
{
st->unmap_addr = skb_frag_dma_map(&efx->pci_dev->dev, frag, 0,
frag->size, PCI_DMA_TODEVICE);
st->unmap_addr = pci_map_page(efx->pci_dev, frag->page,
frag->page_offset, frag->size,
PCI_DMA_TODEVICE);
if (likely(!pci_dma_mapping_error(efx->pci_dev, st->unmap_addr))) {
st->unmap_single = false;
st->unmap_len = frag->size;
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1113,8 +1113,9 @@ static netdev_tx_t stmmac_xmit(struct sk_buff *skb, struct net_device *dev)
desc = priv->dma_tx + entry;

TX_DBG("\t[entry %d] segment len: %d\n", entry, len);
desc->des2 = skb_frag_dma_map(priv->device, frag, 0, len,
DMA_TO_DEVICE);
desc->des2 = dma_map_page(priv->device, frag->page,
frag->page_offset,
len, DMA_TO_DEVICE);
priv->tx_skbuff[entry] = NULL;
priv->hw->desc->prepare_tx_desc(desc, 0, len, csum_insertion);
wmb();
Expand Down
6 changes: 4 additions & 2 deletions trunk/drivers/net/ethernet/sun/sungem.c
Original file line number Diff line number Diff line change
Expand Up @@ -1071,8 +1071,10 @@ static netdev_tx_t gem_start_xmit(struct sk_buff *skb,
u64 this_ctrl;

len = this_frag->size;
mapping = skb_frag_dma_map(&gp->pdev->dev, this_frag,
0, len, PCI_DMA_TODEVICE);
mapping = pci_map_page(gp->pdev,
this_frag->page,
this_frag->page_offset,
len, PCI_DMA_TODEVICE);
this_ctrl = ctrl;
if (frag == skb_shinfo(skb)->nr_frags - 1)
this_ctrl |= TXDCTRL_EOF;
Expand Down
5 changes: 3 additions & 2 deletions trunk/drivers/net/ethernet/sun/sunhme.c
Original file line number Diff line number Diff line change
Expand Up @@ -2309,8 +2309,9 @@ static netdev_tx_t happy_meal_start_xmit(struct sk_buff *skb,
u32 len, mapping, this_txflags;

len = this_frag->size;
mapping = skb_frag_dma_map(hp->dma_dev, this_frag,
0, len, DMA_TO_DEVICE);
mapping = dma_map_page(hp->dma_dev, this_frag->page,
this_frag->page_offset, len,
DMA_TO_DEVICE);
this_txflags = tx_flags;
if (frag == skb_shinfo(skb)->nr_frags - 1)
this_txflags |= TXFLAG_EOP;
Expand Down
6 changes: 3 additions & 3 deletions trunk/drivers/net/ethernet/tehuti/tehuti.c
Original file line number Diff line number Diff line change
Expand Up @@ -1497,9 +1497,9 @@ bdx_tx_map_skb(struct bdx_priv *priv, struct sk_buff *skb,

frag = &skb_shinfo(skb)->frags[i];
db->wptr->len = frag->size;
db->wptr->addr.dma = skb_frag_dma_map(&priv->pdev->dev, frag,
0, frag->size,
PCI_DMA_TODEVICE);
db->wptr->addr.dma =
pci_map_page(priv->pdev, frag->page, frag->page_offset,
frag->size, PCI_DMA_TODEVICE);

pbl++;
pbl->len = CPU_CHIP_SWAP32(db->wptr->len);
Expand Down
7 changes: 3 additions & 4 deletions trunk/drivers/net/ethernet/tundra/tsi108_eth.c
Original file line number Diff line number Diff line change
Expand Up @@ -711,10 +711,9 @@ static int tsi108_send_packet(struct sk_buff * skb, struct net_device *dev)
} else {
skb_frag_t *frag = &skb_shinfo(skb)->frags[i - 1];

data->txring[tx].buf0 = skb_frag_dma_map(NULL, frag,
0,
frag->size,
DMA_TO_DEVICE);
data->txring[tx].buf0 =
dma_map_page(NULL, frag->page, frag->page_offset,
frag->size, DMA_TO_DEVICE);
data->txring[tx].len = frag->size;
}

Expand Down
7 changes: 3 additions & 4 deletions trunk/drivers/net/ethernet/via/via-velocity.c
Original file line number Diff line number Diff line change
Expand Up @@ -2556,10 +2556,9 @@ static netdev_tx_t velocity_xmit(struct sk_buff *skb,
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
skb_frag_t *frag = &skb_shinfo(skb)->frags[i];

tdinfo->skb_dma[i + 1] = skb_frag_dma_map(&vptr->pdev->dev,
frag, 0,
frag->size,
PCI_DMA_TODEVICE);
tdinfo->skb_dma[i + 1] = pci_map_page(vptr->pdev, frag->page,
frag->page_offset, frag->size,
PCI_DMA_TODEVICE);

td_ptr->td_buf[i + 1].pa_low = cpu_to_le32(tdinfo->skb_dma[i + 1]);
td_ptr->td_buf[i + 1].pa_high = 0;
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/net/virtio_net.c
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,7 @@ static void set_skb_frag(struct sk_buff *skb, struct page *page,
f = &skb_shinfo(skb)->frags[i];
f->size = min((unsigned)PAGE_SIZE - offset, *len);
f->page_offset = offset;
__skb_frag_set_page(f, page);
f->page = page;

skb->data_len += f->size;
skb->len += f->size;
Expand Down
8 changes: 4 additions & 4 deletions trunk/drivers/net/vmxnet3/vmxnet3_drv.c
Original file line number Diff line number Diff line change
Expand Up @@ -654,7 +654,7 @@ vmxnet3_append_frag(struct sk_buff *skb, struct Vmxnet3_RxCompDesc *rcd,

BUG_ON(skb_shinfo(skb)->nr_frags >= MAX_SKB_FRAGS);

__skb_frag_set_page(frag, rbi->page);
frag->page = rbi->page;
frag->page_offset = 0;
frag->size = rcd->len;
skb->data_len += frag->size;
Expand Down Expand Up @@ -748,9 +748,9 @@ vmxnet3_map_pkt(struct sk_buff *skb, struct vmxnet3_tx_ctx *ctx,

tbi = tq->buf_info + tq->tx_ring.next2fill;
tbi->map_type = VMXNET3_MAP_PAGE;
tbi->dma_addr = skb_frag_dma_map(&adapter->pdev->dev, frag,
0, frag->size,
PCI_DMA_TODEVICE);
tbi->dma_addr = pci_map_page(adapter->pdev, frag->page,
frag->page_offset, frag->size,
PCI_DMA_TODEVICE);

tbi->len = frag->size;

Expand Down

0 comments on commit fbde90a

Please sign in to comment.