get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

GET /api/patches/127830/?format=api
HTTP 200 OK
Allow: GET, PUT, PATCH, HEAD, OPTIONS
Content-Type: application/json
Vary: Accept

{
    "id": 127830,
    "url": "https://patches.dpdk.org/api/patches/127830/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20230601102141.56932-1-julien_dpdk@jaube.fr/",
    "project": {
        "id": 1,
        "url": "https://patches.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": "<20230601102141.56932-1-julien_dpdk@jaube.fr>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20230601102141.56932-1-julien_dpdk@jaube.fr",
    "date": "2023-06-01T10:21:41",
    "name": "[v3] net/bnx2x : add experimental 2.5Gbps support for BCM578xx.",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "69474568d5ba66eefdf9aa55d477ec907a7c58b4",
    "submitter": {
        "id": 3069,
        "url": "https://patches.dpdk.org/api/people/3069/?format=api",
        "name": "Julien Aube",
        "email": "julien_dpdk@jaube.fr"
    },
    "delegate": {
        "id": 310,
        "url": "https://patches.dpdk.org/api/users/310/?format=api",
        "username": "jerin",
        "first_name": "Jerin",
        "last_name": "Jacob",
        "email": "jerinj@marvell.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20230601102141.56932-1-julien_dpdk@jaube.fr/mbox/",
    "series": [
        {
            "id": 28299,
            "url": "https://patches.dpdk.org/api/series/28299/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=28299",
            "date": "2023-06-01T10:21:41",
            "name": "[v3] net/bnx2x : add experimental 2.5Gbps support for BCM578xx.",
            "version": 3,
            "mbox": "https://patches.dpdk.org/series/28299/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/127830/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/127830/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 33E7E42C02;\n\tThu,  1 Jun 2023 12:21:53 +0200 (CEST)",
            "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id AF02D40EF0;\n\tThu,  1 Jun 2023 12:21:52 +0200 (CEST)",
            "from obconseil.eu (obconseil.eu [91.224.149.111])\n by mails.dpdk.org (Postfix) with ESMTP id D8B76406A2\n for <dev@dpdk.org>; Thu,  1 Jun 2023 12:21:51 +0200 (CEST)",
            "by obconseil.eu (OpenSMTPD) with ESMTP id ac21e759;\n Thu, 1 Jun 2023 12:21:51 +0200 (CEST)",
            "from router.ob (i19-lef02-th2-212-194-241-67.ft.lns.abo.bbox.fr\n [212.194.241.67])\n by obconseil.eu (OpenSMTPD) with ESMTPSA id af5b7d76\n (TLSv1.3:TLS_AES_256_GCM_SHA384:256:NO);\n Thu, 1 Jun 2023 12:21:51 +0200 (CEST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha1; c=relaxed/relaxed; d=jaube.fr; h=from\n :to:cc:subject:date:message-id:in-reply-to:references\n :mime-version:content-transfer-encoding; s=default; bh=H4BuldEAa\n A2WCwqrtW9YMWs/gqo=; b=kL25Q9igKvKW0kCv51Ppfdq+t8c6+Fh9yhML7YIUC\n F214WvFdgR1MnKqjIG/lBTMoPQe6M6wEzhnhPy6q0Vn1LDT2xOuZh3V13mZNAU/j\n Kulw1YsLVZgE/6FgEFBpDORXxqwRKuqh+pQTZKCEHZxEumaL2CmxSb2jiV7ceFQT\n cA=",
        "From": "Julien Aube <julien_dpdk@jaube.fr>",
        "To": "dev@dpdk.org",
        "Cc": "Julien Aube <julien_dpdk@jaube.fr>",
        "Subject": "[PATCH v3] net/bnx2x : add experimental 2.5Gbps support for BCM578xx.",
        "Date": "Thu,  1 Jun 2023 12:21:41 +0200",
        "Message-Id": "<20230601102141.56932-1-julien_dpdk@jaube.fr>",
        "X-Mailer": "git-send-email 2.30.2",
        "In-Reply-To": "<20230518000111.71360-1-julien_dpdk@jaube.fr>",
        "References": "<20230518000111.71360-1-julien_dpdk@jaube.fr>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "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": "- add support for 2500baseX_Full in addition to 1000baseT_Full.\n  For 2.5Gbps speed, HSGMII mode shall be enabled in the serdes.\n- add the possibility to support SC connectors on SFP (GPON are mostly SC)\n- change the initialisation time from 60ms to 1800ms (for xPON-Based SFP)\n\nThis has been tested with GPON's ONU SFP but requires a specific\nfirmware configuration described in the documentation.\n\nSigned-off-by: Julien Aube <julien_dpdk@jaube.fr>\n---\n doc/guides/nics/bnx2x.rst |  4 ++++\n drivers/net/bnx2x/elink.c | 19 +++++++++++++++++--\n 2 files changed, 21 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/doc/guides/nics/bnx2x.rst b/doc/guides/nics/bnx2x.rst\nindex 788a6dac08..f19784db2c 100644\n--- a/doc/guides/nics/bnx2x.rst\n+++ b/doc/guides/nics/bnx2x.rst\n@@ -22,6 +22,7 @@ BNX2X PMD has support for:\n - Promiscuous mode\n - Port hardware statistics\n - SR-IOV VF\n+- Experimental 2.5Gbps support\n \n Non-supported Features\n ----------------------\n@@ -72,6 +73,9 @@ Prerequisites\n   `linux-firmware git repository <https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/plain/bnx2x/bnx2x-e2-7.13.11.0.fw>`_\n   to get the required firmware.\n \n+- 2.5Gbps speed currently require that the firmware's nvm configuration number 7 / 35 (first port) and 36 (second port) are set to 0x70\n+  for 1G/2.5G/10G support . This can be done for EFI or DOS using EDIAG tool from Broadcom.\n+\n Pre-Installation Configuration\n ------------------------------\n \ndiff --git a/drivers/net/bnx2x/elink.c b/drivers/net/bnx2x/elink.c\nindex 43fbf04ece..2c81f85b96 100644\n--- a/drivers/net/bnx2x/elink.c\n+++ b/drivers/net/bnx2x/elink.c\n@@ -867,6 +867,7 @@ typedef elink_status_t (*read_sfp_module_eeprom_func_p)(struct elink_phy *phy,\n \n #define ELINK_SFP_EEPROM_CON_TYPE_ADDR\t\t0x2\n \t#define ELINK_SFP_EEPROM_CON_TYPE_VAL_UNKNOWN\t0x0\n+\t#define ELINK_SFP_EEPROM_CON_TYPE_VAL_SC        0x1\n \t#define ELINK_SFP_EEPROM_CON_TYPE_VAL_LC\t0x7\n \t#define ELINK_SFP_EEPROM_CON_TYPE_VAL_COPPER\t0x21\n \t#define ELINK_SFP_EEPROM_CON_TYPE_VAL_RJ45\t0x22\n@@ -5069,6 +5070,15 @@ static void elink_warpcore_set_sgmii_speed(struct elink_phy *phy,\n \t\t\t\t\t 0x1000);\n \t\tELINK_DEBUG_P0(sc, \"set SGMII AUTONEG\");\n \t} else {\n+\t/* Note that 2.5G works only when used with 1G advertisement */\n+\t\tif (fiber_mode && phy->req_line_speed == SPEED_2500 &&\n+\t\t   (phy->speed_cap_mask &\n+\t\t   (PORT_HW_CFG_SPEED_CAPABILITY_D0_1G |\n+\t\t    PORT_HW_CFG_SPEED_CAPABILITY_D0_2_5G))) {\n+\t\t\telink_cl45_write(sc, phy, MDIO_WC_DEVAD,\n+\t\t\tMDIO_WC_REG_SERDESDIGITAL_MISC1, 0x6010);\n+\t\t}\n+\n \t\telink_cl45_read(sc, phy, MDIO_WC_DEVAD,\n \t\t\t\tMDIO_WC_REG_COMBO_IEEE0_MIICTRL, &val16);\n \t\tval16 &= 0xcebf;\n@@ -5079,6 +5089,7 @@ static void elink_warpcore_set_sgmii_speed(struct elink_phy *phy,\n \t\t\tval16 |= 0x2000;\n \t\t\tbreak;\n \t\tcase ELINK_SPEED_1000:\n+\t\tcase ELINK_SPEED_2500:\n \t\t\tval16 |= 0x0040;\n \t\t\tbreak;\n \t\tdefault:\n@@ -9138,6 +9149,7 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\tbreak;\n \t}\n \tcase ELINK_SFP_EEPROM_CON_TYPE_VAL_UNKNOWN:\n+\tcase ELINK_SFP_EEPROM_CON_TYPE_VAL_SC:\n \tcase ELINK_SFP_EEPROM_CON_TYPE_VAL_LC:\n \tcase ELINK_SFP_EEPROM_CON_TYPE_VAL_RJ45:\n \t\tcheck_limiting_mode = 1;\n@@ -9151,7 +9163,8 @@ static elink_status_t elink_get_edc_mode(struct elink_phy *phy,\n \t\t    (val[ELINK_SFP_EEPROM_1G_COMP_CODE_ADDR] != 0)) {\n \t\t\tELINK_DEBUG_P0(sc, \"1G SFP module detected\");\n \t\t\tphy->media_type = ELINK_ETH_PHY_SFP_1G_FIBER;\n-\t\t\tif (phy->req_line_speed != ELINK_SPEED_1000) {\n+\t\t\tif (phy->req_line_speed != ELINK_SPEED_1000 &&\n+\t\t\t    phy->req_line_speed != ELINK_SPEED_2500) {\n \t\t\t\tuint8_t gport = params->port;\n \t\t\t\tphy->req_line_speed = ELINK_SPEED_1000;\n \t\t\t\tif (!CHIP_IS_E1x(sc)) {\n@@ -9324,7 +9337,7 @@ static elink_status_t elink_wait_for_sfp_module_initialized(\n \t * some phys type ( e.g. JDSU )\n \t */\n \n-\tfor (timeout = 0; timeout < 60; timeout++) {\n+\tfor (timeout = 0; timeout < 1800; timeout++) {\n \t\tif (phy->type == PORT_HW_CFG_XGXS_EXT_PHY_TYPE_DIRECT)\n \t\t\trc = elink_warpcore_read_sfp_module_eeprom(\n \t\t\t\tphy, params, ELINK_I2C_DEV_ADDR_A0, 1, 1, &val,\n@@ -12614,6 +12627,7 @@ static const struct elink_phy phy_warpcore = {\n \t\t\t   ELINK_SUPPORTED_100baseT_Half |\n \t\t\t   ELINK_SUPPORTED_100baseT_Full |\n \t\t\t   ELINK_SUPPORTED_1000baseT_Full |\n+\t\t\t   ELINK_SUPPORTED_2500baseX_Full |\n \t\t\t   ELINK_SUPPORTED_1000baseKX_Full |\n \t\t\t   ELINK_SUPPORTED_10000baseT_Full |\n \t\t\t   ELINK_SUPPORTED_10000baseKR_Full |\n@@ -13156,6 +13170,7 @@ static elink_status_t elink_populate_int_phy(struct bnx2x_softc *sc,\n \t\t\tbreak;\n \t\tcase PORT_HW_CFG_NET_SERDES_IF_SFI:\n \t\t\tphy->supported &= (ELINK_SUPPORTED_1000baseT_Full |\n+\t\t\t\t\t   ELINK_SUPPORTED_2500baseX_Full |\n \t\t\t\t\t   ELINK_SUPPORTED_10000baseT_Full |\n \t\t\t\t\t   ELINK_SUPPORTED_FIBRE |\n \t\t\t\t\t   ELINK_SUPPORTED_Pause |\n",
    "prefixes": [
        "v3"
    ]
}