get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 88905,
    "url": "https://patches.dpdk.org/api/patches/88905/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/20210310212637.72205-8-ajit.khaparde@broadcom.com/",
    "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": "<20210310212637.72205-8-ajit.khaparde@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210310212637.72205-8-ajit.khaparde@broadcom.com",
    "date": "2021-03-10T21:26:32",
    "name": "[v2,07/12] net/bnxt: update to new version of backing store",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "e7b00f7e6dde6dfc353cb29577419d090cb5022c",
    "submitter": {
        "id": 501,
        "url": "https://patches.dpdk.org/api/people/501/?format=api",
        "name": "Ajit Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "delegate": {
        "id": 1766,
        "url": "https://patches.dpdk.org/api/users/1766/?format=api",
        "username": "ajitkhaparde",
        "first_name": "Ajit",
        "last_name": "Khaparde",
        "email": "ajit.khaparde@broadcom.com"
    },
    "mbox": "https://patches.dpdk.org/project/dpdk/patch/20210310212637.72205-8-ajit.khaparde@broadcom.com/mbox/",
    "series": [
        {
            "id": 15591,
            "url": "https://patches.dpdk.org/api/series/15591/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=15591",
            "date": "2021-03-10T21:26:25",
            "name": "bnxt fixes",
            "version": 2,
            "mbox": "https://patches.dpdk.org/series/15591/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/88905/comments/",
    "check": "warning",
    "checks": "https://patches.dpdk.org/api/patches/88905/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 7461AA056A;\n\tWed, 10 Mar 2021 22:27:30 +0100 (CET)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9DA6D22A5A0;\n\tWed, 10 Mar 2021 22:27:00 +0100 (CET)",
            "from mail-pj1-f52.google.com (mail-pj1-f52.google.com\n [209.85.216.52])\n by mails.dpdk.org (Postfix) with ESMTP id D768D22A575\n for <dev@dpdk.org>; Wed, 10 Mar 2021 22:26:58 +0100 (CET)",
            "by mail-pj1-f52.google.com with SMTP id\n a22-20020a17090aa516b02900c1215e9b33so7957519pjq.5\n for <dev@dpdk.org>; Wed, 10 Mar 2021 13:26:58 -0800 (PST)",
            "from localhost.localdomain ([192.19.228.250])\n by smtp.gmail.com with ESMTPSA id f2sm265059pju.46.2021.03.10.13.26.56\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Wed, 10 Mar 2021 13:26:57 -0800 (PST)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com;\n s=google;\n h=from:to:cc:subject:date:message-id:in-reply-to:references\n :mime-version; bh=zt61k5587iRZ3p3yIVFqbBV72F+AzTGBlNt2d403xyE=;\n b=fIFybDyPsFcLJNSHz4NGcP2OAcW38Pkd/0PoVIRwwN0yIl6kZZ7MlhBocEoFrxlsNA\n rNyk4rl/mMZtuV8Nf13N/51UjdNy1OsontIN2fA0N2655BZ6z2oklKElrYtgx+vo4i+t\n +yQJ5xtuaqEo1M6feAACCrXSeLIX3VkBfFVlw=",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20161025;\n h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to\n :references:mime-version;\n bh=zt61k5587iRZ3p3yIVFqbBV72F+AzTGBlNt2d403xyE=;\n b=iwD1y5rYAnkpGLpCPkBGVktJyM0PzunfaB3sBmqQLHtxvYyZ7qYwd1SS/BTF1lNrLw\n +2CY261XZPbTHO9zigJksEeMbeYmZUF1UUDdryK3LFe7yD2ew93m8ybhpZ3v+uIRIXf8\n /RMJ8ZKcEy3MbM93MU9yXCgYa/OP+pTupFc/FcjMCad/OhonAlxOS4VRAaALC/QxyP9U\n RJq7+wJGsHCqOsl5ZGU6HaRQzjyTuJM7+8YxJgSvxy4JZLetfEMchtay7228gLmdjNhR\n X9RJyyDOmckDXvUgb2cZz51bXkW0TOD+KqtGeKAqn53qENrsCOrVQGro7YFQDX4PrJTf\n hzQQ==",
        "X-Gm-Message-State": "AOAM533nXCJm1/vera46uV+YFf2th2Q5/3kO8PtmKdHMZHlh8SSc/BlK\n IXKgRkrTicVlT8F6lx9ucFuMGKlvSooDjFT2",
        "X-Google-Smtp-Source": "\n ABdhPJznuyKi9HsF7B0ZLmxUg/ebuvitlfwiNrOe0VvGQe0LYloEOELn85tQUr2WJv0vGMrHp+9krg==",
        "X-Received": "by 2002:a17:902:7c8e:b029:e5:f70f:b7ab with SMTP id\n y14-20020a1709027c8eb02900e5f70fb7abmr4952057pll.32.1615411618018;\n Wed, 10 Mar 2021 13:26:58 -0800 (PST)",
        "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>",
        "To": "ferruh.yigit@intel.com",
        "Cc": "ajit.khaparde@broadcom.com, dev@dpdk.org,\n kalesh-anakkur.purayil@broadcom.com,\n Somnath Kotur <somnath.kotur@broadcom.com>",
        "Date": "Wed, 10 Mar 2021 13:26:32 -0800",
        "Message-Id": "<20210310212637.72205-8-ajit.khaparde@broadcom.com>",
        "X-Mailer": "git-send-email 2.21.1 (Apple Git-122.3)",
        "In-Reply-To": "<20210310212637.72205-1-ajit.khaparde@broadcom.com>",
        "References": "<d3d41dec-035d-7dd5-ec5b-cd9f6f3536cb@intel.com>\n <20210310212637.72205-1-ajit.khaparde@broadcom.com>",
        "MIME-Version": "1.0",
        "Content-Type": "multipart/signed; protocol=\"application/pkcs7-signature\";\n micalg=sha-256; boundary=\"000000000000adbb0a05bd355305\"",
        "X-Content-Filtered-By": "Mailman/MimeDel 2.1.29",
        "Subject": "[dpdk-dev] [PATCH v2 07/12] net/bnxt: update to new version of\n backing store",
        "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",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "Update HWRM headers to version 1.10.2.15\nwhich  updates the backing store API for additional TQM rings.\nAdd support for 9th TQM ring using latest firmware interface.\nAlso make sure that we set only necessary bits in the enables\nfield in backing store request.\n\nSigned-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\nReviewed-by: Somnath Kotur <somnath.kotur@broadcom.com>\n---\n drivers/net/bnxt/bnxt.h        | 16 +++++++++++----\n drivers/net/bnxt/bnxt_ethdev.c | 11 +++++++++--\n drivers/net/bnxt/bnxt_hwrm.c   | 36 +++++++++++++++++++++++++++++++---\n 3 files changed, 54 insertions(+), 9 deletions(-)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h\nindex b4370e5acd..bf3459e830 100644\n--- a/drivers/net/bnxt/bnxt.h\n+++ b/drivers/net/bnxt/bnxt.h\n@@ -390,9 +390,17 @@ struct bnxt_coal {\n #define BNXT_MAX_RSS_CTXTS_P5 \\\n \t(BNXT_RSS_TBL_SIZE_P5 / BNXT_RSS_ENTRIES_PER_CTX_P5)\n \n-#define BNXT_MAX_TC    8\n-#define BNXT_MAX_QUEUE 8\n-#define BNXT_MAX_TC_Q  (BNXT_MAX_TC + 1)\n+#define BNXT_MAX_QUEUE\t\t\t8\n+#define BNXT_MAX_TQM_SP_RINGS\t\t1\n+#define BNXT_MAX_TQM_FP_LEGACY_RINGS\t8\n+#define BNXT_MAX_TQM_FP_RINGS\t\t9\n+#define BNXT_MAX_TQM_LEGACY_RINGS\t\\\n+\t(BNXT_MAX_TQM_SP_RINGS + BNXT_MAX_TQM_FP_LEGACY_RINGS)\n+#define BNXT_MAX_TQM_RINGS\t\t\\\n+\t(BNXT_MAX_TQM_SP_RINGS + BNXT_MAX_TQM_FP_RINGS)\n+#define BNXT_BACKING_STORE_CFG_LEGACY_LEN\t256\n+#define BNXT_BACKING_STORE_CFG_LEN\t\\\n+\tsizeof(struct hwrm_func_backing_store_cfg_input)\n #define BNXT_PAGE_SHFT 12\n #define BNXT_PAGE_SIZE (1 << BNXT_PAGE_SHFT)\n #define MAX_CTX_PAGES  (BNXT_PAGE_SIZE / 8)\n@@ -461,7 +469,7 @@ struct bnxt_ctx_mem_info {\n \tstruct bnxt_ctx_pg_info cq_mem;\n \tstruct bnxt_ctx_pg_info vnic_mem;\n \tstruct bnxt_ctx_pg_info stat_mem;\n-\tstruct bnxt_ctx_pg_info *tqm_mem[BNXT_MAX_TC_Q];\n+\tstruct bnxt_ctx_pg_info *tqm_mem[BNXT_MAX_TQM_RINGS];\n };\n \n struct bnxt_ctx_mem_buf_info {\ndiff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c\nindex 9824cdb6d8..9e0ec46403 100644\n--- a/drivers/net/bnxt/bnxt_ethdev.c\n+++ b/drivers/net/bnxt/bnxt_ethdev.c\n@@ -4354,15 +4354,22 @@ int bnxt_alloc_ctx_mem(struct bnxt *bp)\n \tentries = clamp_t(uint32_t, entries, min,\n \t\t\t  ctx->tqm_max_entries_per_ring);\n \tfor (i = 0, ena = 0; i < ctx->tqm_fp_rings_count + 1; i++) {\n+\t\t/* i=0 is for TQM_SP. i=1 to i=8 applies to RING0 to RING7.\n+\t\t * i > 8 is other ext rings.\n+\t\t */\n \t\tctx_pg = ctx->tqm_mem[i];\n \t\tctx_pg->entries = i ? entries : entries_sp;\n \t\tif (ctx->tqm_entry_size) {\n \t\t\tmem_size = ctx->tqm_entry_size * ctx_pg->entries;\n-\t\t\trc = bnxt_alloc_ctx_mem_blk(bp, ctx_pg, mem_size, \"tqm_mem\", i);\n+\t\t\trc = bnxt_alloc_ctx_mem_blk(bp, ctx_pg, mem_size,\n+\t\t\t\t\t\t    \"tqm_mem\", i);\n \t\t\tif (rc)\n \t\t\t\treturn rc;\n \t\t}\n-\t\tena |= HWRM_FUNC_BACKING_STORE_CFG_INPUT_ENABLES_TQM_SP << i;\n+\t\tif (i < BNXT_MAX_TQM_LEGACY_RINGS)\n+\t\t\tena |= HWRM_FUNC_BACKING_STORE_CFG_INPUT_ENABLES_TQM_SP << i;\n+\t\telse\n+\t\t\tena |= HWRM_FUNC_BACKING_STORE_CFG_INPUT_ENABLES_TQM_RING8;\n \t}\n \n \tena |= FUNC_BACKING_STORE_CFG_INPUT_DFLT_ENABLES;\ndiff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c\nindex e11502c706..fc47950fbd 100644\n--- a/drivers/net/bnxt/bnxt_hwrm.c\n+++ b/drivers/net/bnxt/bnxt_hwrm.c\n@@ -27,7 +27,7 @@\n #define HWRM_SPEC_CODE_1_8_3\t\t0x10803\n #define HWRM_VERSION_1_9_1\t\t0x10901\n #define HWRM_VERSION_1_9_2\t\t0x10903\n-\n+#define HWRM_VERSION_1_10_2_13\t\t0x10a020d\n struct bnxt_plcmodes_cfg {\n \tuint32_t\tflags;\n \tuint16_t\tjumbo_thresh;\n@@ -105,6 +105,11 @@ static int bnxt_hwrm_send_message(struct bnxt *bp, void *msg,\n \n \ttimeout = bp->hwrm_cmd_timeout;\n \n+\t/* Update the message length for backing store config for new FW. */\n+\tif (bp->fw_ver >= HWRM_VERSION_1_10_2_13 &&\n+\t    rte_cpu_to_le_16(req->req_type) == HWRM_FUNC_BACKING_STORE_CFG)\n+\t\tmsg_len = BNXT_BACKING_STORE_CFG_LEGACY_LEN;\n+\n \tif (bp->flags & BNXT_FLAG_SHORT_CMD ||\n \t    msg_len > bp->max_req_len) {\n \t\tvoid *short_cmd_req = bp->hwrm_short_cmd_req_addr;\n@@ -5120,8 +5125,21 @@ int bnxt_hwrm_func_backing_store_qcaps(struct bnxt *bp)\n \tctx->tim_max_entries = rte_le_to_cpu_32(resp->tim_max_entries);\n \tctx->tqm_fp_rings_count = resp->tqm_fp_rings_count;\n \n-\tif (!ctx->tqm_fp_rings_count)\n-\t\tctx->tqm_fp_rings_count = bp->max_q;\n+\tctx->tqm_fp_rings_count = ctx->tqm_fp_rings_count ?\n+\t\t\t\t  RTE_MIN(ctx->tqm_fp_rings_count,\n+\t\t\t\t\t  BNXT_MAX_TQM_FP_LEGACY_RINGS) :\n+\t\t\t\t  bp->max_q;\n+\n+\t/* Check if the ext ring count needs to be counted.\n+\t * Ext ring count is available only with new FW so we should not\n+\t * look at the field on older FW.\n+\t */\n+\tif (ctx->tqm_fp_rings_count == BNXT_MAX_TQM_FP_LEGACY_RINGS &&\n+\t    bp->hwrm_max_ext_req_len >= BNXT_BACKING_STORE_CFG_LEN) {\n+\t\tctx->tqm_fp_rings_count += resp->tqm_fp_rings_count_ext;\n+\t\tctx->tqm_fp_rings_count = RTE_MIN(BNXT_MAX_TQM_FP_RINGS,\n+\t\t\t\t\t\t  ctx->tqm_fp_rings_count);\n+\t}\n \n \ttqm_rings = ctx->tqm_fp_rings_count + 1;\n \n@@ -5232,6 +5250,18 @@ int bnxt_hwrm_func_backing_store_cfg(struct bnxt *bp, uint32_t enables)\n \t\tbnxt_hwrm_set_pg_attr(&ctx_pg->ring_mem, pg_attr, pg_dir);\n \t}\n \n+\tif (enables & HWRM_FUNC_BACKING_STORE_CFG_INPUT_ENABLES_TQM_RING8) {\n+\t\t/* DPDK does not need to configure MRAV and TIM type.\n+\t\t * So we are skipping over MRAV and TIM. Skip to configure\n+\t\t * HWRM_FUNC_BACKING_STORE_CFG_INPUT_ENABLES_TQM_RING8.\n+\t\t */\n+\t\tctx_pg = ctx->tqm_mem[BNXT_MAX_TQM_LEGACY_RINGS];\n+\t\treq.tqm_ring8_num_entries = rte_cpu_to_le_16(ctx_pg->entries);\n+\t\tbnxt_hwrm_set_pg_attr(&ctx_pg->ring_mem,\n+\t\t\t\t      &req.tqm_ring8_pg_size_tqm_ring_lvl,\n+\t\t\t\t      &req.tqm_ring8_page_dir);\n+\t}\n+\n \trc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB);\n \tHWRM_CHECK_RESULT();\n \tHWRM_UNLOCK();\n",
    "prefixes": [
        "v2",
        "07/12"
    ]
}