Subject: Re: [PATCH net-next v1 1/1] net: fec: Add VLAN receive HW support.

From: Jim Baxter <[email-masked]>
Date: Wed, 26 Jun 2013 12:45:18 +0100

On 26/06/13 12:18, Duan Fugang-B38611 wrote:
> On 06/26/13 18:09, Jim Baxter wrote:
> 
>>> In addition,
>>> 	1.	enet IP support hw VLAN detect such as imx28-fec, imx6q-fec and mvf600-fec, so you can add the "BD_ENET_RX_VLAN " to those platform driver_data.
>> I have only tested it on the i.MX6, if someone wants to check it on the
>> imx28 later they can add it to that option.
> 
>>> 	2.	Enable the VLAN tag extraction with "NETIF_F_HW_VLAN_CTAG_RX" feature in .ndo_fix_features, which is configured by user.
>> What do you mean by this, I am only enabling the VLAN code if (ndev->features & NETIF_F_HW_VLAN_CTAG_RX) is set. I am pretty sure this is set by
> 
> You can enable the feature like below, which is reasonable.
> .ndo_fix_features   = fec_enet_fix_features
> 
> static netdev_features_t fec_enet_fix_features (struct net_device *dev, 
>         netdev_features_t features)
> {
>         struct fec_enet_private *fep = netdev_priv(dev);
> 	  const struct platform_device_id *id_entry =
> 					platform_get_device_id(fep->pdev);
> 
> 	  if (id_entry->driver_data & FEC_QUIRK_HAS_VLAN)
>         	features |= NETIF_F_HW_VLAN_CTAG_RX;
> 
> 	  return features;
> }
> 
> 
> Thank you,
> Andy
> 
> 

I currently set the features in fec_enet_init() along with setting
hw_features, is fec_enet_fix_features() a more correct design for driver
implementation point?