From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-vk0-f43.google.com (mail-vk0-f43.google.com [209.85.213.43]) by dpdk.org (Postfix) with ESMTP id ACA49F921 for ; Mon, 19 Dec 2016 18:59:30 +0100 (CET) Received: by mail-vk0-f43.google.com with SMTP id p9so123457781vkd.3 for ; Mon, 19 Dec 2016 09:59:30 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=dFYSdp6MZw+FequIAbuifK0SnctSwrng7/GlOcXrOXo=; b=UPvobnTAJ7Sg4HR1q/wvNAQPjRgMv1KtTcgkvbrJGiKR221xpnPBDRhY4mxhaXeFeu DhW3RrGfIojyNMpsghKtBNA0f/8tAKEqw+7ziVT26V4KFcmYI2BRsKiBLjoBrXQk8Oe7 qnoiqBWGZTtSgvpVi+BI/Hr38TT4Ii7TwUXM9mO/BlGXZ2ZJ4Gj24rCIjD+b3bhAY5ut 1CNU5W0KjKX54Re/Ez9/gjcH8gotfT/wsPytltsbroiy/EfpKHVFsUaeGnqSNhXC9ZPP Xhov/F3ZXcnQOaEghAT8PCBSWlhkW2uzCntdNg/HHV2m2qMWDcs/9FacR+adqqUzTO6e MbqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=dFYSdp6MZw+FequIAbuifK0SnctSwrng7/GlOcXrOXo=; b=tqMhb7EWOSAjxEk+Osef9v8kaAlvGTNDiL0Ln5WhkQ83YxH9bIRv4eq871TVuKN/rv R40mEJP82KuN5wZdAg6PId+D82m0x0jVmtkx4AhMx7pT/TlWMjUj0aN8nDCHcenBVROT moI4m+al5rTUUinr1Cn2yl8oNDT0oi4tdwcPyXq3ZHWVSedAH8sYE1zTaXbl/8axQjcP j10nw7F+Cw9ZddOD306/QZl4RkSWOQs45/bVidcrnmGIpr5DV/t+LVv2LsL2db/sfHG7 Cin/dLc32ZxqkMWvs3KkDen4IjZwHeQy2lA4/Gf1SzAjFnEMnYF6AiCoyKFrxBRu3i5K FAtQ== X-Gm-Message-State: AIkVDXK8PEDfYAVLYZO8PqyYwmVawOcER9n/KWrlHsb8yWvmf4LQ20V1vBOKNg5McU7pmTNtNIYDu8TMZdubep1w X-Received: by 10.31.49.216 with SMTP id x207mr6630556vkx.82.1482170360641; Mon, 19 Dec 2016 09:59:20 -0800 (PST) MIME-Version: 1.0 Received: by 10.103.46.3 with HTTP; Mon, 19 Dec 2016 09:59:20 -0800 (PST) In-Reply-To: References: <1482149104-40805-1-git-send-email-alejandro.lucero@netronome.com> <3dd84942-5c7b-5f3f-2760-a71f97dfcd6a@intel.com> From: Alejandro Lucero Date: Mon, 19 Dec 2016 17:59:20 +0000 Message-ID: To: Ferruh Yigit Cc: dev Content-Type: text/plain; charset=UTF-8 X-Content-Filtered-By: Mailman/MimeDel 2.1.15 Subject: Re: [dpdk-dev] [PATCH] nfp: extend speed capabilities advertised X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 19 Dec 2016 17:59:31 -0000 On Mon, Dec 19, 2016 at 4:43 PM, Ferruh Yigit wrote: > On 12/19/2016 4:18 PM, Alejandro Lucero wrote: > > On Mon, Dec 19, 2016 at 3:05 PM, Ferruh Yigit > > wrote: > > > >> On 12/19/2016 3:02 PM, Alejandro Lucero wrote: > >>> > >>> > >>> On Mon, Dec 19, 2016 at 2:36 PM, Ferruh Yigit >>> > wrote: > >>> > >>> Hi Alejandro, > >>> > >>> > >>> Hi, > >>> > >>> > >>> On 12/19/2016 12:05 PM, Alejandro Lucero wrote: > >>> > NFP supports more speeds than just 40 and 100GB, which were > >>> > what was advertised before. > >>> > > >>> > Signed-off-by: Alejandro Lucero >> > > >>> > --- > >>> > drivers/net/nfp/nfp_net.c | 4 +++- > >>> > 1 file changed, 3 insertions(+), 1 deletion(-) > >>> > > >>> > diff --git a/drivers/net/nfp/nfp_net.c > b/drivers/net/nfp/nfp_net.c > >>> > index 27afbfd..77015c4 100644 > >>> > --- a/drivers/net/nfp/nfp_net.c > >>> > +++ b/drivers/net/nfp/nfp_net.c > >>> > @@ -1077,7 +1077,9 @@ static void nfp_net_read_mac(struct > >> nfp_net_hw *hw) > >>> > dev_info->reta_size = NFP_NET_CFG_RSS_ITBL_SZ; > >>> > dev_info->hash_key_size = NFP_NET_CFG_RSS_KEY_SZ; > >>> > > >>> > - dev_info->speed_capa = ETH_LINK_SPEED_40G | > >> ETH_LINK_SPEED_100G; > >>> > + dev_info->speed_capa = ETH_SPEED_NUM_1G | > ETH_LINK_SPEED_10G > >> | > >>> > + ETH_SPEED_NUM_25G | > ETH_SPEED_NUM_40G > >> | > >>> > + ETH_SPEED_NUM_50G | > >> ETH_LINK_SPEED_100G; > >>> > >>> Does all devices driver by this driver supports all these speeds? > >>> > >>> I am aware of at least one exception to this, from previous patch > >> [1], > >>> should we take that into account? > >>> > >>> > >>> So we have different NFP devices and different firmwares. > >>> NFP by design support all those speeds, but the PMD relies on the > >>> firmware for being able to know which is the current configured speed > >>> after link negotiation. PMD development was done with a specific > >>> firmware, and I was told to just report such speed by default. Last > >>> firmware versions give that speed info, but old firmware versions do > not. > >>> > >>> So, all devices support such a speed range, indeed PMD works with any > of > >>> them, but reported speed is always 40G with old firmware. This is a > >>> firmware limitation but we have to support old and new firmware. > >> > >> But this information to the application will be wrong for some (old) FW. > >> What do you think checking the FW version here and report capability > >> based on what FW supports? > >> > >> > > The driver advertises the right speed range supported. The problem is > with > > the report about the current link speed configured. > > Maybe, is the right thing to do here to not report the current link speed > > because the driver really does not know about it? > > Sorry, confused. Is it like following: > > " > For new FW, there is no problem, it supports the range between 1G - 50G, > and reports correct current speed. > > With old FW, device still can be set to speed range between 1G - 50G, > but it doesn't report current speed correct, and DPDK driver reports > back to application as device current speed is 40G, without really > knowing the current speed. > " > > Yes, that is. Should then I do anything else or the patch is right for you now? > Thanks, > ferruh > > > > > If you agree with this, I'm afraid the just accepted patch about the link > > report needs to be modified. > > > > > > > >>> > >>> > >>> > >>> Also other than that exception, can you please confirm all other > >> devices > >>> support all above speeds? > >>> > >>> [1] > >>> + if ((NFD_CFG_MAJOR_VERSION_of(hw->ver) < 4) || > >>> + ((NFD_CFG_MINOR_VERSION_of(hw->ver) == 4) && > >>> + (NFD_CFG_MINOR_VERSION_of(hw->ver) == 0))) > >>> + link.link_speed = ETH_SPEED_NUM_40G; > >>> > >>> > >>> > } > >>> > > >>> > static const uint32_t * > >>> > > >>> > >>> > >> > >> > >