netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] net: myri10ge: convert to hw_features
@ 2011-04-15 14:50 Michał Mirosław
  2011-04-15 18:29 ` Jon Mason
  0 siblings, 1 reply; 8+ messages in thread
From: Michał Mirosław @ 2011-04-15 14:50 UTC (permalink / raw)
  To: netdev; +Cc: Andrew Gallatin, Brice Goglin

Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
---
 drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
 1 files changed, 12 insertions(+), 54 deletions(-)

diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
index 1446de5..a48eb92 100644
--- a/drivers/net/myri10ge/myri10ge.c
+++ b/drivers/net/myri10ge/myri10ge.c
@@ -205,7 +205,6 @@ struct myri10ge_priv {
 	int tx_boundary;	/* boundary transmits cannot cross */
 	int num_slices;
 	int running;		/* running?             */
-	int csum_flag;		/* rx_csums?            */
 	int small_bytes;
 	int big_bytes;
 	int max_intr_slots;
@@ -1386,7 +1385,7 @@ myri10ge_rx_done(struct myri10ge_slice_state *ss, int len, __wsum csum,
 	skb->protocol = eth_type_trans(skb, dev);
 	skb_record_rx_queue(skb, ss - &mgp->ss[0]);
 
-	if (mgp->csum_flag) {
+	if (dev->features & NETIF_F_RXCSUM) {
 		if ((skb->protocol == htons(ETH_P_IP)) ||
 		    (skb->protocol == htons(ETH_P_IPV6))) {
 			skb->csum = csum;
@@ -1757,43 +1756,6 @@ myri10ge_get_ringparam(struct net_device *netdev,
 	ring->tx_pending = ring->tx_max_pending;
 }
 
-static u32 myri10ge_get_rx_csum(struct net_device *netdev)
-{
-	struct myri10ge_priv *mgp = netdev_priv(netdev);
-
-	if (mgp->csum_flag)
-		return 1;
-	else
-		return 0;
-}
-
-static int myri10ge_set_rx_csum(struct net_device *netdev, u32 csum_enabled)
-{
-	struct myri10ge_priv *mgp = netdev_priv(netdev);
-	int err = 0;
-
-	if (csum_enabled)
-		mgp->csum_flag = MXGEFW_FLAGS_CKSUM;
-	else {
-		netdev->features &= ~NETIF_F_LRO;
-		mgp->csum_flag = 0;
-
-	}
-	return err;
-}
-
-static int myri10ge_set_tso(struct net_device *netdev, u32 tso_enabled)
-{
-	struct myri10ge_priv *mgp = netdev_priv(netdev);
-	u32 flags = mgp->features & (NETIF_F_TSO6 | NETIF_F_TSO);
-
-	if (tso_enabled)
-		netdev->features |= flags;
-	else
-		netdev->features &= ~flags;
-	return 0;
-}
-
 static const char myri10ge_gstrings_main_stats[][ETH_GSTRING_LEN] = {
 	"rx_packets", "tx_packets", "rx_bytes", "tx_bytes", "rx_errors",
 	"tx_errors", "rx_dropped", "tx_dropped", "multicast", "collisions",
@@ -1944,11 +1906,6 @@ static u32 myri10ge_get_msglevel(struct net_device *netdev)
 	return mgp->msg_enable;
 }
 
-static int myri10ge_set_flags(struct net_device *netdev, u32 value)
-{
-	return ethtool_op_set_flags(netdev, value, ETH_FLAG_LRO);
-}
-
 static const struct ethtool_ops myri10ge_ethtool_ops = {
 	.get_settings = myri10ge_get_settings,
 	.get_drvinfo = myri10ge_get_drvinfo,
@@ -1957,19 +1914,12 @@ static const struct ethtool_ops myri10ge_ethtool_ops = {
 	.get_pauseparam = myri10ge_get_pauseparam,
 	.set_pauseparam = myri10ge_set_pauseparam,
 	.get_ringparam = myri10ge_get_ringparam,
-	.get_rx_csum = myri10ge_get_rx_csum,
-	.set_rx_csum = myri10ge_set_rx_csum,
-	.set_tx_csum = ethtool_op_set_tx_hw_csum,
-	.set_sg = ethtool_op_set_sg,
-	.set_tso = myri10ge_set_tso,
 	.get_link = ethtool_op_get_link,
 	.get_strings = myri10ge_get_strings,
 	.get_sset_count = myri10ge_get_sset_count,
 	.get_ethtool_stats = myri10ge_get_ethtool_stats,
 	.set_msglevel = myri10ge_set_msglevel,
 	.get_msglevel = myri10ge_get_msglevel,
-	.get_flags = ethtool_op_get_flags,
-	.set_flags = myri10ge_set_flags
 };
 
 static int myri10ge_allocate_rings(struct myri10ge_slice_state *ss)
@@ -3136,6 +3086,14 @@ static int myri10ge_set_mac_address(struct net_device *dev, void *addr)
 	return 0;
 }
 
+static u32 myri10ge_fix_features(struct net_device *dev, u32 features)
+{
+	if (!(features & NETIF_F_RXCSUM))
+		features &= ~NETIF_F_LRO;
+
+	return features;
+}
+
 static int myri10ge_change_mtu(struct net_device *dev, int new_mtu)
 {
 	struct myri10ge_priv *mgp = netdev_priv(dev);
@@ -3834,6 +3792,7 @@ static const struct net_device_ops myri10ge_netdev_ops = {
 	.ndo_get_stats		= myri10ge_get_stats,
 	.ndo_validate_addr	= eth_validate_addr,
 	.ndo_change_mtu		= myri10ge_change_mtu,
+	.ndo_fix_features	= myri10ge_fix_features,
 	.ndo_set_multicast_list = myri10ge_set_multicast_list,
 	.ndo_set_mac_address	= myri10ge_set_mac_address,
 };
@@ -3860,7 +3819,6 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	mgp = netdev_priv(netdev);
 	mgp->dev = netdev;
 	mgp->pdev = pdev;
-	mgp->csum_flag = MXGEFW_FLAGS_CKSUM;
 	mgp->pause = myri10ge_flow_control;
 	mgp->intr_coal_delay = myri10ge_intr_coal_delay;
 	mgp->msg_enable = netif_msg_init(myri10ge_debug, MYRI10GE_MSG_DEFAULT);
@@ -3976,11 +3934,11 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
 	netdev->netdev_ops = &myri10ge_netdev_ops;
 	netdev->mtu = myri10ge_initial_mtu;
 	netdev->base_addr = mgp->iomem_base;
-	netdev->features = mgp->features;
+	netdev->hw_features = mgp->features | NETIF_F_LRO | NETIF_F_RXCSUM;
+	netdev->features = netdev->hw_features;
 
 	if (dac_enabled)
 		netdev->features |= NETIF_F_HIGHDMA;
-	netdev->features |= NETIF_F_LRO;
 
 	netdev->vlan_features |= mgp->features;
 	if (mgp->fw_ver_tiny < 37)
-- 
1.7.2.5


^ permalink raw reply related	[flat|nested] 8+ messages in thread

* Re: [PATCH] net: myri10ge: convert to hw_features
  2011-04-15 14:50 [PATCH] net: myri10ge: convert to hw_features Michał Mirosław
@ 2011-04-15 18:29 ` Jon Mason
  2011-04-15 18:36   ` Andrew Gallatin
                     ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Jon Mason @ 2011-04-15 18:29 UTC (permalink / raw)
  To: Michał Mirosław; +Cc: netdev, Andrew Gallatin, Brice Goglin

On Fri, Apr 15, 2011 at 04:50:50PM +0200, Michał Mirosław wrote:
> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> ---
>  drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
>  1 files changed, 12 insertions(+), 54 deletions(-)
> 
> diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
> index 1446de5..a48eb92 100644
> --- a/drivers/net/myri10ge/myri10ge.c
> +++ b/drivers/net/myri10ge/myri10ge.c
> @@ -205,7 +205,6 @@ struct myri10ge_priv {
>  	int tx_boundary;	/* boundary transmits cannot cross */
>  	int num_slices;
>  	int running;		/* running?             */
> -	int csum_flag;		/* rx_csums?            */

Get rid of MXGEFW_FLAGS_CKSUM in drivers/net/myri10ge/myri10ge_mcp.h,
as this was the only thing using it.

>  	int small_bytes;
>  	int big_bytes;
>  	int max_intr_slots;
> @@ -1386,7 +1385,7 @@ myri10ge_rx_done(struct myri10ge_slice_state *ss, int len, __wsum csum,
>  	skb->protocol = eth_type_trans(skb, dev);
>  	skb_record_rx_queue(skb, ss - &mgp->ss[0]);
>  
> -	if (mgp->csum_flag) {
> +	if (dev->features & NETIF_F_RXCSUM) {
>  		if ((skb->protocol == htons(ETH_P_IP)) ||
>  		    (skb->protocol == htons(ETH_P_IPV6))) {
>  			skb->csum = csum;
> @@ -1757,43 +1756,6 @@ myri10ge_get_ringparam(struct net_device *netdev,
>  	ring->tx_pending = ring->tx_max_pending;
>  }
>  
> -static u32 myri10ge_get_rx_csum(struct net_device *netdev)
> -{
> -	struct myri10ge_priv *mgp = netdev_priv(netdev);
> -
> -	if (mgp->csum_flag)
> -		return 1;
> -	else
> -		return 0;
> -}
> -
> -static int myri10ge_set_rx_csum(struct net_device *netdev, u32 csum_enabled)
> -{
> -	struct myri10ge_priv *mgp = netdev_priv(netdev);
> -	int err = 0;
> -
> -	if (csum_enabled)
> -		mgp->csum_flag = MXGEFW_FLAGS_CKSUM;
> -	else {
> -		netdev->features &= ~NETIF_F_LRO;
> -		mgp->csum_flag = 0;
> -
> -	}
> -	return err;
> -}
> -
> -static int myri10ge_set_tso(struct net_device *netdev, u32 tso_enabled)
> -{
> -	struct myri10ge_priv *mgp = netdev_priv(netdev);
> -	u32 flags = mgp->features & (NETIF_F_TSO6 | NETIF_F_TSO);
> -
> -	if (tso_enabled)
> -		netdev->features |= flags;
> -	else
> -		netdev->features &= ~flags;
> -	return 0;
> -}

ethtool_op_set_tso does not support TSO6.  This would remove the
enable/disable of that feature.

> -
>  static const char myri10ge_gstrings_main_stats[][ETH_GSTRING_LEN] = {
>  	"rx_packets", "tx_packets", "rx_bytes", "tx_bytes", "rx_errors",
>  	"tx_errors", "rx_dropped", "tx_dropped", "multicast", "collisions",
> @@ -1944,11 +1906,6 @@ static u32 myri10ge_get_msglevel(struct net_device *netdev)
>  	return mgp->msg_enable;
>  }
>  
> -static int myri10ge_set_flags(struct net_device *netdev, u32 value)
> -{
> -	return ethtool_op_set_flags(netdev, value, ETH_FLAG_LRO);
> -}
> -
>  static const struct ethtool_ops myri10ge_ethtool_ops = {
>  	.get_settings = myri10ge_get_settings,
>  	.get_drvinfo = myri10ge_get_drvinfo,
> @@ -1957,19 +1914,12 @@ static const struct ethtool_ops myri10ge_ethtool_ops = {
>  	.get_pauseparam = myri10ge_get_pauseparam,
>  	.set_pauseparam = myri10ge_set_pauseparam,
>  	.get_ringparam = myri10ge_get_ringparam,
> -	.get_rx_csum = myri10ge_get_rx_csum,
> -	.set_rx_csum = myri10ge_set_rx_csum,
> -	.set_tx_csum = ethtool_op_set_tx_hw_csum,
> -	.set_sg = ethtool_op_set_sg,
> -	.set_tso = myri10ge_set_tso,
>  	.get_link = ethtool_op_get_link,
>  	.get_strings = myri10ge_get_strings,
>  	.get_sset_count = myri10ge_get_sset_count,
>  	.get_ethtool_stats = myri10ge_get_ethtool_stats,
>  	.set_msglevel = myri10ge_set_msglevel,
>  	.get_msglevel = myri10ge_get_msglevel,
> -	.get_flags = ethtool_op_get_flags,
> -	.set_flags = myri10ge_set_flags
>  };
>  
>  static int myri10ge_allocate_rings(struct myri10ge_slice_state *ss)
> @@ -3136,6 +3086,14 @@ static int myri10ge_set_mac_address(struct net_device *dev, void *addr)
>  	return 0;
>  }
>  
> +static u32 myri10ge_fix_features(struct net_device *dev, u32 features)
> +{
> +	if (!(features & NETIF_F_RXCSUM))
> +		features &= ~NETIF_F_LRO;
> +
> +	return features;
> +}
> +
>  static int myri10ge_change_mtu(struct net_device *dev, int new_mtu)
>  {
>  	struct myri10ge_priv *mgp = netdev_priv(dev);
> @@ -3834,6 +3792,7 @@ static const struct net_device_ops myri10ge_netdev_ops = {
>  	.ndo_get_stats		= myri10ge_get_stats,
>  	.ndo_validate_addr	= eth_validate_addr,
>  	.ndo_change_mtu		= myri10ge_change_mtu,
> +	.ndo_fix_features	= myri10ge_fix_features,
>  	.ndo_set_multicast_list = myri10ge_set_multicast_list,
>  	.ndo_set_mac_address	= myri10ge_set_mac_address,
>  };
> @@ -3860,7 +3819,6 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  	mgp = netdev_priv(netdev);
>  	mgp->dev = netdev;
>  	mgp->pdev = pdev;
> -	mgp->csum_flag = MXGEFW_FLAGS_CKSUM;
>  	mgp->pause = myri10ge_flow_control;
>  	mgp->intr_coal_delay = myri10ge_intr_coal_delay;
>  	mgp->msg_enable = netif_msg_init(myri10ge_debug, MYRI10GE_MSG_DEFAULT);
> @@ -3976,11 +3934,11 @@ static int myri10ge_probe(struct pci_dev *pdev, const struct pci_device_id *ent)
>  	netdev->netdev_ops = &myri10ge_netdev_ops;
>  	netdev->mtu = myri10ge_initial_mtu;
>  	netdev->base_addr = mgp->iomem_base;
> -	netdev->features = mgp->features;
> +	netdev->hw_features = mgp->features | NETIF_F_LRO | NETIF_F_RXCSUM;
> +	netdev->features = netdev->hw_features;
>  
>  	if (dac_enabled)
>  		netdev->features |= NETIF_F_HIGHDMA;
> -	netdev->features |= NETIF_F_LRO;
>  
>  	netdev->vlan_features |= mgp->features;
>  	if (mgp->fw_ver_tiny < 37)
> -- 
> 1.7.2.5
> 
> --
> 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
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] net: myri10ge: convert to hw_features
  2011-04-15 18:29 ` Jon Mason
