Patch Detail
get:
Show a patch.
patch:
Update a patch.
put:
Update a patch.
GET /api/patches/136547/?format=api
https://patches.dpdk.org/api/patches/136547/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/patch/20240208171330.31139-6-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": "<20240208171330.31139-6-ajit.khaparde@broadcom.com>", "list_archive_url": "https://inbox.dpdk.org/dev/20240208171330.31139-6-ajit.khaparde@broadcom.com", "date": "2024-02-08T17:13:28", "name": "[5/7] net/bnxt: adjust session name on multi host system", "commit_ref": null, "pull_url": null, "state": "accepted", "archived": true, "hash": "34a1ee03877169787109160958736d5ccfff9818", "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/20240208171330.31139-6-ajit.khaparde@broadcom.com/mbox/", "series": [ { "id": 31055, "url": "https://patches.dpdk.org/api/series/31055/?format=api", "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=31055", "date": "2024-02-08T17:13:23", "name": "bnxt bug fixes", "version": 1, "mbox": "https://patches.dpdk.org/series/31055/mbox/" } ], "comments": "https://patches.dpdk.org/api/patches/136547/comments/", "check": "warning", "checks": "https://patches.dpdk.org/api/patches/136547/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 2F83C43AE1;\n\tThu, 8 Feb 2024 18:14:11 +0100 (CET)", "from mails.dpdk.org (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 1987142E66;\n\tThu, 8 Feb 2024 18:13:46 +0100 (CET)", "from mail-pf1-f169.google.com (mail-pf1-f169.google.com\n [209.85.210.169])\n by mails.dpdk.org (Postfix) with ESMTP id A28E840273\n for <dev@dpdk.org>; Thu, 8 Feb 2024 18:13:44 +0100 (CET)", "by mail-pf1-f169.google.com with SMTP id\n d2e1a72fcca58-6e04ea51984so40830b3a.0\n for <dev@dpdk.org>; Thu, 08 Feb 2024 09:13:44 -0800 (PST)", "from C02GC2QQMD6T.wifi.broadcom.net ([192.19.223.252])\n by smtp.gmail.com with ESMTPSA id\n p15-20020aa79e8f000000b006e0527ffe88sm3966204pfq.213.2024.02.08.09.13.41\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Thu, 08 Feb 2024 09:13:41 -0800 (PST)" ], "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=broadcom.com; s=google; t=1707412423; x=1708017223; darn=dpdk.org;\n h=mime-version:references:in-reply-to:message-id:date:subject:cc:to\n :from:from:to:cc:subject:date:message-id:reply-to;\n bh=AXZx0GK16UmuqFgu2+pAXwf8u+XGY2nB1JsYNn2AwPQ=;\n b=f16c7u/Rp/Zw+Wc8d7PZHYWy1MOvRSyTUvn38g7gOpoW1PuGPRH5qG49UxnXWe17KS\n LWN5NTOLN8HCv2LSERULSfY5tZfETnkxonIrPX0ikcX8MO3QWoOzrmAk8dc3cw+jhg5D\n kd+rIsZOKNtYbtbeJ2iRAO9zH0FEDWDzCFeAs=", "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20230601; t=1707412423; x=1708017223;\n h=mime-version:references:in-reply-to:message-id:date:subject:cc:to\n :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;\n bh=AXZx0GK16UmuqFgu2+pAXwf8u+XGY2nB1JsYNn2AwPQ=;\n b=jUWr3YHC+Psj7jQjm7h3ZNZNFq8mYueXim3iRAApC1m3xjXWN7ditXSkf6nDUGRukS\n i8h8Mt2Igu2F6+OSkRXHd1vBv3zquvaVXqSVmGI20oOG4xx7qrveniGm1J2LHD3uTt1H\n JFM3SlEaPGhnEnstSegWlP/79vz7r+hr7Bn9Wk8YclKAZKiVdY4+8s7C5vwWji+pc2f/\n zRnO+Cxv1+PQuzwUC/bzywHUvfBNuIQOBdZw9jTDFbczVSiGJ/+DYv/7XpmMUB2qQq4r\n g0SmkEKE2Z1Z9ChXJyvc53I0bHf87OoVlfB3JRDqzK+ygX//FTosgCBwTDTihIv+cEaH\n 2RuA==", "X-Gm-Message-State": "AOJu0Yx6HyikFax9TW3p7EYLw6F/yGvVrZeig7Foxz4dcedNI16QbxKJ\n FDlJrleAOeZxdWLwK6frKyaxFaz0DD3DXsndgHr1hcSx0B09YDV9QldVnTdvnXkcIvBYNoklEdG\n MKTGa+5gnQW83TRllAD5HJUroleE8Io6n6Rm/sVSGXHqxOrqBQ2Mnz8xQiprULBVrTLpDJZf4Is\n a41LSbyWSlI0XzfYu7nBe85QQ3cv4M", "X-Google-Smtp-Source": "\n AGHT+IHd0X24H9393143I2Z+If6bv4kBoKIFKrKNhNIEHA852ffJGbtSukmVmjel6YZ4+Vj58D05nw==", "X-Received": "by 2002:aa7:8757:0:b0:6de:1b57:ca8c with SMTP id\n g23-20020aa78757000000b006de1b57ca8cmr7362781pfo.23.1707412423167;\n Thu, 08 Feb 2024 09:13:43 -0800 (PST)", "X-Forwarded-Encrypted": "i=1;\n AJvYcCV/Tbs5K8DD2Xw5faWQjhcD3EOK1W1LuQXy1Kmwx0+8WDfzSn3LtJbQX3gtpqS5ctPmM5O9SH/p+k2f1P6v47zTNM9p7A==", "From": "Ajit Khaparde <ajit.khaparde@broadcom.com>", "To": "dev@dpdk.org", "Cc": "Shuanglin Wang <shuanglin.wang@broadcom.com>,\n Shahaji Bhosle <sbhosle@broadcom.com>", "Subject": "[PATCH 5/7] net/bnxt: adjust session name on multi host system", "Date": "Thu, 8 Feb 2024 09:13:28 -0800", "Message-Id": "<20240208171330.31139-6-ajit.khaparde@broadcom.com>", "X-Mailer": "git-send-email 2.39.2 (Apple Git-143)", "In-Reply-To": "<20240208171330.31139-1-ajit.khaparde@broadcom.com>", "References": "<20240208171330.31139-1-ajit.khaparde@broadcom.com>", "MIME-Version": "1.0", "Content-Type": "multipart/signed; protocol=\"application/pkcs7-signature\";\n micalg=sha-256; boundary=\"000000000000017f1f0610e1ef56\"", "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": "From: Shuanglin Wang <shuanglin.wang@broadcom.com>\n\nOn multi-host system, pci-id on PFs are same on each host.\nThe currect code is using the pci-id as the session name to\ncreate a session. This would cause a name confliction on firmware\nthen fw rejects the session creation.\n\nThe patch will change the session name with parent pci_id for\nmulti-host system. This solution works for single PF per EP only.\n\nSigned-off-by: Shuanglin Wang <shuanglin.wang@broadcom.com>\nSigned-off-by: Ajit Khaparde <ajit.khaparde@broadcom.com>\nReviewed-by: Shahaji Bhosle <sbhosle@broadcom.com>\n---\n drivers/net/bnxt/bnxt.h | 1 +\n drivers/net/bnxt/bnxt_hwrm.c | 8 +++++\n drivers/net/bnxt/tf_ulp/bnxt_ulp.c | 58 ++++++++++++++++++++++++++++++\n 3 files changed, 67 insertions(+)", "diff": "diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h\nindex 3b3df6ba28..4203e6a055 100644\n--- a/drivers/net/bnxt/bnxt.h\n+++ b/drivers/net/bnxt/bnxt.h\n@@ -825,6 +825,7 @@ struct bnxt {\n #define BNXT_TESTPMD_EN(bp)\t\t\t\\\n \t((bp)->flags2 & BNXT_FLAGS2_TESTPMD_EN)\n \n+\tuint16_t\t\tmulti_host_pf_pci_id;\n \tuint16_t\t\tchip_num;\n #define CHIP_NUM_58818\t\t0xd818\n #define BNXT_CHIP_SR2(bp)\t((bp)->chip_num == CHIP_NUM_58818)\ndiff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c\nindex 1d523d6dec..2ceab555a5 100644\n--- a/drivers/net/bnxt/bnxt_hwrm.c\n+++ b/drivers/net/bnxt/bnxt_hwrm.c\n@@ -4207,6 +4207,14 @@ int bnxt_hwrm_parent_pf_qcfg(struct bnxt *bp)\n \tbp->parent->port_id = rte_le_to_cpu_16(resp->port_id);\n \n \tflags = rte_le_to_cpu_16(resp->flags);\n+\n+\t/* check for the mulit-host support */\n+\tif (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_MULTI_HOST) {\n+\t\tbp->flags |= BNXT_FLAG_MULTI_HOST;\n+\t\tbp->multi_host_pf_pci_id = resp->pci_id;\n+\t\tPMD_DRV_LOG(INFO, \"Mult-Host system Parent PCI-ID: 0x%x\\n\", resp->pci_id);\n+\t}\n+\n \t/* check for the multi-root support */\n \tif (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_MULTI_ROOT) {\n \t\tbp->flags2 |= BNXT_FLAGS2_MULTIROOT_EN;\ndiff --git a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\nindex b696b6dc3e..274e935a1f 100644\n--- a/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n+++ b/drivers/net/bnxt/tf_ulp/bnxt_ulp.c\n@@ -641,6 +641,49 @@ ulp_ctx_shared_session_close(struct bnxt *bp,\n \tbnxt_ulp_session_tfp_reset(session, session_type);\n }\n \n+static int32_t\n+ulp_ctx_mh_get_session_name(struct bnxt *bp,\n+\t\t\t struct tf_open_session_parms *parms)\n+{\n+\tint32_t\trc = 0;\n+\tunsigned int domain = 0, bus = 0, slot = 0, device = 0;\n+\trc = sscanf(parms->ctrl_chan_name,\n+\t\t \"%x:%x:%x.%u\",\n+\t\t &domain,\n+\t\t &bus,\n+\t\t &slot,\n+\t\t &device);\n+\tif (rc != 4) {\n+\t\t/* PCI Domain not provided (optional in DPDK), thus we\n+\t\t * force domain to 0 and recheck.\n+\t\t */\n+\t\tdomain = 0;\n+\t\t/* Check parsing of bus/slot/device */\n+\t\trc = sscanf(parms->ctrl_chan_name,\n+\t\t\t \"%x:%x.%u\",\n+\t\t\t &bus,\n+\t\t\t &slot,\n+\t\t\t &device);\n+\t\tif (rc != 3) {\n+\t\t\tBNXT_TF_DBG(DEBUG,\n+\t\t\t\t \"Failed to scan device ctrl_chan_name\\n\");\n+\t\t\treturn -EINVAL;\n+\t\t}\n+\t}\n+\n+\t/* change domain name for multi-host system */\n+\tdomain = domain + (0xf & bp->multi_host_pf_pci_id);\n+\tsprintf(parms->ctrl_chan_name,\n+\t\t\"%x:%x:%x.%u\",\n+\t\tdomain,\n+\t\tbus,\n+\t\tslot,\n+\t\tdevice);\n+\tBNXT_TF_DBG(DEBUG,\n+\t\t \"Session name for Multi-Host: ctrl_chan_name:%s\\n\", parms->ctrl_chan_name);\n+\treturn 0;\n+}\n+\n static int32_t\n ulp_ctx_shared_session_open(struct bnxt *bp,\n \t\t\t enum bnxt_ulp_session_type session_type,\n@@ -664,6 +707,14 @@ ulp_ctx_shared_session_open(struct bnxt *bp,\n \t\t\t ethdev->data->port_id, rc);\n \t\treturn rc;\n \t}\n+\n+\t/* On multi-host system, adjust ctrl_chan_name to avoid confliction */\n+\tif (BNXT_MH(bp)) {\n+\t\trc = ulp_ctx_mh_get_session_name(bp, &parms);\n+\t\tif (rc)\n+\t\t\treturn rc;\n+\t}\n+\n \tresources = &parms.resources;\n \n \t/*\n@@ -835,6 +886,13 @@ ulp_ctx_session_open(struct bnxt *bp,\n \t\treturn rc;\n \t}\n \n+\t/* On multi-host system, adjust ctrl_chan_name to avoid confliction */\n+\tif (BNXT_MH(bp)) {\n+\t\trc = ulp_ctx_mh_get_session_name(bp, ¶ms);\n+\t\tif (rc)\n+\t\t\treturn rc;\n+\t}\n+\n \trc = bnxt_ulp_cntxt_app_id_get(bp->ulp_ctx, &app_id);\n \tif (rc) {\n \t\tBNXT_TF_DBG(ERR, \"Unable to get the app id from ulp.\\n\");\n", "prefixes": [ "5/7" ] }{ "id": 136547, "url": "