Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/104954/?format=api
http://patchwork.dpdk.org/api/patches/104954/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/patch/20211206221922.644187-4-stephend@silicom-usa.com/", "project": { "id": 1, "url": "http://patchwork.dpdk.org/api/projects/1/?format=api", "name": "DPDK", "link_name": "dpdk", "list_id": "dev.dpdk.org", "list_email": "dev@dpdk.org", "web_url": "http://core.dpdk.org", "scm_url": "git://dpdk.org/dpdk", "webscm_url": "http://git.dpdk.org/dpdk", "list_archive_url": "https://inbox.dpdk.org/dev", "list_archive_url_format": "https://inbox.dpdk.org/dev/{}", "commit_url_format": "" }, "msgid": "<20211206221922.644187-4-stephend@silicom-usa.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20211206221922.644187-4-stephend@silicom-usa.com", "date": "2021-12-06T22:19:17", "name": "[v2,3/7] net/ixgbe: Check that SFF-8472 soft rate select is supported before write", "commit_ref": null, "pull_url": null, "state": "superseded", "archived": true, "hash": "9bd623c21deae43131196c228054b1eb09c73d60", "submitter": { "id": 2437, "url": "http://patchwork.dpdk.org/api/people/2437/?format=api", "name": "Stephen Douthit", "email": "stephend@silicom-usa.com" }, "delegate": { "id": 1540, "url": "http://patchwork.dpdk.org/api/users/1540/?format=api", "username": "qzhan15", "first_name": "Qi", "last_name": "Zhang", "email": "qi.z.zhang@intel.com" }, "mbox": "http://patchwork.dpdk.org/project/dpdk/patch/20211206221922.644187-4-stephend@silicom-usa.com/mbox/", "series": [ { "id": 20881, "url": "http://patchwork.dpdk.org/api/series/20881/?format=api", "web_url": "http://patchwork.dpdk.org/project/dpdk/list/?series=20881", "date": "2021-12-06T22:19:14", "name": "ixgbe SFP handling fixes", "version": 2, "mbox": "http://patchwork.dpdk.org/series/20881/mbox/" } ], "comments": "http://patchwork.dpdk.org/api/patches/104954/comments/", "check": "success", "checks": "http://patchwork.dpdk.org/api/patches/104954/checks/", "tags": {}, "related": [], "headers": { "Return-Path": "<dev-bounces@dpdk.org>", "X-Original-To": "patchwork@inbox.dpdk.org", "Delivered-To": "patchwork@inbox.dpdk.org", "Received": [ "from mails.dpdk.org (mails.dpdk.org [217.70.189.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id A5A2EA034F;\n\tMon, 6 Dec 2021 23:20:10 +0100 (CET)", "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id CC7CC426EC;\n\tMon, 6 Dec 2021 23:19:54 +0100 (CET)", "from EUR01-HE1-obe.outbound.protection.outlook.com\n (mail-eopbgr130128.outbound.protection.outlook.com [40.107.13.128])\n by mails.dpdk.org (Postfix) with ESMTP id 94B36411DD;\n Mon, 6 Dec 2021 23:19:52 +0100 (CET)", "from AM0PR04MB4083.eurprd04.prod.outlook.com (2603:10a6:208:64::29)\n by AM0PR04MB6724.eurprd04.prod.outlook.com (2603:10a6:208:17a::22)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4755.11; Mon, 6 Dec\n 2021 22:19:51 +0000", "from AM0PR04MB4083.eurprd04.prod.outlook.com\n ([fe80::f4db:d40d:a746:7bfc]) by AM0PR04MB4083.eurprd04.prod.outlook.com\n ([fe80::f4db:d40d:a746:7bfc%7]) with mapi id 15.20.4755.022; Mon, 6 Dec 2021\n 22:19:51 +0000", "from lappy.adi.eng (173.14.114.227) by\n MN2PR20CA0031.namprd20.prod.outlook.com (2603:10b6:208:e8::44) with Microsoft\n SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id\n 15.20.4755.19 via Frontend Transport; Mon, 6 Dec 2021 22:19:49 +0000" ], "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;\n b=VM1RiO+Rkk6p+g6gdOR+ek54scJetUHO3Whu5Gsm/1PcxXUTLVuze4GERxpBDHwfQvZAbpEUcuXx5/qdxiEcEIqUTpkhZQfuK2HabiLnIGMLKDSXgqmAaihwPmZADzGmwJqthf0ctxA0AvYztakVFh1CCPsLoFMUqvyXXLoTUkkIXMy00uXoQOjX8p+uYVq/Bcsd/B1Q3RpAP8g0DsSzbttXF61FJj+CTNrnQZb/1g8hN8Ofgq9r7xvYm+Ttox/YXW24QpEqAlMzqSVEA29GFjg7t8gZ39xfowXsYU4Bgpy9E0vLOnRF/VW79XfNosMwDVWWWqBfGtUCVsz3j62d3Q==", "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector9901;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=kbGwrfkhiXYs+8DaWVgwsi/F4ize67M8nbNxe8cu5tk=;\n b=CPkvoOKJ3KUo5D9Eh6IRJ3cVk7XfC0Uj5nwE1Fw0HNrHGyeMQdFOP2XlGXr6EL3TmFBTaPTFxSc9AcVDRnKcBN/eaJ7DGUFU0TqxOHbBCAat9F+pRfhIFE8UnY6L3lprO8WNO3RnT1Vt8o3Ccv0Rqc71faHA3t0xK6DGPYf5IozpcJDDGP7zcNkxphBx5wlCluJqvP1OQX3Kx8ZoSBFfOIvFMgMHjwaWzHmTXlQwN7Y5Eds+2n2rfKEUm4IitlJZKyAJJ4MhK1IVzuhmmBRayj/P5ewOfNmJvn1rvBBnu1hYDj5PYnG66eZs9lyjQ5ciuxOsGfIdBSQhJxSJ7V6hyg==", "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=silicom-usa.com; dmarc=pass action=none\n header.from=silicom-usa.com; dkim=pass header.d=silicom-usa.com; arc=none", "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=SILICOMLTD.onmicrosoft.com; s=selector2-SILICOMLTD-onmicrosoft-com;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=kbGwrfkhiXYs+8DaWVgwsi/F4ize67M8nbNxe8cu5tk=;\n b=V3/ZMM/4iLVlu3KZUXJt9S2y7gTkHD1Ny/wZhSSZlQt8KvJfndfE5yX4v/EK/8VQIBGAsy/cFslr165tm735WzCSP3KBRZq5WwsVJUYuQvbkHULZXyDpALtXootw032McWjiFxYPzU04TpVBwXjADVuycfvcaNPYjRmBZ+7al4Q=", "Authentication-Results": "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=silicom-usa.com;", "From": "Stephen Douthit <stephend@silicom-usa.com>", "To": "Haiyue Wang <haiyue.wang@intel.com>, Wenzhuo Lu <wenzhuo.lu@intel.com>,\n Changchun Ouyang <changchun.ouyang@intel.com>,\n Helin Zhang <helin.zhang@intel.com>", "Cc": "dev@dpdk.org, wenw@silicom-usa.com,\n Stephen Douthit <stephend@silicom-usa.com>, stable@dpdk.org", "Subject": "[PATCH v2 3/7] net/ixgbe: Check that SFF-8472 soft rate select is\n supported before write", "Date": "Mon, 6 Dec 2021 17:19:17 -0500", "Message-Id": "<20211206221922.644187-4-stephend@silicom-usa.com>", "X-Mailer": "git-send-email 2.31.1", "In-Reply-To": "<20211206221922.644187-1-stephend@silicom-usa.com>", "References": "<20211206221922.644187-1-stephend@silicom-usa.com>", "Content-Transfer-Encoding": "8bit", "Content-Type": "text/plain", "X-ClientProxiedBy": "MN2PR20CA0031.namprd20.prod.outlook.com\n (2603:10b6:208:e8::44) To AM0PR04MB4083.eurprd04.prod.outlook.com\n (2603:10a6:208:64::29)", "MIME-Version": "1.0", "X-MS-PublicTrafficType": "Email", "X-MS-Office365-Filtering-Correlation-Id": "1678f712-2ffb-4a4e-96e1-08d9b906854d", "X-MS-TrafficTypeDiagnostic": "AM0PR04MB6724:EE_", "X-Microsoft-Antispam-PRVS": "\n <AM0PR04MB672440990E3800F2CBC301FD946D9@AM0PR04MB6724.eurprd04.prod.outlook.com>", "X-MS-Oob-TLC-OOBClassifiers": "OLM:7691;", "X-MS-Exchange-SenderADCheck": "1", "X-MS-Exchange-AntiSpam-Relay": "0", "X-Microsoft-Antispam": "BCL:0;", "X-Microsoft-Antispam-Message-Info": "\n tFNo25RD16Ir8ybievP9ryajtaZmD06WgQgw5MwEivSUpaa5DEbhoV5Pfa+ppe8JQ7I/NGIwAiaZOQ+yFjKvIlTQIi1w0Cz4+hc86h7Gl9oFUlwH1NuPj6hOQtbaeTxQS7yvv7J6cd5j0tp2TS6g8E0ASO4eI0mOTALq3odCFs+xjVqpWkls1p+bI8L7rj1L1X/h7YAawzk/CPXVUSWH7pJHg/vMRX+168iTCS7z8NFnlVs6Qmc6w+hjlWC7iytiwwYO6PFsVTrwapXoIeYYl2TMMMAAMgcOHXep+U1TKA6g/WBsT3gtMhYUPySiiIRM3h/2wAOinairEWXYKKI6ZSL86aDTxByJRa0i5XsmrmcSoB/ZXnbNqtLLzF0jvM0tWIfG8FHcork4ALh32LRouuLWt7c3Wf+Sy2cZs5+AJs0cbPdWzCteYjtyQRf5CJxloMxeG/xQbn3LvYL3h1s4GFJWuw3kQYgVIqSjFctcox+cNMR/sgigJRM6dMX5KKQeJYaGdEVPXDRVpNMH5WeZAoE6W0RIq90jN9BuZz2+IZlgdigu0VGqnS2aEfVMCBQb+A5HzA8dqK7UjyxGq80XLpX+7731GwkXC81+cWqwYQqOOzXs98iOtsLMCviKEifIix98QkR6LxYXXpo4hZm7PgiRDW+d0JHuMNW/0yYHKxG0XoetJirh2L6IsoXp9hfL/BsDiB+SwsaheaY626+UmQ==", "X-Forefront-Antispam-Report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:AM0PR04MB4083.eurprd04.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(4636009)(366004)(4326008)(5660300002)(2906002)(83380400001)(508600001)(38100700002)(38350700002)(956004)(6512007)(6486002)(316002)(36756003)(110136005)(8936002)(26005)(1076003)(52116002)(2616005)(186003)(66476007)(6666004)(6506007)(66556008)(66946007)(8676002)(86362001);\n DIR:OUT; SFP:1102;", "X-MS-Exchange-AntiSpam-MessageData-ChunkCount": "1", "X-MS-Exchange-AntiSpam-MessageData-0": "\n cxxZqpInaXTRv54C0YDltghoBz+IcsjRaMrpcK192uGXD9sPT9GCwDAvs37s9ZrH0T9zEPeNHE6nop6Dc9F9KMQu31vhhJfmDfkldKuQeT3loxIQyO7/c/HsCUGfbvuCme8qEeU3CO/Czf4SrIpUxfF0po20P6hzmqvIng8v4kfEGGXh10tFnv2qIW2S+uPailNO12fwK/GMHBZcsqPNcFyAT9jCxuMwhQhoO/lSeFh0FpoTTWxd3QARFLYdlrd7h8NBhHgeU6+Z/wA8d8RbjatgjAynoaXuRPwRIwxVcehVTYajf/5E/gRWlJf6A5LlY90Kab7nO7osR21U6Igeghe69q7HbAz0rowLKDo5gNNz3zWb/02biCQXNK9ECCZe3yQ67RLeL/0+mcEiwttnomWmOiVwxnykcr7QDrtNxQA0e+YW7bJ2bThT02Gul3swFC5DHznwttf8CyUwhtQMk2q6tK/pWXy9QdkgY3q2Nv0kcDCNWLYjKAyCqC0+nsWBL4+oUQkI15lfDiZVLGMeKVZtRqQFr97/ISY5arc+JLGNl2+yYBS8yCb4Ax+vrlRgPdmxmeXztcat5HVo3WAC6c9H5pTuD8RAo6tb84yFgkKviKUhJ2ovZuyJ4kr6vPv0i6sUvbk5fAE54q/DYk1i40ar9mQeYUwOnIMowBb+OZ41UoqiO4coz9Q20DzRCr6XSM7jWtMhmugnLDGRn6YLZQDv+i7JOa180091GHhEq/9d5K9vX0OiLz4m+nT36Xq8xVi0zj0gaUL6uLHhmZSYzcBLKfP2jbOAWXeRrMJBIqxgx4oP7gSAS9NpyanoHdh8Z8CTM2ySKIUZt1DKebPWn2fSn+6JIaiG2e5m3iPYLQW8hi6XZNZuY5BuVfBxVbwec345+T52A725KSnKMo+W9OcEz9ZVSVT/XuKw0jVfRV7RuLjVZ/hBfO/BjrJxvN1eeZsAFKIPn/j8LgEQP0hTih1o6f0OAux4XeRiVzXb4EiEhMd4D5Go3jWeoZFcmCli2M7YjIFpiREpXBVsZWDCw2df2hiXEP2OTDM4dvb3q3LYnGbWFtJFJDFMAtyFhulvjv+QgCjPIw5CVPtrjK+Oj8Shh5dfoOCiiuObGE6fZN7xubEGzBVRl5D21yXhbiegdO1pgv1tg8/NUc2sLfjehvB8ND6RBCrhbv2sMeVvsCngdGyiCvycWW1z648WgAUfKS2T/n+L4f8Kacqd/kHAoPIDTjthk9DF8Y9Fj0bbLPkn0UeqLaNasuDyI+511oZsgd6u8oLkBv4EvCigQMYxxdbGDAzi+S76fzNyi/1ylyKTUTmUd25xzRDCSKdCSUHmN7HnYgvil9N2XvDlF5+mij6olW/bdpQ3bcWzfQmiJ/QgBK8D7GLGD8K6ghnrwEVDzgXZ+rSD22QH8kaS2OGgfeos/WdXYlujRGt3kagNoXRdIsJEAVl2pNtJjSOIsH2uF4aLlmLPPewPsk5/7aXfHwg3kKM9nZ38oxndW/p+QahQbtcVj09/mezlP0zuaFHEF4tyxf7KQdIcc3kPxpPNMa7JhXuiv4NPJ3kYSRl94Kjk7+KrIV6mNAFxz6DZa4KK72KI1bqLJ2pb9TFhAMy1ltG7uAReFhz4OA6TTlCdC+bl0E06RRx8cs/Io1op4KLTB4tNSTi6/YDnCZpfepJEZg==", "X-OriginatorOrg": "silicom-usa.com", "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n 1678f712-2ffb-4a4e-96e1-08d9b906854d", "X-MS-Exchange-CrossTenant-AuthSource": "AM0PR04MB4083.eurprd04.prod.outlook.com", "X-MS-Exchange-CrossTenant-AuthAs": "Internal", "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "06 Dec 2021 22:19:51.2559 (UTC)", "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted", "X-MS-Exchange-CrossTenant-Id": "c9e326d8-ce47-4930-8612-cc99d3c87ad1", "X-MS-Exchange-CrossTenant-MailboxType": "HOSTED", "X-MS-Exchange-CrossTenant-UserPrincipalName": "\n EUt8C0KxFW8dEO+s1D0++cMoZDwmvXUQcMfAmVpMU/QQXKv8VVtphB2JIn22C14J9UBlxzaqEON4u0CHNkZkg6xu3zeVcXiVaPXqEgPrbbE=", "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "AM0PR04MB6724", "X-BeenThere": "dev@dpdk.org", "X-Mailman-Version": "2.1.29", "Precedence": "list", "List-Id": "DPDK patches and discussions <dev.dpdk.org>", "List-Unsubscribe": "<https://mails.dpdk.org/options/dev>,\n <mailto:dev-request@dpdk.org?subject=unsubscribe>", "List-Archive": "<http://mails.dpdk.org/archives/dev/>", "List-Post": "<mailto:dev@dpdk.org>", "List-Help": "<mailto:dev-request@dpdk.org?subject=help>", "List-Subscribe": "<https://mails.dpdk.org/listinfo/dev>,\n <mailto:dev-request@dpdk.org?subject=subscribe>", "Errors-To": "dev-bounces@dpdk.org" }, "content": "Make sure an SFP is really a SFF-8472 device that supports the optional\nsoft rate select feature before just blindly poking those I2C registers.\n\nSkip all I2C traffic if we know there's no SFP.\n\nFixes: f3430431aba (\"ixgbe/base: add SFP+ dual-speed support\")\nCc: stable@dpdk.org\n\nSigned-off-by: Stephen Douthit <stephend@silicom-usa.com>\n---\n drivers/net/ixgbe/base/ixgbe_common.c | 46 +++++++++++++++++++++++++++\n drivers/net/ixgbe/base/ixgbe_phy.h | 3 ++\n 2 files changed, 49 insertions(+)", "diff": "diff --git a/drivers/net/ixgbe/base/ixgbe_common.c b/drivers/net/ixgbe/base/ixgbe_common.c\nindex 2764cf7cf1..3be1cc7fa2 100644\n--- a/drivers/net/ixgbe/base/ixgbe_common.c\n+++ b/drivers/net/ixgbe/base/ixgbe_common.c\n@@ -5371,6 +5371,7 @@ s32 ixgbe_setup_mac_link_multispeed_fiber(struct ixgbe_hw *hw,\n void ixgbe_set_soft_rate_select_speed(struct ixgbe_hw *hw,\n \t\t\t\t\tixgbe_link_speed speed)\n {\n+\tenum ixgbe_sfp_cage_status sfp_cage_status;\n \ts32 status;\n \tu8 rs, eeprom_data;\n \n@@ -5387,6 +5388,51 @@ void ixgbe_set_soft_rate_select_speed(struct ixgbe_hw *hw,\n \t\treturn;\n \t}\n \n+\t/* Can't set rate on missing devices, skip all I2C access */\n+\tsfp_cage_status = ixgbe_check_sfp_cage(hw);\n+\tif (sfp_cage_status == IXGBE_SFP_CAGE_EMPTY ||\n+\t sfp_cage_status == IXGBE_SFP_CAGE_NOCAGE) {\n+\t\tDEBUGOUT(\"No SFP\\n\");\n+\t\treturn;\n+\t}\n+\n+\t/* This only applies to SFF-8472 devices, so check that this device has\n+\t * a non-zero SFF8472 compliance code @ device 0xA0 byte 94\n+\t */\n+\tstatus = hw->phy.ops.read_i2c_eeprom(hw,\n+\t\t\t\t\t IXGBE_SFF_SFF_8472_COMP,\n+\t\t\t\t\t &eeprom_data);\n+\tif (status || !eeprom_data) {\n+\t\tDEBUGOUT(\"Not a SFF-8472 device\\n\");\n+\t\tgoto out;\n+\t}\n+\n+\t/* (read|write)_i2c_byte() don't support the address change mechanism\n+\t * outlined in section 8.9 \"Addressing Modes\" of SFF_8472, so if that\n+\t * is a requirement give up\n+\t */\n+\tstatus = hw->phy.ops.read_i2c_eeprom(hw,\n+\t\t\t\t\t IXGBE_SFF_SFF_8472_SWAP,\n+\t\t\t\t\t &eeprom_data);\n+\tif (status || (eeprom_data & IXGBE_SFF_ADDRESSING_MODE)) {\n+\t\tDEBUGOUT(\"Address change not supported\\n\");\n+\t\tgoto out;\n+\t}\n+\t/* Digital diagnostic monitoring must be supported for rate select */\n+\tif (!(eeprom_data & IXGBE_SFF_DDM_IMPLEMENTED)) {\n+\t\tDEBUGOUT(\"DDM not implemented\\n\");\n+\t\tgoto out;\n+\t}\n+\n+\t/* Finally check if the optional rate select feature is implemented */\n+\tstatus = hw->phy.ops.read_i2c_eeprom(hw,\n+\t\t\t\t\t IXGBE_SFF_SFF_8472_EOPT,\n+\t\t\t\t\t &eeprom_data);\n+\tif (status || !(eeprom_data & IXGBE_SFF_HAVE_RS)) {\n+\t\tDEBUGOUT(\"Rate select not supported\");\n+\t\tgoto out;\n+\t}\n+\n \t/* Set RS0 */\n \tstatus = hw->phy.ops.read_i2c_byte(hw, IXGBE_SFF_SFF_8472_OSCB,\n \t\t\t\t\t IXGBE_I2C_EEPROM_DEV_ADDR2,\ndiff --git a/drivers/net/ixgbe/base/ixgbe_phy.h b/drivers/net/ixgbe/base/ixgbe_phy.h\nindex ceefbb3e68..cd57ce040f 100644\n--- a/drivers/net/ixgbe/base/ixgbe_phy.h\n+++ b/drivers/net/ixgbe/base/ixgbe_phy.h\n@@ -21,6 +21,7 @@\n #define IXGBE_SFF_CABLE_TECHNOLOGY\t0x8\n #define IXGBE_SFF_CABLE_SPEC_COMP\t0x3C\n #define IXGBE_SFF_SFF_8472_SWAP\t\t0x5C\n+#define IXGBE_SFF_SFF_8472_EOPT\t\t0x5D\n #define IXGBE_SFF_SFF_8472_COMP\t\t0x5E\n #define IXGBE_SFF_SFF_8472_OSCB\t\t0x6E\n #define IXGBE_SFF_SFF_8472_ESCB\t\t0x76\n@@ -48,6 +49,8 @@\n #define IXGBE_SFF_SOFT_RS_SELECT_10G\t0x8\n #define IXGBE_SFF_SOFT_RS_SELECT_1G\t0x0\n #define IXGBE_SFF_ADDRESSING_MODE\t0x4\n+#define IXGBE_SFF_DDM_IMPLEMENTED\t0x40\n+#define IXGBE_SFF_HAVE_RS\t\t0x2\n #define IXGBE_SFF_QSFP_DA_ACTIVE_CABLE\t0x1\n #define IXGBE_SFF_QSFP_DA_PASSIVE_CABLE\t0x8\n #define IXGBE_SFF_QSFP_CONNECTOR_NOT_SEPARABLE\t0x23\n", "prefixes": [ "v2", "3/7" ] }{ "id": 104954, "url": "