* [PATCH 01/14] 3c59x: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 02/14] 8139cp: " Ian Campbell
` (13 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Steffen Klassert
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Steffen Klassert <klassert@mathematik.tu-chemnitz.de>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/3com/3c59x.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/3com/3c59x.c b/drivers/net/ethernet/3com/3c59x.c
index 6e1f595..9ca45dc 100644
--- a/drivers/net/ethernet/3com/3c59x.c
+++ b/drivers/net/ethernet/3com/3c59x.c
@@ -2179,9 +2179,10 @@ boomerang_start_xmit(struct sk_buff *skb, struct net_device *dev)
skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
vp->tx_ring[entry].frag[i+1].addr =
- cpu_to_le32(pci_map_single(VORTEX_PCI(vp),
- (void*)page_address(frag->page) + frag->page_offset,
- frag->size, PCI_DMA_TODEVICE));
+ cpu_to_le32(pci_map_single(
+ VORTEX_PCI(vp),
+ (void *)skb_frag_address(frag),
+ frag->size, PCI_DMA_TODEVICE));
if (i == skb_shinfo(skb)->nr_frags-1)
vp->tx_ring[entry].frag[i+1].length = cpu_to_le32(frag->size|LAST_FRAG);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 02/14] 8139cp: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
2011-08-30 9:18 ` [PATCH 01/14] 3c59x: convert to SKB paged frag API Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 03/14] acenic: " Ian Campbell
` (12 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/realtek/8139cp.c | 3 +--
1 files changed, 1 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/realtek/8139cp.c b/drivers/net/ethernet/realtek/8139cp.c
index 5d2d1b8..c77d5af 100644
--- a/drivers/net/ethernet/realtek/8139cp.c
+++ b/drivers/net/ethernet/realtek/8139cp.c
@@ -784,8 +784,7 @@ static netdev_tx_t cp_start_xmit (struct sk_buff *skb,
len = this_frag->size;
mapping = dma_map_single(&cp->pdev->dev,
- ((void *) page_address(this_frag->page) +
- this_frag->page_offset),
+ skb_frag_address(this_frag),
len, PCI_DMA_TODEVICE);
eor = (entry == (CP_TX_RING_SIZE - 1)) ? RingEnd : 0;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 03/14] acenic: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
2011-08-30 9:18 ` [PATCH 01/14] 3c59x: convert to SKB paged frag API Ian Campbell
2011-08-30 9:18 ` [PATCH 02/14] 8139cp: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 04/14] atl1c: " Ian Campbell
` (11 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Jes Sorensen, linux-acenic
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jes Sorensen <jes@trained-monkey.org>
Cc: linux-acenic@sunsite.dk
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/alteon/acenic.c | 6 +++---
1 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/alteon/acenic.c b/drivers/net/ethernet/alteon/acenic.c
index 1d6f2db..8794cf8 100644
--- a/drivers/net/ethernet/alteon/acenic.c
+++ b/drivers/net/ethernet/alteon/acenic.c
@@ -2485,9 +2485,9 @@ restart:
info = ap->skb->tx_skbuff + idx;
desc = ap->tx_ring + idx;
- mapping = pci_map_page(ap->pdev, frag->page,
- frag->page_offset, frag->size,
- PCI_DMA_TODEVICE);
+ mapping = skb_frag_dma_map(&ap->pdev->dev, frag, 0,
+ frag->size,
+ PCI_DMA_TODEVICE);
flagsize = (frag->size << 16);
if (skb->ip_summed == CHECKSUM_PARTIAL)
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 04/14] atl1c: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (2 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 03/14] acenic: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:34 ` [PATCH] MAINTAINERS: Update ATLX driver maintainers Ian Campbell
2011-08-30 9:18 ` [PATCH 05/14] atl1e: convert to SKB paged frag API Ian Campbell
` (10 subsequent siblings)
14 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Jay Cliburn, Chris Snook, Jie Yang
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jay Cliburn <jcliburn@gmail.com>
Cc: Chris Snook <chris.snook@gmail.com>
Cc: Jie Yang <jie.yang@atheros.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/atheros/atl1c/atl1c_main.c | 9 ++++-----
1 files changed, 4 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
index acb4c10..2b9f925 100644
--- a/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
+++ b/drivers/net/ethernet/atheros/atl1c/atl1c_main.c
@@ -2180,11 +2180,10 @@ static void atl1c_tx_map(struct atl1c_adapter *adapter,
buffer_info = atl1c_get_tx_buffer(adapter, use_tpd);
buffer_info->length = frag->size;
- buffer_info->dma =
- pci_map_page(adapter->pdev, frag->page,
- frag->page_offset,
- buffer_info->length,
- PCI_DMA_TODEVICE);
+ buffer_info->dma = skb_frag_dma_map(&adapter->pdev->dev,
+ frag, 0,
+ buffer_info->length,
+ PCI_DMA_TODEVICE);
ATL1C_SET_BUFFER_STATE(buffer_info, ATL1C_BUFFER_BUSY);
ATL1C_SET_PCIMAP_TYPE(buffer_info, ATL1C_PCIMAP_PAGE,
ATL1C_PCIMAP_TODEVICE);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH] MAINTAINERS: Update ATLX driver maintainers
2011-08-30 9:18 ` [PATCH 04/14] atl1c: " Ian Campbell
@ 2011-08-30 9:34 ` Ian Campbell
2011-08-30 11:25 ` Franco Fichtner
0 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:34 UTC (permalink / raw)
To: netdev
Cc: Ian Campbell, Jay Cliburn, Chris Snook, Jie Yang, Andrew Morton,
Joe Perches
jie.yang@atheros.com bounces and I get a 550 "Unknown address error". Perhaps
they have moved on?
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jay Cliburn <jcliburn@gmail.com>
Cc: Chris Snook <chris.snook@gmail.com>
Cc: Jie Yang <jie.yang@atheros.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Joe Perches <joe@perches.com>
Cc: netdev@vger.kernel.org
---
MAINTAINERS | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index d32e1ca..cb6ad5f 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1278,7 +1278,6 @@ F: drivers/input/misc/ati_remote2.c
ATLX ETHERNET DRIVERS
M: Jay Cliburn <jcliburn@gmail.com>
M: Chris Snook <chris.snook@gmail.com>
-M: Jie Yang <jie.yang@atheros.com>
L: netdev@vger.kernel.org
W: http://sourceforge.net/projects/atl1
W: http://atl1.sourceforge.net
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH] MAINTAINERS: Update ATLX driver maintainers
2011-08-30 9:34 ` [PATCH] MAINTAINERS: Update ATLX driver maintainers Ian Campbell
@ 2011-08-30 11:25 ` Franco Fichtner
2011-08-30 11:31 ` Ian Campbell
0 siblings, 1 reply; 25+ messages in thread
From: Franco Fichtner @ 2011-08-30 11:25 UTC (permalink / raw)
To: Ian Campbell
Cc: netdev, Jay Cliburn, Chris Snook, Jie Yang, Andrew Morton, Joe Perches
Hi Ian,
On 08/30/2011 11:34 AM, Ian Campbell wrote:
> jie.yang@atheros.com bounces and I get a 550 "Unknown address error". Perhaps
> they have moved on?
Atheros is now part of Qualcomm. There is a patch by Luis floating
around fixing the MAINTAINERS file properly, but it hasn't been applied
yet. No need to apply this one here.
Franco
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH] MAINTAINERS: Update ATLX driver maintainers
2011-08-30 11:25 ` Franco Fichtner
@ 2011-08-30 11:31 ` Ian Campbell
0 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 11:31 UTC (permalink / raw)
To: Franco Fichtner
Cc: netdev, Jay Cliburn, Chris Snook, Jie Yang, Andrew Morton, Joe Perches
On Tue, 2011-08-30 at 12:25 +0100, Franco Fichtner wrote:
> Hi Ian,
>
> On 08/30/2011 11:34 AM, Ian Campbell wrote:
> > jie.yang@atheros.com bounces and I get a 550 "Unknown address error". Perhaps
> > they have moved on?
>
> Atheros is now part of Qualcomm. There is a patch by Luis floating
> around fixing the MAINTAINERS file properly, but it hasn't been applied
> yet. No need to apply this one here.
OK thanks Franco.
Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 05/14] atl1e: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (3 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 04/14] atl1c: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 06/14] atlx: " Ian Campbell
` (9 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Jay Cliburn, Chris Snook, Jie Yang
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jay Cliburn <jcliburn@gmail.com>
Cc: Chris Snook <chris.snook@gmail.com>
Cc: Jie Yang <jie.yang@atheros.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/atheros/atl1e/atl1e_main.c | 11 +++++------
1 files changed, 5 insertions(+), 6 deletions(-)
diff --git a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
index 1b5dc79..7e27eb3 100644
--- a/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
+++ b/drivers/net/ethernet/atheros/atl1e/atl1e_main.c
@@ -1765,12 +1765,11 @@ static void atl1e_tx_map(struct atl1e_adapter *adapter,
MAX_TX_BUF_LEN : buf_len;
buf_len -= tx_buffer->length;
- tx_buffer->dma =
- pci_map_page(adapter->pdev, frag->page,
- frag->page_offset +
- (i * MAX_TX_BUF_LEN),
- tx_buffer->length,
- PCI_DMA_TODEVICE);
+ tx_buffer->dma = skb_frag_dma_map(&adapter->pdev->dev,
+ frag,
+ (i * MAX_TX_BUF_LEN),
+ tx_buffer->length,
+ PCI_DMA_TODEVICE);
ATL1E_SET_PCIMAP_TYPE(tx_buffer, ATL1E_TX_PCIMAP_PAGE);
use_tpd->buffer_addr = cpu_to_le64(tx_buffer->dma);
use_tpd->word2 = (use_tpd->word2 & (~TPD_BUFLEN_MASK)) |
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 06/14] atlx: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (4 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 05/14] atl1e: convert to SKB paged frag API Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 07/14] benet: " Ian Campbell
` (8 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Jay Cliburn, Chris Snook, Jie Yang
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jay Cliburn <jcliburn@gmail.com>
Cc: Chris Snook <chris.snook@gmail.com>
Cc: Jie Yang <jie.yang@atheros.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/atheros/atlx/atl1.c | 5 ++---
1 files changed, 2 insertions(+), 3 deletions(-)
diff --git a/drivers/net/ethernet/atheros/atlx/atl1.c b/drivers/net/ethernet/atheros/atlx/atl1.c
index c34e8239..edf826a 100644
--- a/drivers/net/ethernet/atheros/atlx/atl1.c
+++ b/drivers/net/ethernet/atheros/atlx/atl1.c
@@ -2283,9 +2283,8 @@ static void atl1_tx_map(struct atl1_adapter *adapter, struct sk_buff *skb,
buffer_info->length = (buf_len > ATL1_MAX_TX_BUF_LEN) ?
ATL1_MAX_TX_BUF_LEN : buf_len;
buf_len -= buffer_info->length;
- buffer_info->dma = pci_map_page(adapter->pdev,
- frag->page,
- frag->page_offset + (i * ATL1_MAX_TX_BUF_LEN),
+ buffer_info->dma = skb_frag_dma_map(&adapter->pdev->dev,
+ frag, i * ATL1_MAX_TX_BUF_LEN,
buffer_info->length, PCI_DMA_TODEVICE);
if (++next_to_use == tpd_ring->count)
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 07/14] benet: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (5 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 06/14] atlx: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 08/14] bna: " Ian Campbell
` (7 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Sathya Perla, Subbu Seetharaman, Ajit Khaparde
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Sathya Perla <sathya.perla@emulex.com>
Cc: Subbu Seetharaman <subbu.seetharaman@emulex.com>
Cc: Ajit Khaparde <ajit.khaparde@emulex.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/emulex/benet/be_main.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/emulex/benet/be_main.c b/drivers/net/ethernet/emulex/benet/be_main.c
index fb2eda0..59d54d1 100644
--- a/drivers/net/ethernet/emulex/benet/be_main.c
+++ b/drivers/net/ethernet/emulex/benet/be_main.c
@@ -638,8 +638,8 @@ static int make_tx_wrbs(struct be_adapter *adapter, struct be_queue_info *txq,
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
struct skb_frag_struct *frag =
&skb_shinfo(skb)->frags[i];
- busaddr = dma_map_page(dev, frag->page, frag->page_offset,
- frag->size, DMA_TO_DEVICE);
+ busaddr = skb_frag_dma_map(dev, frag, 0,
+ frag->size, DMA_TO_DEVICE);
if (dma_mapping_error(dev, busaddr))
goto dma_err;
wrb = queue_head_node(txq);
@@ -1066,7 +1066,7 @@ static void skb_fill_rx_data(struct be_adapter *adapter, struct be_rx_obj *rxo,
skb->tail += curr_frag_len;
} else {
skb_shinfo(skb)->nr_frags = 1;
- skb_shinfo(skb)->frags[0].page = page_info->page;
+ skb_frag_set_page(skb, 0, page_info->page);
skb_shinfo(skb)->frags[0].page_offset =
page_info->page_offset + hdr_len;
skb_shinfo(skb)->frags[0].size = curr_frag_len - hdr_len;
@@ -1091,7 +1091,7 @@ static void skb_fill_rx_data(struct be_adapter *adapter, struct be_rx_obj *rxo,
if (page_info->page_offset == 0) {
/* Fresh page */
j++;
- skb_shinfo(skb)->frags[j].page = page_info->page;
+ skb_frag_set_page(skb, j, page_info->page);
skb_shinfo(skb)->frags[j].page_offset =
page_info->page_offset;
skb_shinfo(skb)->frags[j].size = 0;
@@ -1173,7 +1173,7 @@ static void be_rx_compl_process_gro(struct be_adapter *adapter,
if (i == 0 || page_info->page_offset == 0) {
/* First frag or Fresh page */
j++;
- skb_shinfo(skb)->frags[j].page = page_info->page;
+ skb_frag_set_page(skb, j, page_info->page);
skb_shinfo(skb)->frags[j].page_offset =
page_info->page_offset;
skb_shinfo(skb)->frags[j].size = 0;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 08/14] bna: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (6 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 07/14] benet: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:42 ` [PATCH] MAINTAINERS: Update BNA 10G Maintainer Ian Campbell
2011-08-30 9:18 ` [PATCH 09/14] cassini: convert to SKB paged frag API Ian Campbell
` (6 subsequent siblings)
14 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Rasesh Mody, Debashis Dutt
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Rasesh Mody <rmody@brocade.com>
Cc: Debashis Dutt <ddutt@brocade.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/brocade/bna/bnad.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/ethernet/brocade/bna/bnad.c b/drivers/net/ethernet/brocade/bna/bnad.c
index 6ad4b47..181561c 100644
--- a/drivers/net/ethernet/brocade/bna/bnad.c
+++ b/drivers/net/ethernet/brocade/bna/bnad.c
@@ -2703,8 +2703,8 @@ bnad_start_xmit(struct sk_buff *skb, struct net_device *netdev)
BUG_ON(!(size <= BFI_TX_MAX_DATA_PER_VECTOR));
txqent->vector[vect_id].length = htons(size);
- dma_addr = dma_map_page(&bnad->pcidev->dev, frag->page,
- frag->page_offset, size, DMA_TO_DEVICE);
+ dma_addr = skb_frag_dma_map(&bnad->pcidev->dev, frag,
+ 0, size, DMA_TO_DEVICE);
dma_unmap_addr_set(&unmap_q->unmap_array[unmap_prod], dma_addr,
dma_addr);
BNA_SET_DMA_ADDR(dma_addr, &txqent->vector[vect_id].host_addr);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH] MAINTAINERS: Update BNA 10G Maintainer
2011-08-30 9:18 ` [PATCH 08/14] bna: " Ian Campbell
@ 2011-08-30 9:42 ` Ian Campbell
2011-08-31 0:44 ` David Miller
0 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:42 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell, Rasesh Mody, Andrew Morton, Joe Perches
ddutt@brocade.com bounces with 550 "RESOLVER.ADR.RecipNotFound"
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Rasesh Mody <rmody@brocade.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Joe Perches <joe@perches.com>
Cc: netdev@vger.kernel.org
---
MAINTAINERS | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index a5e0b11..8516f1d 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1573,7 +1573,6 @@ F: drivers/scsi/bfa/
BROCADE BNA 10 GIGABIT ETHERNET DRIVER
M: Rasesh Mody <rmody@brocade.com>
-M: Debashis Dutt <ddutt@brocade.com>
L: netdev@vger.kernel.org
S: Supported
F: drivers/net/ethernet/brocade/bna/
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 09/14] cassini: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (7 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 08/14] bna: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 10/14] intel: " Ian Campbell
` (5 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/sun/cassini.c | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/sun/cassini.c b/drivers/net/ethernet/sun/cassini.c
index 1776a37..f07a721 100644
--- a/drivers/net/ethernet/sun/cassini.c
+++ b/drivers/net/ethernet/sun/cassini.c
@@ -2048,8 +2048,8 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
skb->truesize += hlen - swivel;
skb->len += hlen - swivel;
- get_page(page->buffer);
- frag->page = page->buffer;
+ __skb_frag_set_page(frag, page->buffer);
+ __skb_frag_ref(frag);
frag->page_offset = off;
frag->size = hlen - swivel;
@@ -2072,8 +2072,8 @@ static int cas_rx_process_pkt(struct cas *cp, struct cas_rx_comp *rxc,
skb->len += hlen;
frag++;
- get_page(page->buffer);
- frag->page = page->buffer;
+ __skb_frag_set_page(frag, page->buffer);
+ __skb_frag_ref(frag);
frag->page_offset = 0;
frag->size = hlen;
RX_USED_ADD(page, hlen + cp->crc_size);
@@ -2830,9 +2830,8 @@ static inline int cas_xmit_tx_ringN(struct cas *cp, int ring,
skb_frag_t *fragp = &skb_shinfo(skb)->frags[frag];
len = fragp->size;
- mapping = pci_map_page(cp->pdev, fragp->page,
- fragp->page_offset, len,
- PCI_DMA_TODEVICE);
+ mapping = skb_frag_dma_map(&cp->pdev->dev, fragp, 0, len,
+ PCI_DMA_TODEVICE);
tabort = cas_calc_tabort(cp, fragp->page_offset, len);
if (unlikely(tabort)) {
@@ -2843,7 +2842,7 @@ static inline int cas_xmit_tx_ringN(struct cas *cp, int ring,
ctrl, 0);
entry = TX_DESC_NEXT(ring, entry);
- addr = cas_page_map(fragp->page);
+ addr = cas_page_map(skb_frag_page(fragp));
memcpy(tx_tiny_buf(cp, ring, entry),
addr + fragp->page_offset + len - tabort,
tabort);
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 10/14] intel: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (8 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 09/14] cassini: convert to SKB paged frag API Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 10:52 ` Jeff Kirsher
2011-08-30 9:18 ` [PATCH 11/14] enic: " Ian Campbell
` (4 subsequent siblings)
14 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev
Cc: Ian Campbell, e1000-devel, Bruce Allan, Jesse Brandeburg, John Ronciak
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
Cc: Bruce Allan <bruce.w.allan@intel.com>
Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
Cc: Don Skidmore <donald.c.skidmore@intel.com>
Cc: Greg Rose <gregory.v.rose@intel.com>
Cc: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
Cc: Alex Duyck <alexander.h.duyck@intel.com>
Cc: John Ronciak <john.ronciak@intel.com>
Cc: e1000-devel@lists.sourceforge.net
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/intel/e1000/e1000_main.c | 16 +++++++++-------
drivers/net/ethernet/intel/e1000e/netdev.c | 7 +++----
drivers/net/ethernet/intel/igb/igb_main.c | 5 +----
drivers/net/ethernet/intel/igbvf/netdev.c | 5 +----
drivers/net/ethernet/intel/ixgb/ixgb_main.c | 6 +++---
drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +--
drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 10 ++++------
7 files changed, 22 insertions(+), 30 deletions(-)
diff --git a/drivers/net/ethernet/intel/e1000/e1000_main.c b/drivers/net/ethernet/intel/e1000/e1000_main.c
index 4a32c15..27f586a 100644
--- a/drivers/net/ethernet/intel/e1000/e1000_main.c
+++ b/drivers/net/ethernet/intel/e1000/e1000_main.c
@@ -2911,9 +2911,10 @@ static int e1000_tx_map(struct e1000_adapter *adapter,
frag = &skb_shinfo(skb)->frags[f];
len = frag->size;
- offset = frag->page_offset;
+ offset = 0;
while (len) {
+ unsigned long bufend;
i++;
if (unlikely(i == tx_ring->count))
i = 0;
@@ -2927,18 +2928,19 @@ static int e1000_tx_map(struct e1000_adapter *adapter,
/* Workaround for potential 82544 hang in PCI-X.
* Avoid terminating buffers within evenly-aligned
* dwords. */
+ bufend = (unsigned long)
+ page_to_phys(skb_frag_page(frag));
+ bufend += offset + size - 1;
if (unlikely(adapter->pcix_82544 &&
- !((unsigned long)(page_to_phys(frag->page) + offset
- + size - 1) & 4) &&
- size > 4))
+ !(bufend & 4) &&
+ size > 4))
size -= 4;
buffer_info->length = size;
buffer_info->time_stamp = jiffies;
buffer_info->mapped_as_page = true;
- buffer_info->dma = dma_map_page(&pdev->dev, frag->page,
- offset, size,
- DMA_TO_DEVICE);
+ buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag,
+ offset, size, DMA_TO_DEVICE);
if (dma_mapping_error(&pdev->dev, buffer_info->dma))
goto dma_error;
buffer_info->next_to_watch = i;
diff --git a/drivers/net/ethernet/intel/e1000e/netdev.c b/drivers/net/ethernet/intel/e1000e/netdev.c
index 9742bc6..b585383 100644
--- a/drivers/net/ethernet/intel/e1000e/netdev.c
+++ b/drivers/net/ethernet/intel/e1000e/netdev.c
@@ -4677,7 +4677,7 @@ static int e1000_tx_map(struct e1000_adapter *adapter,
frag = &skb_shinfo(skb)->frags[f];
len = frag->size;
- offset = frag->page_offset;
+ offset = 0;
while (len) {
i++;
@@ -4690,9 +4690,8 @@ static int e1000_tx_map(struct e1000_adapter *adapter,
buffer_info->length = size;
buffer_info->time_stamp = jiffies;
buffer_info->next_to_watch = i;
- buffer_info->dma = dma_map_page(&pdev->dev, frag->page,
- offset, size,
- DMA_TO_DEVICE);
+ buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag,
+ offset, size, DMA_TO_DEVICE);
buffer_info->mapped_as_page = true;
if (dma_mapping_error(&pdev->dev, buffer_info->dma))
goto dma_error;
diff --git a/drivers/net/ethernet/intel/igb/igb_main.c b/drivers/net/ethernet/intel/igb/igb_main.c
index 8016084..3cb1bc9 100644
--- a/drivers/net/ethernet/intel/igb/igb_main.c
+++ b/drivers/net/ethernet/intel/igb/igb_main.c
@@ -4174,10 +4174,7 @@ static inline int igb_tx_map_adv(struct igb_ring *tx_ring, struct sk_buff *skb,
buffer_info->time_stamp = jiffies;
buffer_info->next_to_watch = i;
buffer_info->mapped_as_page = true;
- buffer_info->dma = dma_map_page(dev,
- frag->page,
- frag->page_offset,
- len,
+ buffer_info->dma = skb_frag_dma_map(dev, frag, 0, len,
DMA_TO_DEVICE);
if (dma_mapping_error(dev, buffer_info->dma))
goto dma_error;
diff --git a/drivers/net/ethernet/intel/igbvf/netdev.c b/drivers/net/ethernet/intel/igbvf/netdev.c
index a6bdb3c..b3d760b 100644
--- a/drivers/net/ethernet/intel/igbvf/netdev.c
+++ b/drivers/net/ethernet/intel/igbvf/netdev.c
@@ -2061,10 +2061,7 @@ static inline int igbvf_tx_map_adv(struct igbvf_adapter *adapter,
buffer_info->time_stamp = jiffies;
buffer_info->next_to_watch = i;
buffer_info->mapped_as_page = true;
- buffer_info->dma = dma_map_page(&pdev->dev,
- frag->page,
- frag->page_offset,
- len,
+ buffer_info->dma = skb_frag_dma_map(&pdev->dev, frag, 0, len,
DMA_TO_DEVICE);
if (dma_mapping_error(&pdev->dev, buffer_info->dma))
goto dma_error;
diff --git a/drivers/net/ethernet/intel/ixgb/ixgb_main.c b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
index b8ef2c0..c8b9c90 100644
--- a/drivers/net/ethernet/intel/ixgb/ixgb_main.c
+++ b/drivers/net/ethernet/intel/ixgb/ixgb_main.c
@@ -1341,7 +1341,7 @@ ixgb_tx_map(struct ixgb_adapter *adapter, struct sk_buff *skb,
frag = &skb_shinfo(skb)->frags[f];
len = frag->size;
- offset = frag->page_offset;
+ offset = 0;
while (len) {
i++;
@@ -1361,8 +1361,8 @@ ixgb_tx_map(struct ixgb_adapter *adapter, struct sk_buff *skb,
buffer_info->time_stamp = jiffies;
buffer_info->mapped_as_page = true;
buffer_info->dma =
- dma_map_page(&pdev->dev, frag->page,
- offset, size, DMA_TO_DEVICE);
+ skb_frag_dma_map(&pdev->dev, frag, offset, size,
+ DMA_TO_DEVICE);
if (dma_mapping_error(&pdev->dev, buffer_info->dma))
goto dma_error;
buffer_info->next_to_watch = 0;
diff --git a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
index e8aad76..7dba3ab 100644
--- a/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
+++ b/drivers/net/ethernet/intel/ixgbe/ixgbe_main.c
@@ -6562,8 +6562,7 @@ static void ixgbe_tx_map(struct ixgbe_ring *tx_ring,
offset = 0;
tx_flags |= IXGBE_TX_FLAGS_MAPPED_AS_PAGE;
- dma = dma_map_page(dev, frag->page, frag->page_offset,
- size, DMA_TO_DEVICE);
+ dma = skb_frag_dma_map(dev, frag, 0, size, DMA_TO_DEVICE);
if (dma_mapping_error(dev, dma))
goto dma_error;
diff --git a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
index b1e1c2d..3bc38e1 100644
--- a/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
+++ b/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c
@@ -2919,18 +2919,16 @@ static int ixgbevf_tx_map(struct ixgbevf_adapter *adapter,
frag = &skb_shinfo(skb)->frags[f];
len = min((unsigned int)frag->size, total);
- offset = frag->page_offset;
+ offset = 0;
while (len) {
tx_buffer_info = &tx_ring->tx_buffer_info[i];
size = min(len, (unsigned int)IXGBE_MAX_DATA_PER_TXD);
tx_buffer_info->length = size;
- tx_buffer_info->dma = dma_map_page(&adapter->pdev->dev,
- frag->page,
- offset,
- size,
- DMA_TO_DEVICE);
+ tx_buffer_info->dma =
+ skb_frag_dma_map(&adapter->pdev->dev, frag,
+ offset, size, DMA_TO_DEVICE);
tx_buffer_info->mapped_as_page = true;
if (dma_mapping_error(&pdev->dev, tx_buffer_info->dma))
goto dma_error;
--
1.7.2.5
------------------------------------------------------------------------------
Special Offer -- Download ArcSight Logger for FREE!
Finally, a world-class log management solution at an even better
price-free! And you'll get a free "Love Thy Logs" t-shirt when you
download Logger. Secure your free ArcSight Logger TODAY!
http://p.sf.net/sfu/arcsisghtdev2dev
_______________________________________________
E1000-devel mailing list
E1000-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/e1000-devel
To learn more about Intel® Ethernet, visit http://communities.intel.com/community/wired
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 10/14] intel: convert to SKB paged frag API.
2011-08-30 9:18 ` [PATCH 10/14] intel: " Ian Campbell
@ 2011-08-30 10:52 ` Jeff Kirsher
0 siblings, 0 replies; 25+ messages in thread
From: Jeff Kirsher @ 2011-08-30 10:52 UTC (permalink / raw)
To: Ian Campbell
Cc: netdev, Brandeburg, Jesse, Allan, Bruce W, Wyborny, Carolyn,
Skidmore, Donald C, Rose, Gregory V
[-- Attachment #1: Type: text/plain, Size: 1265 bytes --]
On Tue, 2011-08-30 at 02:18 -0700, Ian Campbell wrote:
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
> Cc: Jesse Brandeburg <jesse.brandeburg@intel.com>
> Cc: Bruce Allan <bruce.w.allan@intel.com>
> Cc: Carolyn Wyborny <carolyn.wyborny@intel.com>
> Cc: Don Skidmore <donald.c.skidmore@intel.com>
> Cc: Greg Rose <gregory.v.rose@intel.com>
> Cc: PJ Waskiewicz <peter.p.waskiewicz.jr@intel.com>
> Cc: Alex Duyck <alexander.h.duyck@intel.com>
> Cc: John Ronciak <john.ronciak@intel.com>
> Cc: e1000-devel@lists.sourceforge.net
> Cc: netdev@vger.kernel.org
> ---
> drivers/net/ethernet/intel/e1000/e1000_main.c | 16
> +++++++++-------
> drivers/net/ethernet/intel/e1000e/netdev.c | 7 +++----
> drivers/net/ethernet/intel/igb/igb_main.c | 5 +----
> drivers/net/ethernet/intel/igbvf/netdev.c | 5 +----
> drivers/net/ethernet/intel/ixgb/ixgb_main.c | 6 +++---
> drivers/net/ethernet/intel/ixgbe/ixgbe_main.c | 3 +--
> drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c | 10 ++++------
> 7 files changed, 22 insertions(+), 30 deletions(-)
The changes look fine to me.
Acked-by: Jeff Kirsher <jeffrey.t.kirsher@intel.com>
[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 490 bytes --]
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 11/14] enic: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (9 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 10/14] intel: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:41 ` [PATCH] MAINTAINERS: Update Cisco VIC driver maintainers Ian Campbell
2011-08-30 9:18 ` [PATCH 12/14] forcedeth: convert to SKB paged frag API Ian Campbell
` (3 subsequent siblings)
14 siblings, 1 reply; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev
Cc: Ian Campbell, Christian Benvenuti, Vasanthy Kolluri,
Roopa Prabhu, David Wang
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Christian Benvenuti <benve@cisco.com>
Cc: Vasanthy Kolluri <vkolluri@cisco.com>
Cc: Roopa Prabhu <roprabhu@cisco.com>
Cc: David Wang <dwang2@cisco.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/cisco/enic/enic_main.c | 14 +++++++-------
1 files changed, 7 insertions(+), 7 deletions(-)
diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c
index c751c25..19c9272 100644
--- a/drivers/net/ethernet/cisco/enic/enic_main.c
+++ b/drivers/net/ethernet/cisco/enic/enic_main.c
@@ -591,9 +591,9 @@ static inline void enic_queue_wq_skb_cont(struct enic *enic,
for (frag = skb_shinfo(skb)->frags; len_left; frag++) {
len_left -= frag->size;
enic_queue_wq_desc_cont(wq, skb,
- pci_map_page(enic->pdev, frag->page,
- frag->page_offset, frag->size,
- PCI_DMA_TODEVICE),
+ skb_frag_dma_map(&enic->pdev->dev,
+ frag, 0, frag->size,
+ PCI_DMA_TODEVICE),
frag->size,
(len_left == 0), /* EOP? */
loopback);
@@ -705,14 +705,14 @@ static inline void enic_queue_wq_skb_tso(struct enic *enic,
for (frag = skb_shinfo(skb)->frags; len_left; frag++) {
len_left -= frag->size;
frag_len_left = frag->size;
- offset = frag->page_offset;
+ offset = 0;
while (frag_len_left) {
len = min(frag_len_left,
(unsigned int)WQ_ENET_MAX_DESC_LEN);
- dma_addr = pci_map_page(enic->pdev, frag->page,
- offset, len,
- PCI_DMA_TODEVICE);
+ dma_addr = skb_frag_dma_map(&enic->pdev->dev, frag,
+ offset, len,
+ PCI_DMA_TODEVICE);
enic_queue_wq_desc_cont(wq, skb,
dma_addr,
len,
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH] MAINTAINERS: Update Cisco VIC driver maintainers
2011-08-30 9:18 ` [PATCH 11/14] enic: " Ian Campbell
@ 2011-08-30 9:41 ` Ian Campbell
2011-08-30 11:42 ` David Wang (dwang2)
2011-08-31 0:43 ` David Miller
0 siblings, 2 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:41 UTC (permalink / raw)
To: netdev
Cc: Ian Campbell, Christian Benvenuti, Roopa Prabhu, David Wang,
Andrew Morton, Joe Perches
vkolluri@cisco.com bounces and I get "Unknown address error 550".
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: Christian Benvenuti <benve@cisco.com>
Cc: Roopa Prabhu <roprabhu@cisco.com>
Cc: David Wang <dwang2@cisco.com>
Cc: Andrew Morton <akpm@linux-foundation.org>
Cc: Joe Perches <joe@perches.com>
Cc: netdev@vger.kernel.org
---
MAINTAINERS | 1 -
1 files changed, 0 insertions(+), 1 deletions(-)
diff --git a/MAINTAINERS b/MAINTAINERS
index cb6ad5f..a5e0b11 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -1757,7 +1757,6 @@ F: Documentation/zh_CN/
CISCO VIC ETHERNET NIC DRIVER
M: Christian Benvenuti <benve@cisco.com>
-M: Vasanthy Kolluri <vkolluri@cisco.com>
M: Roopa Prabhu <roprabhu@cisco.com>
M: David Wang <dwang2@cisco.com>
S: Supported
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* RE: [PATCH] MAINTAINERS: Update Cisco VIC driver maintainers
2011-08-30 9:41 ` [PATCH] MAINTAINERS: Update Cisco VIC driver maintainers Ian Campbell
@ 2011-08-30 11:42 ` David Wang (dwang2)
2011-08-31 0:43 ` David Miller
1 sibling, 0 replies; 25+ messages in thread
From: David Wang (dwang2) @ 2011-08-30 11:42 UTC (permalink / raw)
To: Ian Campbell, netdev
Cc: Christian Benvenuti (benve), Roopa Prabhu (roprabhu),
Andrew Morton, Joe Perches
Ian,
Vasanthy is no longer with Cisco; we will be removing her from any
future submissions.
Regards,
- Dave
> -----Original Message-----
> From: Ian Campbell [mailto:ian.campbell@citrix.com]
> Sent: Tuesday, August 30, 2011 2:41 AM
> To: netdev@vger.kernel.org
> Cc: Ian Campbell; Christian Benvenuti (benve); Roopa Prabhu
> (roprabhu); David Wang (dwang2); Andrew Morton; Joe Perches
> Subject: [PATCH] MAINTAINERS: Update Cisco VIC driver maintainers
>
> vkolluri@cisco.com bounces and I get "Unknown address error 550".
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
> Cc: Christian Benvenuti <benve@cisco.com>
> Cc: Roopa Prabhu <roprabhu@cisco.com>
> Cc: David Wang <dwang2@cisco.com>
> Cc: Andrew Morton <akpm@linux-foundation.org>
> Cc: Joe Perches <joe@perches.com>
> Cc: netdev@vger.kernel.org
> ---
> MAINTAINERS | 1 -
> 1 files changed, 0 insertions(+), 1 deletions(-)
>
> diff --git a/MAINTAINERS b/MAINTAINERS
> index cb6ad5f..a5e0b11 100644
> --- a/MAINTAINERS
> +++ b/MAINTAINERS
> @@ -1757,7 +1757,6 @@ F: Documentation/zh_CN/
>
> CISCO VIC ETHERNET NIC DRIVER
> M: Christian Benvenuti <benve@cisco.com>
> -M: Vasanthy Kolluri <vkolluri@cisco.com>
> M: Roopa Prabhu <roprabhu@cisco.com>
> M: David Wang <dwang2@cisco.com>
> S: Supported
> --
> 1.7.2.5
>
>
^ permalink raw reply [flat|nested] 25+ messages in thread
* Re: [PATCH] MAINTAINERS: Update Cisco VIC driver maintainers
2011-08-30 9:41 ` [PATCH] MAINTAINERS: Update Cisco VIC driver maintainers Ian Campbell
2011-08-30 11:42 ` David Wang (dwang2)
@ 2011-08-31 0:43 ` David Miller
1 sibling, 0 replies; 25+ messages in thread
From: David Miller @ 2011-08-31 0:43 UTC (permalink / raw)
To: ian.campbell; +Cc: netdev, benve, roprabhu, dwang2, akpm, joe
From: Ian Campbell <ian.campbell@citrix.com>
Date: Tue, 30 Aug 2011 10:41:09 +0100
> vkolluri@cisco.com bounces and I get "Unknown address error 550".
>
> Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Applied.
^ permalink raw reply [flat|nested] 25+ messages in thread
* [PATCH 12/14] forcedeth: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (10 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 11/14] enic: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 13/14] gianfar: " Ian Campbell
` (2 subsequent siblings)
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/nvidia/forcedeth.c | 14 ++++++++++----
1 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/drivers/net/ethernet/nvidia/forcedeth.c b/drivers/net/ethernet/nvidia/forcedeth.c
index 98bb64b..4e39b8c 100644
--- a/drivers/net/ethernet/nvidia/forcedeth.c
+++ b/drivers/net/ethernet/nvidia/forcedeth.c
@@ -2146,8 +2146,11 @@ static netdev_tx_t nv_start_xmit(struct sk_buff *skb, struct net_device *dev)
prev_tx = put_tx;
prev_tx_ctx = np->put_tx_ctx;
bcnt = (size > NV_TX2_TSO_MAX_SIZE) ? NV_TX2_TSO_MAX_SIZE : size;
- np->put_tx_ctx->dma = pci_map_page(np->pci_dev, frag->page, frag->page_offset+offset, bcnt,
- PCI_DMA_TODEVICE);
+ np->put_tx_ctx->dma = skb_frag_dma_map(
+ &np->pci_dev->dev,
+ frag, offset,
+ bcnt,
+ PCI_DMA_TODEVICE);
np->put_tx_ctx->dma_len = bcnt;
np->put_tx_ctx->dma_single = 0;
put_tx->buf = cpu_to_le32(np->put_tx_ctx->dma);
@@ -2257,8 +2260,11 @@ static netdev_tx_t nv_start_xmit_optimized(struct sk_buff *skb,
prev_tx = put_tx;
prev_tx_ctx = np->put_tx_ctx;
bcnt = (size > NV_TX2_TSO_MAX_SIZE) ? NV_TX2_TSO_MAX_SIZE : size;
- np->put_tx_ctx->dma = pci_map_page(np->pci_dev, frag->page, frag->page_offset+offset, bcnt,
- PCI_DMA_TODEVICE);
+ np->put_tx_ctx->dma = skb_frag_dma_map(
+ &np->pci_dev->dev,
+ frag, offset,
+ bcnt,
+ PCI_DMA_TODEVICE);
np->put_tx_ctx->dma_len = bcnt;
np->put_tx_ctx->dma_single = 0;
put_tx->bufhigh = cpu_to_le32(dma_high(np->put_tx_ctx->dma));
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 13/14] gianfar: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (11 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 12/14] forcedeth: convert to SKB paged frag API Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 9:18 ` [PATCH 14/14] greth: " Ian Campbell
2011-08-30 22:05 ` [PATCH 0/14] skb fragment API: convert network drivers (part I) David Miller
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/freescale/gianfar.c | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/drivers/net/ethernet/freescale/gianfar.c b/drivers/net/ethernet/freescale/gianfar.c
index 81d409d..83199fd 100644
--- a/drivers/net/ethernet/freescale/gianfar.c
+++ b/drivers/net/ethernet/freescale/gianfar.c
@@ -2140,11 +2140,11 @@ static int gfar_start_xmit(struct sk_buff *skb, struct net_device *dev)
if (i == nr_frags - 1)
lstatus |= BD_LFLAG(TXBD_LAST | TXBD_INTERRUPT);
- bufaddr = dma_map_page(&priv->ofdev->dev,
- skb_shinfo(skb)->frags[i].page,
- skb_shinfo(skb)->frags[i].page_offset,
- length,
- DMA_TO_DEVICE);
+ bufaddr = skb_frag_dma_map(&priv->ofdev->dev,
+ &skb_shinfo(skb)->frags[i],
+ 0,
+ length,
+ DMA_TO_DEVICE);
/* set the TxBD length and buffer pointer */
txbdp->bufPtr = bufaddr;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* [PATCH 14/14] greth: convert to SKB paged frag API.
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (12 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 13/14] gianfar: " Ian Campbell
@ 2011-08-30 9:18 ` Ian Campbell
2011-08-30 22:05 ` [PATCH 0/14] skb fragment API: convert network drivers (part I) David Miller
14 siblings, 0 replies; 25+ messages in thread
From: Ian Campbell @ 2011-08-30 9:18 UTC (permalink / raw)
To: netdev; +Cc: Ian Campbell
In order to avoid long lines also use phys_to_virt(page_to_phys(page)) =>
page_address(page) (since the are effectively the same thing for lowmem pages).
Also dump the frag's size instead of the headlen when dumping a frag.
Signed-off-by: Ian Campbell <ian.campbell@citrix.com>
Cc: netdev@vger.kernel.org
---
drivers/net/ethernet/aeroflex/greth.c | 12 ++++--------
1 files changed, 4 insertions(+), 8 deletions(-)
diff --git a/drivers/net/ethernet/aeroflex/greth.c b/drivers/net/ethernet/aeroflex/greth.c
index a5f6b07..bc3bd34 100644
--- a/drivers/net/ethernet/aeroflex/greth.c
+++ b/drivers/net/ethernet/aeroflex/greth.c
@@ -113,9 +113,8 @@ static void greth_print_tx_packet(struct sk_buff *skb)
for (i = 0; i < skb_shinfo(skb)->nr_frags; i++) {
print_hex_dump(KERN_DEBUG, "TX: ", DUMP_PREFIX_OFFSET, 16, 1,
- phys_to_virt(page_to_phys(skb_shinfo(skb)->frags[i].page)) +
- skb_shinfo(skb)->frags[i].page_offset,
- length, true);
+ skb_frag_address(&skb_shinfo(skb)->frags[i]),
+ skb_shinfo(skb)->frags[i].size, true);
}
}
@@ -528,11 +527,8 @@ greth_start_xmit_gbit(struct sk_buff *skb, struct net_device *dev)
greth_write_bd(&bdp->stat, status);
- dma_addr = dma_map_page(greth->dev,
- frag->page,
- frag->page_offset,
- frag->size,
- DMA_TO_DEVICE);
+ dma_addr = skb_frag_dma_map(greth->dev, frag, 0, frag->size,
+ DMA_TO_DEVICE);
if (unlikely(dma_mapping_error(greth->dev, dma_addr)))
goto frag_map_error;
--
1.7.2.5
^ permalink raw reply related [flat|nested] 25+ messages in thread
* Re: [PATCH 0/14] skb fragment API: convert network drivers (part I)
2011-08-30 9:17 [PATCH 0/14] skb fragment API: convert network drivers (part I) Ian Campbell
` (13 preceding siblings ...)
2011-08-30 9:18 ` [PATCH 14/14] greth: " Ian Campbell
@ 2011-08-30 22:05 ` David Miller
14 siblings, 0 replies; 25+ messages in thread
From: David Miller @ 2011-08-30 22:05 UTC (permalink / raw)
To: Ian.Campbell; +Cc: netdev
From: Ian Campbell <Ian.Campbell@citrix.com>
Date: Tue, 30 Aug 2011 10:17:27 +0100
> The following series converts the first batch of network drivers to the
> SKB pages fragment API introduced in 131ea6675c76. I expect there will
> be ~4 similarly sized batches to convert all the drivers over.
>
> This is part of my series to enable visibility into SKB paged fragment's
> lifecycles, [0] contains some more background and rationale but
> basically the completed series will allow entities which inject pages
> into the networking stack to receive a notification when the stack has
> really finished with those pages (i.e. including retransmissions,
> clones, pull-ups etc) and not just when the original skb is finished
> with, which is beneficial to many subsystems which wish to inject pages
> into the network stack without giving up full ownership of those page's
> lifecycle. It implements something broadly along the lines of what was
> described in [1].
All applied, thanks Ian.
^ permalink raw reply [flat|nested] 25+ messages in thread