@ 2011-04-15 18:36   ` Andrew Gallatin
  2011-04-15 18:47   ` Michał Mirosław
  2011-04-18  6:30   ` David Miller
  2 siblings, 0 replies; 8+ messages in thread
From: Andrew Gallatin @ 2011-04-15 18:36 UTC (permalink / raw)
  To: Jon Mason; +Cc: Michał Mirosław, netdev, Brice Goglin

On 04/15/11 14:29, Jon Mason wrote:
> On Fri, Apr 15, 2011 at 04:50:50PM +0200, Michał Mirosław wrote:
>> Signed-off-by: Michał Mirosław<mirq-linux@rere.qmqm.pl>
>> ---
>>   drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
>>   1 files changed, 12 insertions(+), 54 deletions(-)
>>
>> diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
>> index 1446de5..a48eb92 100644
>> --- a/drivers/net/myri10ge/myri10ge.c
>> +++ b/drivers/net/myri10ge/myri10ge.c
>> @@ -205,7 +205,6 @@ struct myri10ge_priv {
>>   	int tx_boundary;	/* boundary transmits cannot cross */
>>   	int num_slices;
>>   	int running;		/* running?             */
>> -	int csum_flag;		/* rx_csums?            */
>
> Get rid of MXGEFW_FLAGS_CKSUM in drivers/net/myri10ge/myri10ge_mcp.h,
> as this was the only thing using it.
>

No, please don't.  MXGEFW_FLAGS_CKSUM is a TX descriptor flag that was 
(ab)used as a device state flag as well. See flags in myri10ge_xmit(). 
I think early in the development process, the value of  mgp->csum_flag 
was directly assigned into the descriptor, which is why they shared the 
value.

Drew

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] net: myri10ge: convert to hw_features
  2011-04-15 18:29 ` Jon Mason
  2011-04-15 18:36   ` Andrew Gallatin
@ 2011-04-15 18:47   ` Michał Mirosław
  2011-04-18  6:30   ` David Miller
  2 siblings, 0 replies; 8+ messages in thread
From: Michał Mirosław @ 2011-04-15 18:47 UTC (permalink / raw)
  To: Jon Mason; +Cc: netdev, Andrew Gallatin, Brice Goglin

On Fri, Apr 15, 2011 at 01:29:22PM -0500, Jon Mason wrote:
> On Fri, Apr 15, 2011 at 04:50:50PM +0200, Michał Mirosław wrote:
> > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> > ---
> >  drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
> >  1 files changed, 12 insertions(+), 54 deletions(-)
[...]
> > -static int myri10ge_set_tso(struct net_device *netdev, u32 tso_enabled)
> > -{
> > -	struct myri10ge_priv *mgp = netdev_priv(netdev);
> > -	u32 flags = mgp->features & (NETIF_F_TSO6 | NETIF_F_TSO);
> > -
> > -	if (tso_enabled)
> > -		netdev->features |= flags;
> > -	else
> > -		netdev->features &= ~flags;
> > -	return 0;
> > -}
> ethtool_op_set_tso does not support TSO6.  This would remove the
> enable/disable of that feature.

Please test this. You'll see it still works.

Best Regards,
Michał Mirosław

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] net: myri10ge: convert to hw_features
  2011-04-15 18:29 ` Jon Mason
  2011-04-15 18:36   ` Andrew Gallatin
  2011-04-15 18:47   ` Michał Mirosław
