get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 812254,
    "url": "http://patchwork.ozlabs.org/api/patches/812254/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/skiboot/patch/1505118939-32030-1-git-send-email-maddy@linux.vnet.ibm.com/",
    "project": {
        "id": 44,
        "url": "http://patchwork.ozlabs.org/api/projects/44/?format=api",
        "name": "skiboot firmware development",
        "link_name": "skiboot",
        "list_id": "skiboot.lists.ozlabs.org",
        "list_email": "skiboot@lists.ozlabs.org",
        "web_url": "http://github.com/open-power/skiboot",
        "scm_url": "http://github.com/open-power/skiboot",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<1505118939-32030-1-git-send-email-maddy@linux.vnet.ibm.com>",
    "list_archive_url": null,
    "date": "2017-09-11T08:35:39",
    "name": "[v2] skiboot/skiboot.tcl: Add imc device nodes to skiboot.tcl",
    "commit_ref": null,
    "pull_url": null,
    "state": "accepted",
    "archived": false,
    "hash": "3ebd0cf0dc830f5e393db82e66ab768ab5c9c181",
    "submitter": {
        "id": 33703,
        "url": "http://patchwork.ozlabs.org/api/people/33703/?format=api",
        "name": "maddy",
        "email": "maddy@linux.vnet.ibm.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/skiboot/patch/1505118939-32030-1-git-send-email-maddy@linux.vnet.ibm.com/mbox/",
    "series": [
        {
            "id": 2457,
            "url": "http://patchwork.ozlabs.org/api/series/2457/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/skiboot/list/?series=2457",
            "date": "2017-09-11T08:35:39",
            "name": "[v2] skiboot/skiboot.tcl: Add imc device nodes to skiboot.tcl",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/2457/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/812254/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/812254/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>",
        "X-Original-To": [
            "incoming@patchwork.ozlabs.org",
            "skiboot@lists.ozlabs.org"
        ],
        "Delivered-To": [
            "patchwork-incoming@bilbo.ozlabs.org",
            "skiboot@lists.ozlabs.org"
        ],
        "Received": [
            "from lists.ozlabs.org (lists.ozlabs.org [103.22.144.68])\n\t(using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby ozlabs.org (Postfix) with ESMTPS id 3xrLrr1JVzz9s83\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 18:37:16 +1000 (AEST)",
            "from lists.ozlabs.org (lists.ozlabs.org [IPv6:2401:3900:2:1::3])\n\tby lists.ozlabs.org (Postfix) with ESMTP id 3xrLrq6JCYzDrny\n\tfor <incoming@patchwork.ozlabs.org>;\n\tMon, 11 Sep 2017 18:37:15 +1000 (AEST)",
            "from mx0a-001b2d01.pphosted.com (mx0a-001b2d01.pphosted.com\n\t[148.163.156.1])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256\n\tbits)) (No client certificate requested)\n\tby lists.ozlabs.org (Postfix) with ESMTPS id 3xrLrg6kBZzDrZf\n\tfor <skiboot@lists.ozlabs.org>; Mon, 11 Sep 2017 18:37:07 +1000 (AEST)",
            "from pps.filterd (m0098394.ppops.net [127.0.0.1])\n\tby mx0a-001b2d01.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id\n\tv8B8ZNuA069465\n\tfor <skiboot@lists.ozlabs.org>; Mon, 11 Sep 2017 04:37:05 -0400",
            "from e23smtp06.au.ibm.com (e23smtp06.au.ibm.com [202.81.31.148])\n\tby mx0a-001b2d01.pphosted.com with ESMTP id 2cweu4vnpw-1\n\t(version=TLSv1.2 cipher=AES256-SHA bits=256 verify=NOT)\n\tfor <skiboot@lists.ozlabs.org>; Mon, 11 Sep 2017 04:37:05 -0400",
            "from localhost\n\tby e23smtp06.au.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use\n\tOnly! Violators will be prosecuted\n\tfor <skiboot@lists.ozlabs.org> from <maddy@linux.vnet.ibm.com>;\n\tMon, 11 Sep 2017 18:37:02 +1000",
            "from d23relay07.au.ibm.com (202.81.31.226)\n\tby e23smtp06.au.ibm.com (202.81.31.212) with IBM ESMTP SMTP Gateway:\n\tAuthorized Use Only! Violators will be prosecuted; \n\tMon, 11 Sep 2017 18:37:00 +1000",
            "from d23av05.au.ibm.com (d23av05.au.ibm.com [9.190.234.119])\n\tby d23relay07.au.ibm.com (8.14.9/8.14.9/NCO v10.0) with ESMTP id\n\tv8B8ZjhL34668582\n\tfor <skiboot@lists.ozlabs.org>; Mon, 11 Sep 2017 18:35:45 +1000",
            "from d23av05.au.ibm.com (localhost [127.0.0.1])\n\tby d23av05.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVout) with ESMTP id\n\tv8B8Zjkv014552\n\tfor <skiboot@lists.ozlabs.org>; Mon, 11 Sep 2017 18:35:45 +1000",
            "from SrihariSrinidhi.in.ibm.com ([9.79.202.143])\n\tby d23av05.au.ibm.com (8.14.4/8.14.4/NCO v10.0 AVin) with ESMTP id\n\tv8B8Zfvv014415; Mon, 11 Sep 2017 18:35:42 +1000"
        ],
        "Authentication-Results": "ozlabs.org;\n\tspf=none (mailfrom) smtp.mailfrom=linux.vnet.ibm.com\n\t(client-ip=148.163.156.1; helo=mx0a-001b2d01.pphosted.com;\n\tenvelope-from=maddy@linux.vnet.ibm.com; receiver=<UNKNOWN>)",
        "From": "Madhavan Srinivasan <maddy@linux.vnet.ibm.com>",
        "To": "stewart@linux.vnet.ibm.com",
        "Date": "Mon, 11 Sep 2017 14:05:39 +0530",
        "X-Mailer": "git-send-email 2.7.4",
        "X-TM-AS-MML": "disable",
        "x-cbid": "17091108-0040-0000-0000-00000355A472",
        "X-IBM-AV-DETECTION": "SAVI=unused REMOTE=unused XFE=unused",
        "x-cbparentid": "17091108-0041-0000-0000-00000CD5CD5A",
        "Message-Id": "<1505118939-32030-1-git-send-email-maddy@linux.vnet.ibm.com>",
        "X-Proofpoint-Virus-Version": "vendor=fsecure engine=2.50.10432:, ,\n\tdefinitions=2017-09-11_03:, , signatures=0",
        "X-Proofpoint-Spam-Details": "rule=outbound_notspam policy=outbound score=0\n\tspamscore=0 suspectscore=1\n\tmalwarescore=0 phishscore=0 adultscore=0 bulkscore=0 classifier=spam\n\tadjust=0 reason=mlx scancount=1 engine=8.0.1-1707230000\n\tdefinitions=main-1709110134",
        "Subject": "[Skiboot] [PATCH v2] skiboot/skiboot.tcl: Add imc device nodes to\n\tskiboot.tcl",
        "X-BeenThere": "skiboot@lists.ozlabs.org",
        "X-Mailman-Version": "2.1.23",
        "Precedence": "list",
        "List-Id": "Mailing list for skiboot development <skiboot.lists.ozlabs.org>",
        "List-Unsubscribe": "<https://lists.ozlabs.org/options/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=unsubscribe>",
        "List-Archive": "<http://lists.ozlabs.org/pipermail/skiboot/>",
        "List-Post": "<mailto:skiboot@lists.ozlabs.org>",
        "List-Help": "<mailto:skiboot-request@lists.ozlabs.org?subject=help>",
        "List-Subscribe": "<https://lists.ozlabs.org/listinfo/skiboot>,\n\t<mailto:skiboot-request@lists.ozlabs.org?subject=subscribe>",
        "Cc": "skiboot@lists.ozlabs.org, mikey@neuling.org",
        "MIME-Version": "1.0",
        "Content-Type": "text/plain; charset=\"utf-8\"",
        "Content-Transfer-Encoding": "base64",
        "Errors-To": "skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org",
        "Sender": "\"Skiboot\"\n\t<skiboot-bounces+incoming=patchwork.ozlabs.org@lists.ozlabs.org>"
    },
    "content": "Add In-Memory Collection counter dummy nodes to the skiboot.tcl\nto aid code testing in mambo for both OPAL and Kernel side enablement.\n\nSigned-off-by: Madhavan Srinivasan <maddy@linux.vnet.ibm.com>\n---\nChangelog v1:\n- Included more code patch to ve covered inmambo before checking for\n  mambo quirk\n- Updated UAV vector to fake it incase of mambo\n\n external/mambo/skiboot.tcl | 82 ++++++++++++++++++++++++++++++++++++++++++++++\n hw/imc.c                   | 40 ++++++++++++++++++++--\n 2 files changed, 120 insertions(+), 2 deletions(-)",
    "diff": "diff --git a/external/mambo/skiboot.tcl b/external/mambo/skiboot.tcl\nindex 46d8569018be..ad10355a8551 100644\n--- a/external/mambo/skiboot.tcl\n+++ b/external/mambo/skiboot.tcl\n@@ -325,6 +325,88 @@ for { set c 0 } { $c < $mconf(cpus) } { incr c } {\n     mysim of addprop $cpu_node array \"ibm,ppc-interrupt-server#s\" irqreg\n }\n \n+#Add In-Memory Collection Counter nodes\n+if { $default_config == \"P9\" } {\n+   #Add the base node \"imc-counters\"\n+   set imc_c [mysim of addchild $root_node \"imc-counters\" \"\"]\n+   mysim of addprop $imc_c string \"compatible\" \"ibm,opal-in-memory-counters\"\n+   mysim of addprop $imc_c int \"#address-cells\" 1\n+   mysim of addprop $imc_c int \"#size-cells\" 1\n+   mysim of addprop $imc_c int \"version-id\" 1\n+\n+      #Add a common mcs event node\n+      set mcs_et [mysim of addchild $imc_c \"nest-mcs-events\" \"\"]\n+      mysim of addprop $mcs_et int \"#address-cells\" 1\n+      mysim of addprop $mcs_et int \"#size-cells\" 1\n+\n+         #Add a event\n+         set et [mysim of addchild $mcs_et event [format %x 0]]\n+         mysim of addprop  $et string \"event-name\" \"64B_RD_OR_WR_DISP_PORT01\"\n+         mysim of addprop  $et string \"unit\" \"MiB/s\"\n+         mysim of addprop  $et string \"scale\" \"4\"\n+         mysim of addprop  $et int \"reg\" 0\n+\n+        #Add a event\n+        set et [mysim of addchild $mcs_et event [format %x 1]]\n+        mysim of addprop  $et string \"event-name\" \"64B_WR_DISP_PORT01\"\n+        mysim of addprop  $et string \"unit\" \"MiB/s\"\n+        mysim of addprop  $et int \"reg\" 40\n+\n+        #Add a event\n+        set et [mysim of addchild $mcs_et event [format %x 2]]\n+        mysim of addprop  $et string \"event-name\" \"64B_RD_DISP_PORT01\"\n+        mysim of addprop  $et string \"scale\" \"100\"\n+        mysim of addprop  $et int \"reg\" 64\n+\n+        #Add a event\n+        set et [mysim of addchild $mcs_et event [format %x 3]]\n+        mysim of addprop  $et string \"event-name\" \"64B_XX_DISP_PORT01\"\n+        mysim of addprop  $et int \"reg\" 32\n+\n+     #Add a mcs device node\n+     set mcs_01 [mysim of addchild $imc_c \"mcs01\" \"\"]\n+     mysim of addprop $mcs_01 string \"compatible\" \"ibm,imc-counters\"\n+     mysim of addprop  $mcs_01 string \"events-prefix\" \"PM_MCS01_\"\n+     mysim of addprop  $mcs_01 int \"reg\" 65536\n+     mysim of addprop  $mcs_01 int \"size\" 262144\n+     mysim of addprop  $mcs_01 int \"offset\" 1572864\n+     mysim of addprop  $mcs_01 int \"events\" $mcs_et\n+     mysim of addprop  $mcs_01 int \"type\" 16\n+     mysim of addprop $mcs_01 string \"unit\" \"KiB/s\"\n+     mysim of addprop $mcs_01 string \"scale\" \"8\"\n+\n+      #Add a common core event node\n+      set ct_et [mysim of addchild $imc_c \"core-thread-events\" \"\"]\n+      mysim of addprop $ct_et int \"#address-cells\" 1\n+      mysim of addprop $ct_et int \"#size-cells\" 1\n+\n+         #Add a event\n+         set cet [mysim of addchild $ct_et event [format %x 200]]\n+         mysim of addprop  $cet string \"event-name\" \"0THRD_NON_IDLE_PCYC\"\n+         mysim of addprop  $cet string \"desc\" \"The number of processor cycles when all threads are idle\"\n+         mysim of addprop  $cet int \"reg\" 200\n+\n+     #Add a core device node\n+     set core [mysim of addchild $imc_c \"core\" \"\"]\n+     mysim of addprop $core string \"compatible\" \"ibm,imc-counters\"\n+     mysim of addprop  $core string \"events-prefix\" \"CPM_\"\n+     mysim of addprop  $core int \"reg\" 24\n+     mysim of addprop  $core int \"size\" 8192\n+     mysim of addprop  $core string \"scale\" \"512\"\n+     mysim of addprop  $core int \"events\" $ct_et\n+     mysim of addprop  $core int \"type\" 4\n+\n+     #Add a thread device node\n+     set thread [mysim of addchild $imc_c \"thread\" \"\"]\n+     mysim of addprop $thread string \"compatible\" \"ibm,imc-counters\"\n+     mysim of addprop  $thread string \"events-prefix\" \"CPM_\"\n+     mysim of addprop  $thread int \"reg\" 24\n+     mysim of addprop  $thread int \"size\" 8192\n+     mysim of addprop  $thread string \"scale\" \"512\"\n+     mysim of addprop  $thread int \"events\" $ct_et\n+     mysim of addprop  $thread int \"type\" 1\n+}\n+\n mconfig enable_stb SKIBOOT_ENABLE_MAMBO_STB 0\n \n if { [info exists env(SKIBOOT_ENABLE_MAMBO_STB)] } {\ndiff --git a/hw/imc.c b/hw/imc.c\nindex ccf3973c4752..60fc39d6b761 100644\n--- a/hw/imc.c\n+++ b/hw/imc.c\n@@ -310,9 +310,14 @@ static void disable_unavailable_units(struct dt_node *dev)\n \tcb = get_imc_cb(this_cpu()->chip_id);\n \tif (cb)\n \t\tavl_vec = be64_to_cpu(cb->imc_chip_avl_vector);\n-\telse\n+\telse {\n \t\tavl_vec = 0; /* Remove only nest imc device nodes */\n \n+\t\t/* Incase of mambo, just fake it */\n+\t\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\t\tavl_vec = (0xffULL) << 56;\n+\t}\n+\n \tfor (i = 0; i < MAX_NEST_UNITS; i++) {\n \t\tif (!(PPC_BITMASK(i, i) & avl_vec)) {\n \t\t\t/* Check if the device node exists */\n@@ -365,6 +370,9 @@ void imc_catalog_preload(void)\n \tint ret = OPAL_SUCCESS;\n \tcompress_buf_size = MAX_COMPRESSED_IMC_DTB_SIZE;\n \n+\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\treturn;\n+\n \t/* Enable only for power 9 */\n \tif (proc_gen != proc_gen_p9)\n \t\treturn;\n@@ -421,11 +429,20 @@ static void imc_dt_update_nest_node(struct dt_node *dev)\n  */\n void imc_init(void)\n {\n-\tvoid *decompress_buf;\n+\tvoid *decompress_buf = NULL;\n \tuint32_t pvr = (mfspr(SPR_PVR) & ~(0xf000));\n \tstruct dt_node *dev;\n \tint ret;\n \n+\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS) {\n+\t\tdev = dt_find_compatible_node(dt_root, NULL,\n+\t\t\t\t\t\"ibm,opal-in-memory-counters\");\n+\t\tif (!dev)\n+\t\t\treturn;\n+\n+\t\tgoto imc_mambo;\n+\t}\n+\n \t/* Enable only for power 9 */\n \tif (proc_gen != proc_gen_p9)\n \t\treturn;\n@@ -481,6 +498,7 @@ void imc_init(void)\n \t\tgoto err;\n \t}\n \n+imc_mambo:\n \t/* Check and remove unsupported imc device types */\n \tcheck_imc_device_type(dev);\n \n@@ -496,6 +514,9 @@ void imc_init(void)\n \t/* Update the base_addr and chip-id for nest nodes */\n \timc_dt_update_nest_node(dev);\n \n+\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\treturn;\n+\n \t/*\n \t * If the dt_attach_root() fails, \"imc-counters\" node will not be\n \t * seen in the device-tree and hence OS should not make any\n@@ -541,6 +562,9 @@ static int64_t opal_imc_counters_init(uint32_t type, uint64_t addr, uint64_t cpu\n \t\tphys_core_id = cpu_get_core_index(c);\n \t\tport_id = phys_core_id % 4;\n \n+\t\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\t\treturn OPAL_SUCCESS;\n+\n \t\t/*\n \t\t * Core IMC hardware mandate initing of three scoms\n \t\t * to enbale or disable of the Core IMC engine.\n@@ -605,6 +629,9 @@ static int64_t opal_imc_counters_start(uint32_t type, uint64_t cpu_pir)\n \t\t/* Set the run command */\n \t\top = NEST_IMC_ENABLE;\n \n+\t\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\t\treturn OPAL_SUCCESS;\n+\n \t\t/* Write the command to the control block now */\n \t\tcb->imc_chip_command = cpu_to_be64(op);\n \n@@ -617,6 +644,9 @@ static int64_t opal_imc_counters_start(uint32_t type, uint64_t cpu_pir)\n \t\tphys_core_id = cpu_get_core_index(c);\n \t\tport_id = phys_core_id % 4;\n \n+\t\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\t\treturn OPAL_SUCCESS;\n+\n \t\t/*\n \t\t * Enables the core imc engine by appropriately setting\n \t\t * bits 4-9 of the HTM_MODE scom port. No initialization\n@@ -659,6 +689,9 @@ static int64_t opal_imc_counters_stop(uint32_t type, uint64_t cpu_pir)\n \t\t/* Set the run command */\n \t\top = NEST_IMC_DISABLE;\n \n+\t\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\t\treturn OPAL_SUCCESS;\n+\n \t\t/* Write the command to the control block */\n \t\tcb->imc_chip_command = cpu_to_be64(op);\n \n@@ -672,6 +705,9 @@ static int64_t opal_imc_counters_stop(uint32_t type, uint64_t cpu_pir)\n \t\tphys_core_id = cpu_get_core_index(c);\n \t\tport_id = phys_core_id % 4;\n \n+\t\tif (proc_chip_quirks & QUIRK_MAMBO_CALLOUTS)\n+\t\t\treturn OPAL_SUCCESS;\n+\n \t\t/*\n \t\t * Disables the core imc engine by clearing\n \t\t * bits 4-9 of the HTM_MODE scom port.\n",
    "prefixes": [
        "v2"
    ]
}