get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 68498,
    "url": "https://patches.dpdk.org/api/patches/68498/?format=api",
    "web_url": "https://patches.dpdk.org/project/dpdk/patch/1586938751-32808-14-git-send-email-venkatkumar.duvvuru@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": "<1586938751-32808-14-git-send-email-venkatkumar.duvvuru@broadcom.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1586938751-32808-14-git-send-email-venkatkumar.duvvuru@broadcom.com",
    "date": "2020-04-15T08:18:50",
    "name": "[v4,13/34] net/bnxt: fetch SVIF information from the firmware",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "3e297ffdae3e4d22f797634794aa4d6c3758b711",
    "submitter": {
        "id": 1635,
        "url": "https://patches.dpdk.org/api/people/1635/?format=api",
        "name": "Venkat Duvvuru",
        "email": "venkatkumar.duvvuru@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/1586938751-32808-14-git-send-email-venkatkumar.duvvuru@broadcom.com/mbox/",
    "series": [
        {
            "id": 9386,
            "url": "https://patches.dpdk.org/api/series/9386/?format=api",
            "web_url": "https://patches.dpdk.org/project/dpdk/list/?series=9386",
            "date": "2020-04-15T08:18:37",
            "name": "add support for host based flow table management",
            "version": 4,
            "mbox": "https://patches.dpdk.org/series/9386/mbox/"
        }
    ],
    "comments": "https://patches.dpdk.org/api/patches/68498/comments/",
    "check": "fail",
    "checks": "https://patches.dpdk.org/api/patches/68498/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 dpdk.org (dpdk.org [92.243.14.124])\n\tby inbox.dpdk.org (Postfix) with ESMTP id 04335A0563;\n\tWed, 15 Apr 2020 10:22:31 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 205711D57A;\n\tWed, 15 Apr 2020 10:20:00 +0200 (CEST)",
            "from mail-pj1-f65.google.com (mail-pj1-f65.google.com\n [209.85.216.65]) by dpdk.org (Postfix) with ESMTP id 8AA8C1D571\n for <dev@dpdk.org>; Wed, 15 Apr 2020 10:19:58 +0200 (CEST)",
            "by mail-pj1-f65.google.com with SMTP id cl8so5273386pjb.3\n for <dev@dpdk.org>; Wed, 15 Apr 2020 01:19:58 -0700 (PDT)",
            "from S60.dhcp.broadcom.net ([192.19.234.250])\n by smtp.gmail.com with ESMTPSA id fy21sm3819019pjb.25.2020.04.15.01.19.55\n (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128);\n Wed, 15 Apr 2020 01:19:56 -0700 (PDT)"
        ],
        "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 bh=tgxxYMDem7sth51ch3/XYkbBQOgSVvzVDRt93XblHmk=;\n b=Cw1VSIAbosg/xA+Lyu1HwV+udlzVEkjqwo3eWPFxfN54hd6wMgda4qb1MZaXvvvNDi\n mC7NWBldm2Fg3wl+BePNKRV9JFqAivWE0wHZMR0i79mOe5CVbST+F33NkUk5CDWAfPHo\n skGL70pt/bJmaZoKHznn/7bshj72MvcRGxnQg=",
        "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;\n bh=tgxxYMDem7sth51ch3/XYkbBQOgSVvzVDRt93XblHmk=;\n b=SxxauxrYuRg10sti5TzhFjpGvcceHduZDruhqWx1SSFyXfprswS9L5nr9iQgYjYooV\n bclBvlEAPxZVxwdOyUycR6F7DrccOy1stoRpP4gQhY9MOZ/l4nXB/N4TJWIqxxrdpEz0\n JujTvO1n7V7+za7TI7q94mlm1LD1k8L20Em9OpNrybjdw2QueYbxdvzN1o7nJNr0y8+3\n Rxw++UYxGHx2RwH0pRhFP3kG53UcPPESntHEe20sJxq5r64ubrlEcj8+IdmSsjHiGmFt\n LZnH4x7wAqXIKKUWG2CAFyjapF/0vH+CIJdgIO/JXQJ5hEY0Xrbc6zzyREwBo/M7MdPF\n U+uA==",
        "X-Gm-Message-State": "AGi0Pua4pL1GwAcozM6u93n0tjju7CugVRiUCkxLnWD/i6PZb6JIeHY1\n 51HZwbY+irCbcFjuWwlQtl5K+1DhAR39y7Wb9ARdnVozjeMkI996Q5/1wokInq5+/+kBePDqYWX\n m58T2aelvJVJrDFwPRGO6tcia7GDUG2Ge3E14AcnfXpxlu32o+grNbdzBMgzDfNjZFEcB",
        "X-Google-Smtp-Source": "\n APiQypJZmIyhVe7/hdUJ52P5QVQ8Yj3sQWD2E0WiwM6/H+I65t/cAzYC9R/I/2ckV0eHtzvH2NDayA==",
        "X-Received": "by 2002:a17:90a:246d:: with SMTP id\n h100mr5165698pje.58.1586938797228;\n Wed, 15 Apr 2020 01:19:57 -0700 (PDT)",
        "From": "Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>",
        "To": "dev@dpdk.org",
        "Cc": "Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>",
        "Date": "Wed, 15 Apr 2020 13:48:50 +0530",
        "Message-Id": "\n <1586938751-32808-14-git-send-email-venkatkumar.duvvuru@broadcom.com>",
        "X-Mailer": "git-send-email 2.7.4",
        "In-Reply-To": "\n <1586938751-32808-1-git-send-email-venkatkumar.duvvuru@broadcom.com>",
        "References": "\n <1586852011-37536-1-git-send-email-venkatkumar.duvvuru@broadcom.com>\n <1586938751-32808-1-git-send-email-venkatkumar.duvvuru@broadcom.com>",
        "Subject": "[dpdk-dev] [PATCH v4 13/34] net/bnxt: fetch SVIF information from\n\tthe firmware",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "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": "SVIF (source virtual interface) is used to represent a physical port,\nphysical function, or a virtual function. SVIF is compared during L2\ncontext and exact match lookups in TX direction. SVIF is masked for\nport information during L2 context and exact match lookup in RX direction.\nHence, driver needs this SVIF information to program L2 context and Exact\nmatch tables.\n\nSigned-off-by: Venkat Duvvuru <venkatkumar.duvvuru@broadcom.com>\nReviewed-by: Lance Richardson <lance.richardson@broadcom.com>\nReviewed-by: Ajit Kumar Khaparde <ajit.khaparde@broadcom.com>\n---\n drivers/net/bnxt/bnxt.h        |  6 ++++++\n drivers/net/bnxt/bnxt_ethdev.c | 14 ++++++++++++++\n drivers/net/bnxt/bnxt_hwrm.c   | 34 ++++++++++++++++++++++++++++++++++\n drivers/net/bnxt/bnxt_hwrm.h   |  1 +\n 4 files changed, 55 insertions(+)",
    "diff": "diff --git a/drivers/net/bnxt/bnxt.h b/drivers/net/bnxt/bnxt.h\nindex a8e57ca..2ed56f4 100644\n--- a/drivers/net/bnxt/bnxt.h\n+++ b/drivers/net/bnxt/bnxt.h\n@@ -682,6 +682,9 @@ struct bnxt {\n #define BNXT_FLOW_ID_MASK\t0x0000ffff\n \tstruct bnxt_mark_info\t*mark_table;\n \n+#define\tBNXT_SVIF_INVALID\t0xFFFF\n+\tuint16_t\t\tfunc_svif;\n+\tuint16_t\t\tport_svif;\n \tstruct tf               tfp;\n };\n \n@@ -723,4 +726,7 @@ extern int bnxt_logtype_driver;\n \n #define PMD_DRV_LOG(level, fmt, args...) \\\n \t  PMD_DRV_LOG_RAW(level, fmt, ## args)\n+\n+uint16_t bnxt_get_svif(uint16_t port_id, bool func_svif);\n+\n #endif\ndiff --git a/drivers/net/bnxt/bnxt_ethdev.c b/drivers/net/bnxt/bnxt_ethdev.c\nindex 93d0062..f3cc745 100644\n--- a/drivers/net/bnxt/bnxt_ethdev.c\n+++ b/drivers/net/bnxt/bnxt_ethdev.c\n@@ -4696,6 +4696,18 @@ static void bnxt_config_vf_req_fwd(struct bnxt *bp)\n \tALLOW_FUNC(HWRM_VNIC_TPA_CFG);\n }\n \n+uint16_t\n+bnxt_get_svif(uint16_t port_id, bool func_svif)\n+{\n+\tstruct rte_eth_dev *eth_dev;\n+\tstruct bnxt *bp;\n+\n+\teth_dev = &rte_eth_devices[port_id];\n+\tbp = eth_dev->data->dev_private;\n+\n+\treturn func_svif ? bp->func_svif : bp->port_svif;\n+}\n+\n static int bnxt_init_fw(struct bnxt *bp)\n {\n \tuint16_t mtu;\n@@ -4731,6 +4743,8 @@ static int bnxt_init_fw(struct bnxt *bp)\n \tif (rc)\n \t\treturn rc;\n \n+\tbnxt_hwrm_port_mac_qcfg(bp);\n+\n \trc = bnxt_hwrm_cfa_adv_flow_mgmt_qcaps(bp);\n \tif (rc)\n \t\treturn rc;\ndiff --git a/drivers/net/bnxt/bnxt_hwrm.c b/drivers/net/bnxt/bnxt_hwrm.c\nindex 443553b..0eaf917 100644\n--- a/drivers/net/bnxt/bnxt_hwrm.c\n+++ b/drivers/net/bnxt/bnxt_hwrm.c\n@@ -3010,6 +3010,8 @@ int bnxt_hwrm_func_qcfg(struct bnxt *bp, uint16_t *mtu)\n \tstruct hwrm_func_qcfg_output *resp = bp->hwrm_cmd_resp_addr;\n \tuint16_t flags;\n \tint rc = 0;\n+\tbp->func_svif = BNXT_SVIF_INVALID;\n+\tuint16_t svif_info;\n \n \tHWRM_PREP(&req, HWRM_FUNC_QCFG, BNXT_USE_CHIMP_MB);\n \treq.fid = rte_cpu_to_le_16(0xffff);\n@@ -3020,6 +3022,12 @@ int bnxt_hwrm_func_qcfg(struct bnxt *bp, uint16_t *mtu)\n \n \t/* Hard Coded.. 0xfff VLAN ID mask */\n \tbp->vlan = rte_le_to_cpu_16(resp->vlan) & 0xfff;\n+\n+\tsvif_info = rte_le_to_cpu_16(resp->svif_info);\n+\tif (svif_info & HWRM_FUNC_QCFG_OUTPUT_SVIF_INFO_SVIF_VALID)\n+\t\tbp->func_svif =\tsvif_info &\n+\t\t\t\t     HWRM_FUNC_QCFG_OUTPUT_SVIF_INFO_SVIF_MASK;\n+\n \tflags = rte_le_to_cpu_16(resp->flags);\n \tif (BNXT_PF(bp) && (flags & HWRM_FUNC_QCFG_OUTPUT_FLAGS_MULTI_HOST))\n \t\tbp->flags |= BNXT_FLAG_MULTI_HOST;\n@@ -3056,6 +3064,32 @@ int bnxt_hwrm_func_qcfg(struct bnxt *bp, uint16_t *mtu)\n \treturn rc;\n }\n \n+int bnxt_hwrm_port_mac_qcfg(struct bnxt *bp)\n+{\n+\tstruct hwrm_port_mac_qcfg_input req = {0};\n+\tstruct hwrm_port_mac_qcfg_output *resp = bp->hwrm_cmd_resp_addr;\n+\tuint16_t port_svif_info;\n+\tint rc;\n+\n+\tbp->port_svif = BNXT_SVIF_INVALID;\n+\n+\tHWRM_PREP(&req, HWRM_PORT_MAC_QCFG, BNXT_USE_CHIMP_MB);\n+\n+\trc = bnxt_hwrm_send_message(bp, &req, sizeof(req), BNXT_USE_CHIMP_MB);\n+\n+\tHWRM_CHECK_RESULT();\n+\n+\tport_svif_info = rte_le_to_cpu_16(resp->port_svif_info);\n+\tif (port_svif_info &\n+\t    HWRM_PORT_MAC_QCFG_OUTPUT_PORT_SVIF_INFO_PORT_SVIF_VALID)\n+\t\tbp->port_svif = port_svif_info &\n+\t\t\tHWRM_PORT_MAC_QCFG_OUTPUT_PORT_SVIF_INFO_PORT_SVIF_MASK;\n+\n+\tHWRM_UNLOCK();\n+\n+\treturn 0;\n+}\n+\n static void copy_func_cfg_to_qcaps(struct hwrm_func_cfg_input *fcfg,\n \t\t\t\t   struct hwrm_func_qcaps_output *qcaps)\n {\ndiff --git a/drivers/net/bnxt/bnxt_hwrm.h b/drivers/net/bnxt/bnxt_hwrm.h\nindex df7aa74..0079d8a 100644\n--- a/drivers/net/bnxt/bnxt_hwrm.h\n+++ b/drivers/net/bnxt/bnxt_hwrm.h\n@@ -193,6 +193,7 @@ int bnxt_hwrm_port_qstats(struct bnxt *bp);\n int bnxt_hwrm_port_clr_stats(struct bnxt *bp);\n int bnxt_hwrm_port_led_cfg(struct bnxt *bp, bool led_on);\n int bnxt_hwrm_port_led_qcaps(struct bnxt *bp);\n+int bnxt_hwrm_port_mac_qcfg(struct bnxt *bp);\n int bnxt_hwrm_func_cfg_vf_set_flags(struct bnxt *bp, uint16_t vf,\n \t\t\t\t\tuint32_t flags);\n void vf_vnic_set_rxmask_cb(struct bnxt_vnic_info *vnic, void *flagp);\n",
    "prefixes": [
        "v4",
        "13/34"
    ]
}