@ 2011-04-18  6:30   ` David Miller
  2011-04-18 11:03     ` Michał Mirosław
  2 siblings, 1 reply; 8+ messages in thread
From: David Miller @ 2011-04-18  6:30 UTC (permalink / raw)
  To: jon.mason; +Cc: mirq-linux, netdev, gallatin, brice

From: Jon Mason <jon.mason@myri.com>
Date: Fri, 15 Apr 2011 13:29:22 -0500

> On Fri, Apr 15, 2011 at 04:50:50PM +0200, Michał Mirosław wrote:
>> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
>> ---
>>  drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
>>  1 files changed, 12 insertions(+), 54 deletions(-)
>> 
>> diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
>> index 1446de5..a48eb92 100644
>> --- a/drivers/net/myri10ge/myri10ge.c
>> +++ b/drivers/net/myri10ge/myri10ge.c
>> @@ -205,7 +205,6 @@ struct myri10ge_priv {
>>  	int tx_boundary;	/* boundary transmits cannot cross */
>>  	int num_slices;
>>  	int running;		/* running?             */
>> -	int csum_flag;		/* rx_csums?            */
> 
> Get rid of MXGEFW_FLAGS_CKSUM in drivers/net/myri10ge/myri10ge_mcp.h,
> as this was the only thing using it.
 ...
> ethtool_op_set_tso does not support TSO6.  This would remove the
> enable/disable of that feature.

Michał please fix these issues and resubmit this patch, thanks!

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] net: myri10ge: convert to hw_features
  2011-04-18  6:30   ` David Miller
@ 2011-04-18 11:03     ` Michał Mirosław
  2011-04-18 14:24       ` Jon Mason
  2011-04-19  5:49       ` David Miller
  0 siblings, 2 replies; 8+ messages in thread
