From patchwork Sun Mar 20 19:57:53 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Chan X-Patchwork-Id: 12786675 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 2BDBCC433EF for ; Sun, 20 Mar 2022 19:58:27 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343606AbiCTT7s (ORCPT ); Sun, 20 Mar 2022 15:59:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:33520 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S241597AbiCTT7r (ORCPT ); Sun, 20 Mar 2022 15:59:47 -0400 Received: from mail-pf1-x430.google.com (mail-pf1-x430.google.com [IPv6:2607:f8b0:4864:20::430]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id F27D434666 for ; Sun, 20 Mar 2022 12:58:23 -0700 (PDT) Received: by mail-pf1-x430.google.com with SMTP id s42so13922877pfg.0 for ; Sun, 20 Mar 2022 12:58:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; h=from:to:cc:subject:date:message-id; bh=GeRUDLi3WJUhQf+tCRKqbDd7IUOEFcjAa+mWTCZeVKQ=; b=VXNh/cTjq7Yr9YgT0jKgBWVMHJtutRmH0pw9k/gFS9dmvS73jluoIcuwMRWok7i/tC alQqGjZj/tWv4MtsuY5kPF7mS00RGMzeQSv29WFpjP8fiKtFWmb+6Y8ZoM+VeqcIKTJ0 tzdfOWdWzqDu4hwgl1O4au06i0kZz/lqmzpiM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=GeRUDLi3WJUhQf+tCRKqbDd7IUOEFcjAa+mWTCZeVKQ=; b=gV+6fvcQbO2s7gKpy0gGUWmY3EjF8IIAomPlA9L+NJeyKazKWvxUb/kW3B1nbN5ulq apcxDPiZzM7alpk086jZ09++TG+NgsA683HvS9FNMXujV0uWV/GA/oYGJcC5nd1ObgqW 2RTz3Z5vrndMFCoh9AYMKRzBgs/Bxj9xv+WFpitKjdkS0OXC33hvrugY5bl5RtYUsxyc Ma1KHL8vudoEpjvbm6ufsPr3eJZm1vzyUYA2nBQLxeIUZZFw2LTBp1K+IL3gMqi8YNcC Cz/75sfzFn5qZACTNP4lIt8xoSaksQmIudisge18nc6s5+/WCU+kkM+Dpa+xQh9YKAlQ 7oPg== X-Gm-Message-State: AOAM531u+t1XvsGFTLu6Sc8Q5e+0lxMXbGdr8ygF5MZzCMrHi8NUht37 VH610AHlFG1h8CjHPw5xhdaKmw== X-Google-Smtp-Source: ABdhPJzGFZlvHMW3tBGHpnhblppcbAhv0kGTivOuC7q1lQV3r+D2oCfU/4h69PLTFBOyT6hobOy+9Q== X-Received: by 2002:a05:6a00:1254:b0:4fa:874e:1319 with SMTP id u20-20020a056a00125400b004fa874e1319mr6776222pfi.14.1647806303327; Sun, 20 Mar 2022 12:58:23 -0700 (PDT) Received: from localhost.net ([192.19.223.252]) by smtp.gmail.com with ESMTPSA id h10-20020a056a001a4a00b004f7c76f29c3sm16418335pfv.24.2022.03.20.12.58.22 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 20 Mar 2022 12:58:22 -0700 (PDT) From: Michael Chan To: davem@davemloft.net Cc: netdev@vger.kernel.org, kuba@kernel.org, gospo@broadcom.com Subject: [PATCH net-next v2 00/11] bnxt: Support XDP multi buffer Date: Sun, 20 Mar 2022 15:57:53 -0400 Message-Id: <1647806284-8529-1-git-send-email-michael.chan@broadcom.com> X-Mailer: git-send-email 1.8.3.1 Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org X-Patchwork-Delegate: kuba@kernel.org This series adds XDP multi buffer support, allowing MTU to go beyond the page size limit. v2: Fix uninitialized variable warnings in patch 1 and 10. Dave, please don't apply these patches too quickly so that others can review them first. Thanks. Andy Gospodarek (11): bnxt: refactor bnxt_rx_xdp to separate xdp_init_buff/xdp_prepare_buff bnxt: add flag to denote that an xdp program is currently attached bnxt: refactor bnxt_rx_pages operate on skb_shared_info bnxt: rename bnxt_rx_pages to bnxt_rx_agg_pages_skb bnxt: adding bnxt_rx_agg_pages_xdp for aggregated xdp bnxt: set xdp_buff pfmemalloc flag if needed bnxt: change receive ring space parameters bnxt: add page_pool support for aggregation ring when using xdp bnxt: adding bnxt_xdp_build_skb to build skb from multibuffer xdp_buff bnxt: support transmit and free of aggregation buffers bnxt: XDP multibuffer enablement drivers/net/ethernet/broadcom/bnxt/bnxt.c | 304 +++++++++++++----- drivers/net/ethernet/broadcom/bnxt/bnxt.h | 8 +- .../net/ethernet/broadcom/bnxt/bnxt_ethtool.c | 2 +- drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.c | 204 ++++++++++-- drivers/net/ethernet/broadcom/bnxt/bnxt_xdp.h | 15 +- 5 files changed, 420 insertions(+), 113 deletions(-)