From patchwork Thu Mar 2 23:26:20 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Jakub Kicinski X-Patchwork-Id: 734875 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vZ90N53Sqz9s7d for ; Fri, 3 Mar 2017 11:24:04 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=netronome-com.20150623.gappssmtp.com header.i=@netronome-com.20150623.gappssmtp.com header.b="RQBuNjtk"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751262AbdCCAXw (ORCPT ); Thu, 2 Mar 2017 19:23:52 -0500 Received: from mail-pf0-f178.google.com ([209.85.192.178]:35713 "EHLO mail-pf0-f178.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751235AbdCCAXv (ORCPT ); Thu, 2 Mar 2017 19:23:51 -0500 Received: by mail-pf0-f178.google.com with SMTP id j5so27215760pfb.2 for ; Thu, 02 Mar 2017 16:23:44 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=netronome-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=j6e8q5IdXQ8d600Cl/q5NpzEbbSpcmrK+bbo4CApUao=; b=RQBuNjtksCufEu7mfrRWmZ2HxWM920AxLuGXH99NSlI9+6oCQbJlSMUAVOvBUtX8yQ r/G33IrlCrojpDOtf5y7p0Z/cT90u7Bsa12jUIUjS21v87613Rvg+ok/dn2uyTNIawtW gvn02dw5Xn1vNcWE5ad8lw4vPmYVjk4BEDwaTfaDbakVvqO9ZI56CwbZQ9jxaPW2LlrN HjvlbY4mT13V3UTmvGWZq3GLV2s5DIGgFiidnogL5gvaNHGzIzyDT/2Yfqo2D9JBdGDe lq113HVbVLpueiPL5wSOMm9ALijOqpXxiRwUwkm9LnAYgshj64mM5/mF50dlorrj5VSh x8ew== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=j6e8q5IdXQ8d600Cl/q5NpzEbbSpcmrK+bbo4CApUao=; b=UlC7E5apZwNZbQfItyeP5NoxnOP/lpXWMDZRyZusHTSCMxt/LblGrRJWL1KFTo01/n BC/G9A38mVe23CKMUrttZrTiimzkBF326CPbiHrfCsEYv8uP0VVB4vcIPxlCJZMUm0bf T1oyuuhdHSxtPSymNeiduGZeIL1pP4EIVq2ZDKg2NyheZQJzSgusJklqv4TX+Ikq5rqY Su64AyMLKKdxHcoyOSFv6W/sDmOCwcshecWw1DDg+cSV1b1WvHsvjVvuwvfYrvUUaNox AQW/GDG48l2FDVjcpy5YURNuZcrrjGRtC1kiQRmbIuMT9+P6cdk8sxYBgp3Kb7FQnSw8 R5SA== X-Gm-Message-State: AMke39lq6hyom6IJ66HcdqxsbQHhKcI22w60gYwDCXSZx7zjbOJQM6/LsZUCrHsKL5KNsIpX X-Received: by 10.84.212.136 with SMTP id e8mr22548307pli.140.1488497227927; Thu, 02 Mar 2017 15:27:07 -0800 (PST) Received: from jkicinski-Precision-T1700.netronome.com ([75.53.12.129]) by smtp.gmail.com with ESMTPSA id z4sm19206150pge.49.2017.03.02.15.27.07 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 02 Mar 2017 15:27:07 -0800 (PST) From: Jakub Kicinski To: netdev@vger.kernel.org Cc: kubakici@wp.pl, oss-drivers@netronome.com, Jakub Kicinski Subject: [PATCH net 1/2] nfp: don't tell FW about the reserved buffer space Date: Thu, 2 Mar 2017 15:26:20 -0800 Message-Id: <20170302232621.39763-2-jakub.kicinski@netronome.com> X-Mailer: git-send-email 2.11.0 In-Reply-To: <20170302232621.39763-1-jakub.kicinski@netronome.com> References: <20170302232621.39763-1-jakub.kicinski@netronome.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Since commit c0f031bc8866 ("nfp_net: use alloc_frag() and build_skb()") we are allocating buffers which have to hold both the data and skb to be created in place by build_skb(). FW should only be told about the buffer space it can DMA to, that is without the build_skb() headroom and tailroom. Note: firmware applications should validate the buffers against both MTU and free list buffer size so oversized packets would not pass through the NIC anyway. Fixes: c0f031bc8866 ("nfp: use alloc_frag() and build_skb()") Signed-off-by: Jakub Kicinski --- drivers/net/ethernet/netronome/nfp/nfp_net_common.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c index 074259cc8e06..00a83218857a 100644 --- a/drivers/net/ethernet/netronome/nfp/nfp_net_common.c +++ b/drivers/net/ethernet/netronome/nfp/nfp_net_common.c @@ -2198,7 +2198,8 @@ static int __nfp_net_set_config_and_enable(struct nfp_net *nn) nfp_net_write_mac_addr(nn); nn_writel(nn, NFP_NET_CFG_MTU, nn->netdev->mtu); - nn_writel(nn, NFP_NET_CFG_FLBUFSZ, nn->fl_bufsz); + nn_writel(nn, NFP_NET_CFG_FLBUFSZ, + nn->fl_bufsz - NFP_NET_RX_BUF_NON_DATA); /* Enable device */ new_ctrl |= NFP_NET_CFG_CTRL_ENABLE;