2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 12:43:55 +08:00

amd8111e: do vlan cleanup

- unify vlan and nonvlan rx path
- kill lp->vlgrp and amd8111e_vlan_rx_register

Signed-off-by: Jiri Pirko <jpirko@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Jiri Pirko 2011-07-20 04:54:11 +00:00 committed by David S. Miller
parent 9fea03302a
commit c8d9e6dd48
2 changed files with 6 additions and 31 deletions

View File

@ -661,15 +661,6 @@ static void amd8111e_free_ring(struct amd8111e_priv* lp)
} }
} }
#if AMD8111E_VLAN_TAG_USED
/*
This is the receive indication function for packets with vlan tag.
*/
static int amd8111e_vlan_rx(struct amd8111e_priv *lp, struct sk_buff *skb, u16 vlan_tag)
{
return vlan_hwaccel_receive_skb(skb, lp->vlgrp,vlan_tag);
}
#endif
/* /*
This function will free all the transmit skbs that are actually transmitted by the device. It will check the ownership of the skb before freeing the skb. This function will free all the transmit skbs that are actually transmitted by the device. It will check the ownership of the skb before freeing the skb.
@ -764,7 +755,7 @@ static int amd8111e_rx_poll(struct napi_struct *napi, int budget)
#if AMD8111E_VLAN_TAG_USED #if AMD8111E_VLAN_TAG_USED
vtag = status & TT_MASK; vtag = status & TT_MASK;
/*MAC will strip vlan tag*/ /*MAC will strip vlan tag*/
if(lp->vlgrp != NULL && vtag !=0) if (vtag != 0)
min_pkt_len =MIN_PKT_LEN - 4; min_pkt_len =MIN_PKT_LEN - 4;
else else
#endif #endif
@ -799,12 +790,12 @@ static int amd8111e_rx_poll(struct napi_struct *napi, int budget)
skb->protocol = eth_type_trans(skb, dev); skb->protocol = eth_type_trans(skb, dev);
#if AMD8111E_VLAN_TAG_USED #if AMD8111E_VLAN_TAG_USED
if(lp->vlgrp != NULL && (vtag == TT_VLAN_TAGGED)){ if (vtag == TT_VLAN_TAGGED){
amd8111e_vlan_rx(lp, skb, u16 vlan_tag = le16_to_cpu(lp->rx_ring[rx_index].tag_ctrl_info);
le16_to_cpu(lp->rx_ring[rx_index].tag_ctrl_info)); __vlan_hwaccel_put_tag(skb, vlan_tag);
} else }
#endif #endif
netif_receive_skb(skb); netif_receive_skb(skb);
/*COAL update rx coalescing parameters*/ /*COAL update rx coalescing parameters*/
lp->coal_conf.rx_packets++; lp->coal_conf.rx_packets++;
lp->coal_conf.rx_bytes += pkt_len; lp->coal_conf.rx_bytes += pkt_len;
@ -1598,16 +1589,6 @@ static int amd8111e_change_mtu(struct net_device *dev, int new_mtu)
return err; return err;
} }
#if AMD8111E_VLAN_TAG_USED
static void amd8111e_vlan_rx_register(struct net_device *dev, struct vlan_group *grp)
{
struct amd8111e_priv *lp = netdev_priv(dev);
spin_lock_irq(&lp->lock);
lp->vlgrp = grp;
spin_unlock_irq(&lp->lock);
}
#endif
static int amd8111e_enable_magicpkt(struct amd8111e_priv* lp) static int amd8111e_enable_magicpkt(struct amd8111e_priv* lp)
{ {
writel( VAL1|MPPLBA, lp->mmio + CMD3); writel( VAL1|MPPLBA, lp->mmio + CMD3);
@ -1822,9 +1803,6 @@ static const struct net_device_ops amd8111e_netdev_ops = {
.ndo_set_mac_address = amd8111e_set_mac_address, .ndo_set_mac_address = amd8111e_set_mac_address,
.ndo_do_ioctl = amd8111e_ioctl, .ndo_do_ioctl = amd8111e_ioctl,
.ndo_change_mtu = amd8111e_change_mtu, .ndo_change_mtu = amd8111e_change_mtu,
#if AMD8111E_VLAN_TAG_USED
.ndo_vlan_rx_register = amd8111e_vlan_rx_register,
#endif
#ifdef CONFIG_NET_POLL_CONTROLLER #ifdef CONFIG_NET_POLL_CONTROLLER
.ndo_poll_controller = amd8111e_poll, .ndo_poll_controller = amd8111e_poll,
#endif #endif

View File

@ -783,9 +783,6 @@ struct amd8111e_priv{
struct net_device *next; struct net_device *next;
int mii; int mii;
struct mii_if_info mii_if; struct mii_if_info mii_if;
#if AMD8111E_VLAN_TAG_USED
struct vlan_group *vlgrp;
#endif
char opened; char opened;
unsigned int drv_rx_errors; unsigned int drv_rx_errors;
struct amd8111e_coalesce_conf coal_conf; struct amd8111e_coalesce_conf coal_conf;