get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 97396,
    "url": "http://patches.dpdk.org/api/patches/97396/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20210826183301.333442-3-bruce.richardson@intel.com/",
    "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": "<20210826183301.333442-3-bruce.richardson@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20210826183301.333442-3-bruce.richardson@intel.com",
    "date": "2021-08-26T18:32:56",
    "name": "[RFC,2/7] dmadev: remove selftest support",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "f001f66190190bb0ca892c639f2aa5c4dafc53fd",
    "submitter": {
        "id": 20,
        "url": "http://patches.dpdk.org/api/people/20/?format=api",
        "name": "Bruce Richardson",
        "email": "bruce.richardson@intel.com"
    },
    "delegate": {
        "id": 1,
        "url": "http://patches.dpdk.org/api/users/1/?format=api",
        "username": "tmonjalo",
        "first_name": "Thomas",
        "last_name": "Monjalon",
        "email": "thomas@monjalon.net"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20210826183301.333442-3-bruce.richardson@intel.com/mbox/",
    "series": [
        {
            "id": 18477,
            "url": "http://patches.dpdk.org/api/series/18477/?format=api",
            "web_url": "http://patches.dpdk.org/project/dpdk/list/?series=18477",
            "date": "2021-08-26T18:32:54",
            "name": "add test suite for DMA drivers",
            "version": 1,
            "mbox": "http://patches.dpdk.org/series/18477/mbox/"
        }
    ],
    "comments": "http://patches.dpdk.org/api/patches/97396/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/97396/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 A0151A0C43;\n\tThu, 26 Aug 2021 20:33:31 +0200 (CEST)",
            "from [217.70.189.124] (localhost [127.0.0.1])\n\tby mails.dpdk.org (Postfix) with ESMTP id 9A2B741241;\n\tThu, 26 Aug 2021 20:33:23 +0200 (CEST)",
            "from mga03.intel.com (mga03.intel.com [134.134.136.65])\n by mails.dpdk.org (Postfix) with ESMTP id A4E3641241\n for <dev@dpdk.org>; Thu, 26 Aug 2021 20:33:21 +0200 (CEST)",
            "from fmsmga006.fm.intel.com ([10.253.24.20])\n by orsmga103.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;\n 26 Aug 2021 11:33:20 -0700",
            "from silpixa00399126.ir.intel.com ([10.237.223.29])\n by fmsmga006.fm.intel.com with ESMTP; 26 Aug 2021 11:33:19 -0700"
        ],
        "X-IronPort-AV": [
            "E=McAfee;i=\"6200,9189,10088\"; a=\"217847125\"",
            "E=Sophos;i=\"5.84,354,1620716400\"; d=\"scan'208\";a=\"217847125\"",
            "E=Sophos;i=\"5.84,354,1620716400\"; d=\"scan'208\";a=\"685030808\""
        ],
        "X-ExtLoop1": "1",
        "From": "Bruce Richardson <bruce.richardson@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "conor.walsh@intel.com, kevin.laatz@intel.com,\n Chengwen Feng <fengchengwen@huawei.com>, jerinj@marvell.com,\n Bruce Richardson <bruce.richardson@intel.com>",
        "Date": "Thu, 26 Aug 2021 19:32:56 +0100",
        "Message-Id": "<20210826183301.333442-3-bruce.richardson@intel.com>",
        "X-Mailer": "git-send-email 2.30.2",
        "In-Reply-To": "<20210826183301.333442-1-bruce.richardson@intel.com>",
        "References": "<20210826183301.333442-1-bruce.richardson@intel.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Subject": "[dpdk-dev] [RFC PATCH 2/7] dmadev: remove selftest support",
        "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": "Since the dmadev provides a common API for all devices, there should be\nno need to drivers to perform their own selftests, but instead should be\ntested by the common tests in the autotest binary.\n\nSigned-off-by: Bruce Richardson <bruce.richardson@intel.com>\n---\n app/test/test_dmadev.c                 | 27 ++++-------------\n drivers/dma/skeleton/skeleton_dmadev.c | 41 +++-----------------------\n drivers/dma/skeleton/skeleton_dmadev.h |  3 --\n lib/dmadev/rte_dmadev.c                | 10 -------\n lib/dmadev/rte_dmadev.h                | 18 -----------\n lib/dmadev/rte_dmadev_core.h           |  4 ---\n lib/dmadev/version.map                 |  1 -\n 7 files changed, 9 insertions(+), 95 deletions(-)",
    "diff": "diff --git a/app/test/test_dmadev.c b/app/test/test_dmadev.c\nindex 62fe27b7e8..683e024a56 100644\n--- a/app/test/test_dmadev.c\n+++ b/app/test/test_dmadev.c\n@@ -13,7 +13,7 @@\n extern int test_dmadev_api(uint16_t dev_id);\n \n static int\n-test_dmadev_selftest_skeleton(void)\n+test_apis(void)\n {\n \tconst char *pmd = \"dma_skeleton\";\n \tint id;\n@@ -32,30 +32,13 @@ test_dmadev_selftest_skeleton(void)\n }\n \n static int\n-test_dmadev_selftests(void)\n+test_dmadev(void)\n {\n-\tconst int count = rte_dmadev_count();\n-\tint ret = 0;\n-\tint i;\n-\n \t/* basic sanity on dmadev infrastructure */\n-\tif (test_dmadev_selftest_skeleton() < 0)\n+\tif (test_apis() < 0)\n \t\treturn -1;\n \n-\t/* now run self-test on all dmadevs */\n-\tif (count > 0)\n-\t\tprintf(\"\\n### Run selftest on each available dmadev\\n\");\n-\tfor (i = 0; i < RTE_DMADEV_MAX_DEVS; i++) {\n-\t\tif (rte_dmadevices[i].state != RTE_DMADEV_ATTACHED)\n-\t\t\tcontinue;\n-\t\tint result = rte_dmadev_selftest(i);\n-\t\tprintf(\"dmadev %u (%s) selftest: %s\\n\", i,\n-\t\t\trte_dmadevices[i].data->dev_name,\n-\t\t\tresult == 0 ? \"Passed\" : \"Failed\");\n-\t\tret |= result;\n-\t}\n-\n-\treturn ret;\n+\treturn 0;\n }\n \n-REGISTER_TEST_COMMAND(dmadev_autotest, test_dmadev_selftests);\n+REGISTER_TEST_COMMAND(dmadev_autotest, test_dmadev);\ndiff --git a/drivers/dma/skeleton/skeleton_dmadev.c b/drivers/dma/skeleton/skeleton_dmadev.c\nindex ad129c578c..85ba4dae54 100644\n--- a/drivers/dma/skeleton/skeleton_dmadev.c\n+++ b/drivers/dma/skeleton/skeleton_dmadev.c\n@@ -30,12 +30,6 @@\n /* Count of instances */\n static uint16_t skeldma_init_once;\n \n-int\n-test_dma_skeleton(uint16_t dev_id __rte_unused)\n-{\n-\treturn 0;\n-}\n-\n static int\n skeldma_info_get(const struct rte_dmadev *dev, struct rte_dmadev_info *dev_info,\n \t\t uint32_t info_sz)\n@@ -436,7 +430,6 @@ static const struct rte_dmadev_ops skeldma_ops = {\n \t.stats_reset = skeldma_stats_reset,\n \n \t.dev_dump = skeldma_dump,\n-\t.dev_selftest = test_dma_skeleton,\n };\n \n static int\n@@ -510,24 +503,11 @@ skeldma_parse_lcore(const char *key __rte_unused,\n \treturn 0;\n }\n \n-static int\n-skeldma_parse_selftest(const char *key __rte_unused,\n-\t\t       const char *value,\n-\t\t       void *opaque)\n-{\n-\tint flag = atoi(value);\n-\tif (flag == 0 || flag == 1)\n-\t\t*(int *)opaque = flag;\n-\treturn 0;\n-}\n-\n static void\n-skeldma_parse_vdev_args(struct rte_vdev_device *vdev,\n-\t\t\tint *lcore_id, int *selftest)\n+skeldma_parse_vdev_args(struct rte_vdev_device *vdev, int *lcore_id)\n {\n \tstatic const char *const args[] = {\n \t\tSKELDMA_ARG_LCORE,\n-\t\tSKELDMA_ARG_SELFTEST,\n \t\tNULL\n \t};\n \n@@ -544,11 +524,7 @@ skeldma_parse_vdev_args(struct rte_vdev_device *vdev,\n \n \t(void)rte_kvargs_process(kvlist, SKELDMA_ARG_LCORE,\n \t\t\t\t skeldma_parse_lcore, lcore_id);\n-\t(void)rte_kvargs_process(kvlist, SKELDMA_ARG_SELFTEST,\n-\t\t\t\t skeldma_parse_selftest, selftest);\n-\n-\tSKELDMA_INFO(\"Parse lcore_id = %d selftest = %d\\n\",\n-\t\t     *lcore_id, *selftest);\n+\tSKELDMA_INFO(\"Parse lcore_id = %d\\n\", *lcore_id);\n \n \trte_kvargs_free(kvlist);\n }\n@@ -558,7 +534,6 @@ skeldma_probe(struct rte_vdev_device *vdev)\n {\n \tconst char *name;\n \tint lcore_id = -1;\n-\tint selftest = 0;\n \tint ret;\n \n \tname = rte_vdev_device_name(vdev);\n@@ -576,17 +551,10 @@ skeldma_probe(struct rte_vdev_device *vdev)\n \t\treturn -EINVAL;\n \t}\n \n-\tskeldma_parse_vdev_args(vdev, &lcore_id, &selftest);\n+\tskeldma_parse_vdev_args(vdev, &lcore_id);\n \n \tret = skeldma_create(name, vdev, lcore_id);\n \tif (ret >= 0) {\n-\t\t/* In case command line argument for 'selftest' was passed;\n-\t\t * if invalid arguments were passed, execution continues but\n-\t\t * without selftest.\n-\t\t */\n-\t\tif (selftest)\n-\t\t\t(void)test_dma_skeleton(ret);\n-\n \t\tSKELDMA_INFO(\"Create %s dmadev lcore-id %d\\n\", name, lcore_id);\n \t\t/* Device instance created; Second instance not possible */\n \t\tskeldma_init_once = 1;\n@@ -623,5 +591,4 @@ static struct rte_vdev_driver skeldma_pmd_drv = {\n RTE_LOG_REGISTER_DEFAULT(skeldma_logtype, INFO);\n RTE_PMD_REGISTER_VDEV(dma_skeleton, skeldma_pmd_drv);\n RTE_PMD_REGISTER_PARAM_STRING(dma_skeleton,\n-\t\tSKELDMA_ARG_LCORE \"=<uint16> \"\n-\t\tSKELDMA_ARG_SELFTEST \"=<0|1> \");\n+\t\tSKELDMA_ARG_LCORE \"=<uint16> \");\ndiff --git a/drivers/dma/skeleton/skeleton_dmadev.h b/drivers/dma/skeleton/skeleton_dmadev.h\nindex e8a310da18..8cdc2bb0c9 100644\n--- a/drivers/dma/skeleton/skeleton_dmadev.h\n+++ b/drivers/dma/skeleton/skeleton_dmadev.h\n@@ -22,7 +22,6 @@ extern int skeldma_logtype;\n \tSKELDMA_LOG(ERR, fmt, ## args)\n \n #define SKELDMA_ARG_LCORE\t\"lcore\"\n-#define SKELDMA_ARG_SELFTEST\t\"selftest\"\n \n struct skeldma_desc {\n \tvoid *src;\n@@ -71,6 +70,4 @@ struct skeldma_hw {\n \tuint64_t completed_count;\n };\n \n-int test_dma_skeleton(uint16_t dev_id);\n-\n #endif /* __SKELETON_DMADEV_H__ */\ndiff --git a/lib/dmadev/rte_dmadev.c b/lib/dmadev/rte_dmadev.c\nindex 80be485b78..1c946402db 100644\n--- a/lib/dmadev/rte_dmadev.c\n+++ b/lib/dmadev/rte_dmadev.c\n@@ -555,13 +555,3 @@ rte_dmadev_dump(uint16_t dev_id, FILE *f)\n \n \treturn 0;\n }\n-\n-int\n-rte_dmadev_selftest(uint16_t dev_id)\n-{\n-\tstruct rte_dmadev *dev = &rte_dmadevices[dev_id];\n-\n-\tRTE_DMADEV_VALID_DEV_ID_OR_ERR_RET(dev_id, -EINVAL);\n-\tRTE_FUNC_PTR_OR_ERR_RET(*dev->dev_ops->dev_selftest, -ENOTSUP);\n-\treturn (*dev->dev_ops->dev_selftest)(dev_id);\n-}\ndiff --git a/lib/dmadev/rte_dmadev.h b/lib/dmadev/rte_dmadev.h\nindex cf9e4bfa0f..e8f58e9213 100644\n--- a/lib/dmadev/rte_dmadev.h\n+++ b/lib/dmadev/rte_dmadev.h\n@@ -654,24 +654,6 @@ __rte_experimental\n int\n rte_dmadev_dump(uint16_t dev_id, FILE *f);\n \n-/**\n- * @warning\n- * @b EXPERIMENTAL: this API may change without prior notice.\n- *\n- * Trigger the dmadev self test.\n- *\n- * @param dev_id\n- *   The identifier of the device.\n- *\n- * @return\n- *   - 0: selftest successful.\n- *   - -ENOTSUP: if the device doesn't support selftest.\n- *   - other values < 0 on failure.\n- */\n-__rte_experimental\n-int\n-rte_dmadev_selftest(uint16_t dev_id);\n-\n /**\n  * rte_dma_status_code - DMA transfer result status code defines.\n  */\ndiff --git a/lib/dmadev/rte_dmadev_core.h b/lib/dmadev/rte_dmadev_core.h\nindex aa8e622f85..e94aa1c457 100644\n--- a/lib/dmadev/rte_dmadev_core.h\n+++ b/lib/dmadev/rte_dmadev_core.h\n@@ -53,9 +53,6 @@ typedef int (*rte_dmadev_stats_reset_t)(struct rte_dmadev *dev, uint16_t vchan);\n typedef int (*rte_dmadev_dump_t)(const struct rte_dmadev *dev, FILE *f);\n /**< @internal Used to dump internal information. */\n \n-typedef int (*rte_dmadev_selftest_t)(uint16_t dev_id);\n-/**< @internal Used to start dmadev selftest. */\n-\n typedef int (*rte_dmadev_copy_t)(struct rte_dmadev *dev, uint16_t vchan,\n \t\t\t\t rte_iova_t src, rte_iova_t dst,\n \t\t\t\t uint32_t length, uint64_t flags);\n@@ -109,7 +106,6 @@ struct rte_dmadev_ops {\n \trte_dmadev_stats_get_t stats_get;\n \trte_dmadev_stats_reset_t stats_reset;\n \trte_dmadev_dump_t dev_dump;\n-\trte_dmadev_selftest_t dev_selftest;\n };\n \n /**\ndiff --git a/lib/dmadev/version.map b/lib/dmadev/version.map\nindex 86c5e75321..80be592713 100644\n--- a/lib/dmadev/version.map\n+++ b/lib/dmadev/version.map\n@@ -13,7 +13,6 @@ EXPERIMENTAL {\n \trte_dmadev_get_dev_id;\n \trte_dmadev_info_get;\n \trte_dmadev_is_valid_dev;\n-\trte_dmadev_selftest;\n \trte_dmadev_start;\n \trte_dmadev_stats_get;\n \trte_dmadev_stats_reset;\n",
    "prefixes": [
        "RFC",
        "2/7"
    ]
}