From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.1 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D46E4C282CE for ; Wed, 13 Feb 2019 11:28:53 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 985962070D for ; Wed, 13 Feb 2019 11:28:53 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=Mellanox.com header.i=@Mellanox.com header.b="PTfWmsh1" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2403906AbfBML2u (ORCPT ); Wed, 13 Feb 2019 06:28:50 -0500 Received: from mail-eopbgr150041.outbound.protection.outlook.com ([40.107.15.41]:45056 "EHLO EUR01-DB5-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1728965AbfBML2u (ORCPT ); Wed, 13 Feb 2019 06:28:50 -0500 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=/9DcYCyY0DRS8jfX2XUTxIifc8e8OouqH5vYFOT/Z6Y=; b=PTfWmsh1TaHRzMNpQ5nRAEuOZ9xLZ09GJsMBUQjBlUyqp846ORs5wyZ13APN3oli0d2OVDtXTwOXTA4oob83ekN/G2tOsyRzPsV2Z7R2rQGE7hkZ/4rA8lwNMt8To6dLrnbQUcSgFSytobdU2xNAYA9+fdnmKkYLQ+LwlbQLrh4= Received: from AM6PR05MB5240.eurprd05.prod.outlook.com (20.177.196.214) by AM6PR05MB6230.eurprd05.prod.outlook.com (20.178.95.91) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1622.16; Wed, 13 Feb 2019 11:28:47 +0000 Received: from AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::3542:889c:3a85:3866]) by AM6PR05MB5240.eurprd05.prod.outlook.com ([fe80::3542:889c:3a85:3866%5]) with mapi id 15.20.1601.023; Wed, 13 Feb 2019 11:28:46 +0000 From: Ido Schimmel To: "netdev@vger.kernel.org" CC: "davem@davemloft.net" , Jiri Pirko , "andrew@lunn.ch" , mlxsw , Vadim Pasternak , Ido Schimmel Subject: [PATCH net-next 03/12] mlxsw: reg: Add Fan Out of Range Event Register Thread-Topic: [PATCH net-next 03/12] mlxsw: reg: Add Fan Out of Range Event Register Thread-Index: AQHUw49IpFUx+3eoyEm2Uu67z8Spng== Date: Wed, 13 Feb 2019 11:28:46 +0000 Message-ID: <20190213112814.32334-4-idosch@mellanox.com> References: <20190213112814.32334-1-idosch@mellanox.com> In-Reply-To: <20190213112814.32334-1-idosch@mellanox.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: LNXP265CA0090.GBRP265.PROD.OUTLOOK.COM (2603:10a6:600:76::30) To AM6PR05MB5240.eurprd05.prod.outlook.com (2603:10a6:20b:64::22) authentication-results: spf=none (sender IP is ) smtp.mailfrom=idosch@mellanox.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.20.1 x-originating-ip: [193.47.165.251] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: bc79c992-503e-41f8-b502-08d691a66af5 x-ms-office365-filtering-ht: Tenant x-microsoft-antispam: BCL:0;PCL:0;RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600110)(711020)(4605077)(4618075)(2017052603328)(7153060)(7193020);SRVR:AM6PR05MB6230; x-ms-traffictypediagnostic: AM6PR05MB6230: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1;AM6PR05MB6230;23:pNG6sOf55fjR7a0RwaobbH+XBixhY7WT3UUavpw?= =?iso-8859-1?Q?W2NnpJT/Lgm24435/zZxNl9Yxdg7HTUm7dWYRtHVPmhH4EIJ7N86RPwpDv?= =?iso-8859-1?Q?ruHEwhWMrWIteIksfE1ZOJp2dq7+QobIq/88qw0wJK9tjKvdpIiqbgpDLR?= =?iso-8859-1?Q?CnQjV1Oxu2Vdlln+2u3Pj59wXOo63ETo9YFWwFv4CWyx6UGcrG300UINEz?= =?iso-8859-1?Q?eOxhelceN/x1T0tzc+gJlzVmAnM0rByRG5BmiwCgBwYF0Pq7wiSSUXHSFc?= =?iso-8859-1?Q?HlPa5ToTTStIP5YMJzKnZbwjcWboFs8+n3m/0ZxqN1T4RrMhX8+CjaO+Ud?= =?iso-8859-1?Q?t8AZAha/u4lLdQ9xqo+xbFhMwI7rU9sFIekLEGNjEyYArLNvPJ3SMFRrRR?= =?iso-8859-1?Q?EAkpCwy02qceINsNwyaw6as7mAv+5CbBj3Ih9Qo1xDopDMgUiqyP79GXq8?= =?iso-8859-1?Q?nhmuIgjShz5HC9eRB7xwcJl+L0puQ055C5kSy4eem3anRoVP5tWo5dX0T4?= =?iso-8859-1?Q?gmthQKRlcK0RHozcEu5ITxVC/5Y/NDet+NmuwsoxgpVYiinXK1yNWxgCM3?= =?iso-8859-1?Q?vh50uadzucmPziXIlg74EFb+tvZ8X5p39k+f+uMd9SjCUyIKaaf4GnSN0T?= =?iso-8859-1?Q?UETGQ8cMgOOyHFEjbemYYAybgDAfZA5Lqvc2xHlQYI/NmUIxUktF2cg87K?= =?iso-8859-1?Q?fEgqSXboTZNB7wXlzM8nSup1+KCZ1yhEDqNry0iJs02mHrOzrnRtIVXYQ4?= =?iso-8859-1?Q?ZZxfNti3aYekxU8JOmp0q49vE981aETT2uGXwG2dA1q9BfAGQxJb4GGmNs?= =?iso-8859-1?Q?iM9muSSIFRJVQTFu8QDcpwk8dd7JXfiY9jAVnOt+h2/12jkE5t2BOFz04v?= =?iso-8859-1?Q?s2vboRyBS7Rm5/j6J17KL2e2e29VxMHrQAqFQCg6M7Ih764ORF2r1Fvlno?= =?iso-8859-1?Q?pTIKbgvMVV48FV/exuzoUyoK4AQL/m8cuv3nrpGHsc/NcCXfNJTihaom8G?= =?iso-8859-1?Q?NcACHYsZ7aLNVoWrUQgaXjYmDkeE6IIZBBf7ZYP9rHrqLQX4TPlGsIpGQs?= =?iso-8859-1?Q?c7AFBBTLtZ9WpywAh8/B4N2QvSl7XC30urIJcdZe3QaWaWM9dlY8lCEMWv?= =?iso-8859-1?Q?h/MgbB49Sg0hJ9csXTdf7jAEIkPsvKzjcCwaEuPngY2dDk9Zvzcu/uQEZa?= =?iso-8859-1?Q?tR0Dnltjp2cyjRF8X+dZkm1Vp2khEwUk8Duzd1P2RDLcY6+0eFvS+0YHiF?= =?iso-8859-1?Q?N5FzDr5061agTmXkREjBVUPv1xmfPPjxI71sUU1au2KZTSUXeajXCWsqqX?= =?iso-8859-1?Q?G9yvQpJoJ4n6qzWLnvkNFpU7R8ZhTE5Y9E6KlRpFnvkD/OdVePJE7CIQpZ?= =?iso-8859-1?Q?n4gfWiy0=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 094700CA91 x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(376002)(366004)(396003)(346002)(136003)(39860400002)(189003)(199004)(26005)(186003)(386003)(6506007)(2616005)(476003)(446003)(11346002)(102836004)(486006)(2906002)(8936002)(106356001)(105586002)(71200400001)(2351001)(71190400001)(50226002)(97736004)(81166006)(8676002)(1730700003)(81156014)(6916009)(305945005)(7736002)(14454004)(478600001)(6116002)(3846002)(86362001)(2501003)(66066001)(14444005)(256004)(68736007)(107886003)(53936002)(6436002)(6512007)(1076003)(36756003)(25786009)(54906003)(316002)(6486002)(4326008)(5640700003)(99286004)(76176011)(52116002);DIR:OUT;SFP:1101;SCL:1;SRVR:AM6PR05MB6230;H:AM6PR05MB5240.eurprd05.prod.outlook.com;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-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: w7chdl61GqdNzaOxA0W8S1S5PtSQdL9nkMOUykLR6l7w2NlbX9XwQYRgNTWRe0vN+NHIv/jPYB3fz53oRGKWosHFIqCfuzJy2NnISWKkb+8puBdCTn1Lm/WpFTS93p7O7WKrz2VKv8qHUsG1fDwe3qNOtIk0sh7l4mGxEQhNwyo11Rnr6cr8CCyFjKSP8mitadFN9uTGy9nx7nH5AYt4+i3wn/JDf/CSXkXf8iCcLkFeN7q49HgS8UPGpCGAPD9Mqmno4se+LnhnPq0bcRTITt1D0oD104hsfR+SjYWsvQV760I6ibZ6OdpzN+Ykz5OULbW7ZLWhtDlb3YdNQvWRzYDRnEcVkR1MQMiTa7DJfPHSWu9Kt6aBeIvuIX/DBG9AzQPMCQ1ELrfRb1Ofd6KjXoAayYTSYTJcXfbZKRG+Zdw= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: Mellanox.com X-MS-Exchange-CrossTenant-Network-Message-Id: bc79c992-503e-41f8-b502-08d691a66af5 X-MS-Exchange-CrossTenant-originalarrivaltime: 13 Feb 2019 11:28:45.8175 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: a652971c-7d2e-4d9b-a6a4-d149256f461b X-MS-Exchange-Transport-CrossTenantHeadersStamped: AM6PR05MB6230 Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org From: Vadim Pasternak Add FORE (Fan Out of Range Event Register), which is used for fan fault reading. Signed-off-by: Vadim Pasternak Reviewed-by: Jiri Pirko Signed-off-by: Ido Schimmel --- drivers/net/ethernet/mellanox/mlxsw/reg.h | 30 +++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/drivers/net/ethernet/mellanox/mlxsw/reg.h b/drivers/net/ethern= et/mellanox/mlxsw/reg.h index 13856f40b8a7..cbd0193ec3f6 100644 --- a/drivers/net/ethernet/mellanox/mlxsw/reg.h +++ b/drivers/net/ethernet/mellanox/mlxsw/reg.h @@ -7875,6 +7875,35 @@ static inline void mlxsw_reg_mfsl_unpack(char *paylo= ad, u8 tacho, *p_tach_max =3D mlxsw_reg_mfsl_tach_max_get(payload); } =20 +/* FORE - Fan Out of Range Event Register + * -------------------------------------- + * This register reports the status of the controlled fans compared to the + * range defined by the MFSL register. + */ +#define MLXSW_REG_FORE_ID 0x9007 +#define MLXSW_REG_FORE_LEN 0x0C + +MLXSW_REG_DEFINE(fore, MLXSW_REG_FORE_ID, MLXSW_REG_FORE_LEN); + +/* fan_under_limit + * Fan speed is below the low limit defined in MFSL register. Each bit rel= ates + * to a single tachometer and indicates the specific tachometer reading is + * below the threshold. + * Access: RO + */ +MLXSW_ITEM32(reg, fore, fan_under_limit, 0x00, 16, 10); + +static inline void mlxsw_reg_fore_unpack(char *payload, u8 tacho, + bool *fault) +{ + u16 limit; + + if (fault) { + limit =3D mlxsw_reg_fore_fan_under_limit_get(payload); + *fault =3D limit & BIT(tacho); + } +} + /* MTCAP - Management Temperature Capabilities * ------------------------------------------- * This register exposes the capabilities of the device and @@ -9851,6 +9880,7 @@ static const struct mlxsw_reg_info *mlxsw_reg_infos[]= =3D { MLXSW_REG(mfsc), MLXSW_REG(mfsm), MLXSW_REG(mfsl), + MLXSW_REG(fore), MLXSW_REG(mtcap), MLXSW_REG(mtmp), MLXSW_REG(mtbr), --=20 2.20.1