From: Michał Mirosław @ 2011-04-18 11:03 UTC (permalink / raw)
  To: David Miller; +Cc: jon.mason, netdev, gallatin, brice

On Sun, Apr 17, 2011 at 11:30:53PM -0700, David Miller wrote:
> From: Jon Mason <jon.mason@myri.com>
> Date: Fri, 15 Apr 2011 13:29:22 -0500
> 
> > On Fri, Apr 15, 2011 at 04:50:50PM +0200, Michał Mirosław wrote:
> >> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
> >> ---
> >>  drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
> >>  1 files changed, 12 insertions(+), 54 deletions(-)
> >> 
> >> diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
> >> index 1446de5..a48eb92 100644
> >> --- a/drivers/net/myri10ge/myri10ge.c
> >> +++ b/drivers/net/myri10ge/myri10ge.c
> >> @@ -205,7 +205,6 @@ struct myri10ge_priv {
> >>  	int tx_boundary;	/* boundary transmits cannot cross */
> >>  	int num_slices;
> >>  	int running;		/* running?             */
> >> -	int csum_flag;		/* rx_csums?            */
> > Get rid of MXGEFW_FLAGS_CKSUM in drivers/net/myri10ge/myri10ge_mcp.h,
> > as this was the only thing using it.
>  ...
> > ethtool_op_set_tso does not support TSO6.  This would remove the
> > enable/disable of that feature.
> Michał please fix these issues and resubmit this patch, thanks!

There are no issues. MXGEFW_FLAGS_CKSUM is used elsewhere in the driver
and TSO6 is handled by masking netdev->hw_features at devinit time.

BTW, ethtool_op_set_tso() is not used at all in new offload changing scheme.

Best Regards,
Michał Mirosław

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] net: myri10ge: convert to hw_features
  2011-04-18 11:03     ` Michał Mirosław
@ 2011-04-18 14:24       ` Jon Mason
  2011-04-19  5:49       ` David Miller
  1 sibling, 0 replies; 8+ messages in thread
From: Jon Mason @ 2011-04-18 14:24 UTC (permalink / raw)
  To: Michał Mirosław; +Cc: David Miller, netdev, gallatin, brice

On Mon, Apr 18, 2011 at 01:03:47PM +0200, Michał Mirosław wrote:
> On Sun, Apr 17, 2011 at 11:30:53PM -0700, David Miller wrote:
> > From: Jon Mason <jon.mason@myri.com>
> > Date: Fri, 15 Apr 2011 13:29:22 -0500
> > 
> > > On Fri, Apr 15, 2011 at 04:50:50PM +0200, Michał Mirosław wrote:
> > >> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>

Acked-by: Jon Mason <jon.mason@myri.com>

> > >> ---
> > >>  drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
> > >>  1 files changed, 12 insertions(+), 54 deletions(-)
> > >> 
> > >> diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
> > >> index 1446de5..a48eb92 100644
> > >> --- a/drivers/net/myri10ge/myri10ge.c
> > >> +++ b/drivers/net/myri10ge/myri10ge.c
> > >> @@ -205,7 +205,6 @@ struct myri10ge_priv {
> > >>  	int tx_boundary;	/* boundary transmits cannot cross */
> > >>  	int num_slices;
> > >>  	int running;		/* running?             */
> > >> -	int csum_flag;		/* rx_csums?            */
> > > Get rid of MXGEFW_FLAGS_CKSUM in drivers/net/myri10ge/myri10ge_mcp.h,
> > > as this was the only thing using it.
> >  ...
> > > ethtool_op_set_tso does not support TSO6.  This would remove the
> > > enable/disable of that feature.
> > Michał please fix these issues and resubmit this patch, thanks!
> 
> There are no issues. MXGEFW_FLAGS_CKSUM is used elsewhere in the driver
> and TSO6 is handled by masking netdev->hw_features at devinit time.
> 
> BTW, ethtool_op_set_tso() is not used at all in new offload changing scheme.
> 
> Best Regards,
> Michał Mirosław
> 

^ permalink raw reply	[flat|nested] 8+ messages in thread

* Re: [PATCH] net: myri10ge: convert to hw_features
  2011-04-18 11:03     ` Michał Mirosław
  2011-04-18 14:24       ` Jon Mason
@ 2011-04-19  5:49       ` David Miller
  1 sibling, 0 replies; 8+ messages in thread
