From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Chan Subject: [PATCH net-next 4/4] qede: Use NETIF_F_GRO_HW. Date: Mon, 4 Dec 2017 06:12:47 -0500 Message-ID: <1512385967-32339-5-git-send-email-michael.chan@broadcom.com> References: <1512385967-32339-1-git-send-email-michael.chan@broadcom.com> Cc: netdev@vger.kernel.org, Ariel Elior , everest-linux-l2@cavium.com To: davem@davemloft.net Return-path: Received: from mail-qk0-f195.google.com ([209.85.220.195]:47045 "EHLO mail-qk0-f195.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753992AbdLDLNJ (ORCPT ); Mon, 4 Dec 2017 06:13:09 -0500 Received: by mail-qk0-f195.google.com with SMTP id b184so20849686qkc.13 for ; Mon, 04 Dec 2017 03:13:08 -0800 (PST) In-Reply-To: <1512385967-32339-1-git-send-email-michael.chan@broadcom.com> Sender: netdev-owner@vger.kernel.org List-ID: Advertise NETIF_F_GRO_HW and turn on or off hardware GRO based on NETIF_F_GRO_FW flag. Cc: Ariel Elior Cc: everest-linux-l2@cavium.com Signed-off-by: Michael Chan --- drivers/net/ethernet/qlogic/qede/qede_filter.c | 9 ++------- drivers/net/ethernet/qlogic/qede/qede_main.c | 4 ++-- 2 files changed, 4 insertions(+), 9 deletions(-) diff --git a/drivers/net/ethernet/qlogic/qede/qede_filter.c b/drivers/net/ethernet/qlogic/qede/qede_filter.c index c1a0708..7ee49b4 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_filter.c +++ b/drivers/net/ethernet/qlogic/qede/qede_filter.c @@ -901,13 +901,8 @@ int qede_set_features(struct net_device *dev, netdev_features_t features) netdev_features_t changes = features ^ dev->features; bool need_reload = false; - /* No action needed if hardware GRO is disabled during driver load */ - if (changes & NETIF_F_GRO) { - if (dev->features & NETIF_F_GRO) - need_reload = !edev->gro_disable; - else - need_reload = edev->gro_disable; - } + if (changes & NETIF_F_GRO_HW) + need_reload = true; if (need_reload) { struct qede_reload_args args; diff --git a/drivers/net/ethernet/qlogic/qede/qede_main.c b/drivers/net/ethernet/qlogic/qede/qede_main.c index 8f9b3eb..b81620e 100644 --- a/drivers/net/ethernet/qlogic/qede/qede_main.c +++ b/drivers/net/ethernet/qlogic/qede/qede_main.c @@ -676,7 +676,7 @@ static void qede_init_ndev(struct qede_dev *edev) ndev->priv_flags |= IFF_UNICAST_FLT; /* user-changeble features */ - hw_features = NETIF_F_GRO | NETIF_F_SG | + hw_features = NETIF_F_GRO | NETIF_F_GRO_HW | NETIF_F_SG | NETIF_F_IP_CSUM | NETIF_F_IPV6_CSUM | NETIF_F_TSO | NETIF_F_TSO6; @@ -1515,7 +1515,7 @@ static void qede_init_fp(struct qede_dev *edev) edev->ndev->name, queue_id); } - edev->gro_disable = !(edev->ndev->features & NETIF_F_GRO); + edev->gro_disable = !(edev->ndev->features & NETIF_F_GRO_HW); } static int qede_set_real_num_queues(struct qede_dev *edev) -- 1.8.3.1