From patchwork Tue Jul 31 10:34:48 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Petr Machata X-Patchwork-Id: 10550605 X-Patchwork-Delegate: idosch@idosch.org Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id A953014E2 for ; Tue, 31 Jul 2018 10:35:09 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id 97A232A769 for ; Tue, 31 Jul 2018 10:35:09 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 8BCEC2A7B1; Tue, 31 Jul 2018 10:35:09 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.8 required=2.0 tests=BAD_ENC_HEADER,BAYES_00, DKIM_SIGNED,MAILING_LIST_MULTI,T_DKIM_INVALID autolearn=ham version=3.3.1 Received: from lists.ozlabs.org (lists.ozlabs.org [203.11.71.2]) (using TLSv1.2 with cipher DHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.wl.linuxfoundation.org (Postfix) with ESMTPS id CF8E92A769 for ; Tue, 31 Jul 2018 10:35:08 +0000 (UTC) Received: from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3]) by lists.ozlabs.org (Postfix) with ESMTP id 41ft9l0ZgPzF18k for ; Tue, 31 Jul 2018 20:35:07 +1000 (AEST) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: lists.ozlabs.org; dkim=fail reason="signature verification failed" (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="r0kl60zs"; dkim-atps=neutral X-Original-To: linux-mlxsw@lists.ozlabs.org Delivered-To: linux-mlxsw@lists.ozlabs.org Authentication-Results: lists.ozlabs.org; spf=pass (mailfrom) smtp.mailfrom=mellanox.com (client-ip=104.47.2.81; helo=eur01-db5-obe.outbound.protection.outlook.com; envelope-from=petrm@mellanox.com; receiver=) Authentication-Results: lists.ozlabs.org; dmarc=pass (p=none dis=none) header.from=mellanox.com Authentication-Results: lists.ozlabs.org; dkim=pass (1024-bit key; unprotected) header.d=Mellanox.com header.i=@Mellanox.com header.b="r0kl60zs"; dkim-atps=neutral Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-db5eur01on0081.outbound.protection.outlook.com [104.47.2.81]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-SHA384 (256/256 bits)) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 41ft9f4qzlzF15L for ; Tue, 31 Jul 2018 20:35:01 +1000 (AEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Mellanox.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=qICkS+/LB0TTEvGMrI7uTqYBBBnUPTxdd+Enj/Hx2H4=; b=r0kl60zsil3bJ8ibrMJrp7iKf02blsjKDRlTaTwpYMvG34AruCZFbrRqYObI8c0SvAJgv8RhqMKs/AEPpl3SQ5QzcBzYeSWzt3CA/vBf1huD52mesiCvZRPww0xVdzLoJIzCBiJ/z6NdiKgppA6dLF7KLWEVNGtLqpJlEPFt4bA= Authentication-Results: spf=none (sender IP is ) smtp.mailfrom=petrm@mellanox.com; Received: from t540p (78.45.160.211) by VI1PR05MB4191.eurprd05.prod.outlook.com (2603:10a6:803:4e::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.995.21; Tue, 31 Jul 2018 10:34:54 +0000 From: Petr Machata To: Subject: [PATCH net-next mlxsw 1/3] mlxsw: reg: Add QoS Switch Traffic Class Table is Multicast-Aware Register In-Reply-To: References: Message-Id: Date: Tue, 31 Jul 2018 12:34:48 +0200 User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.3 (gnu/linux) MIME-Version: 1.0 X-Originating-IP: [78.45.160.211] X-ClientProxiedBy: HE1PR0701CA0044.eurprd07.prod.outlook.com (2603:10a6:3:9e::12) To VI1PR05MB4191.eurprd05.prod.outlook.com (2603:10a6:803:4e::17) X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: cc4838dd-a36c-4607-b065-08d5f6d14145 X-MS-Office365-Filtering-HT: Tenant X-Microsoft-Antispam: BCL:0; PCL:0; RULEID:(7020095)(4652040)(8989117)(4534165)(4627221)(201703031133081)(201702281549075)(8990107)(5600074)(711020)(4618075)(2017052603328)(7153060)(7193020); SRVR:VI1PR05MB4191; X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB4191; 3:/2+Qm43/TdB61tbyAAMl0jCt4c0VsA53xqaWA2kft0lQmish2ZRiYz6IrBlLZ0p4aqHnC26sftdRcRtrsW/b+o1RlWc8mVPeT0YuXxZX8+++q0ErRQqPI8entxoBJsK4Y62SOYnKQmNQb+sUYuGDiTqHF17HKpe8/RjPLT2Gzei9e6U7KGnWXyWX98LNP+Wofr3viwiY57xabQdgbLSNWtfUUhSKXHOToovOsrto/qZngHEOwB3I10cyRdhLGbGj; 25:zv/DTODpaIpCVBlZxyqZSVoSSzqwXWzyDFmmuWBBgrCCyHznkykPs9ol8/eYfR0FKQUExO7B2FZavSN6DZxW4TG8HpPG6pH8B8Di/qpEB1oWf53mV3i3e7Z9pasDuOD0cQiT0Be90wxbrAEcB9eXnt18k8sh/dPDv9p1AWV5FxiSv/4t+6lKGH4F5Y96vMR7hPOGf6Cd+zsQcx4YUQjfk2Jp9O/72TaDCaqZVh+SX6T71M//eOKe1K2wT40tEkcnD1rYjlwpyaPSkVH7mjyd47Nde1M8spEms8mEPF4tBkHDG1YaDiKTHuVvM74nPRuX3Tql7Jw2hHjvSE/ReX9Bmw==; 31:j7v0zxScqSrOkgczwI+AQqkMKKN8PhOw5g1MF2FgXxoYeF4inrUhPQecgm54pQLC2aAQ8RyzvZXX6Xy7gbgY+acSUP+JOUke2pDI+PuVmHx4tLTfSiE4LdRY+FvHD4nKGoH+0FZSBhm+fjJxV04j6Xh5PV6EUsGazfIs9oROVk3k6j8sM1NFfzZWPMf3uU6rlRUNzevtCKULS1SolaDG8cA+ha7J2ptORXKOpWUPThA= X-MS-TrafficTypeDiagnostic: VI1PR05MB4191: X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB4191; 20:tTtlRRe0DhbeJrAr/oIUSyPW6uuGOvpMOWipxnsbnqJGXYYpzODF94g+qt4AlGVegKV0Umpcd0K5phR5ujtWse3+FgJnAIc+yZo92PTMDiFTxLtS+/UQL4sk8U1RfKZrZvZHF7rprbmEx5B+sIposJyfYhMQ4HUs7ADAuLt2pp95KuZwiOOjGNkg0LhZ58aEcwNVGF5otbwJJ0MXE1ltB4Pmm6scnPdjr6h3AoXdRVPtHwxAHhQC3a3GM/xsV3HTtIzob9enpIWxu+y8gh/LNsfb11wpdf6o6Q+HpLCOhsZWnRGgGU0r3spEMIlloM067WC8FEMxDse13Bg5hUuTTFKuEbNqYPzAnijE2adzYLmHEbpq1Qx8976EWxO64r+O5NH7WqYc8ebBivpwkDasaab7bcGb7S6TJUHqqgDPMu4wA7HqX7tnWyEIKReSQu3XB0kOa4uHQQawvnCw1bB9SQOxPVwULBdxGMk9T+yRBl1rQGFukNsQXJIpRrd8rizQ; 4:X4pz8lZCJBR/SySVOIwnMblV+x3eeqPl91QRWHUcwlUs4ezuC5HC+kWlJhE8/zF5yPN4m8xoyg+cNH+XPbSLZaefbonV806slgYEN8+XC7dLuIe1g7swQJqgG/SgdlCNqB836fv9XGc5CRAFjFPSP2HZXOUwXo7nkjHlDhv+WJxP6VjqR/0m32flCdoaSQCW5n/39piemVyfsETQo/gCMk2YTaZ2vUWxD+Fo/d1XJTRLV8iCwNLJvbMrVbo8DAoHIlPtsTDWcMaGeLEjwTKzPQ== X-Microsoft-Antispam-PRVS: X-Exchange-Antispam-Report-Test: UriScan:; X-MS-Exchange-SenderADCheck: 1 X-Exchange-Antispam-Report-CFA-Test: BCL:0; PCL:0; RULEID:(8211001083)(6040522)(2401047)(5005006)(8121501046)(93006095)(93001095)(3231311)(944501410)(52105095)(3002001)(10201501046)(6055026)(149027)(150027)(6041310)(201703131423095)(201702281528075)(20161123555045)(201703061421075)(201703061406153)(20161123560045)(20161123564045)(20161123562045)(20161123558120)(6072148)(201708071742011)(7699016); SRVR:VI1PR05MB4191; BCL:0; PCL:0; RULEID:; SRVR:VI1PR05MB4191; X-Forefront-PRVS: 0750463DC9 X-Forefront-Antispam-Report: SFV:NSPM; SFS:(10009020)(366004)(346002)(376002)(136003)(396003)(39860400002)(189003)(199004)(2906002)(66066001)(956004)(81166006)(81156014)(2616005)(8676002)(476003)(6666003)(6636002)(305945005)(8936002)(6862004)(25786009)(486006)(48376002)(118296001)(14444005)(50466002)(5660300001)(446003)(36756003)(52116002)(51416003)(478600001)(3846002)(58126008)(26005)(37006003)(16526019)(86362001)(47776003)(16586007)(6496006)(186003)(2351001)(6116002)(6486002)(11346002)(7736002)(53936002)(105586002)(386003)(106356001)(97736004)(68736007)(316002)(76176011); DIR:OUT; SFP:1101; SCL:1; SRVR:VI1PR05MB4191; H:t540p; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; MX:1; A:1; Received-SPF: None (protection.outlook.com: mellanox.com does not designate permitted sender hosts) X-Microsoft-Exchange-Diagnostics: =?us-ascii?Q?1; VI1PR05MB4191; 23:Ok1IvwzCiUMstEnxIsfDFWtf3ZXb2FuCwNz1uqHtD?= X8rL6+zBrNlvHmPGpa/Nj0y9ZOkTsgf9wO4zBSjsO+O/GFJUW8pKb/DKm4h2JWguQcoDHK6rYNK0EQNWelbKEhI7CPdDudk4iBE0EH5NwhotDes0mdwSz8Bo+YvILBH8ocmLdkH5jJSQkT0XK1HyChB/sDD9thWg2eW23j3HRVP7uAicdjYM2SFFHG6w50BaEWTXEGY7vqQqC5WUhrpYtsqB0jvl7+dqRwGB8BqdY+zz2MmccJDgurvFuCbPpRRYtXN9uswq/cBmmbADU1sDj42FmWq2JEqhUwP3TlEu0LJu3QG34UMoGHTo0cMHWxaPAJjmpsCrDZVPg3dTnHSzXWRnRkfI8O4Yka6XHV/B44uWeg6K9U+LsOfinivxHx/e/O5BIYiM408aNEyOSN9+olG578Ng2BqXP59XSwyreHz7Uu8xraRauLBBxSmOgkQRUbuxUbaQsHFDoDSRF3mA1XH7jHK7/0kXP//Mi8UUH1v3sfy4oTOmMsbSu4NTb2gVgzr0QJY2pPvVpUsj1jBWyi9UQmHeTfbsAHMMacvn+6iEqsh1HwcJSfF8OUqitFmXLvmsKoOg7hF+9X4wagaSCbHeXWKTI5DKPdpZKIn1eobJZ5HrNN9dM+eHvGu8xfUO/TqMetk75BjdC/bNIctzC6YDk0cAZ0m0cKY00V5CFIn+8Q06w+I73FuLUQ69DpoveYKWdfDJFWyymBZbrJK/i/LiSLkgGLmex0NnbSOZqv1brL4PPKaNdYQ08MvdqdeWrO2SZYijOH1h9o2jN1C+0BT4fp4DHOQsjBGbGQR0K5+WvaCQHGsB6tIf5wUXbnxkbj8BYdOUFYf8IMr43tY2i4zxpBq9rEdu/siZ+nDHydXBmBPgLsm+vxWMA0zEEj0x9FlnZNxNGaAhpPibWgp5dM8naJ8TsHmxSjGZ/fmATIlGOlDzM9HHaaBB+Uy04TsmXy76vZd3V43pta/SHevAxwJqLidSN0cxKp6hAWeNLHSy0p5u/j19vZnW/qFHb0t6JCwMccSEYTqJiniu+cdJmjLwn0/q3nCt4ZCC9I80/eCtoT9yqZ4raMePuX+gGY6Xm7Z3erSZv2NgKZqGNKdbXBAPmtiDvoUr2ckots6EalK7RorI/tGCcUH/nWOjH034rmbSbZn2bK+J1LFc6FASDmMDOpIZn1sPPYHABYlw8EQkg== X-Microsoft-Antispam-Message-Info: ejyetjRTr2NjJBQ9svdfJmSBPsip6t9DYRXCH6yt1zNZgIcm+1fNR6FKdvlL96f/Sx3jUv8P6JEGveoMYEdoZbPYlHDY9XJ6V+f962oIzJURDj/foQY6mrkA38NgzCjb65GxKcQdFKml2PvJVd0YoBaDHJBvmwXnhJQ2GYFFF/cCjb5cH1GopzthWqgra1Bez4lhm9DcJPwnlCkZwxGAFkJUkPbgpFLjON/G/EoXYIAlsjqLcHfyJM49LE24ECyCpa8deCQyKtIDtja7mfbnELnuGkwoTVS43s67IikruzJzU2YH/mDatVTUJcCU6Z+ZD+ZuKJ12dk6LT5rv/37OGiGHByapnJeSXvM/Ci3MPaA= X-Microsoft-Exchange-Diagnostics: 1; VI1PR05MB4191; 6:XucLttbbS4yCj8LDWb4A/KvGKww5AhAFqNft4lAJh3k4VbUahIuuAI2lqpHloc/uya59lj+rFBVK8uQzONqy64WeY5PPFh4LJUezP+Ye1IiK+2MHT6E/0+4WdRVzeO8cP3tSbENUBzR1oUuVUaghKxwLZ//c8uyHaqGQ8rADfI14uFyAPcjJjQto1b1YgFVOAt+bCrqOSLPcbCGM8nO4DoSddwzphkbdaiprkOZXgx/+VsVpcSAlZUunVKSyK8MyzTr3WIwGDNdTdTokT116lsNoZhwmUOTirJzqPoBc9b5ZUI2lYhYI3bjf28XgYSQPwOZ24yemdD6Qkj3VAelws87ZN3obWcWrc45KsbHlgLYETp18FTVrTs+g1YT9P5uWf9BnrXoirBW0kHQOyQaLoOWdk1lPO41ONfIcPjgZ2ZpSz8Jsz3UHeIX2R96gjbyLZzTwNIjATeV2URqcRhgf1w==; 5:qM+rzS/SCnlvQ7Gdj9gcVlUwFB7dCWHnHxVZDP1Q6jHlgr2smnvVY/+QloGskp0nBVPfm9AM90zZfpmrrZkv6tbJATKU4GZAUFxfo5IilQ82gT/2a7eAffmLSlbrM5fOolkm8rkz1I6/bUmA1i8vG+WHQs1mHGWxBEwW6ldYVQY=; 7:ZDT4OzijVfMjdlEuWmOVaE2flmugAd0HZdj9HIR/VJi7EmEPQvYvqmAo6Df9pv1bcsSJ3EL2cdHFT/Zf4jCH51DEnQ0SlXIoQyU4l3clfSHPaQ0j/tcj8Wu3tQ2/bvRyXtDedsGhyJ0jsEvkXx//mLB+QOvcXHgRr7ED59+B1eiYtQaOraU7h+b1Invdl9yZC08YsgYXg+mKwqCXxOGWUIk8TMALgDGotpukphn3tOH4Uu8ncOg9Q6Jdj0qVvIbS SpamDiagnosticOutput: 1:99 SpamDiagnosticMetadata: NSPM X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-OriginalArrivalTime: 31 Jul 2018 10:34:54.2123 (UTC) X-MS-Exchange-CrossTenant-Network-Message-Id: cc4838dd-a36c-4607-b065-08d5f6d14145 X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted X-MS-Exchange-CrossTenant-Id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: VI1PR05MB4191 X-BeenThere: linux-mlxsw@lists.ozlabs.org X-Mailman-Version: 2.1.27 Precedence: list List-Id: mlxsw driver development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: linux-mlxsw-bounces+patchwork-linux-mlxsw=patchwork.kernel.org@lists.ozlabs.org X-Virus-Scanned: ClamAV using ClamSMTP This register configures if the Switch Priority to Traffic Class mapping is based on Multicast packet indication. If so, then multicast packets will get a Traffic Class that is plus (cap_max_tclass_data/2) the value configured by QTCT. Signed-off-by: Petr Machata --- drivers/net/ethernet/mellanox/mlxsw/reg.h | 37 +++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethernet/mellanox/mlxsw/reg.h index e2e2f897e98e..6e8b619b769b 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/reg.h +++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h @@ -3509,6 +3509,42 @@ mlxsw_reg_qpdpm_dscp_pack(char *payload, unsigned short dscp, u8 prio) mlxsw_reg_qpdpm_dscp_entry_prio_set(payload, dscp, prio); } +/* QTCTM - QoS Switch Traffic Class Table is Multicast-Aware Register + * ------------------------------------------------------------------ + * This register configures if the Switch Priority to Traffic Class mapping is + * based on Multicast packet indication. If so, then multicast packets will get + * a Traffic Class that is plus (cap_max_tclass_data/2) the value configured by + * QTCT. + * By default, Switch Priority to Traffic Class mapping is not based on + * Multicast packet indication. + */ +#define MLXSW_REG_QTCTM_ID 0x401A +#define MLXSW_REG_QTCTM_LEN 0x08 + +MLXSW_REG_DEFINE(qtctm, MLXSW_REG_QTCTM_ID, MLXSW_REG_QTCTM_LEN); + +/* reg_qtctm_local_port + * Local port number. + * No support for CPU port. + * Access: Index + */ +MLXSW_ITEM32(reg, qtctm, local_port, 0x00, 16, 8); + +/* reg_qtctm_mc + * Multicast Mode + * Whether Switch Priority to Traffic Class mapping is based on Multicast packet + * indication (default is 0, not based on Multicast packet indication). + */ +MLXSW_ITEM32(reg, qtctm, mc, 0x04, 0, 1); + +static inline void +mlxsw_reg_qtctm_pack(char *payload, u8 local_port, bool mc) +{ + MLXSW_REG_ZERO(qtctm, payload); + mlxsw_reg_qtctm_local_port_set(payload, local_port); + mlxsw_reg_qtctm_mc_set(payload, mc); +} + /* PMLP - Ports Module to Local Port Register * ------------------------------------------ * Configures the assignment of modules to local ports. @@ -8726,6 +8762,7 @@ static const struct mlxsw_reg_info *mlxsw_reg_infos[] = { MLXSW_REG(qrwe), MLXSW_REG(qpdsm), MLXSW_REG(qpdpm), + MLXSW_REG(qtctm), MLXSW_REG(pmlp), MLXSW_REG(pmtu), MLXSW_REG(ptys),