get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 1825218,
    "url": "http://patchwork.ozlabs.org/api/patches/1825218/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20230824092409.1492470-30-gaosong@loongson.cn/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/projects/14/?format=api",
        "name": "QEMU Development",
        "link_name": "qemu-devel",
        "list_id": "qemu-devel.nongnu.org",
        "list_email": "qemu-devel@nongnu.org",
        "web_url": "",
        "scm_url": "",
        "webscm_url": "",
        "list_archive_url": "",
        "list_archive_url_format": "",
        "commit_url_format": ""
    },
    "msgid": "<20230824092409.1492470-30-gaosong@loongson.cn>",
    "list_archive_url": null,
    "date": "2023-08-24T09:24:07",
    "name": "[PULL,29/31] hw/intc/loongarch_pch: fix edge triggered irq handling",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "176887bc8f8e99fdfaadbc3515b0da538b4c7efa",
    "submitter": {
        "id": 82024,
        "url": "http://patchwork.ozlabs.org/api/people/82024/?format=api",
        "name": "gaosong",
        "email": "gaosong@loongson.cn"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20230824092409.1492470-30-gaosong@loongson.cn/mbox/",
    "series": [
        {
            "id": 370173,
            "url": "http://patchwork.ozlabs.org/api/series/370173/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=370173",
            "date": "2023-08-24T09:23:41",
            "name": "[PULL,01/31] target/loongarch: Log I/O write accesses to CSR registers",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/370173/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/1825218/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/1825218/checks/",
    "tags": {},
    "related": [],
    "headers": {
        "Return-Path": "<qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org>",
        "X-Original-To": "incoming@patchwork.ozlabs.org",
        "Delivered-To": "patchwork-incoming@legolas.ozlabs.org",
        "Authentication-Results": "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)",
        "Received": [
            "from lists.gnu.org (lists.gnu.org [209.51.188.17])\n\t(using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4RWd401NSPz1ygJ\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 24 Aug 2023 19:25:52 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1qZ6as-0006HB-LE; Thu, 24 Aug 2023 05:25:34 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <gaosong@loongson.cn>)\n id 1qZ6aM-0004Fy-Hc\n for qemu-devel@nongnu.org; Thu, 24 Aug 2023 05:25:10 -0400",
            "from mail.loongson.cn ([114.242.206.163])\n by eggs.gnu.org with esmtp (Exim 4.90_1)\n (envelope-from <gaosong@loongson.cn>) id 1qZ6aH-0003jn-C8\n for qemu-devel@nongnu.org; Thu, 24 Aug 2023 05:25:01 -0400",
            "from loongson.cn (unknown [10.2.5.185])\n by gateway (Coremail) with SMTP id _____8BxJvHIIedkn3kbAA--.56588S3;\n Thu, 24 Aug 2023 17:24:24 +0800 (CST)",
            "from localhost.localdomain (unknown [10.2.5.185])\n by localhost.localdomain (Coremail) with SMTP id\n AQAAf8DxJ826IedkJjhiAA--.40637S31;\n Thu, 24 Aug 2023 17:24:24 +0800 (CST)"
        ],
        "From": "Song Gao <gaosong@loongson.cn>",
        "To": "qemu-devel@nongnu.org",
        "Cc": "stefanha@redhat.com, richard.henderson@linaro.org,\n Bibo Mao <maobibo@loongson.cn>",
        "Subject": "[PULL 29/31] hw/intc/loongarch_pch: fix edge triggered irq handling",
        "Date": "Thu, 24 Aug 2023 17:24:07 +0800",
        "Message-Id": "<20230824092409.1492470-30-gaosong@loongson.cn>",
        "X-Mailer": "git-send-email 2.39.1",
        "In-Reply-To": "<20230824092409.1492470-1-gaosong@loongson.cn>",
        "References": "<20230824092409.1492470-1-gaosong@loongson.cn>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "X-CM-TRANSID": "AQAAf8DxJ826IedkJjhiAA--.40637S31",
        "X-CM-SenderInfo": "5jdr20tqj6z05rqj20fqof0/",
        "X-Coremail-Antispam": "1Uk129KBjDUn29KB7ZKAUJUUUUU529EdanIXcx71UUUUU7KY7\n ZEXasCq-sGcSsGvfJ3UbIjqfuFe4nvWSU5nxnvy29KBjDU0xBIdaVrnUUvcSsGvfC2Kfnx\n nUUI43ZEXa7xR_UUUUUUUUU==",
        "Received-SPF": "pass client-ip=114.242.206.163;\n envelope-from=gaosong@loongson.cn;\n helo=mail.loongson.cn",
        "X-Spam_score_int": "-18",
        "X-Spam_score": "-1.9",
        "X-Spam_bar": "-",
        "X-Spam_report": "(-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001,\n SPF_PASS=-0.001 autolearn=ham autolearn_force=no",
        "X-Spam_action": "no action",
        "X-BeenThere": "qemu-devel@nongnu.org",
        "X-Mailman-Version": "2.1.29",
        "Precedence": "list",
        "List-Id": "<qemu-devel.nongnu.org>",
        "List-Unsubscribe": "<https://lists.nongnu.org/mailman/options/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=unsubscribe>",
        "List-Archive": "<https://lists.nongnu.org/archive/html/qemu-devel>",
        "List-Post": "<mailto:qemu-devel@nongnu.org>",
        "List-Help": "<mailto:qemu-devel-request@nongnu.org?subject=help>",
        "List-Subscribe": "<https://lists.nongnu.org/mailman/listinfo/qemu-devel>,\n <mailto:qemu-devel-request@nongnu.org?subject=subscribe>",
        "Errors-To": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org",
        "Sender": "qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org"
    },
    "content": "From: Bibo Mao <maobibo@loongson.cn>\n\nFor edge triggered irq, qemu_irq_pulse is used to inject irq. It will\nset irq with high level and low level soon to simluate pulse irq.\n\nFor edge triggered irq, irq is injected and set as pending at rising\nlevel, do not clear irq at lowering level. LoongArch pch interrupt will\nclear irq for lowering level irq, there will be problem. ACPI ged deivce\nis edge-triggered irq, it is used for cpu/memory hotplug.\n\nThis patch fixes memory hotplug issue on LoongArch virt machine.\n\nSigned-off-by: Bibo Mao <maobibo@loongson.cn>\nReviewed-by: Song Gao <gaosong@loongson.cn>\nMessage-Id: <20230707091557.1474790-1-maobibo@loongson.cn>\nSigned-off-by: Song Gao <gaosong@loongson.cn>\n---\n hw/intc/loongarch_pch_pic.c | 7 ++++++-\n 1 file changed, 6 insertions(+), 1 deletion(-)",
    "diff": "diff --git a/hw/intc/loongarch_pch_pic.c b/hw/intc/loongarch_pch_pic.c\nindex 9208fc4460..6aa4cadfa4 100644\n--- a/hw/intc/loongarch_pch_pic.c\n+++ b/hw/intc/loongarch_pch_pic.c\n@@ -30,7 +30,11 @@ static void pch_pic_update_irq(LoongArchPCHPIC *s, uint64_t mask, int level)\n             qemu_set_irq(s->parent_irq[s->htmsi_vector[irq]], 1);\n         }\n     } else {\n-        val = mask & s->intisr;\n+        /*\n+         * intirr means requested pending irq\n+         * do not clear pending irq for edge-triggered on lowering edge\n+         */\n+        val = mask & s->intisr & ~s->intirr;\n         if (val) {\n             irq = ctz64(val);\n             s->intisr &= ~MAKE_64BIT_MASK(irq, 1);\n@@ -51,6 +55,7 @@ static void pch_pic_irq_handler(void *opaque, int irq, int level)\n         /* Edge triggered */\n         if (level) {\n             if ((s->last_intirr & mask) == 0) {\n+                /* marked pending on a rising edge */\n                 s->intirr |= mask;\n             }\n             s->last_intirr |= mask;\n",
    "prefixes": [
        "PULL",
        "29/31"
    ]
}