get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 18587,
    "url": "http://patches.dpdk.org/api/patches/18587/?format=api",
    "web_url": "http://patches.dpdk.org/project/dpdk/patch/1482832175-27199-27-git-send-email-jerin.jacob@caviumnetworks.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": "<1482832175-27199-27-git-send-email-jerin.jacob@caviumnetworks.com>",
    "list_archive_url": "https://inbox.dpdk.org/dev/1482832175-27199-27-git-send-email-jerin.jacob@caviumnetworks.com",
    "date": "2016-12-27T09:49:32",
    "name": "[dpdk-dev,v2,26/29] net/qede: use eal I/O device memory read/write API",
    "commit_ref": null,
    "pull_url": null,
    "state": "superseded",
    "archived": true,
    "hash": "26b5f5288bc47da7e5310d8f04f9a5633d896ac9",
    "submitter": {
        "id": 305,
        "url": "http://patches.dpdk.org/api/people/305/?format=api",
        "name": "Jerin Jacob",
        "email": "jerin.jacob@caviumnetworks.com"
    },
    "delegate": null,
    "mbox": "http://patches.dpdk.org/project/dpdk/patch/1482832175-27199-27-git-send-email-jerin.jacob@caviumnetworks.com/mbox/",
    "series": [],
    "comments": "http://patches.dpdk.org/api/patches/18587/comments/",
    "check": "warning",
    "checks": "http://patches.dpdk.org/api/patches/18587/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 [IPv6:::1])\n\tby dpdk.org (Postfix) with ESMTP id 9D028D4CE;\n\tTue, 27 Dec 2016 10:52:47 +0100 (CET)",
            "from NAM01-BN3-obe.outbound.protection.outlook.com\n\t(mail-bn3nam01on0081.outbound.protection.outlook.com [104.47.33.81])\n\tby dpdk.org (Postfix) with ESMTP id 2D7BBD4CE\n\tfor <dev@dpdk.org>; Tue, 27 Dec 2016 10:52:41 +0100 (CET)",
            "from localhost.localdomain.localdomain (202.83.56.97) by\n\tBLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14) with\n\tMicrosoft SMTP Server (version=TLS1_2,\n\tcipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id\n\t15.1.803.11; Tue, 27 Dec 2016 09:52:36 +0000"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n\td=CAVIUMNETWORKS.onmicrosoft.com; s=selector1-cavium-com;\n\th=From:Date:Subject:Message-ID:Content-Type:MIME-Version;\n\tbh=fA98RHqiLOA6sYewIk/wXtmNjxazG/S1ppPNsdvd354=;\n\tb=WVJbnyUavQYeanmiVEZMdNPnGvTNDn2rDXv+KNyYsF9vKSQFsyv+sDHsrp6o9C+WQmJmXaxazbCAerz5uVmLi/Z0VFd4UjjUHNHO8Lc3GbEMIrDttPkSVOBzlT8HarSNcfFdZSpOYrdh+7AsY3Tp1o60HTS4A2DrI/bDodstUkA=",
        "Authentication-Results": "spf=none (sender IP is )\n\tsmtp.mailfrom=Jerin.Jacob@cavium.com; ",
        "From": "Jerin Jacob <jerin.jacob@caviumnetworks.com>",
        "To": "<dev@dpdk.org>",
        "CC": "<konstantin.ananyev@intel.com>, <thomas.monjalon@6wind.com>,\n\t<bruce.richardson@intel.com>, <jianbo.liu@linaro.org>,\n\t<viktorin@rehivetech.com>, <santosh.shukla@caviumnetworks.com>,\n\tHarish Patil\n\t<harish.patil@cavium.com>, Rasesh Mody <rasesh.mody@cavium.com>,\n\tJerin Jacob <jerin.jacob@caviumnetworks.com>",
        "Date": "Tue, 27 Dec 2016 15:19:32 +0530",
        "Message-ID": "<1482832175-27199-27-git-send-email-jerin.jacob@caviumnetworks.com>",
        "X-Mailer": "git-send-email 2.5.5",
        "In-Reply-To": "<1482832175-27199-1-git-send-email-jerin.jacob@caviumnetworks.com>",
        "References": "<1481680558-4003-1-git-send-email-jerin.jacob@caviumnetworks.com>\n\t<1482832175-27199-1-git-send-email-jerin.jacob@caviumnetworks.com>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain",
        "X-Originating-IP": "[202.83.56.97]",
        "X-ClientProxiedBy": "PN1PR01CA0001.INDPRD01.PROD.OUTLOOK.COM (10.164.137.8) To\n\tBLUPR0701MB1713.namprd07.prod.outlook.com (10.163.85.14)",
        "X-MS-Office365-Filtering-Correlation-Id": "0cd8fd78-6bcb-47b7-23dc-08d42e3e18a8",
        "X-Microsoft-Antispam": "UriScan:; BCL:0; PCL:0; RULEID:(22001);\n\tSRVR:BLUPR0701MB1713; ",
        "X-Microsoft-Exchange-Diagnostics": [
            "1; BLUPR0701MB1713;\n\t3:6hjFFxTXzbm4sj/CSRbML0n6EEn9aTxmTTs4/Uhzu60PIRVzuKPp/IrjuYkDoEVUBNDfulbblnbycM7wB7yci/EWCNLmC6nw+z0WYWU8Ncx0LL7+u+tF5aXkycSOWgGU/EFmZUGtyjHmhyVwZXQxwKsUWBwaKE7RP5gRBzwL8ZbNa3pHDEUYRGfIlXh5BqYyEYpBU+XMP1v+oXzQLAeTloAES3zkwo6SsNJoFRVLxzZNETJYYtNpQJNHQYULuXrEyiVHqkp99zeULa6xkOJq9g==;\n\t25:5GWg1+vVyIDRv9n72/BJjZcmFnbxgOVQU8CPdPHhtpmNIcMExHr62jln5MGSjJyDal79EsQBYFQkGPSuzXu+6/7j9KTDzkI2RVKNz6BJ0kfBQPVTSuxpMeAzE72FH+peQPyinfM1ieobxGQXuFkKa48OZvbKv1wGZraOTkD1HTWQ3tQKUtF75CmN0cZSkt8OQj9OcF+nHoI7GOq6RFZGbpVa2KLi0ABkBYdAxd5DMghau55mTAb9alJlerVxj6FF4uF1+TfTL+p0V70VTVcNS1YgFHcoOuIDpmoHjV+GZgbqgBQ1W4ZIev7gqTb1RJFfakO8J7v3NK41bZjOCBW6c1IMBKVCSbyRZQczaXm3oLm/cyswLOcSozNaWFQMJbd2FpHIwCQeum2biR8j0YUZK+W9fFjtTga354EF/OqIk+YaJBKb7zaoBcQMJbzl8BjK+MK9aL/oH1QogQDQ36JYFw==",
            "1; BLUPR0701MB1713;\n\t31:Hfeo+czn7Fmrq74RSouyxjoPGKaLgSiBFAI/Em4ablYcD+D96f2uw5czp+YV7CYyFXJhRz5nrZJSZA7O3lm5FyYLTpuVkEVxbZlym4wxBQlo/HYIRh0+8qRn6hkDD9g8YmlX+IfwZHD+Il9MP4BmIRlxCFEhOB/4Sby+eRYj4UwbCXNfeCibqXref5rsACWbKL5b6oF7rm2/FQ7cGHzEwh4JD+Dnly9KGT7VgEtlO3hR+Jg4nz2cmznXYEgAT/ei;\n\t20:Tlh0+thuklSoDe3BTwFD4KZwPD1LpQXKVcHtrSYaTTXN/1IzG19OSnNJrzv7F75oP07cexc+NiQKtCCzZiKN73IPmG/Jfu1UUkZ6J4W3QOOACuiG1FCf5H6j9GFocngKweg8OuEkwA+Ax5mpAo0HdEuWyPr7hXfYrj5By8jbLBYqDXmNi0qfxacgja1E63vTmjiifSeWeebRXelnxc9u+yXc8fACLys4cvA4oMCRmTwLFsb1mQGRQnY9FKhLSV6NpaZZsBtohdLMid2xoU3vkxegrb7iG9bNZgSgcHyvT3mLjli6pYlfa4IM8COpfoqklaza71P91LxKvQYWk63c5tHi9X+gmOtkpm4JF0gtUHU+H70lS3/kuql5Dz1xLS/8DSHBvgXImzRW6KGQ0bu6M1Dp4C4C78so4cD54gQ1qMBLmF2PZ7vVRk4bqnxx65qcgxY1E5ouksXfPW6RBcGFB4kFd+UGgNyI4rpGCkhago3i1+8Kr3JIqZp5vvDiM9b3kQqykxNoltRPmjTpOZXV3da9+V4sqhefjW3Z0AaIXUdCAWzDrniJkQnPIsrTx8ZPS9sAWZFLLvqZHZoXAGnKDsS8ydzEWLElulIjD/21/TY=",
            "1; BLUPR0701MB1713;\n\t4:sz49sxH2GwIevQSPcZJ6M1tClLBqqU3kZ1ZtiTY+WdD2LFnhKptbzziyeMBz8rdYSTd+hXDRA4mnp3lClyrZdVC2msHPUOmuCV91P/RdmoVah4LI1a+z2xNnLhlWJKmr72e9FkvFSkE+ZvqBwu0XRtQSnEl8F8qJa6eshA62C9HltNdx2tMCQJ7cQFLl4NxHoGMgPg9KkgCKFxIgJ939Ut46/6KvWaBbDOaaxFM/j757mxzMZdLCXFkXXthcDmELcYoy+FszF1hAVQ38ozXdooWw1s7A/bPoKElDzZ6MT9MsPIxJQQd+Cg9M2qlyBOaPbGYlkHK7lYeTo5Bdl6r2oVP1qUcZhzYEMXrR74XdV5zyYDB/KiporJ37swAsikQQ2Lr3tjXqYZx5Ed9zka8gs8gvoeoaItQpYAM0W/H2ajhXdmV3930yWxv6mvhPiQm2YW56jICtRldVeoy02SckDlnVnsK8Q/9nw77tI9IzcakbrMisn872Y59whHmxS97F4oD+3cGQBeiW6ryeIDjZnK3L57RxojF+QHowQoVk6Ub6Gxpw9//5pQEHUCljUWUs6cPXYPC9BvolGh0f9qyZIrL3jAZXEKClVcH+2EGYVT6DjS/A8jm3jSj2Y7UkSRj9yvrQ6GYuiEJqJAgv9GWd3w==",
            "=?us-ascii?Q?1; BLUPR0701MB1713;\n\t23:7j22uzsOueW6r8y3PWyN6WxW+rVz21viOpNuM8Y?=\n\t1/QDw/g3+n0tTkfE1fovIS+SF7mIMp88FUCtFc4s6AiE+vAYqf2B1x04YyLoqlSWvI2FtS3m30++c0XE5dLALOvwRbmwg2foOyrDojQQGu3gzg7zANdQKpZTTr2Kv4EJpbrG5gxJIfHi/MkzkT3y63t1rGEdfoFs+yO9GloqnOnkWxuStz0tKrxxTswRb/K7Ov6YMGFnfbnBSQCDZ3BTaBbyN5GZ5PRWmbg3XAXPVCndbZBlJsD0vSMlkszCRypniaFZY3iVnc0Yup4W+ydv5OdVx+waQvG4fPMte+8M/jd1QOtQAy0B/K+eu6P3zFiUHv4pFrhssjnBxOO6Re58uDfm4SbCYON8m11erzAY3TWwLCSMz4uZ+Kd8Nge+r2pGCMo/wTryt2j6287R1vwzoHLdSnGb8fOD88WqM9GDd9NGV3wXgi1TWyG5zQ3Z9BqTtwqW7v63T/OetC4O7d8QCtB5YOFutIf0oMyC11oZG6yVeBOqcAXEWIgyLX5+yz2MO66ls5kQdQNLWt3Wlx17Y7NIRnHbx7OsgXwP7nKvjSaNyPqHKO9mHMyYI+0zUbMpeg+uVoJIxIiJuoK+uaQg2ELKRkX+RYNq4F8BNGRSbgFpXBV2wSJ9z16ZqaaCVOJ5/eXX8RC0stMxLwDXWXs9ZDb2HJqavLYBH5A3y3MKVPacq5s8ImMPzrbTfyN8UFkrnz4m8VTN/IaP4LhX1EgiCL0x4vnf9PZvjAucWCuHmC6hMJKDVZodXW6PoGku92NZaxhJW1WVEoQy70rB//RR3NFWyVKSnnxDINdTP8s4ouxF2Xi6OppSpjqUkEDu+jOeh0x9yc6S6UQWASRvli7EUV22zzDfOkE5gHdZrR66BgrmR9eYeoS312Gsd2WNHz0A0ULNNIbWG6dMgvYxhCiKIDZ6kQsFnuY6Dl1JXXBPmd4zKzhkmu/arCmQkFBVVDZsPYRrF9xn8/aZz3LrYYzT8lpgF3VI6RTrTEsEeB6uTGoLG55KKtD1iFRNaz0Z472lHuEjTUi9IbvbN0cGTQDKNKPx08vtxznSPf05/b7pGvMeXaY2HgVwR25dL19kFS6ZdSkIJaQeGGoi5JkTcVIWpYwZNPs4tu4mFZjSXaC05DOHSKmyh/1p6d5CA6DSlNwoIdLA=",
            "1; BLUPR0701MB1713;\n\t6:SIC5VdC9z+5r7RZtGyioua34XmouUm6PHURAKiL2YgKAGC+u9ZUy0e/j8+ZRm89Mb3j8FqTXj99mbup/cp3agE7TLDinqkMz0mUSOuUYj5x3hWEXjAN5zUcnZWf+3Ov44zzl0YpOZn8rxeBJPImVts+0AQcBP73vNtUiQw7iCH6UPtYsN6NZ5aTtuhkT5Bs8t3o0gCx9N7sabYrGoy/pt3spq4gg3Z5UmSeqTHGFdwpUmmd09A3BPg/FrdWKzjKQy2k3tesszzlurWRBm8q05qxeWEgsXJOKrD18epKu1OG3M3JSRIMw3K4ZNFkpnp5n5c4GMKPLyCPhFtWTsk8a5Si8MaJWWiwSCz9QQT47bjxidK4qnn4YXO2jyrHCvw6LFIeTa1mGhdyCDPOt1wI26HpoyO8hdD2npj8Zq+F7GcM=;\n\t5:cxgNFrBvPRHKIUqsA7YwmxOmQCZ9FXVwL3DnGYZUUYslXBJgYY+ns5/ypw2EJBI9fkJ+AzILapywGG4k8lg/4o1SWLQf4u1jYpyhJrxs8sqKG9/OBEk0m3dsAcroC1K6sqRE5JDqMLF5PtDMVcMzWw==;\n\t24:bsW2lMYiHQUyBrxKUHVDIa4o7zqbvP/lG45fNY9N73eKh/rtm1ZB0G34Iq/hMf0YEiOZIU9/zPVHwLg0p9dl/fgfL+uIzpysnKrjKgqtm/k=",
            "1; BLUPR0701MB1713;\n\t7:/WaMgfdlU22PgKG2SHMUjTpTZeWtZ77A7tjh/+Hw5ngOczzji0LPAcfz7BiQi61GhtPq/t7itKf/CHSoSjxCqnblaCUr5o+9w+kWAgwmQLVjmNnt6+cdhUXjeGIZRJJNosGpxmqrPQmPNrfH/TNDxUkV8mlqlyhQKoTmBvBZxpyUAveNRdnvlZq4iKjyqPSvvOXAUehcWWbz0sdYvZswMfHe9HT/EXs47dbFTQdHHKFCLschFlFX/ymvERdDf5aR+MSR5li0DVNOy2aIVqc/hzg40Hn7EZoMP6Y7qJ3n4IBDcAtUvCzJKZ526EwcVzUzLaVNP1F76kGZs8cYIegjx5QoAZY1S6mlh76c3Wuoowj3iQdtdS6sHdAz8ZRxWr5bT9m0/7x67ObR3lB4h0j52YwK8cJdNipC7a43w6OzcubHCGDfnMJ0dUMcGIJ4cNoeSM0Ry92UPvinrrknMnzGBg=="
        ],
        "X-Microsoft-Antispam-PRVS": "<BLUPR0701MB1713506A09ABD3CB92F8414381690@BLUPR0701MB1713.namprd07.prod.outlook.com>",
        "X-Exchange-Antispam-Report-Test": "UriScan:(788757137089);",
        "X-Exchange-Antispam-Report-CFA-Test": "BCL:0; PCL:0;\n\tRULEID:(6040375)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(6041248)(20161123555025)(20161123560025)(20161123558021)(20161123564025)(20161123562025)(6072148);\n\tSRVR:BLUPR0701MB1713; BCL:0; PCL:0; RULEID:; SRVR:BLUPR0701MB1713; ",
        "X-Forefront-PRVS": "0169092318",
        "X-Forefront-Antispam-Report": "SFV:NSPM;\n\tSFS:(10009020)(4630300001)(6009001)(6069001)(7916002)(39450400003)(189002)(199003)(36756003)(68736007)(106356001)(97736004)(50226002)(5660300001)(6916009)(47776003)(42882006)(2950100002)(6666003)(189998001)(25786008)(105586002)(33646002)(107886002)(48376002)(38730400001)(7736002)(92566002)(6486002)(6506006)(6512006)(110136003)(50466002)(305945005)(2351001)(50986999)(76176999)(4001430100002)(3846002)(4326007)(6116002)(5003940100001)(42186005)(81156014)(81166006)(101416001)(8676002)(2906002)(575784001)(66066001);\n\tDIR:OUT; SFP:1101; SCL:1; SRVR:BLUPR0701MB1713;\n\tH:localhost.localdomain.localdomain; FPR:; SPF:None; PTR:InfoNoRecords;\n\tMX:1; A:1; LANG:en; ",
        "Received-SPF": "None (protection.outlook.com: cavium.com does not designate\n\tpermitted sender hosts)",
        "SpamDiagnosticOutput": "1:99",
        "SpamDiagnosticMetadata": "NSPM",
        "X-OriginatorOrg": "caviumnetworks.com",
        "X-MS-Exchange-CrossTenant-OriginalArrivalTime": "27 Dec 2016 09:52:36.9264\n\t(UTC)",
        "X-MS-Exchange-CrossTenant-FromEntityHeader": "Hosted",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "BLUPR0701MB1713",
        "Subject": "[dpdk-dev] [PATCH v2 26/29] net/qede: use eal I/O device memory\n\tread/write API",
        "X-BeenThere": "dev@dpdk.org",
        "X-Mailman-Version": "2.1.15",
        "Precedence": "list",
        "List-Id": "DPDK patches and discussions <dev.dpdk.org>",
        "List-Unsubscribe": "<http://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": "<http://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: Santosh Shukla <santosh.shukla@caviumnetworks.com>\n\nReplace the raw I/O device memory read/write access with eal\nabstraction for I/O device memory read/write access to fix\nportability issues across different architectures.\n\nCC: Harish Patil <harish.patil@cavium.com>\nCC: Rasesh Mody <rasesh.mody@cavium.com>\nSigned-off-by: Santosh Shukla <santosh.shukla@caviumnetworks.com>\nSigned-off-by: Jerin Jacob <jerin.jacob@caviumnetworks.com>\n---\n drivers/net/qede/base/bcm_osal.h      | 20 +++++++++++---------\n drivers/net/qede/base/ecore_int_api.h | 28 +++++++++++++++++++++++-----\n drivers/net/qede/base/ecore_spq.c     |  3 ++-\n drivers/net/qede/qede_rxtx.c          |  2 +-\n 4 files changed, 37 insertions(+), 16 deletions(-)",
    "diff": "diff --git a/drivers/net/qede/base/bcm_osal.h b/drivers/net/qede/base/bcm_osal.h\nindex 0b446f2..33d43c6 100644\n--- a/drivers/net/qede/base/bcm_osal.h\n+++ b/drivers/net/qede/base/bcm_osal.h\n@@ -18,6 +18,7 @@\n #include <rte_cycles.h>\n #include <rte_debug.h>\n #include <rte_ether.h>\n+#include <rte_io.h>\n \n /* Forward declaration */\n struct ecore_dev;\n@@ -113,18 +114,18 @@ void *osal_dma_alloc_coherent_aligned(struct ecore_dev *, dma_addr_t *,\n \n /* HW reads/writes */\n \n-#define DIRECT_REG_RD(_dev, _reg_addr) \\\n-\t(*((volatile u32 *) (_reg_addr)))\n+#define DIRECT_REG_RD(_dev, _reg_addr) rte_read32(_reg_addr)\n \n #define REG_RD(_p_hwfn, _reg_offset) \\\n \tDIRECT_REG_RD(_p_hwfn,\t\t\\\n \t\t\t((u8 *)(uintptr_t)(_p_hwfn->regview) + (_reg_offset)))\n \n-#define DIRECT_REG_WR16(_reg_addr, _val) \\\n-\t(*((volatile u16 *)(_reg_addr)) = _val)\n+#define DIRECT_REG_WR16(_reg_addr, _val) rte_write16((_val), (_reg_addr))\n \n-#define DIRECT_REG_WR(_dev, _reg_addr, _val) \\\n-\t(*((volatile u32 *)(_reg_addr)) = _val)\n+#define DIRECT_REG_WR(_dev, _reg_addr, _val) rte_write32((_val), (_reg_addr))\n+\n+#define DIRECT_REG_WR_RELAXED(_dev, _reg_addr, _val) \\\n+\trte_write32_relaxed((_val), (_reg_addr))\n \n #define REG_WR(_p_hwfn, _reg_offset, _val) \\\n \tDIRECT_REG_WR(NULL,  \\\n@@ -134,9 +135,10 @@ void *osal_dma_alloc_coherent_aligned(struct ecore_dev *, dma_addr_t *,\n \tDIRECT_REG_WR16(((u8 *)(uintptr_t)(_p_hwfn->regview) + \\\n \t\t\t(_reg_offset)), (u16)_val)\n \n-#define DOORBELL(_p_hwfn, _db_addr, _val) \\\n-\tDIRECT_REG_WR(_p_hwfn, \\\n-\t     ((u8 *)(uintptr_t)(_p_hwfn->doorbells) + (_db_addr)), (u32)_val)\n+#define DOORBELL(_p_hwfn, _db_addr, _val)\t\t\t\t\\\n+\tDIRECT_REG_WR_RELAXED((_p_hwfn),\t\t\t\t\\\n+\t\t\t      ((u8 *)(uintptr_t)(_p_hwfn->doorbells) +\t\\\n+\t\t\t      (_db_addr)), (u32)_val)\n \n /* Mutexes */\n \ndiff --git a/drivers/net/qede/base/ecore_int_api.h b/drivers/net/qede/base/ecore_int_api.h\nindex fc873e7..a0d6a43 100644\n--- a/drivers/net/qede/base/ecore_int_api.h\n+++ b/drivers/net/qede/base/ecore_int_api.h\n@@ -120,19 +120,37 @@ static OSAL_INLINE void __internal_ram_wr(void *p_hwfn,\n }\n \n #ifdef ECORE_CONFIG_DIRECT_HWFN\n+static OSAL_INLINE void __internal_ram_wr_relaxed(struct ecore_hwfn *p_hwfn,\n+\t\t\t\t\t\t  void OSAL_IOMEM * addr,\n+\t\t\t\t\t\t  int size, u32 *data)\n+#else\n+static OSAL_INLINE void __internal_ram_wr_relaxed(void *p_hwfn,\n+\t\t\t\t\t\t  void OSAL_IOMEM * addr,\n+\t\t\t\t\t\t  int size, u32 *data)\n+#endif\n+{\n+\tunsigned int i;\n+\n+\tfor (i = 0; i < size / sizeof(*data); i++)\n+\t\tDIRECT_REG_WR_RELAXED(p_hwfn, &((u32 OSAL_IOMEM *)addr)[i],\n+\t\t\t\t      data[i]);\n+}\n+\n+#ifdef ECORE_CONFIG_DIRECT_HWFN\n static OSAL_INLINE void internal_ram_wr(struct ecore_hwfn *p_hwfn,\n-\t\t\t\t\tvoid OSAL_IOMEM *addr,\n-\t\t\t\t\tint size, u32 *data)\n+\t\t\t\t\t\tvoid OSAL_IOMEM * addr,\n+\t\t\t\t\t\tint size, u32 *data)\n {\n-\t__internal_ram_wr(p_hwfn, addr, size, data);\n+\t__internal_ram_wr_relaxed(p_hwfn, addr, size, data);\n }\n #else\n static OSAL_INLINE void internal_ram_wr(void OSAL_IOMEM *addr,\n-\t\t\t\t\tint size, u32 *data)\n+\t\t\t\t\t\tint size, u32 *data)\n {\n-\t__internal_ram_wr(OSAL_NULL, addr, size, data);\n+\t__internal_ram_wr_relaxed(OSAL_NULL, addr, size, data);\n }\n #endif\n+\n #endif\n \n struct ecore_hwfn;\ndiff --git a/drivers/net/qede/base/ecore_spq.c b/drivers/net/qede/base/ecore_spq.c\nindex 0d744dd..6e5ce5d 100644\n--- a/drivers/net/qede/base/ecore_spq.c\n+++ b/drivers/net/qede/base/ecore_spq.c\n@@ -248,7 +248,8 @@ static enum _ecore_status_t ecore_spq_hw_post(struct ecore_hwfn *p_hwfn,\n \t/* make sure the SPQE is updated before the doorbell */\n \tOSAL_WMB(p_hwfn->p_dev);\n \n-\tDOORBELL(p_hwfn, DB_ADDR(p_spq->cid, DQ_DEMS_LEGACY), *(u32 *)&db);\n+\tDOORBELL(p_hwfn, DB_ADDR(p_spq->cid, DQ_DEMS_LEGACY),\n+\t\t *(u32 *)&db);\n \n \t/* make sure doorbell is rang */\n \tOSAL_WMB(p_hwfn->p_dev);\ndiff --git a/drivers/net/qede/qede_rxtx.c b/drivers/net/qede/qede_rxtx.c\nindex 2e181c8..e1e9956 100644\n--- a/drivers/net/qede/qede_rxtx.c\n+++ b/drivers/net/qede/qede_rxtx.c\n@@ -1246,7 +1246,7 @@ qede_xmit_pkts(void *p_txq, struct rte_mbuf **tx_pkts, uint16_t nb_pkts)\n \ttxq->tx_db.data.bd_prod = bd_prod;\n \trte_wmb();\n \trte_compiler_barrier();\n-\tDIRECT_REG_WR(edev, txq->doorbell_addr, txq->tx_db.raw);\n+\tDIRECT_REG_WR_RELAXED(edev, txq->doorbell_addr, txq->tx_db.raw);\n \trte_wmb();\n \n \t/* Check again for Tx completions */\n",
    "prefixes": [
        "dpdk-dev",
        "v2",
        "26/29"
    ]
}