get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2229688,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2229688/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260428160103.3551125-2-jim.shu@sifive.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.1/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": ""
    },
    "msgid": "<20260428160103.3551125-2-jim.shu@sifive.com>",
    "date": "2026-04-28T16:01:00",
    "name": "[1/4] hw/intc: riscv_aplic: Fix level trigger IRQ in direct delivery mode",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "307c8265bc8a7b90089507e479bf7bfb67b374be",
    "submitter": {
        "id": 83153,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/83153/?format=api",
        "name": "Jim Shu",
        "email": "jim.shu@sifive.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260428160103.3551125-2-jim.shu@sifive.com/mbox/",
    "series": [
        {
            "id": 501889,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/501889/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=501889",
            "date": "2026-04-28T16:01:00",
            "name": "Minor fixes and enhancements of RISC-V AIA devices",
            "version": 1,
            "mbox": "http://patchwork.ozlabs.org/series/501889/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2229688/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2229688/checks/",
    "tags": {},
    "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\tdkim=pass (2048-bit key;\n unprotected) header.d=sifive.com header.i=@sifive.com header.a=rsa-sha256\n header.s=google header.b=ZXIVJ875;\n\tdkim-atps=neutral",
            "legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=nongnu.org\n (client-ip=209.51.188.17; helo=lists1p.gnu.org;\n envelope-from=qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org;\n receiver=patchwork.ozlabs.org)"
        ],
        "Received": [
            "from lists1p.gnu.org (lists1p.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 4g4lbM33Qqz1xvV\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 Apr 2026 02:03:25 +1000 (AEST)",
            "from localhost ([::1] helo=lists1p.gnu.org)\n\tby lists1p.gnu.org with esmtp (Exim 4.90_1)\n\t(envelope-from <qemu-devel-bounces@nongnu.org>)\n\tid 1wHktb-0003VR-6f; Tue, 28 Apr 2026 12:02:48 -0400",
            "from eggs.gnu.org ([2001:470:142:3::10])\n by lists1p.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jim.shu@sifive.com>)\n id 1wHksM-00034m-T7\n for qemu-devel@nongnu.org; Tue, 28 Apr 2026 12:01:31 -0400",
            "from mail-pf1-x42d.google.com ([2607:f8b0:4864:20::42d])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)\n (Exim 4.90_1) (envelope-from <jim.shu@sifive.com>)\n id 1wHksJ-0003iD-IU\n for qemu-devel@nongnu.org; Tue, 28 Apr 2026 12:01:30 -0400",
            "by mail-pf1-x42d.google.com with SMTP id\n d2e1a72fcca58-82f83bd32efso8551640b3a.2\n for <qemu-devel@nongnu.org>; Tue, 28 Apr 2026 09:01:25 -0700 (PDT)",
            "from hsinchu26.internal.sifive.com ([210.176.154.34])\n by smtp.gmail.com with ESMTPSA id\n d2e1a72fcca58-834daf30fbfsm3002331b3a.33.2026.04.28.09.01.18\n (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);\n Tue, 28 Apr 2026 09:01:20 -0700 (PDT)"
        ],
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=sifive.com; s=google; t=1777392083; x=1777996883; darn=nongnu.org;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:from:to:cc:subject:date\n :message-id:reply-to;\n bh=VQANHWAgJWbGUByZ7ElwjIusOl7UBvMVgDS40O+mI7E=;\n b=ZXIVJ875aOHo8ahR0OmL9EmBFf7Tk3O2bbuA54yhMzsen8pPj2q67Bs9fZsDyo/X3W\n AdrVRmmYNhpY7a2VYL0xfrCgHAI6yqy1z90bIaAVIhWUbisM1FXqp2b6F+w1PeHabgil\n 9U9nq3Tx3BXbkgZlKU7wpc2LnT8mqwhbxQRNTTBTD7iC6mdUW/P5T64ZX9CkEjnv3Y/O\n Yk+2DpwMcQ63xADcwjZzAWraQ9JBmL4h513C05WPM/vhcl9A2EFHEZCiNxc3bbWn1tta\n Zrj98t+aZEuCTOxvjPd2x+TOKfNMcXbdEhhgdy/XHXxq6yWWMvPBGZuiNjl6ig3qqkgD\n HCEw==",
        "X-Google-DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed;\n d=1e100.net; s=20251104; t=1777392083; x=1777996883;\n h=content-transfer-encoding:mime-version:references:in-reply-to\n :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from\n :to:cc:subject:date:message-id:reply-to;\n bh=VQANHWAgJWbGUByZ7ElwjIusOl7UBvMVgDS40O+mI7E=;\n b=GMVN9q0dp8bUmZDlk9q0IvHOIUF3J3yatxYtUIqsfxrb2zCrFzCjwLrkt05C8vXP37\n mN6uUC5ju/Bv49sjkGAIcEaFRqDWjP13AUO1Ua0fwOqkebof2r3QRYGqKFd7EmFFDlGa\n cN+CuHEIG/Iu9WfCMnnL9HMWwmEFkF68AZqGvwYcCJlCCLu/ag++V8cnsizyvXxwAwr2\n X4Rqb0G+dhITEY/hOgWPxwLCrX+W1T6NokdAGZyXPuE0VLUHDnajp3L0jAA76/MNdO3p\n GyPAP4iIHJQxY3OdTbxd5T1dLymOeZ20ZhaDsISUqdxY5lrDEz579bv0lmHY9mw+DzEc\n nNFA==",
        "X-Gm-Message-State": "AOJu0YzI99pd/g+yLjL0kNXG5EAJrT67bO961+zkvw4zazWj/o66mf0A\n 1r9T5oY9qSATAvPBJTRQhTnuIqiNGIiqvW8LX9XaMskqJ9bSTEbbLkdOdzNmXuND+FHCoSSCsr9\n tjf19xS8Xo7h6YYoBfJD/1QVH9QfMVFF0azn2aHBQcrHqg/LHvJbPYCh9Jhs9SRQ3Aj2k6wzkOu\n M+HFca+kwP76djYcDDs+CM8xHDvO+OhfyEXZyaFnTH",
        "X-Gm-Gg": "AeBDieumyvVEh1b1MVn1140mROmy5apA9WtrYcV1xNnc8+DX1+kqYVssBO6IIqQHXGZ\n xJrbGnrHtGUodkla7tbPXjHCvhozA3VIiGc6geylEJltuFpWSQha9KZu4SFE48oUi7Bji3AXY9L\n cPfiTDTqKw/kYicsPshNc8LBs6vDOf0V2vtvjtOVAqH6710yFtCjBf2/p1kMBJXzoyfuDUyuBQt\n msQg4NiK8hKYzLd2PX+/90a5J3pBUSz9qHD4hQ8ldk4a+WZxHHX3EFu60MMX4znBtZzybLj+5TT\n Tj5FnOCPUo3YpAAW/Z0AQwuxMFtIc0rt78NdVha5BBTkQnyc5DK3hrW4K6eRQPkTcY+oboqvNoW\n 5RrapFLWg9Uj8+9w2bPaIAjfGQPv3b54Efm+LhWJ/4l9SD4jonDDyceABmVBjxqBbDYTy0xaCAw\n VEToj9qNPGj6cR8AQPV22S1a573kq4EeWg6iDHdP5Bgb0eG2ImZq5uGG4=",
        "X-Received": "by 2002:a05:6a00:2191:b0:82f:6e9:d1ba with SMTP id\n d2e1a72fcca58-834ddc09748mr3996747b3a.37.1777392081770;\n Tue, 28 Apr 2026 09:01:21 -0700 (PDT)",
        "From": "Jim Shu <jim.shu@sifive.com>",
        "To": "qemu-devel@nongnu.org,\n\tqemu-riscv@nongnu.org",
        "Cc": "Palmer Dabbelt <palmer@dabbelt.com>,\n Alistair Francis <alistair.francis@wdc.com>,\n Weiwei Li <liwei1518@gmail.com>,\n Daniel Henrique Barboza <daniel.barboza@oss.qualcomm.com>,\n Liu Zhiwei <zhiwei_liu@linux.alibaba.com>,\n Chao Liu <chao.liu.zevorn@gmail.com>, Jim Shu <jim.shu@sifive.com>",
        "Subject": "[PATCH 1/4] hw/intc: riscv_aplic: Fix level trigger IRQ in direct\n delivery mode",
        "Date": "Wed, 29 Apr 2026 00:01:00 +0800",
        "Message-ID": "<20260428160103.3551125-2-jim.shu@sifive.com>",
        "X-Mailer": "git-send-email 2.43.0",
        "In-Reply-To": "<20260428160103.3551125-1-jim.shu@sifive.com>",
        "References": "<20260428160103.3551125-1-jim.shu@sifive.com>",
        "MIME-Version": "1.0",
        "Content-Transfer-Encoding": "8bit",
        "Received-SPF": "pass client-ip=2607:f8b0:4864:20::42d;\n envelope-from=jim.shu@sifive.com; helo=mail-pf1-x42d.google.com",
        "X-Spam_score_int": "-20",
        "X-Spam_score": "-2.1",
        "X-Spam_bar": "--",
        "X-Spam_report": "(-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,\n DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1,\n RCVD_IN_DNSWL_NONE=-0.0001, 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 development <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": "According to the AIA spec ch4.7 (\"Precise effects on interrupt-pending\nbits\"), pending bit of APLIC should be set/cleared whenever the\nrectified input value is high/low in the both level-trigger mode\nand direct delivery mode.\n\nCurrently, QEMU APLIC only clears the pending bit when interrupt is\nclaimed in APLIC, but not clears it when the rectified input value is\nlow. (e.g. IRQ source signal is low in the LEVEL_HIGH/Level1 mode).\nThe software may receive an additional IRQ if the peripheral\ntriggers one after the software clears the APLIC IRQ but before it\nclears the peripheral's IRQ.\n\nThus, we also clear the pending bit via the rectified input value in the\nlevel-trigger mode.\n\nThis change doesn't affect MSI delivery mode. Calling\nriscv_aplic_msi_irq_update() when IRQ pending is low will do nothing.\n\nSigned-off-by: Jim Shu <jim.shu@sifive.com>\n---\n hw/intc/riscv_aplic.c | 8 ++++----\n 1 file changed, 4 insertions(+), 4 deletions(-)",
    "diff": "diff --git a/hw/intc/riscv_aplic.c b/hw/intc/riscv_aplic.c\nindex 8f700431114..791e0b01b96 100644\n--- a/hw/intc/riscv_aplic.c\n+++ b/hw/intc/riscv_aplic.c\n@@ -591,14 +591,14 @@ static void riscv_aplic_request(void *opaque, int irq, int level)\n         }\n         break;\n     case APLIC_SOURCECFG_SM_LEVEL_HIGH:\n-        if ((level > 0) && !(state & APLIC_ISTATE_PENDING)) {\n-            riscv_aplic_set_pending_raw(aplic, irq, true);\n+        if ((level > 0) != !!(state & APLIC_ISTATE_PENDING)) {\n+            riscv_aplic_set_pending_raw(aplic, irq, level > 0);\n             update = true;\n         }\n         break;\n     case APLIC_SOURCECFG_SM_LEVEL_LOW:\n-        if ((level <= 0) && !(state & APLIC_ISTATE_PENDING)) {\n-            riscv_aplic_set_pending_raw(aplic, irq, true);\n+        if ((level <= 0) != !!(state & APLIC_ISTATE_PENDING)) {\n+            riscv_aplic_set_pending_raw(aplic, irq, level <= 0);\n             update = true;\n         }\n         break;\n",
    "prefixes": [
        "1/4"
    ]
}