Message ID | 1539956258-29377-1-git-send-email-sunil.kovvuri@gmail.com |
---|---|
Headers | show
Return-Path: <netdev-owner@vger.kernel.org> X-Original-To: patchwork-incoming-netdev@ozlabs.org Delivered-To: patchwork-incoming-netdev@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=<UNKNOWN>) Authentication-Results: ozlabs.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="I50gn5D/"; dkim-atps=neutral Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 42c6Rf55f6z9sBn for <patchwork-incoming-netdev@ozlabs.org>; Sat, 20 Oct 2018 00:37:50 +1100 (AEDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727516AbeJSVn6 (ORCPT <rfc822;patchwork-incoming-netdev@ozlabs.org>); Fri, 19 Oct 2018 17:43:58 -0400 Received: from mail-pf1-f196.google.com ([209.85.210.196]:38214 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727315AbeJSVn6 (ORCPT <rfc822;netdev@vger.kernel.org>); Fri, 19 Oct 2018 17:43:58 -0400 Received: by mail-pf1-f196.google.com with SMTP id f29-v6so16507812pff.5; Fri, 19 Oct 2018 06:37:49 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id; bh=08ctWqrGAEcxja1/lYc/UeM/VgAgFUuw5bQ4LvQ1+uM=; b=I50gn5D//emXJqJTksS9ShWkZFCpiRkQWncXYtZgqdCwa1JyJVZbzdeM+C+6uwMFw1 QAT+5RlLg/yDXTsQxwbEfr6ZdPWvAhoTEmseH/YBRbGlF1Vy53IFL2fv7Xv6d6rSlrDD ydfoMYj0WzU/rrEi8rZl/Cl2IJxmEzjiHcJ5pK+H4L3zEmimv/ng6SAKVIfIft1WQfct p32LgCl5yXk8l3HgKf4LrzCt3UiVe/la46ZuLQCpuO5FJcNu710+fOVRdF5WzleKZQEF cVTrOynkZU3WfUhKCkaxwqUnJM5YZW12PtHeYx85oAEaqUEL3+pH6TfvmiGeCXbfSfHj TKTw== 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; bh=08ctWqrGAEcxja1/lYc/UeM/VgAgFUuw5bQ4LvQ1+uM=; b=HuBFQ14tV9LMOvDgg8q6ywj3/TbJFCS1HQfFDl4isEewmsAvzfhovd7ktzaEeqSvvw YpyAWPHfcRtcZmokKixPZJgseN1hju9qLqFIz4Wk04eYjfkTFH9YTQrXVyqtgYhRB/Zp II28Z0S7GKI8SfSuN2WGfDwq5F4GeuTXOddmTlkpOBHy37Vhxvjx2D81IaZGQ716krLR A/kC69Zx1EvKQJYkeZBWQDEA2P0oDhGe7nlfT4YTpWckYRO3uRu9AwLSTP96hHr3It4t Ov+TPWaCR6gb7P1J/4wB6S/B1CF60EcdDIIMCR8L7jHopMlISseti4xgj70SypB3l1WT F/PA== X-Gm-Message-State: ABuFfoihgPA+cxBWAL644ESFJg40HgkpKtWEJk0intqiHAZB9wwh/sRx x2XRiDLLPp0SHzZDj4cTcm5Wz0w4 X-Google-Smtp-Source: ACcGV63nr7IvZDbF01HUEuHQzzCYHaPYYUWIQ6fexl7ADxzSJLo6Be/+avCJdt5gCyvU1qaYtouYqQ== X-Received: by 2002:a63:f448:: with SMTP id p8-v6mr32409622pgk.124.1539956268167; Fri, 19 Oct 2018 06:37:48 -0700 (PDT) Received: from machine421.caveonetworks.com ([115.113.156.2]) by smtp.googlemail.com with ESMTPSA id p82-v6sm46097709pfa.47.2018.10.19.06.37.45 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Fri, 19 Oct 2018 06:37:47 -0700 (PDT) From: sunil.kovvuri@gmail.com To: netdev@vger.kernel.org, davem@davemloft.net Cc: arnd@arndb.de, linux-soc@vger.kernel.org, Sunil Goutham <sgoutham@marvell.com> Subject: [PATCH 00/17] octeontx2-af: NPC parser and NIX blocks initialization Date: Fri, 19 Oct 2018 19:07:21 +0530 Message-Id: <1539956258-29377-1-git-send-email-sunil.kovvuri@gmail.com> X-Mailer: git-send-email 2.7.4 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: <netdev.vger.kernel.org> X-Mailing-List: netdev@vger.kernel.org |
Series |
octeontx2-af: NPC parser and NIX blocks initialization
|
expand
|
From: Sunil Goutham <sgoutham@marvell.com> This patchset is a continuation to earlier submitted two patch series to add a new driver for Marvell's OcteonTX2 SOC's Resource virtualization unit (RVU) admin function driver. 1. octeontx2-af: Add RVU Admin Function driver https://www.spinics.net/lists/netdev/msg528272.html 2. octeontx2-af: NPA and NIX blocks initialization https://www.spinics.net/lists/netdev/msg529163.html This patch series adds more NIX block configuration logic and additionally adds NPC block parser profile configuration. In brief below is what this series adds. NIX block: - Support for PF/VF to allocate/free transmit scheduler queues, maintenance and their configuration. - Adds support for packet replication lists, only broadcast packets is covered for now. - Defines few RSS flow algorithms for HW to distribute packets. This is not the hash algorithsm (i.e toeplitz or crc32), here SW defines what fields in packet should HW take and calculate the hash. - Support for PF/VF to configure VTAG strip and capture capabilities. - Reset NIXLF statastics. NPC block: This block has multiple parser engines which support packet parsing at multiple layers and generates a parse result which is further used to generate a key. Based on packet field offsets in the key, SW can install packet forwarding rules. This patch series adds - Initial parser profile to be programmed into parser engines. - Default forwarding rules to forward packets to different logical interfaces having a NIXLF attached. - Support for promiscuous and multicast modes. Geetha sowjanya (1): octeontx2-af: Config pkind for CGX mapped PFs Hao Zheng (1): octeontx2-af: Add NPC KPU profile Stanislaw Kardach (1): octeontx2-af: Add LMAC channel info to NIXLF_ALLOC response Sunil Goutham (12): octeontx2-af: NIX Tx scheduler queues alloc/free octeontx2-af: NIX Tx scheduler queue config support octeontx2-af: Config NPC KPU engines with parser profile octeontx2-af: Broadcast packet replication support octeontx2-af: Update bcast list upon NIXLF alloc/free octeontx2-af: Enable packet length and csum validation octeontx2-af: NPC MCAM and LDATA extract minimal configuration octeontx2-af: Install ucast and bcast pkt forwarding rules octeontx2-af: NIX Rx flowkey configuration for RSS octeontx2-af: Support for changing RSS algorithm octeontx2-af: Support for setting MAC address octeontx2-af: Support for NIXLF's UCAST/PROMISC/ALLMULTI modes Vamsi Attunuru (2): octeontx2-af: Reset NIXLF's Rx/Tx stats octeontx2-af: Support for VTAG strip and capture drivers/net/ethernet/marvell/octeontx2/af/Makefile | 3 +- drivers/net/ethernet/marvell/octeontx2/af/cgx.c | 12 + drivers/net/ethernet/marvell/octeontx2/af/cgx.h | 1 + drivers/net/ethernet/marvell/octeontx2/af/common.h | 50 + drivers/net/ethernet/marvell/octeontx2/af/mbox.h | 110 +- drivers/net/ethernet/marvell/octeontx2/af/npc.h | 262 + .../ethernet/marvell/octeontx2/af/npc_profile.h | 5709 ++++++++++++++++++++ drivers/net/ethernet/marvell/octeontx2/af/rvu.c | 12 +- drivers/net/ethernet/marvell/octeontx2/af/rvu.h | 97 +- .../net/ethernet/marvell/octeontx2/af/rvu_cgx.c | 7 +- .../net/ethernet/marvell/octeontx2/af/rvu_nix.c | 1067 ++++ .../net/ethernet/marvell/octeontx2/af/rvu_npc.c | 812 +++ .../net/ethernet/marvell/octeontx2/af/rvu_reg.c | 71 + .../net/ethernet/marvell/octeontx2/af/rvu_reg.h | 61 + .../net/ethernet/marvell/octeontx2/af/rvu_struct.h | 35 + 15 files changed, 8302 insertions(+), 7 deletions(-) create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/npc.h create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/npc_profile.h create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rvu_npc.c create mode 100644 drivers/net/ethernet/marvell/octeontx2/af/rvu_reg.c