From: David Miller @ 2011-04-19  5:49 UTC (permalink / raw)
  To: mirq-linux; +Cc: jon.mason, netdev, gallatin, brice

From: Michał Mirosław <mirq-linux@rere.qmqm.pl>
Date: Mon, 18 Apr 2011 13:03:47 +0200

> On Sun, Apr 17, 2011 at 11:30:53PM -0700, David Miller wrote:
>> From: Jon Mason <jon.mason@myri.com>
>> Date: Fri, 15 Apr 2011 13:29:22 -0500
>> 
>> > On Fri, Apr 15, 2011 at 04:50:50PM +0200, Michał Mirosław wrote:
>> >> Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl>
>> >> ---
>> >>  drivers/net/myri10ge/myri10ge.c |   66 +++++++-------------------------------
>> >>  1 files changed, 12 insertions(+), 54 deletions(-)
>> >> 
>> >> diff --git a/drivers/net/myri10ge/myri10ge.c b/drivers/net/myri10ge/myri10ge.c
>> >> index 1446de5..a48eb92 100644
>> >> --- a/drivers/net/myri10ge/myri10ge.c
>> >> +++ b/drivers/net/myri10ge/myri10ge.c
>> >> @@ -205,7 +205,6 @@ struct myri10ge_priv {
>> >>  	int tx_boundary;	/* boundary transmits cannot cross */
>> >>  	int num_slices;
>> >>  	int running;		/* running?             */
>> >> -	int csum_flag;		/* rx_csums?            */
>> > Get rid of MXGEFW_FLAGS_CKSUM in drivers/net/myri10ge/myri10ge_mcp.h,
>> > as this was the only thing using it.
>>  ...
>> > ethtool_op_set_tso does not support TSO6.  This would remove the
>> > enable/disable of that feature.
>> Michał please fix these issues and resubmit this patch, thanks!
> 
> There are no issues. MXGEFW_FLAGS_CKSUM is used elsewhere in the driver
> and TSO6 is handled by masking netdev->hw_features at devinit time.
> 
> BTW, ethtool_op_set_tso() is not used at all in new offload changing scheme.

Ok, applied, thanks!


^ permalink raw reply	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2011-04-19  5:50 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2011-04-15 14:50 [PATCH] net: myri10ge: convert to hw_features Michał Mirosław
2011-04-15 18:29 ` Jon Mason
2011-04-15 18:36   ` Andrew Gallatin
2011-04-15 18:47   ` Michał Mirosław
2011-04-18  6:30   ` David Miller
2011-04-18 11:03     ` Michał Mirosław
2011-04-18 14:24       ` Jon Mason
2011-04-19  5:49       ` David Miller

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).