From patchwork Thu Mar 1 19:07:21 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Govindarajulu Varadarajan X-Patchwork-Id: 880248 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Authentication-Results: ozlabs.org; spf=none (mailfrom) smtp.mailfrom=vger.kernel.org (client-ip=209.132.180.67; helo=vger.kernel.org; envelope-from=netdev-owner@vger.kernel.org; receiver=) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=cisco.com Authentication-Results: ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=cisco.com header.i=@cisco.com header.b="maPDL9td"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3zstMQ40Zfz9s7G for ; Fri, 2 Mar 2018 13:21:06 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1164284AbeCBCVE (ORCPT ); Thu, 1 Mar 2018 21:21:04 -0500 Received: from alln-iport-7.cisco.com ([173.37.142.94]:61364 "EHLO alln-iport-7.cisco.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1164279AbeCBCVC (ORCPT ); Thu, 1 Mar 2018 21:21:02 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=1604; q=dns/txt; s=iport; t=1519957262; x=1521166862; h=from:to:cc:subject:date:message-id:in-reply-to: references; bh=K3vyTaHW6m2+dd/cFeZ7wAQ+k/1etF64nFy7CgyvQ7M=; b=maPDL9tdJAHYdld5/C045DppwONvl6huC8AcLfgnCAA93x2BwGXE5k5D XuhQ2FUOZ4CqV8j+MBorgJ01xDUiCbmZiDDvO5SwjuBMOFHjslIzycTnR CvpulwKf1DCh7A/AC76zIpNJ7nMS0Ml9AVrtKgKDIJ9ahpATYUslyUzhG o=; X-IronPort-AV: E=Sophos;i="5.47,409,1515456000"; d="scan'208";a="77630596" Received: from rcdn-core-3.cisco.com ([173.37.93.154]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 02 Mar 2018 02:11:38 +0000 Received: from aarch.cisco.com (240m4avmarch.cisco.com [10.193.164.12]) (authenticated bits=0) by rcdn-core-3.cisco.com (8.14.5/8.14.5) with ESMTP id w222BWHE023483 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES128-GCM-SHA256 bits=128 verify=NO); Fri, 2 Mar 2018 02:11:38 GMT From: Govindarajulu Varadarajan To: davem@davemloft.net, netdev@vger.kernel.org Cc: benve@cisco.com, Govindarajulu Varadarajan Subject: [PATCH net-next 3/6] enic: Check if hw supports multi wq with vxlan offload Date: Thu, 1 Mar 2018 11:07:21 -0800 Message-Id: <20180301190724.3192-4-gvaradar@cisco.com> X-Mailer: git-send-email 2.16.2 In-Reply-To: <20180301190724.3192-1-gvaradar@cisco.com> References: <20180301190724.3192-1-gvaradar@cisco.com> X-Authenticated-User: gvaradar@cisco.com Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Some adaptors do not support vxlan offload when multi wq is configured. If hw supports multi wq, BIT(2) is set in a1. Signed-off-by: Govindarajulu Varadarajan --- drivers/net/ethernet/cisco/enic/enic_main.c | 5 +++++ drivers/net/ethernet/cisco/enic/vnic_devcmd.h | 1 + 2 files changed, 6 insertions(+) diff --git a/drivers/net/ethernet/cisco/enic/enic_main.c b/drivers/net/ethernet/cisco/enic/enic_main.c index 848aac477cff..3280a05f9cf1 100644 --- a/drivers/net/ethernet/cisco/enic/enic_main.c +++ b/drivers/net/ethernet/cisco/enic/enic_main.c @@ -212,6 +212,11 @@ static void enic_udp_tunnel_add(struct net_device *netdev, goto error; } + if ((vnic_dev_get_res_count(enic->vdev, RES_TYPE_WQ) != 1) && + !(enic->vxlan.flags & ENIC_VXLAN_MULTI_WQ)) { + netdev_info(netdev, "vxlan: vxlan offload with multi wq not supported on this adapter"); + goto error; + } err = vnic_dev_overlay_offload_cfg(enic->vdev, OVERLAY_CFG_VXLAN_PORT_UPDATE, diff --git a/drivers/net/ethernet/cisco/enic/vnic_devcmd.h b/drivers/net/ethernet/cisco/enic/vnic_devcmd.h index 69529a3516cd..8fce9ef1c9bc 100644 --- a/drivers/net/ethernet/cisco/enic/vnic_devcmd.h +++ b/drivers/net/ethernet/cisco/enic/vnic_devcmd.h @@ -699,6 +699,7 @@ enum overlay_ofld_cmd { #define ENIC_VXLAN_INNER_IPV6 BIT(0) #define ENIC_VXLAN_OUTER_IPV6 BIT(1) +#define ENIC_VXLAN_MULTI_WQ BIT(2) /* Use this enum to get the supported versions for each of these features * If you need to use the devcmd_get_supported_feature_version(), add