[{"id":3681345,"web_url":"http://patchwork.ozlabs.org/comment/3681345/","msgid":"<252eee19-3a89-42ca-8ccf-60ec93a3724d@kaod.org>","list_archive_url":null,"date":"2026-04-23T09:04:42","subject":"Re: [PATCH v4 14/17] hw/usb/hcd-ehci: Add ctrldssegment-default\n property","submitter":{"id":68548,"url":"http://patchwork.ozlabs.org/api/people/68548/","name":"Cédric Le Goater","email":"clg@kaod.org"},"content":"On 4/23/26 07:18, Jamin Lin wrote:\n> When 64-bit addressing is supported, the Linux EHCI driver programs the\n> segment register to zero. See ehci_run function:\n> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-hcd.c\n> \n> The driver comment also notes that descriptor structures allocated from\n> the DMA pool use segment zero semantics.\n> \n> Descriptor memory is allocated using the DMA API. The platform driver\n> configures a 64-bit DMA mask so memory can be allocated above 4GB.\n> See ehci_platform_probe function:\n> https://github.com/torvalds/linux/blob/master/drivers/usb/host/ehci-platform.c\n> \n> On AST2700 platforms, system DRAM is mapped above 4GB at 0x400000000.\n> As a result, descriptor addresses constructed directly from the guest\n> EHCI registers do not match the actual system address used by the\n> controller when fetching queue heads (QH) and queue element transfer\n> descriptors (qTD).\n> \n> Add a ctrldssegment-default property so platforms can provide a\n> descriptor address offset when constructing descriptor addresses.\n> This allows systems where DRAM resides above 4GB to access EHCI\n> descriptors correctly.\n> \n> The default value is zero, so existing machines are not affected.\n> \n> Signed-off-by: Jamin Lin <jamin_lin@aspeedtech.com>\n> ---\n>   hw/usb/hcd-ehci.h | 5 ++++-\n>   hw/usb/hcd-ehci.c | 1 +\n>   2 files changed, 5 insertions(+), 1 deletion(-)\n> \n> diff --git a/hw/usb/hcd-ehci.h b/hw/usb/hcd-ehci.h\n> index 8e6a8cdfb0..3d57e1de5f 100644\n> --- a/hw/usb/hcd-ehci.h\n> +++ b/hw/usb/hcd-ehci.h\n> @@ -264,6 +264,7 @@ struct EHCIState {\n>       uint32_t maxframes;\n>       bool migrate_fetch_addr_64bit;\n>       bool caps_64bit_addr;\n> +    uint32_t ctrldssegment_default;\n>   \n>       /*\n>        *  EHCI spec version 1.0 Section 2.3\n> @@ -322,7 +323,9 @@ struct EHCIState {\n>       DEFINE_PROP_BOOL(\"x-migrate-fetch-addr-64bit\", _state, \\\n>                        ehci.migrate_fetch_addr_64bit, true), \\\n>       DEFINE_PROP_BOOL(\"caps-64bit-addr\", _state, \\\n> -                     ehci.caps_64bit_addr, false)\n> +                     ehci.caps_64bit_addr, false), \\\n> +    DEFINE_PROP_UINT32(\"ctrldssegment-default\", _state, \\\n> +                       ehci.ctrldssegment_default, 0)\n>   \n>   extern const VMStateDescription vmstate_ehci;\n>   \n> diff --git a/hw/usb/hcd-ehci.c b/hw/usb/hcd-ehci.c\n> index dfeb8ef70f..e8086f0432 100644\n> --- a/hw/usb/hcd-ehci.c\n> +++ b/hw/usb/hcd-ehci.c\n> @@ -1134,6 +1134,7 @@ static void ehci_opreg_write(void *ptr, hwaddr addr,\n>                             \"      64-bit addressing capability is disabled\\n\");\n>               return;\n>           }\n> +        val |= s->ctrldssegment_default;\n>           break;\n>   \n>       case ASYNCLISTADDR:\n\nReviewed-by: Cédric Le Goater <clg@redhat.com>\n\nThanks,\n\nC.","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=kaod.org header.i=@kaod.org header.a=rsa-sha256\n header.s=ovhmo393970-selector1 header.b=vwGnJmlG;\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)","garm.ovh; auth=pass\n (GARM-97G00279735c74-0cf6-43c1-a82d-51e8868adb0d,\n C846149266E0C9F4D826987B86006927C6E58490) smtp.auth=clg@kaod.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 4g1VZW3P9Xz1y2d\n\tfor <incoming@patchwork.ozlabs.org>; Thu, 23 Apr 2026 19:06:27 +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 1wFpzy-0008FH-OD; Thu, 23 Apr 2026 05:05:28 -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 <clg@kaod.org>) id 1wFpzk-0008Dr-BO\n for qemu-devel@nongnu.org; Thu, 23 Apr 2026 05:05:12 -0400","from 9.mo533.mail-out.ovh.net ([188.165.47.174])\n by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256)\n (Exim 4.90_1) (envelope-from <clg@kaod.org>) id 1wFpzZ-0005UK-Rd\n for qemu-devel@nongnu.org; Thu, 23 Apr 2026 05:05:09 -0400","from director5.derp.mail-out.ovh.net\n (director5.derp.mail-out.ovh.net [51.68.94.138])\n by mo533.mail-out.ovh.net (Postfix) with ESMTPS id 4g1VXZ4xjrz5xHC;\n Thu, 23 Apr 2026 09:04:46 +0000 (UTC)","from director5.derp.mail-out.ovh.net\n (director5.derp.mail-out.ovh.net. [127.0.0.1])\n by director5.derp.mail-out.ovh.net (inspect_sender_mail_agent) with SMTP\n for <jamin_lin@aspeedtech.com>; Thu, 23 Apr 2026 09:04:45 +0000 (UTC)","from mta10.priv.ovhmail-u2.ea.mail.ovh.net (unknown\n [10.110.118.193])\n by director5.derp.mail-out.ovh.net (Postfix) with ESMTPS id 4g1VXY4wYdz7tnc;\n Thu, 23 Apr 2026 09:04:45 +0000 (UTC)","from kaod.org (unknown [10.1.6.4])\n (Authenticated sender: clg@kaod.org)\n by mta10.priv.ovhmail-u2.ea.mail.ovh.net (Postfix) with ESMTPSA id\n 4BA7419237B0; Thu, 23 Apr 2026 09:04:43 +0000 (UTC)"],"X-OVh-ClientIp":"82.64.250.170","Message-ID":"<252eee19-3a89-42ca-8ccf-60ec93a3724d@kaod.org>","Date":"Thu, 23 Apr 2026 11:04:42 +0200","MIME-Version":"1.0","User-Agent":"Mozilla Thunderbird","Subject":"Re: [PATCH v4 14/17] hw/usb/hcd-ehci: Add ctrldssegment-default\n property","To":"Jamin Lin <jamin_lin@aspeedtech.com>,\n \"philmd@linaro.org\" <philmd@linaro.org>,\n \"peterx@redhat.com\" <peterx@redhat.com>,\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 Marcel Apfelbaum <marcel.apfelbaum@gmail.com>,\n Yanan Wang <wangyanan55@huawei.com>, Zhao Liu <zhao1.liu@intel.com>,\n \"open list:ASPEED BMCs\" <qemu-arm@nongnu.org>,\n \"open list:All patches CC here\" <qemu-devel@nongnu.org>","Cc":"Troy Lee <troy_lee@aspeedtech.com>, \"flwu@google.com\" <flwu@google.com>,\n \"nabihestefan@google.com\" <nabihestefan@google.com>,\n \"farosas@suse.de\" <farosas@suse.de>","References":"<20260423051804.362095-1-jamin_lin@aspeedtech.com>\n <20260423051804.362095-15-jamin_lin@aspeedtech.com>","Content-Language":"en-US, fr","From":"=?utf-8?q?C=C3=A9dric_Le_Goater?= <clg@kaod.org>","Autocrypt":"addr=clg@kaod.org; keydata=\n xsFNBFu8o3UBEADP+oJVJaWm5vzZa/iLgpBAuzxSmNYhURZH+guITvSySk30YWfLYGBWQgeo\n 8NzNXBY3cH7JX3/a0jzmhDc0U61qFxVgrPqs1PQOjp7yRSFuDAnjtRqNvWkvlnRWLFq4+U5t\n yzYe4SFMjFb6Oc0xkQmaK2flmiJNnnxPttYwKBPd98WfXMmjwAv7QfwW+OL3VlTPADgzkcqj\n 53bfZ4VblAQrq6Ctbtu7JuUGAxSIL3XqeQlAwwLTfFGrmpY7MroE7n9Rl+hy/kuIrb/TO8n0\n ZxYXvvhT7OmRKvbYuc5Jze6o7op/bJHlufY+AquYQ4dPxjPPVUT/DLiUYJ3oVBWFYNbzfOrV\n RxEwNuRbycttMiZWxgflsQoHF06q/2l4ttS3zsV4TDZudMq0TbCH/uJFPFsbHUN91qwwaN/+\n gy1j7o6aWMz+Ib3O9dK2M/j/O/Ube95mdCqN4N/uSnDlca3YDEWrV9jO1mUS/ndOkjxa34ia\n 70FjwiSQAsyIwqbRO3CGmiOJqDa9qNvd2TJgAaS2WCw/TlBALjVQ7AyoPEoBPj31K74Wc4GS\n Rm+FSch32ei61yFu6ACdZ12i5Edt+To+hkElzjt6db/UgRUeKfzlMB7PodK7o8NBD8outJGS\n tsL2GRX24QvvBuusJdMiLGpNz3uqyqwzC5w0Fd34E6G94806fwARAQABzSBDw6lkcmljIExl\n IEdvYXRlciA8Y2xnQGthb2Qub3JnPsLBeAQTAQIAIgUCW7yjdQIbAwYLCQgHAwIGFQgCCQoL\n BBYCAwECHgECF4AACgkQUaNDx8/77KGRSxAAuMJJMhJdj7acTcFtwof7CDSfoVX0owE2FJdd\n M43hNeTwPWlV5oLCj1BOQo0MVilIpSd9Qu5wqRD8KnN2Bv/rllKPqK2+i8CXymi9hsuzF56m\n 76wiPwbsX54jhv/VYY9Al7NBknh6iLYJiC/pgacRCHtSj/wofemSCM48s61s1OleSPSSvJE/\n jYRa0jMXP98N5IEn8rEbkPua/yrm9ynHqi4dKEBCq/F7WDQ+FfUaFQb4ey47A/aSHstzpgsl\n TSDTJDD+Ms8y9x2X5EPKXnI3GRLaCKXVNNtrvbUd9LsKymK3WSbADaX7i0gvMFq7j51P/8yj\n neaUSKSkktHauJAtBNXHMghWm/xJXIVAW8xX5aEiSK7DNp5AM478rDXn9NZFUdLTAScVf7LZ\n VzMFKR0jAVG786b/O5vbxklsww+YXJGvCUvHuysEsz5EEzThTJ6AC5JM2iBn9/63PKiS3ptJ\n QAqzasT6KkZ9fKLdK3qtc6yPaSm22C5ROM3GS+yLy6iWBkJ/nEYh/L/du+TLw7YNbKejBr/J\n ml+V3qZLfuhDjW0GbeJVPzsENuxiNiBbyzlSnAvKlzda/sBDvxmvWhC+nMRQCf47mFr8Xx3w\n WtDSQavnz3zTa0XuEucpwfBuVdk4RlPzNPri6p2KTBhPEvRBdC9wNOdRBtsP9rAPjd52d73O\n wU0EW7yjdQEQALyDNNMw/08/fsyWEWjfqVhWpOOrX2h+z4q0lOHkjxi/FRIRLfXeZjFfNQNL\n SoL8j1y2rQOs1j1g+NV3K5hrZYYcMs0xhmrZKXAHjjDx7FW3sG3jcGjFW5Xk4olTrZwFsZVU\n cP8XZlArLmkAX3UyrrXEWPSBJCXxDIW1hzwpbV/nVbo/K9XBptT/wPd+RPiOTIIRptjypGY+\n S23HYBDND3mtfTz/uY0Jytaio9GETj+fFis6TxFjjbZNUxKpwftu/4RimZ7qL+uM1rG1lLWc\n 9SPtFxRQ8uLvLOUFB1AqHixBcx7LIXSKZEFUCSLB2AE4wXQkJbApye48qnZ09zc929df5gU6\n hjgqV9Gk1rIfHxvTsYltA1jWalySEScmr0iSYBZjw8Nbd7SxeomAxzBv2l1Fk8fPzR7M616d\n tb3Z3HLjyvwAwxtfGD7VnvINPbzyibbe9c6gLxYCr23c2Ry0UfFXh6UKD83d5ybqnXrEJ5n/\n t1+TLGCYGzF2erVYGkQrReJe8Mld3iGVldB7JhuAU1+d88NS3aBpNF6TbGXqlXGF6Yua6n1c\n OY2Yb4lO/mDKgjXd3aviqlwVlodC8AwI0SdujWryzL5/AGEU2sIDQCHuv1QgzmKwhE58d475\n KdVX/3Vt5I9kTXpvEpfW18TjlFkdHGESM/JxIqVsqvhAJkalABEBAAHCwV8EGAECAAkFAlu8\n o3UCGwwACgkQUaNDx8/77KEhwg//WqVopd5k8hQb9VVdk6RQOCTfo6wHhEqgjbXQGlaxKHoX\n ywEQBi8eULbeMQf5l4+tHJWBxswQ93IHBQjKyKyNr4FXseUI5O20XVNYDJZUrhA4yn0e/Af0\n IX25d94HXQ5sMTWr1qlSK6Zu79lbH3R57w9jhQm9emQEp785ui3A5U2Lqp6nWYWXz0eUZ0Ta\n d2zC71Gg9VazU9MXyWn749s0nXbVLcLS0yops302Gf3ZmtgfXTX/W+M25hiVRRKCH88yr6it\n +OMJBUndQVAA/fE9hYom6t/zqA248j0QAV/pLHH3hSirE1mv+7jpQnhMvatrwUpeXrOiEw1n\n HzWCqOJUZ4SY+HmGFW0YirWV2mYKoaGO2YBUwYF7O9TI3GEEgRMBIRT98fHa0NPwtlTktVIS\n l73LpgVscdW8yg9Gc82oe8FzU1uHjU8b10lUXOMHpqDDEV9//r4ZhkKZ9C4O+YZcTFu+mvAY\n 3GlqivBNkmYsHYSlFsbxc37E1HpTEaSWsGfAHQoPn9qrDJgsgcbBVc1gkUT6hnxShKPp4Pls\n ZVMNjvPAnr5TEBgHkk54HQRhhwcYv1T2QumQizDiU6iOrUzBThaMhZO3i927SG2DwWDVzZlt\n KrCMD1aMPvb3NU8FOYRhNmIFR3fcalYr+9gDuVKe8BVz4atMOoktmt0GWTOC8P4=","In-Reply-To":"<20260423051804.362095-15-jamin_lin@aspeedtech.com>","Content-Type":"text/plain; charset=UTF-8; format=flowed","Content-Transfer-Encoding":"8bit","x-ovh-tracer-id":"16189596239273503789","X-VR-SPAMSTATE":"OK","X-VR-SPAMSCORE":"-100","X-VR-SPAMCAUSE":"\n dmFkZTFYLDpZj+3JIyMzWp4Fwk6DYlLRyX+HAC7l1CsFazoKnZD1tuqrVVpI/1WgpPCDGY0Y79UlcF13xhQiCazakPekH/FXy4dZYw7BVdoDu6asCiRXjCDTSBDfBqWm7RtSXNlfYSpVdzFavv+TItevic87L0RGuSVPLIg4HmM5UsJmN2pZls7i+IdpCBySswIdMC9RF6zOiNxyGHl7LtB7GWilWm04yF4jeWvZK4/jQH+E2CLkQt9nHhLVIk4q2EpiGlf7EWBUbAParHpldOYmkqh6k+hCqmA0eEJO3R5eJp+AM4Lrul9OSVk9syvgjdXu10woHnfkoHqj2ZhM1W1fmIfpnjGxgDi5hN+Zotyj65hMmhosFvsyC8SxYCNHx3kJbwsbXunr+2x2JZk80tn939G4vsJBMttiNgYYghXE93HfecQJTax/MHERs8labjhPCXCmBH4fFkOcEfKnQQE7XOioxDBQnjv6DezFvJqpeduhS6KysmJrjN6lp9ufAnLQSuogzfF3UYDFAZXtm7M+HAZIy0W9YECF1Ytd5ocJmc6WhV3xJ/+BHXCTO3ayVyYivCnf3LYXiC5I/huG0PKVeUfGnUraFNaC1OwSC5EJMNhzLwfIAWQx9sN3UBkz69bWJD9t9WF4+X1QW7D1KkSkJAbVmYUaRiyz8p+8l/8eXYqMBQ","DKIM-Signature":"a=rsa-sha256; bh=5nLN2NPmfhCSC/LmkgCf4xUhJyTR6i98de9dJne+RD8=;\n c=relaxed/relaxed; d=kaod.org; h=From; s=ovhmo393970-selector1;\n t=1776935088; v=1;\n b=vwGnJmlG1ImOm/ikFXmkFnWxVNcefCLLRe//i61kc76ktR0t1iSvokaM/5eqFCEI04h0dOXI\n Ip7Pe6OKivEZO7ec7d8EFr0CmVh8Sgj7QKCyx8HLNNE1y0S5k4hMys2wxuv0Ay0ptEseQvc2fYL\n FtFFrfu5Wnfeh0oDmT91kStmKu5NGGG8WZWHfRrgvZZh1qLOHO0s/iVsRzVFKfmiAQqXtm9nl5P\n OiXzrQQZBRc4s3AzEhW+V3d/75lYjiurvUKv4SKqoVVP+DV3SjfdNFds3OvXDHJYkuB0JrU8S6i\n ssSYU+Gwk5btDdpRLs9ORizfjBiFS46PI21+fTzA9ZAWg==","Received-SPF":"pass client-ip=188.165.47.174; envelope-from=clg@kaod.org;\n helo=9.mo533.mail-out.ovh.net","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=unavailable 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"}}]