gianfar.c (134d1fd44221614d7de994d07ef92a6111952e1c) gianfar.c (590399ddf9561f2ed0839311c8ae1be21597ba68)
1/* drivers/net/ethernet/freescale/gianfar.c
2 *
3 * Gianfar Ethernet Driver
4 * This driver is designed for the non-CPM ethernet controllers
5 * on the 85xx and 83xx family of integrated processors
6 * Based on 8260_io/fcc_enet.c
7 *
8 * Author: Andy Fleming

--- 3049 unchanged lines hidden (view full) ---

3058 skb_pull(skb, priv->padding);
3059
3060 /* Trim off the FCS */
3061 pskb_trim(skb, skb->len - ETH_FCS_LEN);
3062
3063 if (ndev->features & NETIF_F_RXCSUM)
3064 gfar_rx_checksum(skb, fcb);
3065
1/* drivers/net/ethernet/freescale/gianfar.c
2 *
3 * Gianfar Ethernet Driver
4 * This driver is designed for the non-CPM ethernet controllers
5 * on the 85xx and 83xx family of integrated processors
6 * Based on 8260_io/fcc_enet.c
7 *
8 * Author: Andy Fleming

--- 3049 unchanged lines hidden (view full) ---

3058 skb_pull(skb, priv->padding);
3059
3060 /* Trim off the FCS */
3061 pskb_trim(skb, skb->len - ETH_FCS_LEN);
3062
3063 if (ndev->features & NETIF_F_RXCSUM)
3064 gfar_rx_checksum(skb, fcb);
3065
3066 /* Tell the skb what kind of packet this is */
3067 skb->protocol = eth_type_trans(skb, ndev);
3068
3069 /* There's need to check for NETIF_F_HW_VLAN_CTAG_RX here.
3070 * Even if vlan rx accel is disabled, on some chips
3071 * RXFCB_VLN is pseudo randomly set.
3072 */
3073 if (ndev->features & NETIF_F_HW_VLAN_CTAG_RX &&
3074 be16_to_cpu(fcb->flags) & RXFCB_VLN)
3075 __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
3076 be16_to_cpu(fcb->vlctl));

--- 54 unchanged lines hidden (view full) ---

3131
3132 /* discard faulty buffer */
3133 dev_kfree_skb(skb);
3134 skb = NULL;
3135 rx_queue->stats.rx_dropped++;
3136 continue;
3137 }
3138
3066 /* There's need to check for NETIF_F_HW_VLAN_CTAG_RX here.
3067 * Even if vlan rx accel is disabled, on some chips
3068 * RXFCB_VLN is pseudo randomly set.
3069 */
3070 if (ndev->features & NETIF_F_HW_VLAN_CTAG_RX &&
3071 be16_to_cpu(fcb->flags) & RXFCB_VLN)
3072 __vlan_hwaccel_put_tag(skb, htons(ETH_P_8021Q),
3073 be16_to_cpu(fcb->vlctl));

--- 54 unchanged lines hidden (view full) ---

3128
3129 /* discard faulty buffer */
3130 dev_kfree_skb(skb);
3131 skb = NULL;
3132 rx_queue->stats.rx_dropped++;
3133 continue;
3134 }
3135
3136 gfar_process_frame(ndev, skb);
3137
3139 /* Increment the number of packets */
3140 total_pkts++;
3141 total_bytes += skb->len;
3142
3143 skb_record_rx_queue(skb, rx_queue->qindex);
3144
3138 /* Increment the number of packets */
3139 total_pkts++;
3140 total_bytes += skb->len;
3141
3142 skb_record_rx_queue(skb, rx_queue->qindex);
3143
3145 gfar_process_frame(ndev, skb);
3144 skb->protocol = eth_type_trans(skb, ndev);
3146
3147 /* Send the packet up the stack */
3148 napi_gro_receive(&rx_queue->grp->napi_rx, skb);
3149
3150 skb = NULL;
3151 }
3152
3153 /* Store incomplete frames for completion */

--- 642 unchanged lines hidden ---
3145
3146 /* Send the packet up the stack */
3147 napi_gro_receive(&rx_queue->grp->napi_rx, skb);
3148
3149 skb = NULL;
3150 }
3151
3152 /* Store incomplete frames for completion */

--- 642 unchanged lines hidden ---