get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2223715,
    "url": "http://patchwork.ozlabs.org/api/1.1/patches/2223715/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260416014928.1279360-18-jamin_lin@aspeedtech.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": "<20260416014928.1279360-18-jamin_lin@aspeedtech.com>",
    "date": "2026-04-16T01:50:04",
    "name": "[v3,17/17] tests/functional/aarch64/test_aspeed_ast2700: Add USB EHCI test for AST2700 A1/A2",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "544dcebf2f45a6e87b3cad297ed4f391024ed06a",
    "submitter": {
        "id": 81768,
        "url": "http://patchwork.ozlabs.org/api/1.1/people/81768/?format=api",
        "name": "Jamin Lin",
        "email": "jamin_lin@aspeedtech.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260416014928.1279360-18-jamin_lin@aspeedtech.com/mbox/",
    "series": [
        {
            "id": 500066,
            "url": "http://patchwork.ozlabs.org/api/1.1/series/500066/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500066",
            "date": "2026-04-16T01:49:32",
            "name": "hw/usb/ehci: Add 64-bit descriptor addressing support",
            "version": 3,
            "mbox": "http://patchwork.ozlabs.org/series/500066/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2223715/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2223715/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=aspeedtech.com header.i=@aspeedtech.com\n header.a=rsa-sha256 header.s=selector1 header.b=byKXmVzt;\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)",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=aspeedtech.com;"
        ],
        "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 4fx1Gr4x2lz1yDF\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 16 Apr 2026 11:52:20 +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 1wDBsV-0008MY-VE; Wed, 15 Apr 2026 21:50: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 <jamin_lin@aspeedtech.com>)\n id 1wDBsI-0008FI-5U; Wed, 15 Apr 2026 21:50:34 -0400",
            "from mail-japaneastazlp170120005.outbound.protection.outlook.com\n ([2a01:111:f403:c405::5] helo=TYPPR03CU001.outbound.protection.outlook.com)\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <jamin_lin@aspeedtech.com>)\n id 1wDBsF-0007jV-3L; Wed, 15 Apr 2026 21:50:33 -0400",
            "from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by SEZPR06MB5738.apcprd06.prod.outlook.com (2603:1096:101:af::8) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.21; Thu, 16 Apr\n 2026 01:50:05 +0000",
            "from TYPPR06MB8206.apcprd06.prod.outlook.com\n ([fe80::e659:1ead:77cb:f6d3]) by TYPPR06MB8206.apcprd06.prod.outlook.com\n ([fe80::e659:1ead:77cb:f6d3%3]) with mapi id 15.20.9818.017; Thu, 16 Apr 2026\n 01:50:05 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=TRbgHicPU9/Xvfil047tbDFYeYAgQTKIGoUgJenKfFiAfv6WEOaOdr1W2AbJmg4821sEx79NUcIDVMDLuY0rltITwmQFAF4b413SLJdEGaoTaylhUdDMBaN4FrH1yw2N4dfrohY0bXXi5GKLz7wSt6pA7RkjMLiVO0Srd4YVsM3zlpIvFCkhBbZ8J9/0kE76qWDBI9NAdUkpEREbEj7WOOKHT2rUbXJMyUL5BAMj66azwAq2LsZCgjQ3SI/fNv0TK5RFUjY37y1AzfoSmdQZNvBaYIXCI5qo/VQZXEVwI9iMZCsIYwVMJ22wgmQBrR7/l//4oCpi8AVxnnKs/I19vw==",
        "ARC-Message-Signature": "i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com;\n s=arcselector10001;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;\n bh=OeVKA1gQtxE507eUBEjViUYlF2RK9kx3HlJM9tWvWpY=;\n b=UFQxET0UTbu0lS8hnQaodx8Kshu29OP6zftZJ1z97XXw1j1dnPZ2PTcqdN2Tg8fIKhwToo/C4d16kzs+DdvscIvI/HvCJJx6avk0YU2DxG/gZyrqKnYfC70aBwKg21eOSpii/VL3mrfbuO1dBuY+vQryCTuYGIxSwVhGthtKnVOKsZt2obOYp0YfhBn/hyONIMaBW5DjSGzYe3r3I4ZU6n2qbb4p6OU1Y6C4RfvIMTHR+/sll+VKHdkcbiXbow0mU8NCi8yo8+S2/kUYqmTiv+M2IG0TJY7NPITSIgmWA73odcnnMkr1is10TsnolRJh7P/L4A9FW4yNmMdB1wbl8A==",
        "ARC-Authentication-Results": "i=1; mx.microsoft.com 1; spf=pass\n smtp.mailfrom=aspeedtech.com; dmarc=pass action=none\n header.from=aspeedtech.com; dkim=pass header.d=aspeedtech.com; arc=none",
        "DKIM-Signature": "v=1; a=rsa-sha256; c=relaxed/relaxed; d=aspeedtech.com;\n s=selector1;\n h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;\n bh=OeVKA1gQtxE507eUBEjViUYlF2RK9kx3HlJM9tWvWpY=;\n b=byKXmVztetchWS/8jAkuWpOC9fu+anlUrWF4mLA3jU8zMZn1pOYE9OyQei9GjQm62exDxTPOVrctM81MTYI+2BckEvXUfHkiBEbSUBQytXOVPR20x5BSEvHfjO/kq5RCoC2Au4TlrKKXSBDofdW+oPTnTdcx8dfh+NCgpdf9o4Pc7Hs+hpTtwl1ltdfyG3D1J3FICEmpAUdZxCiu365DLT+FVp2+caVOFn/M9qF7dexlL1ntYitsfLcd/9amPmWtEoFofZaHz35ERF/1G7ioBxRMOTzn4xwzwuS8HnkKPZSE0SBL/QcP6vHvj9ov9QTVGNZuvI86lhAXn6ca783jQg==",
        "From": "Jamin Lin <jamin_lin@aspeedtech.com>",
        "To": "\"philmd@linaro.org\" <philmd@linaro.org>, =?iso-8859-1?q?C=E9dric_Le_Goat?=\n\t=?iso-8859-1?q?er?= <clg@kaod.org>, Peter Maydell <peter.maydell@linaro.org>,\n Steven Lee <steven_lee@aspeedtech.com>, Troy Lee <leetroy@gmail.com>,\n Kane Chen <kane_chen@aspeedtech.com>,\n Andrew Jeffery <andrew@codeconstruct.com.au>, Joel Stanley <joel@jms.id.au>,\n \"open list:ASPEED BMCs\" <qemu-arm@nongnu.org>,\n \"open list:All patches CC here\" <qemu-devel@nongnu.org>",
        "CC": "Jamin Lin <jamin_lin@aspeedtech.com>, Troy Lee <troy_lee@aspeedtech.com>,\n \"flwu@google.com\" <flwu@google.com>, \"nabihestefan@google.com\"\n <nabihestefan@google.com>",
        "Subject": "[PATCH v3 17/17] tests/functional/aarch64/test_aspeed_ast2700: Add\n USB EHCI test for AST2700 A1/A2",
        "Thread-Topic": "[PATCH v3 17/17] tests/functional/aarch64/test_aspeed_ast2700:\n Add USB EHCI test for AST2700 A1/A2",
        "Thread-Index": "AQHczUNYayfkLJXS6katQHX8eKzYdg==",
        "Date": "Thu, 16 Apr 2026 01:50:04 +0000",
        "Message-ID": "<20260416014928.1279360-18-jamin_lin@aspeedtech.com>",
        "References": "<20260416014928.1279360-1-jamin_lin@aspeedtech.com>",
        "In-Reply-To": "<20260416014928.1279360-1-jamin_lin@aspeedtech.com>",
        "Accept-Language": "zh-TW, en-US",
        "Content-Language": "en-US",
        "X-MS-Has-Attach": "",
        "X-MS-TNEF-Correlator": "",
        "authentication-results": [
            "legolas.ozlabs.org;\n\tdkim=pass (2048-bit key;\n unprotected) header.d=aspeedtech.com header.i=@aspeedtech.com\n header.a=rsa-sha256 header.s=selector1 header.b=byKXmVzt;\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)",
            "dkim=none (message not signed)\n header.d=none;dmarc=none action=none header.from=aspeedtech.com;"
        ],
        "x-ms-publictraffictype": "Email",
        "x-ms-traffictypediagnostic": "TYPPR06MB8206:EE_|SEZPR06MB5738:EE_",
        "x-ms-office365-filtering-correlation-id": "b49b69e7-1c3c-4c75-a8db-08de9b5a7b3c",
        "x-ms-exchange-senderadcheck": "1",
        "x-ms-exchange-antispam-relay": "0",
        "x-microsoft-antispam": "BCL:0;\n ARA:13230040|366016|1800799024|7416014|376014|921020|56012099003|22082099003|18002099003|38070700021;",
        "x-microsoft-antispam-message-info": "\n ygcQ/WI820oeaakJ3PHHWHbBHVv6ZWhWmX2rKzq0ya6ikA0itaNt10/e2xDLyzk8dR4xbI5lK/1FxwsSz+r690nIlIvR9uVmISWgB3GoQ+8ugevnJk267tXed38WzsjxKW0xluwK4dcPmHD6oIo1Zdm11aDe+TLUPmS4Szn7sK0cjP5ZwehfZYzyTsbj/ELmZEc3Ck3hrR7IX7c0S3iCLeIqFwCCbZxcyyczcdfZ2WHZsSfZgALgLKEzELvF8lM/1BsevXm61fib8XjB2Wmavc9OjyOp8X57erDgLOfIhLG6NF4yVX482hcgUS1G97sNM6F6byvVSsx3KtsxJJanGxQ3W+iRW/nyjDky1QN2QyeetThK1TowHk6CaHkXPsd/n/5JK5Uf9bwu5C+7ZN9kSx6Ij97GOJLLKF5VNZN44cJFe5Ae4Af0E4tA/dGMW3m+TTwTlJg06vUVfeSX0rk75UX8MGsUa8qw3epbNSAiBAAOOGlcljPb3xd9MluKR9I/Mhgn49sMIFgHMgs3PwA15AdPuRM/Kua6FnN3lUmjjQyNhVyLTzcjjyEG/c3zxGQ1JTeCflNcQkzUUHY2z27QI4hHzffbtIwq5P0nUFEedAni024FgcM5Uib6nVzX0x0TeX8hmCmdollxFUOTtaydDVFoKhHzUgNv4GU1PsFu4WMg+i9+ULac3lgoNvMS+8WEOjt/sgcNzmdvfdMjGJVaW2uG2rQ67+ukl11c1Ys1e9tlxFx6RSnLNYjk8+ea7AFH+e4GJ76y1MTBJ9ddi2yZsryrINVPE9jSgXW3QvqIv2/JaFRnAibqP60Atzbyp/GA",
        "x-forefront-antispam-report": "CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;\n IPV:NLI; SFV:NSPM; H:TYPPR06MB8206.apcprd06.prod.outlook.com; PTR:; CAT:NONE;\n SFS:(13230040)(366016)(1800799024)(7416014)(376014)(921020)(56012099003)(22082099003)(18002099003)(38070700021);\n DIR:OUT; SFP:1102;",
        "x-ms-exchange-antispam-messagedata-chunkcount": "1",
        "x-ms-exchange-antispam-messagedata-0": "=?iso-8859-1?q?LbO+xw2w1+uKVREn0nB1RRJ?=\n\t=?iso-8859-1?q?gRMe/avZ5IbhElif6xfnDS8nouQ+V0P68CLlWhtXaaJBzqfGm3uHiUAFxyzc?=\n\t=?iso-8859-1?q?OJLPAXFGyvkFWev9Od9TE6cXULw2NVUlV0LIvs7LLNORQIn6ytAeb9NoJmOE?=\n\t=?iso-8859-1?q?/qnqhSt+H94IJbnRkP7Wid4XwIvj1fX91pZ2lp6PBrltcz37X5TWTragmhCW?=\n\t=?iso-8859-1?q?SSPNyGkiF2ZVX8pJZs3It8VJQ9X+P3qGShs74XKBCvU6cqPNSXL7Brzy5wKf?=\n\t=?iso-8859-1?q?cgNyJGljxULTnONdlGYVsqrTeoetUhIP2O8wQYRjiSNDrsVIQivHlIGBYCKq?=\n\t=?iso-8859-1?q?G1ao1MAvtjyk1z8W3SbUlAtL68Sq2AUR82/wBSRnEJ8+rLoTgT01YDW2p6B7?=\n\t=?iso-8859-1?q?pgTGLg5jj6FkYU+Gb63sBJwDGaaFNNx0I93fU2Sek4cnF6SA+5dDy4W0Orv9?=\n\t=?iso-8859-1?q?lUtOIYAITLFIkF8VPlEGPe6N1Xzj8CvM9sI3cDWr60WjnwFxyGGDKER5s3bz?=\n\t=?iso-8859-1?q?YpYGTALQ0LhG/VU028kNVHIY7SWuA4sMcXTWR4E0uOrDdDapSm1xw2mc26k0?=\n\t=?iso-8859-1?q?muHYxMshJar2Fd7pCH3kjmJN6RA/ox459jM6FYZk1Eg+Bdyn7aH3vumWgqvB?=\n\t=?iso-8859-1?q?sssCrb/Zcx3hpo/tB5RZuc/8Q/wPSp9nl5OW+z9lKcpt/3fxZAu/yvpwDK+o?=\n\t=?iso-8859-1?q?Z/bInGckg+gmq4tPtS5hcTraa+VhTcwuQ5V4/29SxWcsLv2ZE3VMawfWU5dy?=\n\t=?iso-8859-1?q?VnbjugADqt22fJeMDHcYw8ESXtL8C/qRHjunATkJQcPux2G7AYHvDgcgXhKz?=\n\t=?iso-8859-1?q?8p8CD0Qg+LhUfCOIxcQyLySwxDFmslOwPPUundxkyo2v1fzkHxAVDmOx0WWl?=\n\t=?iso-8859-1?q?k5WImy9cLvRVvZFyCmmYfVmpK+w6kSS+oyJd6a4GilGqHCnzpAgK3QE80IaY?=\n\t=?iso-8859-1?q?MQBMtiaTK6zUBOO9mrSz9RgiiAw8diFx/Yl8+hf8WqWwXmXRg/TD5TdmTAun?=\n\t=?iso-8859-1?q?IN4FLex9KbfW9xZ1htL5uvHwFF7ivpI1PzU+1C1ijXF3XKroKyvHSiJ7Gsk+?=\n\t=?iso-8859-1?q?rYcUn0dPfMT32gL5V+ZF8fzmNtNb8zY14JtwyQZp+rkzi4Z75EjlIjG7fT1L?=\n\t=?iso-8859-1?q?XCir6HrpazTfuCf2Vzh+q0qmjE1UL24GeBPl7gNq2nSTI2jvq1h6/W+psBtB?=\n\t=?iso-8859-1?q?snTrSeHlDldZsiQl/TgZdMOI9NrOpB+TVXTrvUEBpfNx3RMOHH97izGeORw4?=\n\t=?iso-8859-1?q?wPZfqPuAX2SQuh8vjHe5yzQkqeuPWA8cWt0EiaZqvxq101Tjh/WlvXPGEWWK?=\n\t=?iso-8859-1?q?G0l+blImammBsU59XHMJZ8TGrer8baRvc54PLqBzlkvHNs0bEvopWbpkRLBH?=\n\t=?iso-8859-1?q?Z3YWEWD6Tdy8kl9apqtoNa1KdyCa7qpfneC5Hp8Ld7f9jYTqKSBmwcFPc1J7?=\n\t=?iso-8859-1?q?bQH0WlM1Z6TzxCU99JuWxpN7i8sN+Tdd++cj9BBoLS17NjjScYf6RYTDlQww?=\n\t=?iso-8859-1?q?M3kBLrTG6G8zoow0Ne9Xy04gQMmc+gnjr8+SBqe3YnTuG/msUwsMHkkLmSMQ?=\n\t=?iso-8859-1?q?zBgKu67BaYMwrF3jy9ghNo4B7KgEduPvIiPLGStDIvwblzUACYJuFYNRWQXZ?=\n\t=?iso-8859-1?q?mc9dHBAFUnGrdEWAZUgkFZj/6M4nf9m5Z/ObIn5SoOf55XxDHZ0GsMeHXVeA?=\n\t=?iso-8859-1?q?frebTbD+QQoXUaJErB2HrULbwdS6rQb9oM/Z5mI9A03W4aIVqKOFr7OxaGf2?=\n\t=?iso-8859-1?q?hQNTqCn1G2/XSXY29MTHY5VlQ1WPl5orCAKKmxZmSa8ev6Q=3D=3D?=",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-Exchange-RoutingPolicyChecked": "\n NWJFmxj8eXEbCkHzoSVVjM+fWZN1cBwdvZSOfNjAnEHbgHeG683S8pYhOe4ClDF16IOz4VOeIfa1VfAeOvZxBW1IPQpslPmFltCs0Zb3HCYyWoB4Hugb1xg6yAOlWloEoLGS93JNpSLDjpKtlEJHhT8fi/zGnOON+Zhf3Zx8pc6toMzPfPVm5PyTqEo+4bsHGGggMqoE9BgbwW8+hGveaz4+sV/Qplj0D5EXx5huizzgEB0NU9qdt2Y0nlRRpV7B5DxfgcTn4FWlkXi2s6F6M5XSa1f9qDJqLcXN5lFgiKpfVovWqAUCbT5+h9I2x/WAJ2XXdTA+jd5KMTJswrpqJA==",
        "X-OriginatorOrg": "aspeedtech.com",
        "X-MS-Exchange-CrossTenant-AuthAs": "Internal",
        "X-MS-Exchange-CrossTenant-AuthSource": "TYPPR06MB8206.apcprd06.prod.outlook.com",
        "X-MS-Exchange-CrossTenant-Network-Message-Id": "\n b49b69e7-1c3c-4c75-a8db-08de9b5a7b3c",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "16 Apr 2026 01:50:04.9484 (UTC)",
        "X-MS-Exchange-CrossTenant-fromentityheader": "Hosted",
        "X-MS-Exchange-CrossTenant-id": "43d4aa98-e35b-4575-8939-080e90d5a249",
        "X-MS-Exchange-CrossTenant-mailboxtype": "HOSTED",
        "X-MS-Exchange-CrossTenant-userprincipalname": "\n AO1VKrD8TYTBGjK3qekraeZz2xZN/MOMISnErJBE0GdtZGpnuJ70X+HdXpE5Lw1mYppU9KHG+HEIh5ONnGe6XY8uEs/YMiQDwzCD0K4veuM=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SEZPR06MB5738",
        "Received-SPF": "pass client-ip=2a01:111:f403:c405::5;\n envelope-from=jamin_lin@aspeedtech.com;\n helo=TYPPR03CU001.outbound.protection.outlook.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 SPF_HELO_PASS=-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": "Add a functional test to verify USB EHCI support on the AST2700 A2/A1\nby attaching a USB keyboard device and checking its\nenumeration via lsusb.\n\nThis introduces a helper routine that runs lsusb in the guest\nand validates that the emulated \"QEMU USB Keyboard\" is detected.\n\nSigned-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n---\n tests/functional/aarch64/test_aspeed_ast2700a1.py | 7 +++++++\n tests/functional/aarch64/test_aspeed_ast2700a2.py | 7 +++++++\n 2 files changed, 14 insertions(+)",
    "diff": "diff --git a/tests/functional/aarch64/test_aspeed_ast2700a1.py b/tests/functional/aarch64/test_aspeed_ast2700a1.py\nindex b0c08854da..42b8b200cf 100755\n--- a/tests/functional/aarch64/test_aspeed_ast2700a1.py\n+++ b/tests/functional/aarch64/test_aspeed_ast2700a1.py\n@@ -118,6 +118,11 @@ def do_ast2700_pcie_test(self):\n             'ip addr show dev eth2',\n             'inet 10.0.2.15/24')\n \n+    def do_ast2700_usb_ehci_test(self):\n+        exec_command_and_wait_for_pattern(self,\n+            'lsusb',\n+            'QEMU QEMU USB Keyboard')\n+\n     def start_ast2700_test(self, name, bus_id):\n         num_cpu = 4\n         load_images_list = [\n@@ -161,10 +166,12 @@ def test_aarch64_ast2700a1_evb_sdk_v11_01(self):\n         self.archive_extract(self.ASSET_SDK_V1101_AST2700A1)\n         self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')\n         self.vm.add_args('-netdev', 'user,id=net1')\n+        self.vm.add_args('-device', 'usb-kbd,bus=usb-bus.3')\n         self.start_ast2700_test('ast2700-a1-image', 1)\n         self.verify_openbmc_boot_and_login('ast2700-a1')\n         self.do_ast2700_i2c_test(1)\n         self.do_ast2700_pcie_test()\n+        self.do_ast2700_usb_ehci_test()\n \n     def test_aarch64_ast2700a1_evb_sdk_vbootrom_v11_01(self):\n         self.set_machine('ast2700a1-evb')\ndiff --git a/tests/functional/aarch64/test_aspeed_ast2700a2.py b/tests/functional/aarch64/test_aspeed_ast2700a2.py\nindex ed414999f4..40e0ad81ed 100755\n--- a/tests/functional/aarch64/test_aspeed_ast2700a2.py\n+++ b/tests/functional/aarch64/test_aspeed_ast2700a2.py\n@@ -121,6 +121,11 @@ def do_ast2700_pcie_test(self):\n             'ip addr show dev eth2',\n             'inet 10.0.2.15/24')\n \n+    def do_ast2700_usb_ehci_test(self):\n+        exec_command_and_wait_for_pattern(self,\n+            'lsusb',\n+            'QEMU QEMU USB Keyboard')\n+\n     def start_ast2700_test(self, name, bus_id):\n         num_cpu = 4\n         load_images_list = [\n@@ -164,10 +169,12 @@ def test_aarch64_ast2700a2_evb_sdk_v11_01(self):\n         self.archive_extract(self.ASSET_SDK_V1101_AST2700A2)\n         self.vm.add_args('-device', 'e1000e,netdev=net1,bus=pcie.2')\n         self.vm.add_args('-netdev', 'user,id=net1')\n+        self.vm.add_args('-device', 'usb-kbd,bus=usb-bus.3')\n         self.start_ast2700_test('ast2700-default-image', 1)\n         self.verify_openbmc_boot_and_login('ast2700-default')\n         self.do_ast2700_i2c_test(1)\n         self.do_ast2700_pcie_test()\n+        self.do_ast2700_usb_ehci_test()\n \n     def test_aarch64_ast2700a2_evb_sdk_vbootrom_v11_01(self):\n         self.set_machine('ast2700a2-evb')\n",
    "prefixes": [
        "v3",
        "17/17"
    ]
}