get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1106252,
    "url": "http://patchwork.ozlabs.org/api/patches/1106252/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/uboot/patch/1559059678-32131-1-git-send-email-meenakshi.aggarwal@nxp.com/",
    "project": {
        "id": 18,
        "url": "http://patchwork.ozlabs.org/api/projects/18/?format=api",
        "name": "U-Boot",
        "link_name": "uboot",
        "list_id": "u-boot.lists.denx.de",
        "list_email": "u-boot@lists.denx.de",
        "web_url": null,
        "scm_url": null,
        "webscm_url": null,
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1559059678-32131-1-git-send-email-meenakshi.aggarwal@nxp.com>",
    "list_archive_url": null,
    "date": "2019-05-28T16:07:58",
    "name": "[U-Boot,v3] armv8/fsl-layerscape: Add loop to check L3 dcache status",
    "commit_ref": "1dff14c87d07fc535aaf9e2d3012fd966ed9af89",
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "5af7ad845731485f346e9828355d868fa66dc6d3",
    "submitter": {
        "id": 75448,
        "url": "http://patchwork.ozlabs.org/api/people/75448/?format=api",
        "name": "Meenakshi Aggarwal",
        "email": "meenakshi.aggarwal@nxp.com"
    },
    "delegate": {
        "id": 2467,
        "url": "http://patchwork.ozlabs.org/api/users/2467/?format=api",
        "username": "prabhu_kush",
        "first_name": "Prabhakar",
        "last_name": "Kushwaha",
        "email": "prabhakar@freescale.com"
    },
    "mbox": "http://patchwork.ozlabs.org/project/uboot/patch/1559059678-32131-1-git-send-email-meenakshi.aggarwal@nxp.com/mbox/",
    "series": [
        {
            "id": 110303,
            "url": "http://patchwork.ozlabs.org/api/series/110303/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/uboot/list/?series=110303",
            "date": "2019-05-28T16:07:58",
            "name": "[U-Boot,v3] armv8/fsl-layerscape: Add loop to check L3 dcache status",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/110303/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1106252/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1106252/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<u-boot-bounces@lists.denx.de>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@bilbo.ozlabs.org",
        "Authentication-Results": [
            "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=lists.denx.de\n\t(client-ip=81.169.180.215; helo=lists.denx.de;\n\tenvelope-from=u-boot-bounces@lists.denx.de;\n\treceiver=<UNKNOWN>)",
            "ozlabs.org;\n\tdmarc=fail (p=none dis=none) header.from=nxp.com"
        ],
        "Received": [
            "from lists.denx.de (dione.denx.de [81.169.180.215])\n\tby ozlabs.org (Postfix) with ESMTP id 45Cqg96QQ6z9s3Z\n\tfor <incoming@patchwork.ozlabs.org>;\n\tTue, 28 May 2019 20:23:17 +1000 (AEST)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 740D2C220F1; Tue, 28 May 2019 10:23:16 +0000 (UTC)",
            "from lists.denx.de (localhost [IPv6:::1])\n\tby lists.denx.de (Postfix) with ESMTP id 20301C21C3F;\n\tTue, 28 May 2019 10:23:12 +0000 (UTC)",
            "by lists.denx.de (Postfix, from userid 105)\n\tid 68935C21C3F; Tue, 28 May 2019 10:23:10 +0000 (UTC)",
            "from inva020.nxp.com (inva020.nxp.com [92.121.34.13])\n\tby lists.denx.de (Postfix) with ESMTPS id A90B5C21C29\n\tfor <u-boot@lists.denx.de>; Tue, 28 May 2019 10:23:09 +0000 (UTC)",
            "from inva020.nxp.com (localhost [127.0.0.1])\n\tby inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id 341621A0E07;\n\tTue, 28 May 2019 12:23:09 +0200 (CEST)",
            "from inv0113.in-blr01.nxp.com (inv0113.in-blr01.nxp.com\n\t[165.114.116.118])\n\tby inva020.eu-rdc02.nxp.com (Postfix) with ESMTP id D58A41A0E01;\n\tTue, 28 May 2019 12:23:08 +0200 (CEST)",
            "from uefi-OptiPlex-790.ap.freescale.net\n\t(uefi-OptiPlex-790.ap.freescale.net [10.232.132.78])\n\tby inv0113.in-blr01.nxp.com (Postfix) with ESMTP id 0BF2F313;\n\tTue, 28 May 2019 15:53:08 +0530 (IST)"
        ],
        "X-Spam-Checker-Version": "SpamAssassin 3.4.0 (2014-02-07) on lists.denx.de",
        "X-Spam-Level": "**",
        "X-Spam-Status": "No, score=2.4 required=5.0 tests=DATE_IN_FUTURE_03_06\n\tautolearn=no autolearn_force=no version=3.4.0",
        "From": "Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>",
        "To": "u-boot@lists.denx.de,\n\tprabhakar.kushwaha@nxp.com",
        "Date": "Tue, 28 May 2019 21:37:58 +0530",
        "Message-Id": "<1559059678-32131-1-git-send-email-meenakshi.aggarwal@nxp.com>",
        "X-Mailer": "git-send-email 1.9.1",
        "In-Reply-To": "<1558603119-582-1-git-send-email-meenakshi.aggarwal@nxp.com>",
        "References": "<1558603119-582-1-git-send-email-meenakshi.aggarwal@nxp.com>",
        "X-Virus-Scanned": "ClamAV using ClamSMTP",
        "Cc": "Udit Kumar <udit.kumar@nxp.com>",
        "Subject": "[U-Boot] [PATCH v3] armv8/fsl-layerscape: Add loop to check L3\n\tdcache status",
        "X-BeenThere": "u-boot@lists.denx.de",
        "X-Mailman-Version": "2.1.18",
        "Precedence": "list",
        "List-Id": "U-Boot discussion <u-boot.lists.denx.de>",
        "List-Unsubscribe": "<https://lists.denx.de/options/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=unsubscribe>",
        "List-Archive": "<http://lists.denx.de/pipermail/u-boot/>",
        "List-Post": "<mailto:u-boot@lists.denx.de>",
        "List-Help": "<mailto:u-boot-request@lists.denx.de?subject=help>",
        "List-Subscribe": "<https://lists.denx.de/listinfo/u-boot>,\n\t<mailto:u-boot-request@lists.denx.de?subject=subscribe>",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "u-boot-bounces@lists.denx.de",
        "Sender": "\"U-Boot\" <u-boot-bounces@lists.denx.de>"
    },
    "content": "Flushing L3 cache may need variable time depending upon cache line\nallocation.\n\nComing up with a proper timeout value would be best handled by\nsimulations under multiple scenarios in your actual system.\nFrom the purely HN-F point of view, the flush would take ~15 cycles for\na clean line, and ~22 cycles for a dirty line.  For the dirty line case,\nthere are many variables outside the HN-F that will increase the\nduration per line.  For example, a *DBIDResp from the SN-F/SBSX,\nmemory controller latency, SN-F/SBSX RetryAck responses, CCN ring\ncongestion, CCN ring hops, etc, etc.  The worst-case timeout would\nhave to factor in all of these variables plus the HN-F cycles for\nevery line in the L3, and assuming all lines are dirty\n\nIn case if L3 is not flushed properly, system behaviour will be\nerratic, so remove timeout and add loop to check status of L3 cache.\n\nSystem will stuck in while loop if there is some issue in L3 cache\nflushing.\n\nSigned-off-by: Udit Kumar <udit.kumar@nxp.com>\nSigned-off-by: Meenakshi Aggarwal <meenakshi.aggarwal@nxp.com>\n\n---\nchanged for v2:\n\t- An increase in timeout doesn't ensure completion of\n\t  L3 cache flushing operation. So checking the L3 cache\n\t  status till it succedd.\n\nchanged for v3:\n\t- Updated Copyright\n\t- add loop to poll for l3 dcache status in hnf_pstate_poll\n\t  function\n\t- removed timeout related code as it is not needed\n---\n arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S | 30 ++++++++--------------------\n 1 file changed, 8 insertions(+), 22 deletions(-)",
    "diff": "diff --git a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S\nindex 6721a57..711ab87 100644\n--- a/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S\n+++ b/arch/arm/cpu/armv8/fsl-layerscape/lowlevel.S\n@@ -1,6 +1,7 @@\n /* SPDX-License-Identifier: GPL-2.0+ */\n /*\n  * (C) Copyright 2014-2015 Freescale Semiconductor\n+ * Copyright 2019 NXP\n  *\n  * Extracted from armv8/start.S\n  */\n@@ -356,31 +357,22 @@ get_svr:\n \n #if defined(CONFIG_SYS_FSL_HAS_CCN504) || defined(CONFIG_SYS_FSL_HAS_CCN508)\n hnf_pstate_poll:\n-\t/* x0 has the desired status, return 0 for success, 1 for timeout\n-\t * clobber x1, x2, x3, x4, x6, x7\n+\t/* x0 has the desired status, return only if operation succeed\n+\t * clobber x1, x2, x6\n \t */\n \tmov\tx1, x0\n-\tmov\tx7, #0\t\t\t/* flag for timeout */\n-\tmrs\tx3, cntpct_el0\t\t/* read timer */\n-\tadd\tx3, x3, #1200\t\t/* timeout after 100 microseconds */\n+\tmov\tw6, #8\t\t\t/* HN-F node count */\n \tmov\tx0, #0x18\n \tmovk\tx0, #0x420, lsl #16\t/* HNF0_PSTATE_STATUS */\n-\tmov\tw6, #8\t\t\t/* HN-F node count */\n 1:\n \tldr\tx2, [x0]\n \tcmp\tx2, x1\t\t\t/* check status */\n \tb.eq\t2f\n-\tmrs\tx4, cntpct_el0\n-\tcmp\tx4, x3\n-\tb.ls\t1b\n-\tmov\tx7, #1\t\t\t/* timeout */\n-\tb\t3f\n+\tb\t1b\n 2:\n \tadd\tx0, x0, #0x10000\t/* move to next node */\n \tsubs\tw6, w6, #1\n \tcbnz\tw6, 1b\n-3:\n-\tmov\tx0, x7\n \tret\n \n hnf_set_pstate:\n@@ -405,10 +397,8 @@ ENTRY(__asm_flush_l3_dcache)\n \t/*\n \t * Return status in x0\n \t *    success 0\n-\t *    timeout 1 for setting SFONLY, 2 for FAM, 3 for both\n \t */\n \tmov\tx29, lr\n-\tmov\tx8, #0\n \n \tdsb\tsy\n \tmov\tx0, #0x1\t\t/* HNFPSTAT_SFONLY */\n@@ -416,19 +406,15 @@ ENTRY(__asm_flush_l3_dcache)\n \n \tmov\tx0, #0x4\t\t/* SFONLY status */\n \tbl\thnf_pstate_poll\n-\tcbz\tx0, 1f\n-\tmov\tx8, #1\t\t\t/* timeout */\n-1:\n+\n \tdsb\tsy\n \tmov\tx0, #0x3\t\t/* HNFPSTAT_FAM */\n \tbl\thnf_set_pstate\n \n \tmov\tx0, #0xc\t\t/* FAM status */\n \tbl\thnf_pstate_poll\n-\tcbz\tx0, 1f\n-\tadd\tx8, x8, #0x2\n-1:\n-\tmov\tx0, x8\n+\n+\tmov\tx0, #0\n \tmov\tlr, x29\n \tret\n ENDPROC(__asm_flush_l3_dcache)\n",
    "prefixes": [
        "U-Boot",
        "v3"
    ]
}