diff mbox

[1/4,v2] Remove unused zero-copy code from velocity NIC driver.

Message ID 200907211928.n6LJSLbe004367@gelk.kernelslacker.org
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Dave Jones July 21, 2009, 7:15 p.m. UTC
This code hasn't been enabled in forever.

Signed-off-by: Dave Jones <davej@redhat.com>
---
 drivers/net/via-velocity.c |   77 ++++++-------------------------------------
 1 files changed, 11 insertions(+), 66 deletions(-)

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Comments

David Miller July 21, 2009, 7:32 p.m. UTC | #1
From: Dave Jones <davej@redhat.com>
Date: Tue Jul 21 15:15:49 2009 -0400

> This code hasn't been enabled in forever.
> 
> Signed-off-by: Dave Jones <davej@redhat.com>

David it still doesn't apply....

Try to apply this using GIT to net-next-2.6, it won't go.

--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller July 21, 2009, 7:32 p.m. UTC | #2
From: David Miller <davem@davemloft.net>
Date: Tue, 21 Jul 2009 12:32:02 -0700 (PDT)

> From: Dave Jones <davej@redhat.com>
> Date: Tue Jul 21 15:15:49 2009 -0400
> 
>> This code hasn't been enabled in forever.
>> 
>> Signed-off-by: Dave Jones <davej@redhat.com>
> 
> David it still doesn't apply....
> 
> Try to apply this using GIT to net-next-2.6, it won't go.

Sorry, PEBKAC....
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller July 21, 2009, 7:33 p.m. UTC | #3
From: David Miller <davem@davemloft.net>
Date: Tue, 21 Jul 2009 12:32:27 -0700 (PDT)

> From: David Miller <davem@davemloft.net>
> Date: Tue, 21 Jul 2009 12:32:02 -0700 (PDT)
> 
>> From: Dave Jones <davej@redhat.com>
>> Date: Tue Jul 21 15:15:49 2009 -0400
>> 
>>> This code hasn't been enabled in forever.
>>> 
>>> Signed-off-by: Dave Jones <davej@redhat.com>
>> 
>> David it still doesn't apply....
>> 
>> Try to apply this using GIT to net-next-2.6, it won't go.
> 
> Sorry, PEBKAC....

Ok, all applied to net-next-2.6, thanks.
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Dave Jones July 21, 2009, 7:44 p.m. UTC | #4
On Tue, Jul 21, 2009 at 12:33:22PM -0700, David Miller wrote:

 > >> David it still doesn't apply....
 > >> 
 > >> Try to apply this using GIT to net-next-2.6, it won't go.
 > > 
 > > Sorry, PEBKAC....
 > 
 > Ok, all applied to net-next-2.6, thanks.

Phew, I was hella confused for a moment ;-)

thanks !

	Dave
--
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
David Miller July 23, 2009, 10:58 p.m. UTC | #5
From: David Miller <davem@davemloft.net>

Date: Tue, 21 Jul 2009 12:33:22 -0700 (PDT)

> Ok, all applied to net-next-2.6, thanks.


Ok, now we have a stinking pile of poo situation when one tries to
compile the velocity driver without CONFIG_PM defined.

First we hit:

drivers/net/via-velocity.c: In function ‘velocity_init_module’:
drivers/net/via-velocity.c:3303: error: implicit declaration of function ‘velocity_register_notifier’
drivers/net/via-velocity.c:3306: error: implicit declaration of function ‘velocity_unregister_notifier’

Because the whole CONFIG_PM + CONFIG_INET ifdeffery around these functions
was missed up.  Simple enough to fix, but then we get:

drivers/net/via-velocity.c:2957: warning: ‘velocity_suspend’ defined but not used
drivers/net/via-velocity.c:3026: warning: ‘velocity_resume’ defined but not used

Fine, let's ifdef protect these two functions with CONFIG_PM:

drivers/net/via-velocity.c:2853: warning: ‘velocity_set_wol’ defined but not used
drivers/net/via-velocity.c:2939: warning: ‘velocity_save_context’ defined but not used
drivers/net/via-velocity.c:3001: warning: ‘velocity_restore_context’ defined but not used

And at this point I really give up Dave.  This whole thing to move
functions around to avoid forward decls has created a worse problem
than it solved.

Unless you can fix this, like, immediately.  I want to revert.

This is keeping me from pulling more work into my net-next-2.6
tree.
diff mbox

Patch

