get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2222997,
    "url": "http://patchwork.ozlabs.org/api/patches/2222997/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260414080025.3005916-12-jamin_lin@aspeedtech.com/",
    "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": "<20260414080025.3005916-12-jamin_lin@aspeedtech.com>",
    "list_archive_url": null,
    "date": "2026-04-14T08:00:39",
    "name": "[v2,11/17] hw/usb/hcd-ehci: Implement 64-bit iTD descriptor addressing",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "7ce861f2cd09dd441115df05e92d36a5a9b11873",
    "submitter": {
        "id": 81768,
        "url": "http://patchwork.ozlabs.org/api/people/81768/?format=api",
        "name": "Jamin Lin",
        "email": "jamin_lin@aspeedtech.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260414080025.3005916-12-jamin_lin@aspeedtech.com/mbox/",
    "series": [
        {
            "id": 499795,
            "url": "http://patchwork.ozlabs.org/api/series/499795/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=499795",
            "date": "2026-04-14T08:00:26",
            "name": "hw/usb/ehci: Add 64-bit descriptor addressing support",
            "version": 2,
            "mbox": "http://patchwork.ozlabs.org/series/499795/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2222997/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2222997/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\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=ktvScOWa;\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 4fvxc70Jqmz1yHH\n\tfor <incoming@patchwork.ozlabs.org>; Tue, 14 Apr 2026 18:03:35 +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 1wCYhb-0003cS-SR; Tue, 14 Apr 2026 04:00:55 -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 1wCYhZ-0003a8-1E; Tue, 14 Apr 2026 04:00:53 -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 1wCYhX-0005tv-26; Tue, 14 Apr 2026 04:00:52 -0400",
            "from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by SI4PR06MB8423.apcprd06.prod.outlook.com (2603:1096:4:299::18) with\n Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9769.48; Tue, 14 Apr\n 2026 08:00:39 +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.9769.046; Tue, 14 Apr 2026\n 08:00:39 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=xbF2RLU3bZ3qT6yvB2fAddgNnbeUyq0kxSfKjY0Okx27dYDL5ZTQFdqpBBJYBZ0aFeRrFCEHsNX/4tkcmaBW9ZpoEa+i5ouGgwSD6m7yHAhaweG/KNmorSck1FKon6B2e+0zm7C7cfacJ/5yZDPUGb0BS8cR0Ez5bmQpmnd3/qQvxk7wzNRe+T74YfKbakLcW+9FntX/JuDOmKEsj970D0/i+VQxA9J73WGDK9+/kyWBkrjVJia/cLt/EXchg3Q1Ito8n4JxXDF5wviBrDoWV7oK8tHBdaj4mOPesPnCWdG3CGIUKCCC8diuHov/r3//JmS4S1U9VmYLlM94dR97AA==",
        "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=vuWKDDsk6LX2zEwkIhjM2Aljgzp3WQcUCNwUlAYTDws=;\n b=NciMAIUM0P5wOE7ZkPzEStH70ZUSgHG548tvXJCFemSK3kCk4m4LLerKJlWD4lDeYsn7oPWFGXKccf0/yuB/0v2quG+oyhR4O0axRHEW4AQwX/KGeUrw43EGXM5R1YRTtZ6OsyWI9higoUjgYi7Q+ox9++o9OiDJqdM5yk5lOTIO3Yz+NwA1YfAzcKWdMNSN7ai40QdtozJICcbl9E/D0NNo/+FDiBHHhv4sdgRmRjD24edtIq6y/GLfiu9JdUszo6l2rhIEajYsgaG5OcbCLSq0CcFS2LRl9t0HErRixBWtqccDnjFErcgpLxCo8J5e35soIBx3Alu7ZVJftBAXiA==",
        "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=vuWKDDsk6LX2zEwkIhjM2Aljgzp3WQcUCNwUlAYTDws=;\n b=ktvScOWaKO0tgL0nwjp7p367v+VRg9T1xgvn8ohA2F6oyFciO+GMZq3ASoGw5T+05Cqp6r1SrYeY8PDZecmTL3lbA/DCpRvT1cdDVe23Tx27ofNkXt6wSzSF8BMqxzaw004bRIRlb/+ChPUfbIAeLeHl+cdMH2aFoX7KOFKKJhO0vSpavVi6s7ZRvzgfVOWZtHPmI1Q1dPyov6FqbxfM4mbz2VisjxCEm62vtxrn1G6Mj5PKcXDsRYsbSYXP6QfEjZwSq0ACQkefhJJv5yFHEDG3enOBRR4uztCbmE+AorvRr0wXyTXtoBH6raf3X7OlFQT5zv+IAe/Wsa/MMx1icA==",
        "From": "Jamin Lin <jamin_lin@aspeedtech.com>",
        "To": "=?iso-8859-1?q?C=E9dric_Le_Goater?= <clg@kaod.org>,\n 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 v2 11/17] hw/usb/hcd-ehci: Implement 64-bit iTD descriptor\n addressing",
        "Thread-Topic": "[PATCH v2 11/17] hw/usb/hcd-ehci: Implement 64-bit iTD\n descriptor addressing",
        "Thread-Index": "AQHcy+TIqGBEg6o9N0ylzvr2+zYkwg==",
        "Date": "Tue, 14 Apr 2026 08:00:39 +0000",
        "Message-ID": "<20260414080025.3005916-12-jamin_lin@aspeedtech.com>",
        "References": "<20260414080025.3005916-1-jamin_lin@aspeedtech.com>",
        "In-Reply-To": "<20260414080025.3005916-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=ktvScOWa;\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_|SI4PR06MB8423:EE_",
        "x-ms-office365-filtering-correlation-id": "b58410ad-8e2e-4287-1483-08de99fbeb11",
        "x-ms-exchange-senderadcheck": "1",
        "x-ms-exchange-antispam-relay": "0",
        "x-microsoft-antispam": "BCL:0;\n ARA:13230040|366016|1800799024|376014|38070700021|56012099003|18002099003|22082099003;",
        "x-microsoft-antispam-message-info": "\n xjVkEeHbOkqw7UlVEJA/9Kektn0s8S4Kw1QAuzOXxMbMNa28KrNxAmlSA5D6biMlO8FqrVKKPO93vprfWFeeKDqvQcQ00qekMDjpM77D7klHIZgpBa2KQR5vOg50HooWPdI5g0iUN5KNNKQOa1BBX+Z5nhPqqzXN+GQIs2VdO2jlU1r/QKqrdw3OOwZii965IZunLzFHBmO/wOuG4ysA+2FbJSh6syvcsOYsxgs5oQT6DHBCB7iPDO0zrXlzmXoWfJ+Q/5EgT+2pAq2bR8940aAKMSjDUZ4KGUZAaNSuxLU8GbdfOyN5M4VP8e0zyATqclrZtESCkbCSt0GNIDmlZadNquI8QU8fRoON1sHUP/LR/gqLIh27do8GaVRXKGXksjS+ciUedivsoMuqX7NLWVx+n5VrErumhp846kdZEyGSGY5hoR9v+qN3YLlxdiXlr7Ei6cpnl3t2/yWu5RpDci+IyEPuAS0v1/LeNL04sg297G0bssMnC7tGKJq304AkbOEDiLavtoIQ1NWQfKqa2mHCBAhfXKtP/vcHXRt7+P6mTqk2lZDrKBs+mTulkNeT06aVjjy3vgK8cPOu8bsD/fX7pcD/0ZnyrrSqSvyz/o4a2l96BNEJJmYxoDdzzt4O7QQjS1UG1Xdd7Yd+pIuYIm3VUPTzCDyEQ2Wn5fuQKz6WtGrgak5ffZBiMrv5eh2AYL9l3ya2bvqYhws71JiDTB9yXd9xuOswdwRK3tcCUIUZuuPExvWq21ZBrhCXbfX5fk4iDmiWCt2qpWqSKO5eGEL+d2tx+dKPKuraOS8jfsQ=",
        "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)(376014)(38070700021)(56012099003)(18002099003)(22082099003);\n DIR:OUT; SFP:1102;",
        "x-ms-exchange-antispam-messagedata-chunkcount": "1",
        "x-ms-exchange-antispam-messagedata-0": "=?iso-8859-1?q?FmZhJXfe3jrBs6nTPiLdhBr?=\n\t=?iso-8859-1?q?RmPtqJfPYh+wwUI5imiQ/5OVOBRPIxuhrRZUiJJwje7QdmieNjpighT4wy8f?=\n\t=?iso-8859-1?q?tR3FBVa7vK2BQOcylv3sghgceeIGaPkNH2e0Z5P9mliSKVNTMDrFjq5t649I?=\n\t=?iso-8859-1?q?B7jA0SKNfpFp1jQAT7v2u9kTIZyjQG71weZES6cM194ClX22NFklnUvC+jJt?=\n\t=?iso-8859-1?q?c6m/NnMTRoQUTmOohRsbHAxVAtDdsgTKeWZL2ZS9wCgfROQzCwOLDy7yIhs0?=\n\t=?iso-8859-1?q?GPuoFG2iMDV5HPC0Ee9wMhAJTzCr/h935aj11N2a8QSZqpU6+pt0NtObLCQW?=\n\t=?iso-8859-1?q?m0Y7gSJHWO690BcyALNDicPYZxiegwLldTaeNfIaoPlazAEzmWrtD1NOmviD?=\n\t=?iso-8859-1?q?1HeQV4Di65J9wVP/U5flmKSFUP4suMkAsubeRK6v7sbpKR3VjLNH5YOD7mOX?=\n\t=?iso-8859-1?q?fIBgvz2+yY8CtMqDPi537lVhQKvcC0rjFDzycZhcRT1kCFrxfuHDTFrkPu5I?=\n\t=?iso-8859-1?q?04xdIQGIsT1ReS32FSCHGDTo8nUCmKlO4EiQV7j2rliE25TL0RcyGXi4WEEM?=\n\t=?iso-8859-1?q?iuGrW0yOREKx4HHA8QjxRGr68xS8PvfsBLJy5aMx2RLzUDaEQe7MaZfnSX3L?=\n\t=?iso-8859-1?q?AePHrWxFpJoG256D33TWhRqDeekP2ZF72lbXU3lc1sZlTKkHbkU00RDED7DW?=\n\t=?iso-8859-1?q?77N2vV+X25aapH3x9A8JxeYucd8APPc8y2VZWzJgCZrQaqL1whlDZ7vL9rek?=\n\t=?iso-8859-1?q?nyKvEUPfmGSAUo2Wx1JiHaehtNoHIOS1/dso/IQRmbJqfU6CER+JbINewuNJ?=\n\t=?iso-8859-1?q?cLW1DAydXEBBt/PQKo+oDwC6+03HVSHF3pLlVl+VlwzZiVvjc5ImTJoXMI26?=\n\t=?iso-8859-1?q?8z/xXCw2mLuI32P3GielwWiwbVzLQGFoA3BTPs9RWov5vp/CCpBfPaIJp7nA?=\n\t=?iso-8859-1?q?HiRybIF5UV3jwAdBuDkJ09AH1i2+0u2ZIuE5sNsKnmcDGyNKp0+P6fXSdXc3?=\n\t=?iso-8859-1?q?GNo7YartmqRU7+yLRaknCFiTkiRp6Yj5ublmQcu9VF5ocvuvsO8bs65E9Cyu?=\n\t=?iso-8859-1?q?RbUCqjGHFTztngLMuGynS1T648jyrQPEhgsjRwP53K2iSTcyLnz9y9TLni3x?=\n\t=?iso-8859-1?q?nCmJxFvfyacShEzTKNSo7541BGB6eyV0ewuaO3J6n5Bd0n69RRv4aAj2ipvJ?=\n\t=?iso-8859-1?q?djjCltys1TDB6RU4CVNKk2wQkJQzln9AzgWdtraGJweldJ+T95zEgV3ZUOch?=\n\t=?iso-8859-1?q?a4ciwJw3Op39bofBAdEzwzcgyGFnTObZYMiVn9bbskk9rdnbI4tADkRfdLCl?=\n\t=?iso-8859-1?q?PzXPbzkITwySOXJiqekmBXOPQ4Z9drN0p/o21H3yASmwqrdmb0c+PGSXuUA0?=\n\t=?iso-8859-1?q?zydF6tb7GFw1EiFzaJeuIn2G+WQ0LRQeNH+7Dx2Aipyxwg7yTZgzf4CanLsp?=\n\t=?iso-8859-1?q?f8VQHoL7LURdL0Gac2FB1hxP5pUEdK6paSalAt7m/cVFEZU33Bzai9N5+cX8?=\n\t=?iso-8859-1?q?yTTDkJUs3m4kM+QMGLIZd9Czuco4CqyetqoU1fsOn+nwZKAl7Ock+RlGG4i8?=\n\t=?iso-8859-1?q?BA6pghfOQmAd/Iu4Q+mfnsCyChbX8O4TaZGatmtzu9owFv7Qt+JeQIsqSfhO?=\n\t=?iso-8859-1?q?hWHlc2Q6dI3hq/COL3KbNzR+70/Cv/+Dh6wd4HHNF/t0eqboWNmtbciGQnf6?=\n\t=?iso-8859-1?q?dZk3rx3VEHrztcfXoFOjaSUKTk1ry/7z8VEo8VqbhlVNzW7MjL+cSShgScuh?=\n\t=?iso-8859-1?q?chg6Pk5VL6ai6vkFbulA9+r2DBFQQQesFFz2v1iO+zlyP9A=3D=3D?=",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-Exchange-RoutingPolicyChecked": "\n nG97YbWyHEXIKPZE2cmm3bQQ8/WzVZlqWvufYIahAafRD4b1FU1Cl8VTDURd8eYc8Jsui1UmEJGcEB5QoDWCph/HrIfE39fbshEqsTxAUrg/S7SWm+bNQ7gnfggffixmJm1UT/GQt+lY4z85dt/2N5iwa2Qel4LOv17RF5zs8zSr6yP46RE3+uZFl7Dgcevy9W0+VUu0EnhnxvoIr+fxI5ReNuVQShAloU1G2lcycm3+F5ayRcS73o4N/HChumYv+r01hX420OM0d7NXUhWRgqJejNiBgLlY7RxoG7Ix5Pg7R+WdHe5Df5s8AacBKo4aS5CeDMBGE48q7VQJLXZmow==",
        "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 b58410ad-8e2e-4287-1483-08de99fbeb11",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "14 Apr 2026 08:00:39.2124 (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 DLRAwxUlgi1mHmvhaeeO2gh1tsp8au1lapBZjHZu8t0sldd8iorz3GHklqNraJhQgWcaTxwON8oTbeYLALrVc/a8X5faCy3mQTkEhenNacI=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "SI4PR06MB8423",
        "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": "EHCI supports 64-bit control data structure addressing when the\n64-bit Addressing Capability bit in HCCPARAMS is set. In that mode,\nthe CTRLDSSEGMENT register provides the upper 32 bits that are\nconcatenated with 32-bit link pointer values to form full 64-bit\ndescriptor addresses (EHCI 1.0, section 2.3.5 and Appendix B).\n\niTD link pointers are stored as 32-bit values and must be expanded\nto full 64-bit descriptor addresses when 64-bit mode is enabled.\nUpdate the iTD traversal path to use ehci_get_desc_addr() when\nfollowing link pointers.\n\nAppendix B also defines high dword fields for iTD buffer pointers.\nAdd bufptr_hi[7] to EHCIitd and use ehci_get_buf_addr() to construct\nfull 64-bit buffer addresses from bufptr[] and bufptr_hi[] fields\nwhen processing isochronous transfers. This allows buffers above\n4GB to be handled correctly.\n\nWhen 64-bit capability is disabled, descriptor and buffer addresses\nremain 32-bit and existing behaviour is unchanged.\n\nSigned-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n---\n hw/usb/hcd-ehci.h | 1 +\n hw/usb/hcd-ehci.c | 9 ++++++---\n 2 files changed, 7 insertions(+), 3 deletions(-)",
    "diff": "diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h\nindex 712de9d50e..af8c080c60 100644\n--- a/hw/usb/hcd-ehci.h\n+++ b/hw/usb/hcd-ehci.h\n@@ -63,6 +63,7 @@ typedef struct EHCIitd {\n #define ITD_BUFPTR_MAXPKT_SH     0\n #define ITD_BUFPTR_MULT_MASK     0x00000003\n #define ITD_BUFPTR_MULT_SH       0\n+    uint32_t bufptr_hi[7];\n } EHCIitd;\n \n /*\ndiff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c\nindex 5d070e204f..5d61b1dd64 100644\n--- a/hw/usb/hcd-ehci.c\n+++ b/hw/usb/hcd-ehci.c\n@@ -1463,7 +1463,8 @@ static int ehci_process_itd(EHCIState *ehci,\n                 return -1;\n             }\n \n-            ptr1 = (itd->bufptr[pg] & ITD_BUFPTR_MASK);\n+            ptr1 = ehci_get_buf_addr(ehci, itd->bufptr_hi[pg],\n+                                     itd->bufptr[pg], ITD_BUFPTR_MASK);\n             qemu_sglist_init(&ehci->isgl, ehci->device, 2, ehci->as);\n             if (off + len > 4096) {\n                 /* transfer crosses page border */\n@@ -1471,7 +1472,9 @@ static int ehci_process_itd(EHCIState *ehci,\n                     qemu_sglist_destroy(&ehci->isgl);\n                     return -1;  /* avoid page pg + 1 */\n                 }\n-                ptr2 = (itd->bufptr[pg + 1] & ITD_BUFPTR_MASK);\n+                ptr2 = ehci_get_buf_addr(ehci, itd->bufptr_hi[pg + 1],\n+                                         itd->bufptr[pg + 1],\n+                                         ITD_BUFPTR_MASK);\n                 uint32_t len2 = off + len - 4096;\n                 uint32_t len1 = len - len2;\n                 qemu_sglist_add(&ehci->isgl, ptr1 + off, len1);\n@@ -1761,7 +1764,7 @@ static int ehci_state_fetchitd(EHCIState *ehci, int async)\n \n     put_dwords(ehci, NLPTR_GET(entry), (uint32_t *) &itd,\n                sizeof(EHCIitd) >> 2);\n-    ehci_set_fetch_addr(ehci, async, itd.next);\n+    ehci_set_fetch_addr(ehci, async, ehci_get_desc_addr(ehci, itd.next));\n     ehci_set_state(ehci, async, EST_FETCHENTRY);\n \n     return 1;\n",
    "prefixes": [
        "v2",
        "11/17"
    ]
}