get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 39602,
    "url": "http://patches.dpdk.org/api/patches/39602/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/20180509141430.24072-1-kamilx.chalupnik@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": "<20180509141430.24072-1-kamilx.chalupnik@intel.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/20180509141430.24072-1-kamilx.chalupnik@intel.com",
    "date": "2018-05-09T14:14:29",
    "name": "[dpdk-dev,v2,01/14] baseband/turbo_sw: update DPDK to work with FlexRAN 1.4.0",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": true,
    "hash": "8446c51b904ed8c19abb0f367f1068b4cc003127",
    "submitter": {
        "id": 1010,
        "url": "http://patches.dpdk.org/api/people/1010/?format=api",
        "name": "Kamil Chalupnik",
        "email": "kamilx.chalupnik@intel.com"
    },
    "delegate": {
        "id": 22,
        "url": "http://patches.dpdk.org/api/users/22/?format=api",
        "username": "pdelarag",
        "first_name": "Pablo",
        "last_name": "de Lara Guarch",
        "email": "pablo.de.lara.guarch@intel.com"
    },
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/20180509141430.24072-1-kamilx.chalupnik@intel.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/39602/comments/",
    "check": "success",
    "checks": "http://patches.dpdk.org/api/patches/39602/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<dev-bounces@dpdk.org>",
        "X-Original-To": "patchwork@dpdk.org",
        "Delivered-To": "patchwork@dpdk.org",
        "Received": [
            "from [92.243.14.124] (localhost [127.0.0.1])\n\tby dpdk.org (Postfix) with ESMTP id 198141B681;\n\tWed,  9 May 2018 16:14:39 +0200 (CEST)",
            "from mga07.intel.com (mga07.intel.com [134.134.136.100])\n\tby dpdk.org (Postfix) with ESMTP id 13B711B67E\n\tfor <dev@dpdk.org>; Wed,  9 May 2018 16:14:37 +0200 (CEST)",
            "from fmsmga001.fm.intel.com ([10.253.24.23])\n\tby orsmga105.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384;\n\t09 May 2018 07:14:36 -0700",
            "from kchalupx-mobl.ger.corp.intel.com ([10.103.104.151])\n\tby fmsmga001.fm.intel.com with ESMTP; 09 May 2018 07:14:35 -0700"
        ],
        "X-Amp-Result": "SKIPPED(no attachment in message)",
        "X-Amp-File-Uploaded": "False",
        "X-ExtLoop1": "1",
        "X-IronPort-AV": "E=Sophos;i=\"5.49,381,1520924400\"; d=\"scan'208\";a=\"53724991\"",
        "From": "Kamil Chalupnik <kamilx.chalupnik@intel.com>",
        "To": "dev@dpdk.org",
        "Cc": "amr.mokhtar@intel.com,\n\tKamilX Chalupnik <kamilx.chalupnik@intel.com>",
        "Date": "Wed,  9 May 2018 16:14:29 +0200",
        "Message-Id": "<20180509141430.24072-1-kamilx.chalupnik@intel.com>",
        "X-Mailer": "git-send-email 2.9.0.windows.1",
        "In-Reply-To": "<20180426133008.12388-1-kamilx.chalupnik@intel.com>",
        "References": "<20180426133008.12388-1-kamilx.chalupnik@intel.com>",
        "Subject": "[dpdk-dev] [PATCH v2 01/14] baseband/turbo_sw: update DPDK to work\n\twith FlexRAN 1.4.0",
        "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://dpdk.org/ml/options/dev>,\n\t<mailto:dev-request@dpdk.org?subject=unsubscribe>",
        "List-Archive": "<http://dpdk.org/ml/archives/dev/>",
        "List-Post": "<mailto:dev@dpdk.org>",
        "List-Help": "<mailto:dev-request@dpdk.org?subject=help>",
        "List-Subscribe": "<https://dpdk.org/ml/listinfo/dev>,\n\t<mailto:dev-request@dpdk.org?subject=subscribe>",
        "Errors-To": "dev-bounces@dpdk.org",
        "Sender": "\"dev\" <dev-bounces@dpdk.org>"
    },
    "content": "From: KamilX Chalupnik <kamilx.chalupnik@intel.com>\n\nAdjusting BaseBand drivers code to changes in FlexRAN 1.4.0:\n- update usage of crc functions after API changes\n\nUpdate the documentation describing Wireless Baseband Device:\n- FlexRAN releases mapping table added\n- download and build instructions for BBDEV turbo_sw driver in\n  compliance with FlexRAN 1.4.0 release added\n\nSigned-off-by: Kamil Chalupnik <kamilx.chalupnik@intel.com>\nAcked-by: Amr Mokhtar <amr.mokhtar@intel.com>\n---\n doc/guides/bbdevs/turbo_sw.rst                   | 50 ++++++++++++------------\n drivers/baseband/turbo_sw/bbdev_turbo_software.c | 21 +++++-----\n 2 files changed, 35 insertions(+), 36 deletions(-)",
    "diff": "diff --git a/doc/guides/bbdevs/turbo_sw.rst b/doc/guides/bbdevs/turbo_sw.rst\nindex b3fed16..996b2a2 100644\n--- a/doc/guides/bbdevs/turbo_sw.rst\n+++ b/doc/guides/bbdevs/turbo_sw.rst\n@@ -40,24 +40,37 @@ FlexRAN SDK Download\n ~~~~~~~~~~~~~~~~~~~~\n \n To build DPDK with the *turbo_sw* PMD the user is required to download\n-the export controlled ``FlexRAN SDK`` Libraries. An account at Intel Resource\n-Design Center needs to be registered from\n-`<https://www.intel.com/content/www/us/en/design/resource-design-center.html>`_.\n+the export controlled ``FlexRAN SDK`` Libraries. An account at `Intel Resource\n+Design Center <https://www.intel.com/content/www/us/en/design/resource-design-center.html>`_\n+needs to be registered.\n \n Once registered, the user needs to log in, and look for\n-*Intel SWA_SW_FlexRAN_Release_Package R1_3_0* and click for download. Or use\n-this direct download link `<https://cdrd.intel.com/v1/dl/getContent/575367>`_.\n+*Intel FlexRAN Software Release Package 1_4_0* to download or directly through\n+this `link <https://cdrdv2.intel.com/v1/dl/getContent/576288>`_.\n \n After download is complete, the user needs to unpack and compile on their\n system before building DPDK.\n \n+The following table maps DPDK versions with past FlexRAN SDK releases:\n+\n+.. _table_flexran_releases:\n+\n+.. table:: DPDK and FlexRAN SDK releases compliance\n+\n+   =====================  ============================\n+   DPDK version           FlexRAN SDK release\n+   =====================  ============================\n+   18.02                  1.3.0\n+   18.05                  1.4.0\n+   =====================  ============================\n+\n FlexRAN SDK Installation\n ~~~~~~~~~~~~~~~~~~~~~~~~\n \n The following are pre-requisites for building FlexRAN SDK Libraries:\n  (a) An AVX2 supporting machine\n  (b) Windriver TS 2 or CentOS 7 operating systems\n- (c) Intel ICC compiler installed\n+ (c) Intel ICC 17.0.3 compiler installed\n \n The following instructions should be followed in this exact order:\n \n@@ -68,30 +81,19 @@ The following instructions should be followed in this exact order:\n         source <path-to-icc-compiler-install-folder>/linux/bin/compilervars.sh intel64 -platform linux\n \n \n-#. Extract the ``FlexRAN-1.3.0.tar.gz.zip`` package, then run the SDK extractor\n-   script and accept the license:\n+#. Extract the ``576288-576288-intel-swa-sw-flexran-release-package-r1-4-0.zip``\n+   package, then run the SDK extractor script and accept the license:\n \n     .. code-block:: console\n \n-        cd <path-to-workspace>/FlexRAN-1.3.0/\n-        ./SDK-R1.3.0.sh\n-\n-#. To allow ``FlexRAN SDK R1.3.0`` to work with bbdev properly, the following\n-   hotfix is required. Change the return of function ``rate_matching_turbo_lte_avx2()``\n-   located in file\n-   ``<path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/source/phy/lib_rate_matching/phy_rate_match_avx2.cpp``\n-   to return 0 instead of 1.\n-\n-    .. code-block:: c\n-\n-        -  return 1;\n-        +  return 0;\n+        cd <path-to-workspace>/FlexRAN-1.4.0/\n+        ./SDK-R1.4.0.sh\n \n #. Generate makefiles based on system configuration:\n \n     .. code-block:: console\n \n-        cd <path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/\n+        cd <path-to-workspace>/FlexRAN-1.4.0/SDK-R1.4.0/sdk/\n         ./create-makefiles-linux.sh\n \n #. A build folder is generated in this form ``build-<ISA>-<CC>``, enter that\n@@ -118,8 +120,8 @@ Example:\n \n .. code-block:: console\n \n-    export FLEXRAN_SDK=<path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/build-avx2-icc/install\n-    export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-1.3.0/SDK-R1.3.0/sdk/\n+    export FLEXRAN_SDK=<path-to-workspace>/FlexRAN-1.4.0/SDK-R1.4.0/sdk/build-avx2-icc/install\n+    export DIR_WIRELESS_SDK=<path-to-workspace>/FlexRAN-1.4.0/SDK-R1.4.0/sdk/\n \n \n * Set ``CONFIG_RTE_LIBRTE_PMD_BBDEV_TURBO_SW=y`` in DPDK common configuration\ndiff --git a/drivers/baseband/turbo_sw/bbdev_turbo_software.c b/drivers/baseband/turbo_sw/bbdev_turbo_software.c\nindex 302abf5..26b8560 100644\n--- a/drivers/baseband/turbo_sw/bbdev_turbo_software.c\n+++ b/drivers/baseband/turbo_sw/bbdev_turbo_software.c\n@@ -462,6 +462,7 @@ process_enc_cb(struct turbo_sw_queue *q, struct rte_bbdev_enc_op *op,\n \tuint8_t *in, *out0, *out1, *out2, *tmp_out, *rm_out;\n \tstruct rte_bbdev_op_turbo_enc *enc = &op->turbo_enc;\n \tstruct bblib_crc_request crc_req;\n+\tstruct bblib_crc_response crc_resp;\n \tstruct bblib_turbo_encoder_request turbo_req;\n \tstruct bblib_turbo_encoder_response turbo_resp;\n \tstruct bblib_rate_match_dl_request rm_req;\n@@ -482,13 +483,11 @@ process_enc_cb(struct turbo_sw_queue *q, struct rte_bbdev_enc_op *op,\n \t\t * it by 3 CRC bytes\n \t\t */\n \t\trte_memcpy(q->enc_in, in, (k - 24) >> 3);\n-\t\tcrc_req.data = q->enc_in;\n+\t\tcrc_req.data = in;\n \t\tcrc_req.len = (k - 24) >> 3;\n-\t\tif (bblib_lte_crc24a_gen(&crc_req) == -1) {\n-\t\t\top->status |= 1 << RTE_BBDEV_CRC_ERROR;\n-\t\t\trte_bbdev_log(ERR, \"CRC24a generation failed\");\n-\t\t\treturn;\n-\t\t}\n+\t\tcrc_resp.data = q->enc_in;\n+\t\tbblib_lte_crc24a_gen(&crc_req, &crc_resp);\n+\n \t\tin = q->enc_in;\n \t} else if (enc->op_flags & RTE_BBDEV_TURBO_CRC_24B_ATTACH) {\n \t\t/* CRC24B */\n@@ -501,13 +500,11 @@ process_enc_cb(struct turbo_sw_queue *q, struct rte_bbdev_enc_op *op,\n \t\t * it by 3 CRC bytes\n \t\t */\n \t\trte_memcpy(q->enc_in, in, (k - 24) >> 3);\n-\t\tcrc_req.data = q->enc_in;\n+\t\tcrc_req.data = in;\n \t\tcrc_req.len = (k - 24) >> 3;\n-\t\tif (bblib_lte_crc24b_gen(&crc_req) == -1) {\n-\t\t\top->status |= 1 << RTE_BBDEV_CRC_ERROR;\n-\t\t\trte_bbdev_log(ERR, \"CRC24b generation failed\");\n-\t\t\treturn;\n-\t\t}\n+\t\tcrc_resp.data = q->enc_in;\n+\t\tbblib_lte_crc24b_gen(&crc_req, &crc_resp);\n+\n \t\tin = q->enc_in;\n \t} else {\n \t\tret = is_enc_input_valid(k, k_idx, total_left);\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "01/14"
    ]
}