diff --git a/drivers/net/via-velocity.c b/drivers/net/via-velocity.c
index 42365e5..4ebe2ca 100644
--- a/drivers/net/via-velocity.c
+++ b/drivers/net/via-velocity.c
@@ -976,9 +976,6 @@  static int __devinit velocity_found1(struct pci_dev *pdev, const struct pci_devi
 	dev->netdev_ops = &velocity_netdev_ops;
 	dev->ethtool_ops = &velocity_ethtool_ops;
 
-#ifdef  VELOCITY_ZERO_COPY_SUPPORT
-	dev->features |= NETIF_F_SG;
-#endif
 	dev->features |= NETIF_F_HW_VLAN_TX | NETIF_F_HW_VLAN_FILTER |
 		NETIF_F_HW_VLAN_RX;
 
@@ -1849,11 +1846,7 @@  static void velocity_free_tx_buf(struct velocity_info *vptr, struct velocity_td_
 
 		pktlen = max_t(unsigned int, skb->len, ETH_ZLEN);
 		for (i = 0; i < tdinfo->nskb_dma; i++) {
-#ifdef VELOCITY_ZERO_COPY_SUPPORT
-			pci_unmap_single(vptr->pdev, tdinfo->skb_dma[i], le16_to_cpu(td->tdesc1.len), PCI_DMA_TODEVICE);
-#else
 			pci_unmap_single(vptr->pdev, tdinfo->skb_dma[i], pktlen, PCI_DMA_TODEVICE);
-#endif
 			tdinfo->skb_dma[i] = 0;
 		}
 	}
@@ -2095,13 +2088,6 @@  static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)
 
 	len = cpu_to_le16(pktlen);
 
-#ifdef VELOCITY_ZERO_COPY_SUPPORT
-	if (skb_shinfo(skb)->nr_frags > 6 && __skb_linearize(skb)) {
-		kfree_skb(skb);
-		return NETDEV_TX_OK;
-	}
-#endif
-
 	spin_lock_irqsave(&vptr->lock, flags);
 
 	index = vptr->tx.curr[qnum];
@@ -2111,59 +2097,18 @@  static int velocity_xmit(struct sk_buff *skb, struct net_device *dev)
 	td_ptr->tdesc1.TCR = TCR0_TIC;
 	td_ptr->td_buf[0].size &= ~TD_QUEUE;
 
-#ifdef VELOCITY_ZERO_COPY_SUPPORT
-	if (skb_shinfo(skb)->nr_frags > 0) {
-		int nfrags = skb_shinfo(skb)->nr_frags;
-		tdinfo->skb = skb;
-		if (nfrags > 6) {
-			skb_copy_from_linear_data(skb, tdinfo->buf, skb->len);
-			tdinfo->skb_dma[0] = tdinfo->buf_dma;
-			td_ptr->tdesc0.len = len;
-			td_ptr->tx.buf[0].pa_low = cpu_to_le32(tdinfo->skb_dma[0]);
-			td_ptr->tx.buf[0].pa_high = 0;
-			td_ptr->tx.buf[0].size = len;	/* queue is 0 anyway */
-			tdinfo->nskb_dma = 1;
-		} else {
-			int i = 0;
-			tdinfo->nskb_dma = 0;
-			tdinfo->skb_dma[i] = pci_map_single(vptr->pdev, skb->data,
-						skb_headlen(skb), PCI_DMA_TODEVICE);
-
-			td_ptr->tdesc0.len = len;
-
-			/* FIXME: support 48bit DMA later */
-			td_ptr->tx.buf[i].pa_low = cpu_to_le32(tdinfo->skb_dma);
-			td_ptr->tx.buf[i].pa_high = 0;
-			td_ptr->tx.buf[i].size = cpu_to_le16(skb_headlen(skb));
-
-			for (i = 0; i < nfrags; i++) {
-				skb_frag_t *frag = &skb_shinfo(skb)->frags[i];
-				void *addr = (void *)page_address(frag->page) + frag->page_offset;
-
-				tdinfo->skb_dma[i + 1] = pci_map_single(vptr->pdev, addr, frag->size, PCI_DMA_TODEVICE);
-
-				td_ptr->tx.buf[i + 1].pa_low = cpu_to_le32(tdinfo->skb_dma[i + 1]);
-				td_ptr->tx.buf[i + 1].pa_high = 0;
-				td_ptr->tx.buf[i + 1].size = cpu_to_le16(frag->size);
-			}
-			tdinfo->nskb_dma = i - 1;
-		}
+	/*
+	 *	Map the linear network buffer into PCI space and
+	 *	add it to the transmit ring.
+	 */
+	tdinfo->skb = skb;
+	tdinfo->skb_dma[0] = pci_map_single(vptr->pdev, skb->data, pktlen, PCI_DMA_TODEVICE);
+	td_ptr->tdesc0.len = len;
+	td_ptr->td_buf[0].pa_low = cpu_to_le32(tdinfo->skb_dma[0]);
+	td_ptr->td_buf[0].pa_high = 0;
+	td_ptr->td_buf[0].size = len;
+	tdinfo->nskb_dma = 1;
 
-	} else
-#endif
-	{
-		/*
-		 *	Map the linear network buffer into PCI space and
-		 *	add it to the transmit ring.
-		 */
-		tdinfo->skb = skb;
-		tdinfo->skb_dma[0] = pci_map_single(vptr->pdev, skb->data, pktlen, PCI_DMA_TODEVICE);
-		td_ptr->tdesc0.len = len;
-		td_ptr->td_buf[0].pa_low = cpu_to_le32(tdinfo->skb_dma[0]);
-		td_ptr->td_buf[0].pa_high = 0;
-		td_ptr->td_buf[0].size = len;
-		tdinfo->nskb_dma = 1;
-	}
 	td_ptr->tdesc1.cmd = TCPLS_NORMAL + (tdinfo->nskb_dma + 1) * 16;
 
 	if (vptr->vlgrp && vlan_tx_tag_present(skb)) {