get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 74790,
    "url": "http://patches.dpdk.org/api/patches/74790/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20200724202315.19533-2-patrick.keroulas@radio-canada.ca/",
    "project": {
        "id": 1,
        "url": "http://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": "<20200724202315.19533-2-patrick.keroulas@radio-canada.ca>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20200724202315.19533-2-patrick.keroulas@radio-canada.ca",
    "date": "2020-07-24T20:23:12",
    "name": "[[PATCH,v3,1/4] net/mlx5: query device frequency",
    "commit_ref": null,
    "pull_url": null,
    "state": "changes-requested",
    "archived": true,
    "hash": "b565a215c635a02dcaee3aa4a989c02b39d5038a",
    "submitter": {
        "id": 1776,
        "url": "http://patches.dpdk.org/api/people/1776/?format=api",
        "name": "Patrick Keroulas",
        "email": "patrick.keroulas@radio-canada.ca"
    },
    "delegate": {
        "id": 319,
        "url": "http://patches.dpdk.org/api/users/319/?format=api",
        "username": "fyigit",
        "first_name": "Ferruh",
        "last_name": "Yigit",
        "email": "ferruh.yigit@amd.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20200724202315.19533-2-patrick.keroulas@radio-canada.ca/mbox/",
    "series": [
        {
            "id": 11294,
            "url": "http://patches.dpdk.org/api/series/11294/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=11294",
            "date": "2020-07-24T20:23:11",
            "name": "pdump HW Rx timestamps for mlx5",
            "version": 3,
            "mbox": "http://patches.dpdk.org/series/11294/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/74790/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/74790/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 DBFE7A0526;\n\tFri, 24 Jul 2020 22:23:44 +0200 (CEST)",
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id BD7CC1C038;\n\tFri, 24 Jul 2020 22:23:35 +0200 (CEST)",
            "from mail-qk1-f196.google.com (mail-qk1-f196.google.com\n [209.85.222.196]) by dpdk.org (Postfix) with ESMTP id 5F7621C030\n for <dev@dpdk.org>; Fri, 24 Jul 2020 22:23:33 +0200 (CEST)",
            "by mail-qk1-f196.google.com with SMTP id l6so9837721qkc.6\n for <dev@dpdk.org>; Fri, 24 Jul 2020 13:23:33 -0700 (PDT)",
            "from localhost.localdomain\n (modemcable246.10-73-45.static.videotron.ca. [45.73.10.246])\n by smtp.gmail.com with ESMTPSA id f7sm5216089qkj.32.2020.07.24.13.23.31\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Fri, 24 Jul 2020 13:23:32 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=radio-canada-ca.20150623.gappssmtp.com; s=20150623;\n h=from:to:cc:subject:date:message-id:in-reply-to:references;\n bh=aVyAg4dqd0OS+9KW6F8yVjmtF/I7QUySF01v+nol8b8=;\n b=r8pGnndy1OF2aqXFezvAAaQDsx4poxKTAmMTGxxDxT1c9ZYgT5zZYpyNBajfEPSh6O\n 8L4xwpzKRBL+SCfeCHad2bhvKJ1Cgq86fE5/5DkGwECdurZQ9yyZeWSJajEwqpI5FLy1\n 8rpPy+dWqb6JFYHDrhuaYUEAJch2r/SWjAIrkhxLR/9mXGp6qG35Qqi5cBVfe4MjLgMN\n IGgtU+clx58uSkZXAji8mf3RLwTFmdR6eIkjZqk09C+qJ4JZU55awLNq1oH1FeToG4f8\n zxrGn50vsVDiixeTjJi0315sgu7Q4HdyXHeTbNHCPVZj7cGAmhzKwezsKG4yBYoHQFuP\n /RsA==",
        "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=aVyAg4dqd0OS+9KW6F8yVjmtF/I7QUySF01v+nol8b8=;\n b=HoFAbECmn4w8BwTXOZRxDbPP3kWMW5rYis/0OXmFWU3eB205aMM2e1SAVJdCC5vN6r\n nH7jmB4l+XV4NCt3QRBdQG46iryotJpuwg8QBBZbO3pvYmeccSY8U2Gxe+1eX8oK4wfs\n 4mFfyBw9jd6JSsCHIogif9I01RDKYxEni/tRi3OlmJegOEqLkgoHpHamN3lY7R1Fj3b/\n ivO33QiblZy5Qz0AtbJZjeey30hS6HKont5jsIrr5r2ZuKdW5c/EUPP4UqoUWtwqqqYG\n Q7ywccFtPn7kD9A/OPyiVWh+uvoOLReeh2kbxyTy34osARs5ZDXEUfvwj/DNuJPPq9ZH\n 0nKQ==",
        "X-Gm-Message-State": "AOAM533/zm2Yfp8IH4A3Oieab8jK82Myd96sSAKd+vXvCHH3HndAFEJL\n 5hySWX7CfTodoMbY9YTpdvTlz6r+/TI=",
        "X-Google-Smtp-Source": "\n ABdhPJzubse5x4Iyz9ODIF8pqviN9deqOojAZtdyXatT2W4n+hj4dHJ6Fgj6MAYzq7oiQf27Uqxusg==",
        "X-Received": "by 2002:a05:620a:699:: with SMTP id\n f25mr11529895qkh.200.1595622212606;\n Fri, 24 Jul 2020 13:23:32 -0700 (PDT)",
        "From": "Patrick Keroulas <patrick.keroulas@radio-canada.ca>",
        "To": "dev@dpdk.org",
        "Cc": "Patrick Keroulas <patrick.keroulas@radio-canada.ca>",
        "Date": "Fri, 24 Jul 2020 16:23:12 -0400",
        "Message-Id": "<20200724202315.19533-2-patrick.keroulas@radio-canada.ca>",
        "X-Mailer": "git-send-email 2.17.1",
        "In-Reply-To": "<20200724202315.19533-1-patrick.keroulas@radio-canada.ca>",
        "References": "<20200724202315.19533-1-patrick.keroulas@radio-canada.ca>",
        "Subject": "[dpdk-dev] [[PATCH v3 1/4] net/mlx5: query device frequency",
        "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": "Get clock frequency (constant) from HCA attributes and add an accessor.\n\nSigned-off-by: Patrick Keroulas <patrick.keroulas@radio-canada.ca>\n---\n drivers/common/mlx5/mlx5_devx_cmds.c    |  2 ++\n drivers/common/mlx5/mlx5_devx_cmds.h    |  1 +\n drivers/net/mlx5/linux/mlx5_ethdev_os.c | 22 ++++++++++++++++++++++\n drivers/net/mlx5/linux/mlx5_os.c        |  1 +\n drivers/net/mlx5/mlx5.h                 |  1 +\n 5 files changed, 27 insertions(+)",
    "diff": "diff --git a/drivers/common/mlx5/mlx5_devx_cmds.c b/drivers/common/mlx5/mlx5_devx_cmds.c\nindex d1c674c7cf..e6671e3122 100644\n--- a/drivers/common/mlx5/mlx5_devx_cmds.c\n+++ b/drivers/common/mlx5/mlx5_devx_cmds.c\n@@ -673,6 +673,8 @@ mlx5_devx_cmd_query_hca_attr(void *ctx,\n \t\t\tMLX5_GET(cmd_hca_cap, hcattr, flow_counter_bulk_alloc);\n \tattr->flow_counters_dump = MLX5_GET(cmd_hca_cap, hcattr,\n \t\t\t\t\t    flow_counters_dump);\n+\tattr->device_frequency_khz = MLX5_GET(cmd_hca_cap, hcattr,\n+\t\t\t\t\t    device_frequency_khz);\n \tattr->log_max_rqt_size = MLX5_GET(cmd_hca_cap, hcattr,\n \t\t\t\t\t  log_max_rqt_size);\n \tattr->eswitch_manager = MLX5_GET(cmd_hca_cap, hcattr, eswitch_manager);\ndiff --git a/drivers/common/mlx5/mlx5_devx_cmds.h b/drivers/common/mlx5/mlx5_devx_cmds.h\nindex 528cb7bdd1..cbe450c4b1 100644\n--- a/drivers/common/mlx5/mlx5_devx_cmds.h\n+++ b/drivers/common/mlx5/mlx5_devx_cmds.h\n@@ -87,6 +87,7 @@ struct mlx5_hca_attr {\n \tuint32_t lro_timer_supported_periods[MLX5_LRO_NUM_SUPP_PERIODS];\n \tuint32_t flex_parser_protocols;\n \tuint32_t hairpin:1;\n+\tuint32_t device_frequency_khz:20;\n \tuint32_t log_max_hairpin_queues:5;\n \tuint32_t log_max_hairpin_wq_data_sz:5;\n \tuint32_t log_max_hairpin_num_packets:5;\ndiff --git a/drivers/net/mlx5/linux/mlx5_ethdev_os.c b/drivers/net/mlx5/linux/mlx5_ethdev_os.c\nindex 3d3dd2e862..628a909c8d 100644\n--- a/drivers/net/mlx5/linux/mlx5_ethdev_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_ethdev_os.c\n@@ -301,6 +301,28 @@ mlx5_read_clock(struct rte_eth_dev *dev, uint64_t *clock)\n \treturn 0;\n }\n \n+/**\n+ * Get the clock frequency of ethernet device, in Hz\n+ *\n+ * @param dev\n+ *   Pointer to Ethernet device structure.\n+ * @param[out] freq\n+ *   Pointer to the device clock frequency.\n+ *\n+ * @return\n+ *   0 if the clock has correctly been read\n+ *   The value of errno in case of error\n+ */\n+int\n+mlx5_get_clock_freq(struct rte_eth_dev *dev, uint64_t *freq)\n+{\n+\tstruct mlx5_priv *priv = dev->data->dev_private;\n+\n+\t*freq = priv->config.hca_attr.device_frequency_khz * 1000;\n+\n+\treturn 0;\n+}\n+\n /**\n  * Retrieve the master device for representor in the same switch domain.\n  *\ndiff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c\nindex fa3b02787e..234e95dbb1 100644\n--- a/drivers/net/mlx5/linux/mlx5_os.c\n+++ b/drivers/net/mlx5/linux/mlx5_os.c\n@@ -2342,6 +2342,7 @@ const struct eth_dev_ops mlx5_os_dev_ops = {\n \t.fw_version_get = mlx5_fw_version_get,\n \t.dev_infos_get = mlx5_dev_infos_get,\n \t.read_clock = mlx5_txpp_read_clock,\n+\t.get_clock_freq = mlx5_get_clock_freq,\n \t.dev_supported_ptypes_get = mlx5_dev_supported_ptypes_get,\n \t.vlan_filter_set = mlx5_vlan_filter_set,\n \t.rx_queue_setup = mlx5_rx_queue_setup,\ndiff --git a/drivers/net/mlx5/mlx5.h b/drivers/net/mlx5/mlx5.h\nindex a92194d2dd..0ccfb6b8d9 100644\n--- a/drivers/net/mlx5/mlx5.h\n+++ b/drivers/net/mlx5/mlx5.h\n@@ -820,6 +820,7 @@ int mlx5_get_mac(struct rte_eth_dev *dev, uint8_t (*mac)[RTE_ETHER_ADDR_LEN]);\n int mlx5_get_mtu(struct rte_eth_dev *dev, uint16_t *mtu);\n int mlx5_set_mtu(struct rte_eth_dev *dev, uint16_t mtu);\n int mlx5_read_clock(struct rte_eth_dev *dev, uint64_t *clock);\n+int mlx5_get_clock_freq(struct rte_eth_dev *dev, uint64_t *freq);\n int mlx5_link_update(struct rte_eth_dev *dev, int wait_to_complete);\n int mlx5_dev_get_flow_ctrl(struct rte_eth_dev *dev,\n \t\t\t   struct rte_eth_fc_conf *fc_conf);\n",
    "prefixes": [
        "[PATCH",
        "v3",
        "1/4"
    ]
}