Received: by 2002:a05:6358:a55:b0:ec:fcf4:3ecf with SMTP id 21csp6255646rwb; Wed, 18 Jan 2023 03:09:55 -0800 (PST) X-Google-Smtp-Source: AMrXdXvo8YgvDDr2OjDkLScSgWVYhemE6VZ9fwk+R9yA7eekLmocS9RPcLBALk/34KgFvDZo0u7F X-Received: by 2002:a62:5287:0:b0:58b:453e:77e0 with SMTP id g129-20020a625287000000b0058b453e77e0mr6489050pfb.20.1674040194862; Wed, 18 Jan 2023 03:09:54 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1674040194; cv=none; d=google.com; s=arc-20160816; b=afxejIpTTjdP4WSQT+5ImCMCF4RKzBVlsMQXLtB2kJMBCDhLV9r15LGP2ONTq7VD1H tWtjrjto2R+vZXFhnHiydPnMZz3LMXKhf372dwClenp2yX8NHCYbw5EKVp38EfLTWOsZ 9R/mJMbGu6yBRArH3VqwwOZK7xtKSBvcXA1qJZK5xZ4IELHtM7oe23rA6UfHempANisF mnZylED2QAPrt8SE+8H+hXFwTxxr+WYYWoK4SOK9y56njQlITUwhddMZ2RNWejRDHK2k 2sYoUekYdxbGpl9ZJ0BjaFuzz3VLas3GG7t/IwFcQpscvKqzcqRedHdeSrrOlzVjO7zC jE/A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:message-id:date:subject:cc:to:from :dkim-signature; bh=qs0V0ygpj5cc1VQW8u1I085voWCcRSynlhyT7DTfW54=; b=wBuAGplZ7AvaeRZq4PaeRg5snpEaTa46g6Bfc4nqVFEcZK3A8LP2KnMX35C0Akgy4x apRvJUnCmLtAGa336oS3CFTvwaKkpS1Zv7lE191JLg/dRy7Oj/5t8aF3s56owDrJH2NH P2CSh3cb/g2S6wOF19g336h6160Uj2nFILy4bGkeHKnE6KX8kP8h0J78jl8ssdh7g81v L+iwVmr+tpmlYqr0p+XP663Lq8Ze7DFi01bLHGCXCL62KQBqZ6SzpHxO+6hpLC3Dy4j7 cjvtbf/KGPLHHJGHYmhDD7rHDLB+DkNqliRYWT67x+p8N/G4yjXeoMrzoPVg1ksVJO6D Eu8w== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b=CfjhKGMl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id b203-20020a621bd4000000b00580e559da3csi33504281pfb.202.2023.01.18.03.09.48; Wed, 18 Jan 2023 03:09:54 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@marvell.com header.s=pfpt0220 header.b=CfjhKGMl; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=REJECT dis=NONE) header.from=marvell.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229754AbjARK5e (ORCPT + 45 others); Wed, 18 Jan 2023 05:57:34 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:47594 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230321AbjARKz0 (ORCPT ); Wed, 18 Jan 2023 05:55:26 -0500 Received: from mx0b-0016f401.pphosted.com (mx0a-0016f401.pphosted.com [67.231.148.174]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id E95575B448; Wed, 18 Jan 2023 02:04:30 -0800 (PST) Received: from pps.filterd (m0045849.ppops.net [127.0.0.1]) by mx0a-0016f401.pphosted.com (8.17.1.19/8.17.1.19) with ESMTP id 30I8RGFH007732; Wed, 18 Jan 2023 02:04:20 -0800 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=marvell.com; h=from : to : cc : subject : date : message-id : mime-version : content-type; s=pfpt0220; bh=qs0V0ygpj5cc1VQW8u1I085voWCcRSynlhyT7DTfW54=; b=CfjhKGMlhnX6GxwBofzgsfaJ9IvYEEDdcIZWYhNZYY2BuUnJH4yDaFTGZa4nsGn+3DYh kYjy+pCzk5xuv8R+nqdfogcMXdQE7KNT7CKxWOAzu9VCys+tR4V/2ZfXQtOd8bbSXOQq TEjSZRRx4tgVtaBArbCRweLAHeGAEjQN1tlyNlM+ZATo6qBEjKxz1VVV03saSAPvHpkX enwy6yHWslYbjzwx7nN+Wr8EWdrwofB1UFtpdeh2EcvMMrncaEp+Bd+L8rZeN1uesyUO obbyFu4kvg6pwIxett0jUp1cNpI7k0M7nqnxCjlc107j1flmNmKNhdEsCUo8n8KT6RQ8 3w== Received: from dc5-exch01.marvell.com ([199.233.59.181]) by mx0a-0016f401.pphosted.com (PPS) with ESMTPS id 3n6avbgxb1-1 (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NOT); Wed, 18 Jan 2023 02:04:20 -0800 Received: from DC5-EXCH02.marvell.com (10.69.176.39) by DC5-EXCH01.marvell.com (10.69.176.38) with Microsoft SMTP Server (TLS) id 15.0.1497.42; Wed, 18 Jan 2023 02:04:18 -0800 Received: from maili.marvell.com (10.69.176.80) by DC5-EXCH02.marvell.com (10.69.176.39) with Microsoft SMTP Server id 15.0.1497.42 via Frontend Transport; Wed, 18 Jan 2023 02:04:18 -0800 Received: from hyd1soter3.marvell.com (unknown [10.29.37.12]) by maili.marvell.com (Postfix) with ESMTP id 502335B6934; Wed, 18 Jan 2023 02:04:11 -0800 (PST) From: Hariprasad Kelam To: , CC: , , , , , , , , , , , , , , , , , , Subject: [net-next Patch v2 0/5] octeontx2-pf: HTB offload support Date: Wed, 18 Jan 2023 15:34:05 +0530 Message-ID: <20230118100410.8834-1-hkelam@marvell.com> X-Mailer: git-send-email 2.17.1 MIME-Version: 1.0 Content-Type: text/plain X-Proofpoint-GUID: Ha7PSWKm-eWmsDYMZpPpQ7Y9nCNqWVRt X-Proofpoint-ORIG-GUID: Ha7PSWKm-eWmsDYMZpPpQ7Y9nCNqWVRt X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.219,Aquarius:18.0.923,Hydra:6.0.562,FMLib:17.11.122.1 definitions=2023-01-18_04,2023-01-17_01,2022-06-22_01 X-Spam-Status: No, score=-2.8 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_LOW,SPF_HELO_NONE, SPF_NONE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org octeontx2 silicon and CN10K transmit interface consists of five transmit levels starting from MDQ, TL4 to TL1. Once packets are submitted to MDQ, hardware picks all active MDQs using strict priority, and MDQs having the same priority level are chosen using round robin. Each packet will traverse MDQ, TL4 to TL1 levels. Each level contains an array of queues to support scheduling and shaping. As HTB supports classful queuing mechanism by supporting rate and ceil and allow the user to control the absolute bandwidth to particular classes of traffic the same can be achieved by configuring shapers and schedulers on different transmit levels. This series of patches adds support for HTB offload, Patch1: Allow strict priority parameter in HTB offload mode. Patch2: defines APIs such that the driver can dynamically initialize/ deinitialize the send queues. Patch3: Refactors transmit alloc/free calls as preparation for QOS offload code. Patch4: Adds devlink support for the user to configure round-robin priority at TL1 Hariprasad Kelam (2): octeontx2-pf: Refactor schedular queue alloc/free calls octeontx2-pf: Add devlink support to configure TL1 RR_PRIO Naveen Mamindlapalli (2): sch_htb: Allow HTB priority parameter in offload mode octeontx2-pf: Add support for HTB offload Subbaraya Sundeep (1): octeontx2-pf: qos send queues management V2 * ensure other drivers won't effect by allowing 'prio' parameter in htb offload mode. .../ethernet/marvell/octeontx2/af/common.h | 2 +- .../net/ethernet/marvell/octeontx2/af/mbox.h | 9 +- .../net/ethernet/marvell/octeontx2/af/rvu.c | 15 + .../net/ethernet/marvell/octeontx2/af/rvu.h | 1 + .../marvell/octeontx2/af/rvu_debugfs.c | 5 + .../ethernet/marvell/octeontx2/af/rvu_nix.c | 84 +- .../ethernet/marvell/octeontx2/nic/Makefile | 2 +- .../marvell/octeontx2/nic/otx2_common.c | 115 +- .../marvell/octeontx2/nic/otx2_common.h | 30 +- .../marvell/octeontx2/nic/otx2_devlink.c | 84 + .../marvell/octeontx2/nic/otx2_ethtool.c | 31 +- .../ethernet/marvell/octeontx2/nic/otx2_pf.c | 93 +- .../ethernet/marvell/octeontx2/nic/otx2_reg.h | 13 + .../ethernet/marvell/octeontx2/nic/otx2_tc.c | 7 +- .../marvell/octeontx2/nic/otx2_txrx.c | 27 +- .../marvell/octeontx2/nic/otx2_txrx.h | 3 +- .../ethernet/marvell/octeontx2/nic/otx2_vf.c | 8 +- .../net/ethernet/marvell/octeontx2/nic/qos.c | 1547 +++++++++++++++++ .../net/ethernet/marvell/octeontx2/nic/qos.h | 71 + .../ethernet/marvell/octeontx2/nic/qos_sq.c | 304 ++++ .../net/ethernet/mellanox/mlx5/core/en/qos.c | 6 + include/net/pkt_cls.h | 1 + net/sched/sch_htb.c | 7 +- 23 files changed, 2378 insertions(+), 87 deletions(-) create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos.c create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos.h create mode 100644 drivers/net/ethernet/marvell/octeontx2/nic/qos_sq.c -- 2.17.1