From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from NAM12-MW2-obe.outbound.protection.outlook.com (NAM12-MW2-obe.outbound.protection.outlook.com [40.107.244.44]) by mx.groups.io with SMTP id smtpd.web11.138417.1672068801738857358 for ; Mon, 26 Dec 2022 07:33:22 -0800 Authentication-Results: mx.groups.io; dkim=pass header.i=@amd.com header.s=selector1 header.b=Oz+yqui2; spf=permerror, err=parse error for token &{10 18 %{i}._ip.%{h}._ehlo.%{d}._spf.vali.email}: invalid domain name (domain: amd.com, ip: 40.107.244.44, mailfrom: abner.chang@amd.com) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=ncaimYZWprqjxoaC1/FMcYOKfHfmYBu4ehPML8nMo+iaTN23BTW3n4Pt79eYiIy9CdOUG0o8q6pIqy8NhO+vSmwgfg1gt6Lf0NbLujOBuHbQyF+ALVQd16KlMtl+iQxBcQ7eIhyYwee/kY95tl5dxCG2hDd+AiHW1A7WWFzKueuJZFcfLZ/+YSle/TIBb8LoVOoo14v9BEtb0gj3CJbCrEz2ct9npob14fjoJuc+sYjAC7HeYPGYooMFZMWf5yRVByLceyST18WJz6ejVXEqMP3y7cg9iPnelfcdioDUHNPokQt0AbCNWZKC4H+IpZwoViPMAPPOUStoKHb7FPFGrQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; 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; bh=Dc0WXtRroVBI2pg5oBj8zq0Z6ESLJwzcvZ1Cx2xF/0U=; b=aPxqsZGBiObXprQkYFUvBj/bIEos7bUAWZeJYqCuCPAKiKzufrXR8Z2yU5OPpRTQK3WqxVB+ReJWPMUpDiQMqcfSMBjKnvMEqDqa0EaJO1g7uUGT40xmQrkBhyLO37to0qSemkdPgrCEWsfsntRAxlN3rMY/m70utKCVQrqKcUHTXm85ypIN2r3VqyizrXRSpAcixu8pVpQQjbaIVUGilRZAtCP9XnpNrihqCL4JVZpG65DD7dZL5uFglUKcOFEzoDsD1GayplzDcfEInP/NI/g2zLvV/7CuRD82xH1sFtSaKeJiV52inOiRZeNQoqV78/7Fv+jBz8J4pr+nsMpUBA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=amd.com; dmarc=pass action=none header.from=amd.com; dkim=pass header.d=amd.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=amd.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=Dc0WXtRroVBI2pg5oBj8zq0Z6ESLJwzcvZ1Cx2xF/0U=; b=Oz+yqui2n3kIKAuORpey02XUpRm/f48/PuPa3wgJA/sRQ+2Um0wiGtEm/zK4w9YRarSqZ5+7lwIsWrT4G4eO+57Bt/hylLDIqv+G8gDAU+OD7dJTDqZeFQff4ZDOkAKW5t5wwpdHtEYwHxxpiq+JQG0V89AlUGQNdiClAZWKVp0= Received: from MN2PR12MB3966.namprd12.prod.outlook.com (2603:10b6:208:165::18) by IA0PR12MB7675.namprd12.prod.outlook.com (2603:10b6:208:433::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5944.16; Mon, 26 Dec 2022 15:33:17 +0000 Received: from MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::cddb:3de9:cd1d:26e4]) by MN2PR12MB3966.namprd12.prod.outlook.com ([fe80::cddb:3de9:cd1d:26e4%5]) with mapi id 15.20.5944.016; Mon, 26 Dec 2022 15:33:17 +0000 From: "Chang, Abner" To: "Wu, Hao A" , "devel@edk2.groups.io" CC: "Ni, Ray" , "Kirkendall, Garrett" , "Lin, Kuei-Hung (Timothy)" , "He, Jiangang" Subject: Re: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked XhciPei memory block Thread-Topic: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked XhciPei memory block Thread-Index: AQHZFVLf39WsoYBFcUyM/jUQtuUDaK56qSOAgAWqfFA= Date: Mon, 26 Dec 2022 15:33:16 +0000 Message-ID: References: <20221221154218.1624-1-abner.chang@amd.com> In-Reply-To: Accept-Language: zh-CN, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SetDate=2022-12-26T15:33:13Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Method=Standard; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Name=General; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=e617909d-37df-4fd8-a504-12282d0906e2; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=1 authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: MN2PR12MB3966:EE_|IA0PR12MB7675:EE_ x-ms-office365-filtering-correlation-id: 48ad53de-c3ab-46e1-e28a-08dae7568293 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: 9j0jY459GC4vultqINU+tZwVQUZO82Mx/1j3sn5chB6ke55L+UcPRFyHp5B52hq/3kdn+tQY+smTI+2I1G0v9qMcHYFjr5jXP5G7LavNk8busgdnO59+ojPemhgnDSJYuQiF05h/y9I2AaBx1uQMsqPMF/KTejK4sHepLMy0X6W+esK2E30LeyzmNBxwJxScZCj/dQDz94VdUeBf0Sz9A9vKcNSj0Zvi5enWNZFNMLteQ8G1waG6BrtoaYdHzlhlsfacATX7ftPD+vxX6fFYI2Fog7DUytzSywEA+UhCPChgunxQJ7QCPA7lfNxLGtmeaDDk73ThNvoB6oehSh/z5MYmHgFQL+uEECQmBKaED1xjblzDsyh/8HRlayqVobgZaGORHLa0TijQI1mbgvTuuijdZooBuNsJKf8ZAzjfHENwHrmvSa/ACFUrwY+pjcCTTv12tTLT3mU/Xg7iw1du0KtGBtfXZ2GfCCxHZCEHDjOZy63kdZBaW8AQBlrrkfI0VYfmmpncLgkhvPNd0mA9qwS7yTYQMD9y8yeg0iIpAiTCeMdiyR5Cyqrs67ruiwKKqizKRFVuvqJPxbvL6qzE9AkP4kwueO9LJPIu/8x5CSiN0mp2OicMSaawRzwzpYu7oxbbAV6r+1i6pOcq/uOlAWAsL9GnvR6ARoZzCcAf2djQxeQAbRpm6pn35ygnlEbQW7LzI8jqTaIgfNGVHriqZLpl0rhwjZQQGGtyyy2972RVqwVSQUl0iwSsimANnlhyVSZqcE/uyoUX81FLiXWVRA== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:MN2PR12MB3966.namprd12.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230022)(4636009)(346002)(39860400002)(366004)(136003)(376002)(396003)(451199015)(38100700002)(41300700001)(122000001)(66899015)(83380400001)(8676002)(4326008)(8936002)(52536014)(64756008)(5660300002)(66476007)(66556008)(38070700005)(76116006)(66946007)(66446008)(9686003)(186003)(26005)(478600001)(966005)(53546011)(6506007)(7696005)(54906003)(110136005)(45080400002)(71200400001)(33656002)(55016003)(19627235002)(2906002)(316002)(86362001);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?us-ascii?Q?3zPAJsckLsgxM4V1aDcDAer2NFHcA5d83qOTxvU9GBolCiCKZHmxfAUIwt8L?= =?us-ascii?Q?I1JN00Kkkdw6nrbEt8htoiztx+zaTCGGlT70RyDVSEsn8LgLJ0rq9u/86knW?= =?us-ascii?Q?9tMIc7hvffAlhfcNM/CohbD1L+0Fn99VaoYu+MpeLBSpQEIwLcEJg6WCKN4d?= =?us-ascii?Q?D02eOnNHCqKXXji9cJrIb3ecVvPgzy+Kxbitp1zKPiE6cbgBHyrY3SxJZAXz?= =?us-ascii?Q?Qlhl40iRcYcFyrYJXSXks6/pVf5pdqG//+LVR3+Q4lGzCHIK27lQL92mamHs?= =?us-ascii?Q?DhgIszKidGXXfbvTdO6Zsr7SbLc0FV3WtjwVMjojxC9L+GVX5Dl2sD5R5fyj?= =?us-ascii?Q?ALSTo/PpfzbJxAWgicN2SHvbCHN9W9aRoCGJCYmSJbzLx3pKWxmk7QQdhhvO?= =?us-ascii?Q?sQVyKcPN2glPetKDItMFH4Lvn6M6AudI0ZW0gvadLAFdOmlexFXwBtSHhtcO?= =?us-ascii?Q?AL+/CxX+RW2L4ubKtE8w347yPpsbrsv8WYWJToORsUE0vksXPoK6VPxG23ec?= =?us-ascii?Q?37hlZ+6jr1cV1gKcdSxY0JROyeXRKs6Qk+a6BOQu22RaLD7a3G+wkdwcGDjV?= =?us-ascii?Q?IHyD30Bdar33ZS626rwTciXJtsX431LGoaNRISJ3egBGI1f+bFKKfo3yAuVa?= =?us-ascii?Q?NYlJEVkE3L3VZJK6/U3T1tcEZBueGfcA0YESgMYO4GmK/wiL6nXoRGI/GeBW?= =?us-ascii?Q?ly3NAaUqQItSMSn8R3dJzwjlznMDMrD2X2cMDShz8gPrWOo00RyDWNOGbyHx?= =?us-ascii?Q?pOizvFtt5dbQh+UaZhxGHgDdoR8TPiDbRErNR0RthC35VSEsmPXeOVOnAPKQ?= =?us-ascii?Q?QbPH6T9FdzttGfqpvQEfCwydMC6DzBZF4FM0C54VcQ5urh9JvxELQoVZxumI?= =?us-ascii?Q?HgHBUMqqTuvhUzrKQhjo88xNghGi7aG7JXd1NL43dnCFxZ7myfuJ7UFytCaV?= =?us-ascii?Q?QW2a1+tH4AEUpoPWJ4zr0XF+pqVj4aAcGT83P6tjJE5wJZPvjaOjy7MaS5BB?= =?us-ascii?Q?wwUSTOyeBZdhC3AjQZbdLsMoXkEBvuiygwOg1qya1Fa3v26FmxhjycIl08LN?= =?us-ascii?Q?1j3gjegSDUIaLA1aDa+jOMDWFilPyzDDtP86scDtWxFYCws5EZ+1dEChuYBc?= =?us-ascii?Q?WOisID5mBdWOrP7aUNisG4i+TsUsCldinkk2KzmHORRRQJpytVD4nwOjz0wx?= =?us-ascii?Q?ovtme5VtUiiz8xpz5XDsq6QELmOHjHEC1rTYhtSNo8Gmpwc4wy/m+gZrhaYk?= =?us-ascii?Q?wHSmWQIgnTeDaPn/KbHszGvWgQlNq1Lad4YtDov7knT86Wh00dlvQW7kPvmN?= =?us-ascii?Q?fkqjsndpq0vc7Xb+B60zQUTHl0fEdfy6WhZO1FLmXIhqwVj7QYAD1kj4ghAA?= =?us-ascii?Q?G8brjsHlziFzwVkbkwgvl131RehesuVB5olGGg2jltlVzjno0ciIF/0/baYN?= =?us-ascii?Q?yp643C6DkeaNxTIMttuUVvBhRDsSiDp7E3BowT/vWLN+SLjJS3ErySiXonWM?= =?us-ascii?Q?y4MALwmbt38Q376KseQPwCQFFjZk9VyDyXUi8cqFGTu3OhwtEG2VkmoJiGgw?= =?us-ascii?Q?ODtY4JR/VNFaRa46lyQ=3D?= MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR12MB3966.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 48ad53de-c3ab-46e1-e28a-08dae7568293 X-MS-Exchange-CrossTenant-originalarrivaltime: 26 Dec 2022 15:33:17.0123 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3dd8961f-e488-4e60-8e11-a82d994e183d X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: agdfr3p6oiCzyQOEXjjjaeA+8oV3nTUB3Eoq5RBdm8/2fuyesTQ8XuspJmZAfO/xW1wKudxjtibGgpyZQLBK2A== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA0PR12MB7675 Content-Language: en-US Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: quoted-printable [AMD Official Use Only - General] Hi Hao, Yes, I think we also have to uncomment it and change the order as well. How= ever, I would like to have Jiangang's confirmation. Lets wait until they co= me back from holidays. Thanks Abner > -----Original Message----- > From: Wu, Hao A > Sent: Friday, December 23, 2022 9:00 AM > To: devel@edk2.groups.io; Chang, Abner > Cc: Ni, Ray ; Kirkendall, Garrett > ; Lin, Kuei-Hung (Timothy) Hung.Lin@amd.com> > Subject: RE: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked > XhciPei memory block >=20 > Caution: This message originated from an External Source. Use proper > caution when opening attachments, clicking links, or responding. >=20 >=20 > Sorry, >=20 > I found that I missed pointing out in the previous discussion that within > function UsbHcFreeMem(), below snippet of code should be updated as well: >=20 > // > // Release the current memory block if it is empty and not the head > // > if ((Block !=3D Head) && UsbHcIsMemBlockEmpty (Block)) { > // UsbHcUnlinkMemBlock (Head, Block); > UsbHcFreeMemBlock (Pool, Block); > } >=20 > Could you help to double check if the above UsbHcUnlinkMemBlock() call > should be uncommented? > Thanks in advance. >=20 > Best Regards, > Hao Wu >=20 > > -----Original Message----- > > From: devel@edk2.groups.io On Behalf Of Chang, > > Abner via groups.io > > Sent: Wednesday, December 21, 2022 11:42 PM > > To: devel@edk2.groups.io > > Cc: Wu, Hao A ; Ni, Ray ; > > Garrett Kirkendall ; Abner Chang > > ; Kuei-Hung Lin > > Subject: [edk2-devel] [PATCH 3/3] MdeModulePkg/XhciPei: Unlinked > > XhciPei memory block > > > > From: Abner Chang > > > > Unlink the XhciPei memory block when it has been freed. > > > > Signed-off-by: Jiangang He > > Cc: Hao A Wu > > Cc: Ray Ni > > Cc: Garrett Kirkendall > > Cc: Abner Chang > > Cc: Kuei-Hung Lin > > --- > > MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c | 29 > > ++++++++++++++++++++++++- > > 1 file changed, 28 insertions(+), 1 deletion(-) > > > > diff --git a/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > b/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > index c64b38fcfc8..7dc014e465d 100644 > > --- a/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > +++ b/MdeModulePkg/Bus/Pci/XhciPei/UsbHcMem.c > > @@ -3,6 +3,7 @@ PEIM to produce gPeiUsb2HostControllerPpiGuid based > on > > gPeiUsbControllerPpiGuid which is used to enable recovery function > > from USB Drivers. > > > > Copyright (c) 2014 - 2016, Intel Corporation. All rights > > reserved.
> > +Copyright (C) 2022 Advanced Micro Devices, Inc. All rights > > +reserved.
> > > > SPDX-License-Identifier: BSD-2-Clause-Patent > > > > @@ -365,6 +366,32 @@ UsbHcInitMemPool ( > > return Pool; > > } > > > > +/** > > + Unlink the memory block from the pool's list. > > + > > + @param Head The block list head of the memory's pool. > > + @param BlockToUnlink The memory block to unlink. > > + > > +**/ > > +VOID > > +UsbHcUnlinkMemBlock ( > > + IN USBHC_MEM_BLOCK *Head, > > + IN USBHC_MEM_BLOCK *BlockToUnlink > > + ) > > +{ > > + USBHC_MEM_BLOCK *Block; > > + > > + ASSERT ((Head !=3D NULL) && (BlockToUnlink !=3D NULL)); > > + > > + for (Block =3D Head; Block !=3D NULL; Block =3D Block->Next) { > > + if (Block->Next =3D=3D BlockToUnlink) { > > + Block->Next =3D BlockToUnlink->Next; > > + BlockToUnlink->Next =3D NULL; > > + break; > > + } > > + } > > +} > > + > > /** > > Release the memory management pool. > > > > @@ -386,7 +413,7 @@ UsbHcFreeMemPool ( > > // first block. > > // > > for (Block =3D Pool->Head->Next; Block !=3D NULL; Block =3D Pool->He= ad->Next) > { > > - // UsbHcUnlinkMemBlock (Pool->Head, Block); > > + UsbHcUnlinkMemBlock (Pool->Head, Block); > > UsbHcFreeMemBlock (Pool, Block); > > } > > > > -- > > 2.37.1.windows.1 > > > > > > > >=20 > >