NETIF_F_GRO_HW
else if (bd->netdev->features & NETIF_F_GRO_HW)
netdev->hw_features |= NETIF_F_GRO_HW;
if (netdev->features & NETIF_F_GRO_HW)
else if (bp->dev->features & NETIF_F_GRO_HW)
dev->features &= ~NETIF_F_GRO_HW;
features &= ~NETIF_F_GRO_HW;
if (features & NETIF_F_GRO_HW)
bp->dev->hw_features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW);
bp->dev->features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW);
NETIF_F_RXCSUM | NETIF_F_LRO | NETIF_F_GRO | NETIF_F_GRO_HW |
dev->features &= ~NETIF_F_GRO_HW;
features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW);
features &= ~NETIF_F_GRO_HW;
if (features & NETIF_F_GRO_HW)
if (features & NETIF_F_GRO_HW)
bp->dev->hw_features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW);
bp->dev->features &= ~(NETIF_F_LRO | NETIF_F_GRO_HW);
dev->hw_features |= NETIF_F_GRO_HW;
if (dev->features & NETIF_F_GRO_HW)
else if (bp->dev->features & NETIF_F_GRO_HW)
if (changed & (NETIF_F_GRO_HW) && h->ae_algo->ops->set_gro_en) {
enable = !!(features & NETIF_F_GRO_HW);
netdev->features |= NETIF_F_GRO_HW;
NETIF_F_HW_VLAN_CTAG_RX | NETIF_F_GRO_HW | NETIF_F_NTUPLE |
if (changed & NETIF_F_GRO_HW) {
netdev->features ^= NETIF_F_GRO_HW;
other_offloads |= NETIF_F_GRO_HW;
rsc = idpf_is_feature_ena(vport, NETIF_F_GRO_HW);
!(dev->features & NETIF_F_GRO_HW)) {
if (features & (NETIF_F_GRO_HW | NETIF_F_LRO)) {
err |= MLX5E_HANDLE_FEATURE(NETIF_F_GRO_HW, set_feature_hw_gro);
err |= MLX5E_HANDLE_FEATURE(NETIF_F_GRO_HW, set_feature_hw_gro);
features &= ~NETIF_F_GRO_HW;
if (netdev->features & NETIF_F_GRO_HW)
if (features & NETIF_F_GRO_HW) {
features &= ~NETIF_F_GRO_HW;
if (features & NETIF_F_GRO_HW) {
features &= ~NETIF_F_GRO_HW;
if (features & NETIF_F_GRO_HW) {
features &= ~NETIF_F_GRO_HW;
if (features & NETIF_F_GRO_HW) {
features &= ~NETIF_F_GRO_HW;
!(features & NETIF_F_GRO_HW)) {
features |= NETIF_F_GRO_HW;
netdev->vlan_features |= NETIF_F_GRO_HW;
netdev->features &= ~NETIF_F_GRO_HW;
ndev->features &= ~NETIF_F_GRO_HW;
features &= ~NETIF_F_GRO_HW;
if (changes & NETIF_F_GRO_HW)
edev->ndev->features &= ~NETIF_F_GRO_HW;
edev->gro_disable = !(edev->ndev->features & NETIF_F_GRO_HW);
hw_features = NETIF_F_GRO | NETIF_F_GRO_HW | NETIF_F_SG |
if ((dev->features ^ features) & NETIF_F_GRO_HW) {
if (features & NETIF_F_GRO_HW)
dev->features |= NETIF_F_GRO_HW;
dev->hw_features |= NETIF_F_GRO_HW;
if (features & NETIF_F_GRO_HW) {
features &= ~NETIF_F_GRO_HW;
if (features & NETIF_F_GRO_HW) {
features &= ~NETIF_F_GRO_HW;
if ((features & NETIF_F_GRO_HW) && (features & NETIF_F_LRO)) {
dev->wanted_features &= ~NETIF_F_GRO_HW;
if (unlikely(dev->features & NETIF_F_GRO_HW))