get:
Show a patch.

patch:
Update a patch.

put:
Update a patch.

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

{
    "id": 2224201,
    "url": "http://patchwork.ozlabs.org/api/1.2/patches/2224201/?format=api",
    "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260417032837.2664122-10-jamin_lin@aspeedtech.com/",
    "project": {
        "id": 14,
        "url": "http://patchwork.ozlabs.org/api/1.2/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": "<20260417032837.2664122-10-jamin_lin@aspeedtech.com>",
    "list_archive_url": null,
    "date": "2026-04-17T03:28:50",
    "name": "[v4,09/21] hw/misc/aspeed_scu: Add SCU support for SSP SDRAM remap",
    "commit_ref": null,
    "pull_url": null,
    "state": "new",
    "archived": false,
    "hash": "5ba68714ec63d3703ca8e353c2f6a10ede06615d",
    "submitter": {
        "id": 81768,
        "url": "http://patchwork.ozlabs.org/api/1.2/people/81768/?format=api",
        "name": "Jamin Lin",
        "email": "jamin_lin@aspeedtech.com"
    },
    "delegate": null,
    "mbox": "http://patchwork.ozlabs.org/project/qemu-devel/patch/20260417032837.2664122-10-jamin_lin@aspeedtech.com/mbox/",
    "series": [
        {
            "id": 500228,
            "url": "http://patchwork.ozlabs.org/api/1.2/series/500228/?format=api",
            "web_url": "http://patchwork.ozlabs.org/project/qemu-devel/list/?series=500228",
            "date": "2026-04-17T03:28:41",
            "name": "Add SSP/TSP power control and DRAM remap support for AST2700",
            "version": 4,
            "mbox": "http://patchwork.ozlabs.org/series/500228/mbox/"
        }
    ],
    "comments": "http://patchwork.ozlabs.org/api/patches/2224201/comments/",
    "check": "pending",
    "checks": "http://patchwork.ozlabs.org/api/patches/2224201/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=RWUQ44sx;\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 4fxgSM2WV1z1yD3\n\tfor <incoming@patchwork.ozlabs.org>; Fri, 17 Apr 2026 13:32:51 +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 1wDZtD-0002KR-Sm; Thu, 16 Apr 2026 23:29:07 -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 1wDZtC-0002Ik-9X; Thu, 16 Apr 2026 23:29:06 -0400",
            "from mail-japaneastazlp170130007.outbound.protection.outlook.com\n ([2a01:111:f403:c405::7] helo=TYDPR03CU002.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 1wDZtA-0005q6-M4; Thu, 16 Apr 2026 23:29:06 -0400",
            "from TYPPR06MB8206.apcprd06.prod.outlook.com (2603:1096:405:383::19)\n by KL1PR06MB6299.apcprd06.prod.outlook.com (2603:1096:820:ce::14)\n with Microsoft SMTP Server (version=TLS1_2,\n cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9818.25; Fri, 17 Apr\n 2026 03:28:51 +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.023; Fri, 17 Apr 2026\n 03:28:51 +0000"
        ],
        "ARC-Seal": "i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none;\n b=V+KbTHy2Jxx4h9HbDEomdHSrhwAbLEkOhIMBgeoESAeFJ0ziD3CeV2N5cyG/1tPV9kg7hBq41z39tTB+csh+4x4qFXcO5OlUvoaspoX2gax0qPvPi1qUcHmCsn21Tcp9dymaj4kcbyTuVLOIocfpWgIeRqEGzLQR5cb5ZTgATuXFZnxCoOL+O+wr4dMP/s2J7rVC0ZMXZgDEIVKWWEFLJ+9WlijGrmYda6IUqu4iLGkn9lh5FOMbWbBHJlUsdEytX3Uai4RIZBv9OL8SOA/OOTs6T4+5dsj+L8nVnMVI5GAC0M7RH5gFYSWgXwh1/jrZuwotiZsoWrC1kmjwwyZFUA==",
        "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=okdtxpjVP3phSX2NRzlscNjtC0zc9L+xbSVmFt/fApE=;\n b=CPr92eBlqIHwQp01laUQpEEG6ZJKZC049uZOm+qML1QjCS+8iI7VNK/ZtQpmKbq00iqe24JBP2cwxHDxJ3z7xIWTfFhqNWClxEiBtOfpEgakrXOIYOG18Bpb6vZLXXik42eS4+XbKpy84ujhKmuXBbcDMEb9k6OUdmt8pjPewHXI9XYfkostzYTeRpmIAcWHpC/T0p6DSdojP1mRRIa+i/VI36QAkLDo1b9qju+hdKfey0KhFE6ur8TSDxkOPWjdqZTPAZjBYpKoTE18eown2sCZZ4gWSkJMUpciTbPY8Www6qHPGHu8XcSQF2fjW6vMDn55FE0TrRSU31T1lDuKxQ==",
        "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=okdtxpjVP3phSX2NRzlscNjtC0zc9L+xbSVmFt/fApE=;\n b=RWUQ44sxaym+n+SucTmucNmi1/I83Gb7DIv3xbLe4jsTZd4TKmX1gkelf1IOr/JpWeQB4Fatxy63upBqParcFF0B8T6GHitwAlG5oXA5c60ciUrksiBkRICnrO8dv1Kju3qmOHfA+54vtVhmCb/yhBrO3y2otPZY+yP1PmBhCFcQeEYRkHL/lBuAFteJddEFvgogqgrtNNwCkD3EKtYJb5fVECRazEF3BV/WdRuO8MKQNKVxVnIFuhSqf05/YzOBgc3CWGRMq+B1WrW76PSBwHGn9vc+qIpGXNNa8wm85h9GY43ggeBsKDlmcKueY3BdhB3hMtx5VT2P7/S+8JcHLQ==",
        "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 Pierrick Bouvier <pierrick.bouvier@linaro.org>,\n Alistair Francis <alistair@alistair23.me>, Kevin Wolf <kwolf@redhat.com>,\n Hanna Reitz <hreitz@redhat.com>,\n \"open list:ASPEED BMCs\" <qemu-arm@nongnu.org>,\n \"open list:All patches CC here\" <qemu-devel@nongnu.org>,\n \"open list:Block layer core\" <qemu-block@nongnu.org>",
        "CC": "Jamin Lin <jamin_lin@aspeedtech.com>, Troy Lee <troy_lee@aspeedtech.com>",
        "Subject": "[PATCH v4 09/21] hw/misc/aspeed_scu: Add SCU support for SSP SDRAM\n remap",
        "Thread-Topic": "[PATCH v4 09/21] hw/misc/aspeed_scu: Add SCU support for SSP\n SDRAM remap",
        "Thread-Index": "AQHczhpP7lP3YZX350681N5dJHbE4Q==",
        "Date": "Fri, 17 Apr 2026 03:28:50 +0000",
        "Message-ID": "<20260417032837.2664122-10-jamin_lin@aspeedtech.com>",
        "References": "<20260417032837.2664122-1-jamin_lin@aspeedtech.com>",
        "In-Reply-To": "<20260417032837.2664122-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=RWUQ44sx;\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_|KL1PR06MB6299:EE_",
        "x-ms-office365-filtering-correlation-id": "6550541e-5708-4f36-6d34-08de9c3171d4",
        "x-ms-exchange-senderadcheck": "1",
        "x-ms-exchange-antispam-relay": "0",
        "x-microsoft-antispam": "BCL:0;\n ARA:13230040|1800799024|376014|7416014|366016|921020|38070700021|56012099003|18002099003|22082099003;",
        "x-microsoft-antispam-message-info": "\n gLr6N/EIn4yC9LM/hmStWLNqpTrCiNh7hZ5/DuS+93OFB7tMJSNp3jCc9efm0cmKkWLNFgvKYqFErdXcGd09D3hDLYt8uYzUCW9daJ+Hu/5hdTds86vXP8y/RaSwvD+LAW88e5+GsG+M35riDquBqXz8DP2zfID2+h44uiCmZgL8NnIYaVJRsmw07GxsKrNLgS4BwOB/beBRyLmq3bRIeSZ6RXQlNPppxD9KK/m6oZSRRlYpFNSoZpWr6GgurmGgIQi+YCTgO4hvvt2UALJR8YtLwCellRp//fiPmaNvqShYJ3vfttZzKwMD4XdIoE9/byBX9ZftoGCHEgPux9Z555hiZPi4ua+MkjiPaNM+iRNRp4halspyK7Uenzjzlld9JfyCged7IO8yeAh2ndYtY0M28X6pSR+45EygXhw/o2goUIeacUX5/EOMqZGHBCrywZaqp48iGwNkdsQeUzW0t14451ZdRqodm2bWmYnr6BJ5UlL2Pf3PQkdda6ftaWQh0zfvB3OnCoDeYOzqM4kDgPMqrzpR5dJdW5HAui0jNd9JpYr0JKaAqIGnFJVg4vr48houcowLqFoe9pCG748h7mJJZWGqkte2XoeNHzw5FHXO+O1w+hYnZ2PYtbhx+p5AJp5LsyZi9kHhX7qBmplt9nxflixOXDXW2ra4FrjfSQDoUV+IKMYl6iE3aHIRw692G8R8bZrjOCtpEKRJVEUl4cgPZEs2U4fiBmFMWVDdzOIf8rpaiaXtOma6nN8nlE6BDyZad0ucx19zhhIisIhXHPohZ2BiTFNP1cpOLx19sarWYrqQ3uw9vwM7vyZTEPei",
        "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)(1800799024)(376014)(7416014)(366016)(921020)(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?hianGUYMBw7bS3+dMAHTxJF?=\n\t=?iso-8859-1?q?6hvquEzQDytCi1NUf/j1EPBGQE9hWeFD+E+oGGtk4o4ZGNF8aE1v++61tHfM?=\n\t=?iso-8859-1?q?cqCQoqXEQlXuN669pUHrXFnh2JEmb637yx9MAaCWsrViaSclow1lZIvUBBV0?=\n\t=?iso-8859-1?q?O8tuCb+Dfwn14Rv3YeVDQguDjt2rEOF2cGIICK+IIjTbu7kfjORauu4C4v9s?=\n\t=?iso-8859-1?q?In05PX65jiq0ikrlyTpTGFhzfXlkpehXMqszUu7FyYVMFj32/xYGOj6OFFkC?=\n\t=?iso-8859-1?q?2PBIkh7CEto3AteWqkM5fi74CMIX499y2l6Ie7dE1f+FYS0/rpZSdyiaxKeb?=\n\t=?iso-8859-1?q?HDtffLKjSAr1a4VwhEHczTj+vDCo01EYD9PWZ7aH1RGLD3P2luq74fQ7KCq5?=\n\t=?iso-8859-1?q?bBhlXRRiirbkyqnpkTkKpSv0H7dOKpNiuJKP1XwXQaXyPLiwdV38gci+swEP?=\n\t=?iso-8859-1?q?13fcrx8Pw3Rd2/95Z8jpXmYb3w4BnwTs4418eELhUt35kbSjXp3lLfjRL+i5?=\n\t=?iso-8859-1?q?kCG6oEjD9O1dpUoTqxCA6TvCFPHryD35oOmGW2HcONEevXqr8WwvHyGf6B0D?=\n\t=?iso-8859-1?q?VBQSw6AswIEbFjvJkp7sEghfM+WH/Uw4yztWfCuIaD9B6Py7NRSOIK71Be8Z?=\n\t=?iso-8859-1?q?2WCiIogpJn1gPfdPsMa2rZYuSaK1beQFMv/BMy0SKUWkeyh3VtXRdNgV6ub6?=\n\t=?iso-8859-1?q?Z0j2/9X+HyCglJnZUSoWw9uRXu/ugd9WHx1WjSVFLTfNmLOJZpv83brH9wUg?=\n\t=?iso-8859-1?q?eHTEVrF+c5lbCZLqK/6GSrqp/+bPx+D5lYGPmEPZ/xpU41U0vm1bX5LFF5dM?=\n\t=?iso-8859-1?q?KqwsDLV9pro1g/kYcF12gEmUGfTa7ZjhUlEz3Tjws3meD2wGtaUHmuxZnL1Q?=\n\t=?iso-8859-1?q?T50tEU5TWzFu+AnO9FDTGMV3mNl4k+Su+Zr6SjLhJntLbEWkZRw2WEIbU9mU?=\n\t=?iso-8859-1?q?H+seK/HCrBuRicxURinLN7OIGY5JzeMpCDPuihL5qkQu9qgWCajrsVUIeeTn?=\n\t=?iso-8859-1?q?LKKKcyZyIFd5zCUCaqFp9JAukr+fXSw5246cr8dHBbWnqXJnBKuiKKOEzGoy?=\n\t=?iso-8859-1?q?mM9qgkTaxb33jUYq0FqQ8dhAH8FDhAN01VxdlV14Fxve/TNVQ+TkrlcySDGZ?=\n\t=?iso-8859-1?q?dVRCFQKimOSJbqMCnnBP0petkqdvekh5wOe4zbrYYrITryfV8/Q47EaHtnDi?=\n\t=?iso-8859-1?q?AfoNbM0ekTVQXUsqfie3KbgPDYgh/oNqkCQtwqKZMWm01+16eCqHGm1cSnVt?=\n\t=?iso-8859-1?q?EFLrDrS5lZxCtmwSOLsQARF2X/Y7Mr4Dtle/hEDJGA62koQ7kkbnv36TuDTm?=\n\t=?iso-8859-1?q?E3UDuXsxnHN4AYKUEI4EZle09o9mDD2YTWYupqeStm1XxVE793DgvPwvzezZ?=\n\t=?iso-8859-1?q?1k1rGcbPpSGrxMWp495UIpZibC70fjifkrksDQi6kmRz4KUYLQ0aFhJmrExR?=\n\t=?iso-8859-1?q?abeSR7mOOBJfxgvgepHuTl+Drkw86Mdr+f/ivyKHTGo9q9SNuG5jhdagmW1D?=\n\t=?iso-8859-1?q?wDCx6r7rb7oTZHzhlrLXegXSGF/DrKtDskOoOYuNp9SbuX7xkJNh9aQBVMNO?=\n\t=?iso-8859-1?q?WddCufRJt+U+QKAbdhMtE1bu6a5Jxzhd6eMfnXy4DCF4bVgYcPiwB+/0ArUd?=\n\t=?iso-8859-1?q?48Kd/SjlSXyejtL7ibujrBTvVuYBInJ0OKcHiC0oQ9dv08CshOcGmmmfgIbo?=\n\t=?iso-8859-1?q?esZLnWYQNoGcAhtUWMZtLfA0KJVcUhw+sXEj8cWaUuCIuvsv6nqGYQbdtpk/?=\n\t=?iso-8859-1?q?NRrLD5COkN68DRgJNu2PIj89eBAhkFrfjvvUTnm3R1ZfUzQ=3D=3D?=",
        "Content-Type": "text/plain; charset=\"iso-8859-1\"",
        "Content-Transfer-Encoding": "quoted-printable",
        "MIME-Version": "1.0",
        "X-Exchange-RoutingPolicyChecked": "\n Qt06daHbEPvVlq+zqiy0pWjGLK7U8irViCSGMiJmuUtivi6AAfLbbvS9sd8KBg+Z0TD9o1q5YhbhMosXvYw8TRCMi2FK/jvR2X1bserviygPudIYIYQ36U/JpBmO2S4cez7FYaYmtZIETpQ37KyyiSWBopT8Y4Di+sv9IKlprkNjQl5DWMSjfmF1p0iKHhHVUdw0g9VERoVTfg9wk08d6tYO6hhNL8XitXVdFislcOQpZKIIymxttncfaeIg6PV/jwxWNc5RWLZIUfJD3DVjUuAIB8bc102LDzwCiiCccZDkXjWFMJXtGc1xsfynsIXXCGY/aw7YGk/MmO06kFsHWQ==",
        "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 6550541e-5708-4f36-6d34-08de9c3171d4",
        "X-MS-Exchange-CrossTenant-originalarrivaltime": "17 Apr 2026 03:28:50.9755 (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 BWUUqvInF33qgn62C8mNOV1IPHEFE/q1UjGfrmi+7jx5rIdw/1xdzOyUkIYy2lf+l1Y2XGRAGoySDU0wPqab7g+GDS+OiBpCyM96neOA3ZI=",
        "X-MS-Exchange-Transport-CrossTenantHeadersStamped": "KL1PR06MB6299",
        "Received-SPF": "pass client-ip=2a01:111:f403:c405::7;\n envelope-from=jamin_lin@aspeedtech.com;\n helo=TYDPR03CU002.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, 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": "This commit adds SCU register support for SSP SDRAM remap control and runtime\nactivation. It introduces logic for the PSP to dynamically configure the mapping\nof its own DRAM windows into SSP-visible SDRAM space, enabling shared memory\ncommunication via memory region aliases.\n\n- coprocessor_sdram_remap[0]: maps PSP DRAM offset 0x400000000 (size: 0x1A77E000) to SSP SDRAM\n    offset 0x5880000\n- coprocessor_sdram_remap[1]: maps PSP DRAM offset 0x42C000000 (size: 0x05880000) to SSP SDRAM\n    offset 0x0\n\nThe SCU registers AST2700_SCU_SSP_CTRL_1/2 and\nAST2700_SCU_SSP_REMAP_ADDR_{1,2} / REMAP_SIZE_{1,2} allow runtime reconfiguration\nof alias offset, base, and size.\n\n|------------------------------------------|         |----------------------------|\n|               PSP DRAM                   |         |        SSP SDRAM           |\n|------------------------------------------|         |----------------------------|\n| 0x4_0000_0000 (SCU_124 << 4)             |     --> | 0x0000_0000                |\n|   remap1 base                            |---| |   |  - SCU_150: target addr    |\n|   size: 0x1A77E000 (SCU_14C)             |   | |   |    remap2                  |\n|------------------------------------------|   | |   |----------------------------|\n|                                          |   | |   |                            |\n| 0x4_2C00_0000 (SCU_128 << 4)             |-----|   | 0x5880000                  |\n|   remap2 base                            |   |     |  - SCU_148: target addr    |\n|   size: 0x05880000 (SCU_154)             |   |---> |    remap1                  |\n|------------------------------------------|         |----------------------------|\n\nSigned-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n---\n hw/misc/aspeed_scu.c | 54 ++++++++++++++++++++++++++++++++++++++++++++\n 1 file changed, 54 insertions(+)",
    "diff": "diff --git a/hw/misc/aspeed_scu.c b/hw/misc/aspeed_scu.c\nindex 6512b5fccd..8d1ad95402 100644\n--- a/hw/misc/aspeed_scu.c\n+++ b/hw/misc/aspeed_scu.c\n@@ -147,6 +147,14 @@\n \n /* SSP TSP */\n #define AST2700_SCU_SSP_CTRL_0          TO_REG(0x120)\n+#define AST2700_SCU_SSP_CTRL_1          TO_REG(0x124)\n+#define AST2700_SCU_SSP_CTRL_2          TO_REG(0x128)\n+#define AST2700_SCU_SSP_REMAP_ADDR_0    TO_REG(0x140)\n+#define AST2700_SCU_SSP_REMAP_SIZE_0    TO_REG(0x144)\n+#define AST2700_SCU_SSP_REMAP_ADDR_1    TO_REG(0x148)\n+#define AST2700_SCU_SSP_REMAP_SIZE_1    TO_REG(0x14C)\n+#define AST2700_SCU_SSP_REMAP_ADDR_2    TO_REG(0x150)\n+#define AST2700_SCU_SSP_REMAP_SIZE_2    TO_REG(0x154)\n #define AST2700_SCU_TSP_CTRL_0          TO_REG(0x160)\n #define AST2700_SSP_TSP_ENABLE          BIT(0)\n #define AST2700_SSP_TSP_RST             BIT(1)\n@@ -938,6 +946,7 @@ static void aspeed_ast2700_scu_write(void *opaque, hwaddr offset,\n {\n     Aspeed2700SCUState *a = ASPEED_2700_SCU(opaque);\n     AspeedSCUState *s = ASPEED_SCU(opaque);\n+    MemoryRegion *mr = NULL;\n     int reg = TO_REG(offset);\n     /* Truncate here so bitwise operations below behave as expected */\n     uint32_t data = data64;\n@@ -995,6 +1004,37 @@ static void aspeed_ast2700_scu_write(void *opaque, hwaddr offset,\n         data &= ~AST2700_SSP_TSP_ENABLE;\n         s->regs[reg] = (s->regs[reg] & ~0xff) | (data & 0xff);\n         return;\n+    case AST2700_SCU_SSP_CTRL_1:\n+    case AST2700_SCU_SSP_CTRL_2:\n+        mr = (reg == AST2700_SCU_SSP_CTRL_1) ?\n+            &a->dram_remap_alias[0] : &a->dram_remap_alias[1];\n+        if (a->ssp_cpuid < 0 || mr == NULL) {\n+            return;\n+        }\n+        data &= 0x7fffffff;\n+        memory_region_set_alias_offset(mr,\n+                                       ((uint64_t) data << 4) & 0x3ffffffff);\n+        break;\n+    case AST2700_SCU_SSP_REMAP_ADDR_1:\n+    case AST2700_SCU_SSP_REMAP_ADDR_2:\n+        mr = (reg == AST2700_SCU_SSP_REMAP_ADDR_1) ?\n+            &a->dram_remap_alias[0] : &a->dram_remap_alias[1];\n+        if (a->ssp_cpuid < 0 || mr == NULL) {\n+            return;\n+        }\n+        data &= 0x3fffffff;\n+        memory_region_set_address(mr, data);\n+        break;\n+    case AST2700_SCU_SSP_REMAP_SIZE_1:\n+    case AST2700_SCU_SSP_REMAP_SIZE_2:\n+        mr = (reg == AST2700_SCU_SSP_REMAP_SIZE_1) ?\n+            &a->dram_remap_alias[0] : &a->dram_remap_alias[1];\n+        if (a->ssp_cpuid < 0 || mr == NULL) {\n+            return;\n+        }\n+        data &= 0x3fffffff;\n+        memory_region_set_size(mr, data);\n+        break;\n     case AST2700_SCU_SYS_RST_CTRL_1:\n         if (a->ssp_cpuid < 0) {\n             return;\n@@ -1065,6 +1105,14 @@ static const uint32_t ast2700_a0_resets[ASPEED_AST2700_SCU_NR_REGS] = {\n     [AST2700_HW_STRAP1_SEC2]        = 0x00000000,\n     [AST2700_HW_STRAP1_SEC3]        = 0x1000408F,\n     [AST2700_SCU_SSP_CTRL_0]        = 0x000007FE,\n+    [AST2700_SCU_SSP_CTRL_1]        = 0x40000000,\n+    [AST2700_SCU_SSP_CTRL_2]        = 0x42C00000,\n+    [AST2700_SCU_SSP_REMAP_ADDR_0]  = 0x1FFFE000,\n+    [AST2700_SCU_SSP_REMAP_SIZE_0]  = 0x00002000,\n+    [AST2700_SCU_SSP_REMAP_ADDR_1]  = 0x05880000,\n+    [AST2700_SCU_SSP_REMAP_SIZE_1]  = 0x1A77E000,\n+    [AST2700_SCU_SSP_REMAP_ADDR_2]  = 0x00000000,\n+    [AST2700_SCU_SSP_REMAP_SIZE_2]  = 0x05880000,\n     [AST2700_SCU_TSP_CTRL_0]        = 0x000007FE,\n     [AST2700_SCU_SYS_RST_CTRL_1]    = 0xFFC37FDC,\n     [AST2700_SCU_SYS_RST_CTRL_2]    = 0x00001FFF,\n@@ -1097,6 +1145,12 @@ static void aspeed_ast2700_scu_reset(DeviceState *dev)\n \n     if (a->ssp_cpuid > 0) {\n         arm_set_cpu_off(a->ssp_cpuid);\n+        memory_region_set_address(&a->dram_remap_alias[0], 0x5880000);\n+        memory_region_set_alias_offset(&a->dram_remap_alias[0], 0);\n+        memory_region_set_size(&a->dram_remap_alias[0], 0x1a77e000);\n+        memory_region_set_address(&a->dram_remap_alias[1], 0);\n+        memory_region_set_alias_offset(&a->dram_remap_alias[1], 0x2c000000);\n+        memory_region_set_size(&a->dram_remap_alias[1], 0x5880000);\n     }\n \n     if (a->tsp_cpuid > 0) {\n",
    "prefixes": [
        "v4",
        "09/21"
    ]
}