From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 1DCF8C6FD1F for ; Tue, 2 Apr 2024 04:07:55 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 6B31610EA19; Tue, 2 Apr 2024 04:07:55 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="hyK4OK02"; dkim-atps=neutral Received: from NAM11-CO1-obe.outbound.protection.outlook.com (mail-co1nam11on2136.outbound.protection.outlook.com [40.107.220.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4E15110EA19 for ; Tue, 2 Apr 2024 04:07:54 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=d0HHNBhJn7eitdN5DjzAYvdTQZFvZiy8VWPmsMWnkk/wYsIv8H1x29Sj02Rf4lEiWXGhizJDvY2Y29bHiOSfneMmCOFHddI+RtuTLMTL/EWuFbdkaUYrAYzNyJSI1reAJXbS07kXRQFdYn9mhIkECAUZViqUVOcqr/Wsid8DiyaBGM5xt9Kq4Swf6K9niEsP/akpQCAsKJOZzxQAhJVkfrn1pn1jdJBC/Pb4AdS6FWH27/1lUe2kBnLQQsW/EcisUF2Oo+g/xL65b7dU30XMsNg4w6hpG87XWZvXJpzhT+Dx7nHsEbX0E0xp1aFMxYb31ExXP8AtJshMWdlDZVh43Q== 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=dVCeo+R92H5jb241sr0iaUATsmBFEVTikMbACa807e4=; b=Wq0nE75oyd5LDZTtDgQGOEf+PJykHJaqVPe+wNS7tDytSRliAMDZzltW7Ijpnz3ISFG2bglyxGWnM21UOjIBC1S5RwlM1SQE7AZZyU1Jd1imBU2mr/9q/X5nAz4w6KZqAo7MtLNdKnl5hMTqwXitQnGMRVQugdbPqse6uC5YChVGkqx4FlbHahWxR6GJBLQFl45WHW5Lw9gPLRbH2Tkn+fTzGA3EblM1levuvawQfFqpatVLlQxOQfVfmx6JcSoF79r5PY2Waou+yujvE/0kAN/rU3kQUNMnzJW6KTkTIAMirxOERFzENVpZ1ToEX35m87WsX0xIiZUaKcSCDgEtjQ== 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=dVCeo+R92H5jb241sr0iaUATsmBFEVTikMbACa807e4=; b=hyK4OK02jhIIocul2LBKQO0ZT7qn2xe81EoVhufog9EHI6seOsETLNKKXAolHly3lHBol5YJyt5VHL6kYNACCd1jJjKJQ56B+bMSEDQ6GLMRjerO+/51IC1yrdw+YSeipIVgsqDl5GoN4e+xNXlLBLjtfNAFUrSaoK6A28aGKTM= Received: from PH7PR12MB5997.namprd12.prod.outlook.com (2603:10b6:510:1d9::21) by DS0PR12MB6606.namprd12.prod.outlook.com (2603:10b6:8:d2::20) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7409.46; Tue, 2 Apr 2024 04:07:51 +0000 Received: from PH7PR12MB5997.namprd12.prod.outlook.com ([fe80::d1a1:5993:ef75:9419]) by PH7PR12MB5997.namprd12.prod.outlook.com ([fe80::d1a1:5993:ef75:9419%6]) with mapi id 15.20.7409.042; Tue, 2 Apr 2024 04:07:51 +0000 From: "Wang, Yang(Kevin)" To: "Ma, Jun" , "amd-gfx@lists.freedesktop.org" CC: "Feng, Kenneth" , "Deucher, Alexander" , "Lazar, Lijo" Subject: RE: [PATCH] drm/amdgpu: refactoring the runtime pm mode detection code Thread-Topic: [PATCH] drm/amdgpu: refactoring the runtime pm mode detection code Thread-Index: AQHagbM15CqnL7ajf0ytOwpDCy3WQrFUXIGAgAAGSFA= Date: Tue, 2 Apr 2024 04:07:51 +0000 Message-ID: References: <20240329082857.3082844-1-Jun.Ma2@amd.com> In-Reply-To: Accept-Language: en-US, zh-CN Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: msip_labels: MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ActionId=85bf063f-190b-4a43-8711-3fb6c6cf8cbd; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_ContentBits=0; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_Enabled=true; 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_SetDate=2024-04-02T04:06:09Z; MSIP_Label_4342314e-0df4-4b58-84bf-38bed6170a0f_SiteId=3dd8961f-e488-4e60-8e11-a82d994e183d; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PH7PR12MB5997:EE_|DS0PR12MB6606:EE_ x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: CS3s8q8H4Icc62qx+v/Ufo0u+Xmc1Cs9M08zlzdZzu5Y/u/NHid182aboBlPBkSHN07iEzz0W/CL7+UioTD8+sQgmyGs8+7qLdJ7/wbkXuFcx01U+Bf6pMPCyDZR23IvuAW78sr+U0W9SG1AqTEkHGFylxNYjH7fGY43VQfcYvbrdzFbY4Yu99XkYFW5Fgbvyow6wTDJ355wTJJHvSpOXVIzrwLVcKT5dofVRNL1mOHn/kQ4tAwMeEOJ5hVSG+lmtUgDSnGTOXSpaWqNlR11cWXfZDZX0gCHynNM3IoOjr65LdqYVjxFpQunStpvpbMj9+OhYUrZeiNDGJqOfsSPzZa+PG0+nlL2Zs8UrBWK55l77q+Y0ByVUPx/QFrhwVvgreK7oQ31vMy5izXbhIdzcdtclBZ7dlxnLFkLzC43/8NzFWeEUjPo+TRhO27p1o2sbpzZQRGK+Srd7llDBgN8b5r8jA7OZSMymnLflmUb1d6L7onp6wgTqBTvJ/1qrrqgsBaI63FFsu0r8Jwt8VqOHRf5yjPT4HFMeoLScAazypnJb/9jLLM9Rn4XrsvAH191+PuEQz9RRMIEmY3WQli8lfhJXcNwj5aXU1mW/Co8vR/jrBMg7qLswHrTKH4VmhJsAbo93z8Gz4rzIasKYfBs5F7lFduZs207HRtVmzx+Sps= x-forefront-antispam-report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB5997.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230031)(366007)(1800799015)(376005); DIR:OUT; SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?MktkUUU4cFA1ZWlQR1FYZ2EwT1c0ZWlXMVdyOUdFeStacWFHK2hiVzlRSHBL?= =?utf-8?B?Vm1qblZOWExoQkFYNWUwbzJiWTYwSlBjOXBQS2I1YlJOMkc4ZHYvdEhDU2Zz?= =?utf-8?B?K0VUcVhkU2JzdWZTaksvVVdUY0tYTmFBbVJJcDIwbUlwbDlnS1I0Q2w5bEk4?= =?utf-8?B?L2xDcUNlQzZtT3oxOUYxSnZtVkpWbmMzODQxWUpKWSszRzRGRm13aGJLN2pa?= =?utf-8?B?TXZNUVRMV1JhZDM2ZFhzbnh0aGVxZGNRM0I4dkVWTW9tMWZwNTFPVnRDcHRt?= =?utf-8?B?dmgvV3drQWJpUUpDblVKbmx6RjFHTitxNHQrL2dhcDVtSWR4Vm5QZXAvNTRn?= =?utf-8?B?LzBWRklqMVhlQmxySnlXT0NPTzRMVk1Zd0x5UnRYdjNRYkRZZ1pzbjJ6Ymcz?= =?utf-8?B?R0t1UVg2WjEyU044eS9GL3RKbkRrUkkrNDZjOExla1paNEJzRlpRR1kxU3dB?= =?utf-8?B?NkJrN2NqS280WFRabU1GOUZ5TDJ2azlHRUxqblpOZS9TMm4xZk9nOWk0L0sz?= =?utf-8?B?YVg3cDlGUityeTgwYVdPSFlzTGRIOHFrNWdBRHBFa1VacmVsWjhaVldmOUVX?= =?utf-8?B?Q2tOM21EbTM2cGVONytrMU1KQnpOK0hGY2ZhREZycW10UHd2TWVaK1NrODE1?= =?utf-8?B?VHhuMnBKRlJINTAycTdzemQyb005ZjRUM2g0OXp0UU1pbmYwcUZ3ZjVNSHBZ?= =?utf-8?B?cnB5RWwrT1pkZG1JbTRrLzUrU1J1KzRuZFc0NUlNNjloR3I0R2tYeXc1VHZr?= =?utf-8?B?WkhLVU1KdEV3L1dvSnRTanFIUjRGSWdqeGFWQkpwT1g0V0RuNEhIc2pSbmEx?= =?utf-8?B?eHlaWExqK2dqM3ZBMzFTVUIwQkUxZkZOOUhJQlBMOWY3S0FQZUYremNZMHUw?= =?utf-8?B?YzdmOXFlMk9WaUNEcDQyc2RFVEd2QVhaMG5ETXgxSFNmaE5va2JkR3hTT2hl?= =?utf-8?B?Q0U3d2xIQ00zazQwa2RQYXdGTCtWOEdubWxwMUZ6S1JHLzFFMFJPWmFrdDJk?= =?utf-8?B?R0hEU0RhdnFYbzdXYUwvVWpuS0FtejNoTzdHeGxrL0Z5NnoyTVN0c1JZQ0Zn?= =?utf-8?B?eUpqTDl2ZjNMVXNXelF1bEErRXNrUEVIOTlPdWlrQklDT0pvTzZUNFBwTEZw?= =?utf-8?B?OVorY3ozcDJVRmw1YWhpQndJZjRScmluT0J4MDZ4SDU5WllwaTBsNjIrbklW?= =?utf-8?B?MTk0OXVkY3BxcWlZam5DK1dMZzFwMlVGNXNKT2lkZFlIVVVwemNMTjQzQzZR?= =?utf-8?B?ZmxtZEZiQ3B1UzN1VUVGTlNHakt5NzFFWGNUWU1oWHFCWlFJbkljR01LRGN4?= =?utf-8?B?Z25ObWY0T2NTcEFhbjQ2M3ZrcGFkaUUyY2prZVJvYndlQnQ5R2dNbENNZ3ls?= =?utf-8?B?OHNieGFXaEJPSlJZYlgyRFR0cU5NcUxWbjBNbUNjMjRDeG5PUzhXRGJ4cUpy?= =?utf-8?B?T1ZTdDFBQkx5TEV6TnNxeVE4M25UUXdZRm5FdEtKTE9PWTRyQ0VJdVVCZGxP?= =?utf-8?B?MjZoeThONjhCR1g4T2FBR2x1R0VaeGlNdzkxa0JDSkF5bWJYOXdWRVB6eUhu?= =?utf-8?B?WGhZb0x6U0tueXNIZmIxdkt1a1NjSFlmU0VONnFWSFRmKzVFT29qRmxyVTMy?= =?utf-8?B?a3AycnA2VVVVRk56Y2dZSEtjTDFvREFWeW5UVlYyRDhCSnlvTE9BUmt2THhi?= =?utf-8?B?d3k1ejYxS3hRR1k3Z1Z2OHJPQzlwL2JZZjAyclVxbUY4dHdjb2JVRUQzL2w0?= =?utf-8?B?cXg4c2ZrTmVRVHBkd0JyU25DZ0ZJbnBZL0pGUUZUeXZlMXlMdUpndnZsRlU1?= =?utf-8?B?WnlsS00wUG9iM1lOT2R5d0pQTzJxM0x1ZUpHNm5Mc0dMUCtwc2JoYzE3Mjdm?= =?utf-8?B?TEVWZ3B0N0p1SHl5Z0xpb1FvVkRhNDhEcUdZajg3dEJ1UzZiOVljRWlIRHk4?= =?utf-8?B?NDlnYi81QlMxSjJsbnErTDJiVTVQVFVTYjdHYkNGbG1OVmtMWHFEUlFWYVhT?= =?utf-8?B?VXp5Y1pBemhoMEV5cjRZMWg5RENueFp5TnNpTGNjRHBTRmRaenR0UGNBUVpj?= =?utf-8?B?UVFPN1FzZWtZWmNuYWd1ejh6Z1hvSzBzV1dJV0tHQ0RKYlhZamFWWG44eEM4?= =?utf-8?Q?n2zc=3D?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5997.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 52171821-dbd1-4303-3372-08dc52ca773c X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Apr 2024 04:07:51.6872 (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: zFUjXXZW/4SxRqbhRVpgkz1dvwug4DPo7DuYZxlvD/ZVK9HRUCsvKbbwESiqQCjE X-MS-Exchange-Transport-CrossTenantHeadersStamped: DS0PR12MB6606 X-BeenThere: amd-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces@lists.freedesktop.org Sender: "amd-gfx" W0FNRCBPZmZpY2lhbCBVc2UgT25seSAtIEdlbmVyYWxdDQoNCi0tLS0tT3JpZ2luYWwgTWVzc2Fn ZS0tLS0tDQpGcm9tOiBNYSwgSnVuIDxKdW4uTWEyQGFtZC5jb20+DQpTZW50OiBUdWVzZGF5LCBB cHJpbCAyLCAyMDI0IDExOjQ0IEFNDQpUbzogTWEsIEp1biA8SnVuLk1hMkBhbWQuY29tPjsgYW1k LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcNCkNjOiBNYSwgSnVuIDxKdW4uTWEyQGFtZC5jb20+ OyBGZW5nLCBLZW5uZXRoIDxLZW5uZXRoLkZlbmdAYW1kLmNvbT47IERldWNoZXIsIEFsZXhhbmRl ciA8QWxleGFuZGVyLkRldWNoZXJAYW1kLmNvbT47IFdhbmcsIFlhbmcoS2V2aW4pIDxLZXZpbllh bmcuV2FuZ0BhbWQuY29tPjsgTGF6YXIsIExpam8gPExpam8uTGF6YXJAYW1kLmNvbT4NClN1Ympl Y3Q6IFJlOiBbUEFUQ0hdIGRybS9hbWRncHU6IHJlZmFjdG9yaW5nIHRoZSBydW50aW1lIHBtIG1v ZGUgZGV0ZWN0aW9uIGNvZGUNCg0KcGluZy4uLg0KDQpSZWdhcmRzLA0KTWEgSnVuDQoNCk9uIDMv MjkvMjAyNCA0OjI4IFBNLCBNYSBKdW4gd3JvdGU6DQo+IHJlZmFjdG9yIHRoZSBjb2RlIG9mIHJ1 bnRpbWUgcG0gbW9kZSBkZXRlY3Rpb24gdG8gc3VwcG9ydA0KPiBhbWRncHVfcnVudGltZV9wbSA9 MiBhbmQgMSB0d28gY2FzZXMNCj4NCj4gU2lnbmVkLW9mZi1ieTogTWEgSnVuIDxKdW4uTWEyQGFt ZC5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmggICAg ICAgIHwgIDEgKw0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5j IHwgNjggKysrKysrKysrKysrKysrKysrKysrKw0KPiAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2ttcy5jICAgIHwgNDggKy0tLS0tLS0tLS0tLS0tDQo+ICAzIGZpbGVzIGNoYW5n ZWQsIDcwIGluc2VydGlvbnMoKyksIDQ3IGRlbGV0aW9ucygtKQ0KPg0KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgNCj4gYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHUuaA0KPiBpbmRleCAzNzIzMjM1ZjU4MTguLjQzNThkOGM2MzBiMiAx MDA2NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgNCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1LmgNCj4gQEAgLTE0MDgsNiArMTQw OCw3IEBAIGJvb2wgYW1kZ3B1X2RldmljZV9zdXBwb3J0c19weChzdHJ1Y3QgZHJtX2RldmljZQ0K PiAqZGV2KTsgIGJvb2wgYW1kZ3B1X2RldmljZV9zdXBwb3J0c19ib2NvKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOw0KPiBib29sIGFtZGdwdV9kZXZpY2Vfc3VwcG9ydHNfc21hcnRfc2hpZnQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7ICBpbnQNCj4gYW1kZ3B1X2RldmljZV9zdXBwb3J0c19iYWNv KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOw0KPiArdm9pZCBhbWRncHVfZGV2aWNlX2RldGVjdF9y dW50aW1lX3BtX21vZGUoc3RydWN0IGFtZGdwdV9kZXZpY2UNCj4gKyphZGV2KTsNCj4gIGJvb2wg YW1kZ3B1X2RldmljZV9pc19wZWVyX2FjY2Vzc2libGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYsDQo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVf ZGV2aWNlICpwZWVyX2FkZXYpOyAgaW50DQo+IGFtZGdwdV9kZXZpY2VfYmFjb19lbnRlcihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KTsgZGlmZiAtLWdpdA0KPiBhL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kZXZpY2UuYw0KPiBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV9kZXZpY2UuYw0KPiBpbmRleCA0MTBmODc4NDYyYmMuLmNhMTE3ZjI2NjZiYyAxMDA2NDQN Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jDQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9kZXZpY2UuYw0KPiBAQCAtMzUw LDYgKzM1MCw3NCBAQCBpbnQgYW1kZ3B1X2RldmljZV9zdXBwb3J0c19iYWNvKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpDQo+ICAgICAgIHJldHVybiBhbWRncHVfYXNpY19zdXBwb3J0c19iYWNvKGFk ZXYpOyAgfQ0KPg0KPiArdm9pZCBhbWRncHVfZGV2aWNlX2RldGVjdF9ydW50aW1lX3BtX21vZGUo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYpDQo+ICt7DQo+ICsgICAgIHN0cnVjdCBkcm1fZGV2 aWNlICpkZXY7DQo+ICsgICAgIGludCBiYW1hY29fc3VwcG9ydCA9IDA7DQo+ICsNCj4gKyAgICAg ZGV2ID0gYWRldl90b19kcm0oYWRldik7DQo+ICsNCj4gKyAgICAgYWRldi0+cG0ucnBtX21vZGUg PSBBTURHUFVfUlVOUE1fTk9ORTsNCj4gKyAgICAgYmFtYWNvX3N1cHBvcnQgPSBhbWRncHVfZGV2 aWNlX3N1cHBvcnRzX2JhY28oZGV2KTsNCj4gKw0KPiArICAgICBpZiAoYW1kZ3B1X3J1bnRpbWVf cG0gPT0gMikgew0KPiArICAgICAgICAgICAgIGlmIChiYW1hY29fc3VwcG9ydCA9PSAoQkFDT19T VVBQT1JUIHwgTUFDT19TVVBQT1JUKSkgew0KPiArICAgICAgICAgICAgICAgICAgICAgYWRldi0+ cG0ucnBtX21vZGUgPSBBTURHUFVfUlVOUE1fQkFNQUNPOw0KPiArICAgICAgICAgICAgICAgICAg ICAgZGV2X2luZm8oYWRldi0+ZGV2LCAiRm9yY2luZyBCQU1BQ08gZm9yIHJ1bnRpbWUgcG1cbiIp Ow0KPiArICAgICAgICAgICAgIH0gZWxzZSBpZiAoYmFtYWNvX3N1cHBvcnQgPT0gQkFDT19TVVBQ T1JUKSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICBhZGV2LT5wbS5ycG1fbW9kZSA9IEFNREdQ VV9SVU5QTV9CQUNPOw0KPiArICAgICAgICAgICAgICAgICAgICAgZGV2X2luZm8oYWRldi0+ZGV2 LCAiRm9yY2luZyBCQUNPIGZvciBydW50aW1lIHBtXG4iKTsNCj4gKyAgICAgICAgICAgICB9DQo+ ICsgICAgIH0gZWxzZSBpZiAoYW1kZ3B1X3J1bnRpbWVfcG0gPT0gMSkgew0KPiArICAgICAgICAg ICAgIGlmIChiYW1hY29fc3VwcG9ydCA9PSBCQUNPX1NVUFBPUlQpIHsNCj4gKyAgICAgICAgICAg ICAgICAgICAgIGFkZXYtPnBtLnJwbV9tb2RlID0gQU1ER1BVX1JVTlBNX0JBQ087DQo+ICsgICAg ICAgICAgICAgICAgICAgICBkZXZfaW5mbyhhZGV2LT5kZXYsICJGb3JjaW5nIEJBQ08gZm9yIHJ1 bnRpbWUgcG1cbiIpOw0KPiArICAgICAgICAgICAgIH0NCj4gKyAgICAgfSBlbHNlIGlmIChhbWRn cHVfcnVudGltZV9wbSA9PSAtMSB8fCBhbWRncHVfcnVudGltZV9wbSA9PSAtMikgew0KPiArICAg ICAgICAgICAgIGlmIChhbWRncHVfZGV2aWNlX3N1cHBvcnRzX3B4KGRldikpIHsgLyogZW5hYmxl IFBYIGFzIHJ1bnRpbWUgbW9kZSAqLw0KPiArICAgICAgICAgICAgICAgICAgICAgYWRldi0+cG0u cnBtX21vZGUgPSBBTURHUFVfUlVOUE1fUFg7DQo+ICsgICAgICAgICAgICAgICAgICAgICBkZXZf aW5mbyhhZGV2LT5kZXYsICJVc2luZyBBVFBYIGZvciBydW50aW1lIHBtXG4iKTsNCj4gKyAgICAg ICAgICAgICB9IGVsc2UgaWYgKGFtZGdwdV9kZXZpY2Vfc3VwcG9ydHNfYm9jbyhkZXYpKSB7IC8q IGVuYWJsZSBib2NvIGFzIHJ1bnRpbWUgbW9kZSAqLw0KPiArICAgICAgICAgICAgICAgICAgICAg YWRldi0+cG0ucnBtX21vZGUgPSBBTURHUFVfUlVOUE1fQk9DTzsNCj4gKyAgICAgICAgICAgICAg ICAgICAgIGRldl9pbmZvKGFkZXYtPmRldiwgIlVzaW5nIEJPQ08gZm9yIHJ1bnRpbWUgcG1cbiIp Ow0KPiArICAgICAgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICBpZiAo IWJhbWFjb19zdXBwb3J0KQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIG5v X3J1bnRpbWVfcG07DQo+ICsNCj4gKyAgICAgICAgICAgICAgICAgICAgIHN3aXRjaCAoYWRldi0+ YXNpY190eXBlKSB7DQo+ICsgICAgICAgICAgICAgICAgICAgICBjYXNlIENISVBfVkVHQTIwOg0K PiArICAgICAgICAgICAgICAgICAgICAgY2FzZSBDSElQX0FSQ1RVUlVTOg0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiBCQUNPIGFyZSBub3Qgc3VwcG9ydGVkIG9uIHZlZ2EyMCBh bmQgYXJjdHJ1cyAqLw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4g KyAgICAgICAgICAgICAgICAgICAgIGNhc2UgQ0hJUF9WRUdBMTA6DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8qIGVuYWJsZSBCQUNPIGFzIHJ1bnBtIG1vZGUgaWYgbm9yZXRyeT0w ICovDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmICghYWRldi0+Z21jLm5vcmV0 cnkpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWRldi0+cG0ucnBt X21vZGUgPSBBTURHUFVfUlVOUE1fQkFDTzsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgYnJlYWs7DQo+ICsgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0Og0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvKiBlbmFibGUgQkFDTyBhcyBydW5wbSBtb2RlIG9uIENJKyAq Lw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGV2LT5wbS5ycG1fbW9kZSA9IEFN REdQVV9SVU5QTV9CQUNPOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBicmVhazsN Cj4gKyAgICAgICAgICAgICAgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAgICAgICAgICAgICAg aWYgKGFkZXYtPnBtLnJwbV9tb2RlID09IEFNREdQVV9SVU5QTV9CQUNPKSB7DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGlmIChiYW1hY29fc3VwcG9ydCAmIE1BQ09fU1VQUE9SVCkg ew0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZXYtPnBtLnJwbV9t b2RlID0gQU1ER1BVX1JVTlBNX0JBTUFDTzsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBkZXZfaW5mbyhhZGV2LT5kZXYsICJVc2luZyBCQU1BQ08gZm9yIHJ1bnRpbWUg cG1cbiIpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9pbmZvKGFkZXYtPmRldiwgIlVz aW5nIEJBQ08gZm9yIHJ1bnRpbWUgcG1cbiIpOw0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB9DQo+ICsgICAgICAgICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgfQ0KPiAr DQo+ICsgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICAgZGV2X2luZm8oYWRldi0+ZGV2LCAi cnVudGltZSBwbSBpcyBtYW51YWxseSBkaXNhYmxlZFxuIik7DQo+ICsgICAgIH0NCg0KW2tldmlu XToNCg0KQmV0dGVyIHRvIHVzZSBzd2l0Y2guLi5jYXNlIGluc3RlYWQgb2YgaWYuLmVsc2UgdG8g bWFrZSBjb2RlIGNsZWFuIGZvciBhYm92ZSBjb2RlLg0KQW55d2F5LCBSZXZpZXdlZC1ieTogWWFu ZyBXYW5nIDxrZXZpbnlhbmcud2FuZ0BhbWQuY29tPg0KDQpCZXN0IFJlZ2FyZHMsDQpLZXZpbg0K PiArDQo+ICtub19ydW50aW1lX3BtOg0KPiArICAgICBpZiAoYWRldi0+cG0ucnBtX21vZGUgPT0g QU1ER1BVX1JVTlBNX05PTkUpDQo+ICsgICAgICAgICAgICAgZGV2X2luZm8oYWRldi0+ZGV2LCAi Tk8gcG0gbW9kZSBmb3IgcnVudGltZSBwbVxuIik7IH0NCj4gIC8qKg0KPiAgICogYW1kZ3B1X2Rl dmljZV9zdXBwb3J0c19zbWFydF9zaGlmdCAtIElzIHRoZSBkZXZpY2UgZEdQVSB3aXRoDQo+ICAg KiBzbWFydCBzaGlmdCBzdXBwb3J0DQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfa21zLmMNCj4gYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfa21zLmMNCj4gaW5kZXggNWQxYjA4NGViNjMxLi45MjRiYWY1OGUzMjIgMTAwNjQ0DQo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9rbXMuYw0KPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfa21zLmMNCj4gQEAgLTEzMyw3ICsxMzMsNiBA QCB2b2lkIGFtZGdwdV9yZWdpc3Rlcl9ncHVfaW5zdGFuY2Uoc3RydWN0DQo+IGFtZGdwdV9kZXZp Y2UgKmFkZXYpICBpbnQgYW1kZ3B1X2RyaXZlcl9sb2FkX2ttcyhzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZQ0KPiAqYWRldiwgdW5zaWduZWQgbG9uZyBmbGFncykgIHsNCj4gICAgICAgc3RydWN0IGRybV9k ZXZpY2UgKmRldjsNCj4gLSAgICAgaW50IGJhbWFjb19zdXBwb3J0ID0gMDsNCj4gICAgICAgaW50 IHIsIGFjcGlfc3RhdHVzOw0KPg0KPiAgICAgICBkZXYgPSBhZGV2X3RvX2RybShhZGV2KTsNCj4g QEAgLTE1MCw1MiArMTQ5LDcgQEAgaW50IGFtZGdwdV9kcml2ZXJfbG9hZF9rbXMoc3RydWN0IGFt ZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgZmxhZ3MpDQo+ICAgICAgICAgICAgICAg Z290byBvdXQ7DQo+ICAgICAgIH0NCj4NCj4gLSAgICAgYWRldi0+cG0ucnBtX21vZGUgPSBBTURH UFVfUlVOUE1fTk9ORTsNCj4gLSAgICAgaWYgKGFtZGdwdV9kZXZpY2Vfc3VwcG9ydHNfcHgoZGV2 KSAmJg0KPiAtICAgICAgICAgKGFtZGdwdV9ydW50aW1lX3BtICE9IDApKSB7IC8qIGVuYWJsZSBQ WCBhcyBydW50aW1lIG1vZGUgKi8NCj4gLSAgICAgICAgICAgICBhZGV2LT5wbS5ycG1fbW9kZSA9 IEFNREdQVV9SVU5QTV9QWDsNCj4gLSAgICAgICAgICAgICBkZXZfaW5mbyhhZGV2LT5kZXYsICJV c2luZyBBVFBYIGZvciBydW50aW1lIHBtXG4iKTsNCj4gLSAgICAgfSBlbHNlIGlmIChhbWRncHVf ZGV2aWNlX3N1cHBvcnRzX2JvY28oZGV2KSAmJg0KPiAtICAgICAgICAgICAgICAgIChhbWRncHVf cnVudGltZV9wbSAhPSAwKSkgeyAvKiBlbmFibGUgYm9jbyBhcyBydW50aW1lIG1vZGUgKi8NCj4g LSAgICAgICAgICAgICBhZGV2LT5wbS5ycG1fbW9kZSA9IEFNREdQVV9SVU5QTV9CT0NPOw0KPiAt ICAgICAgICAgICAgIGRldl9pbmZvKGFkZXYtPmRldiwgIlVzaW5nIEJPQ08gZm9yIHJ1bnRpbWUg cG1cbiIpOw0KPiAtICAgICB9IGVsc2UgaWYgKGFtZGdwdV9ydW50aW1lX3BtICE9IDApIHsNCj4g LSAgICAgICAgICAgICBiYW1hY29fc3VwcG9ydCA9IGFtZGdwdV9kZXZpY2Vfc3VwcG9ydHNfYmFj byhkZXYpOw0KPiAtDQo+IC0gICAgICAgICAgICAgaWYgKCFiYW1hY29fc3VwcG9ydCkNCj4gLSAg ICAgICAgICAgICAgICAgICAgIGdvdG8gbm9fcnVudGltZV9wbTsNCj4gLQ0KPiAtICAgICAgICAg ICAgIHN3aXRjaCAoYWRldi0+YXNpY190eXBlKSB7DQo+IC0gICAgICAgICAgICAgY2FzZSBDSElQ X1ZFR0EyMDoNCj4gLSAgICAgICAgICAgICBjYXNlIENISVBfQVJDVFVSVVM6DQo+IC0gICAgICAg ICAgICAgICAgICAgICAvKiBlbmFibGUgQkFDTyBhcyBydW5wbSBtb2RlIGlmIHJ1bnBtPTEgKi8N Cj4gLSAgICAgICAgICAgICAgICAgICAgIGlmIChhbWRncHVfcnVudGltZV9wbSA+IDApDQo+IC0g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZXYtPnBtLnJwbV9tb2RlID0gQU1ER1BVX1JV TlBNX0JBQ087DQo+IC0gICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gLSAgICAgICAgICAg ICBjYXNlIENISVBfVkVHQTEwOg0KPiAtICAgICAgICAgICAgICAgICAgICAgLyogZW5hYmxlIEJB Q08gYXMgcnVucG0gbW9kZSBpZiBub3JldHJ5PTAgKi8NCj4gLSAgICAgICAgICAgICAgICAgICAg IGlmICghYWRldi0+Z21jLm5vcmV0cnkpDQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFkZXYtPnBtLnJwbV9tb2RlID0gQU1ER1BVX1JVTlBNX0JBQ087DQo+IC0gICAgICAgICAgICAg ICAgICAgICBicmVhazsNCj4gLSAgICAgICAgICAgICBkZWZhdWx0Og0KPiAtICAgICAgICAgICAg ICAgICAgICAgLyogZW5hYmxlIEJBQ08gYXMgcnVucG0gbW9kZSBvbiBDSSsgKi8NCj4gLSAgICAg ICAgICAgICAgICAgICAgIGFkZXYtPnBtLnJwbV9tb2RlID0gQU1ER1BVX1JVTlBNX0JBQ087DQo+ IC0gICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gLSAgICAgICAgICAgICB9DQo+IC0NCj4g LSAgICAgICAgICAgICBpZiAoYWRldi0+cG0ucnBtX21vZGUgPT0gQU1ER1BVX1JVTlBNX0JBQ08p IHsNCj4gLSAgICAgICAgICAgICAgICAgICAgIGlmIChiYW1hY29fc3VwcG9ydCAmIE1BQ09fU1VQ UE9SVCkgew0KPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZGV2LT5wbS5ycG1fbW9k ZSA9IEFNREdQVV9SVU5QTV9CQU1BQ087DQo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRldl9pbmZvKGFkZXYtPmRldiwgIlVzaW5nIEJBTUFDTyBmb3IgcnVudGltZSBwbVxuIik7DQo+ IC0gICAgICAgICAgICAgICAgICAgICB9IGVsc2Ugew0KPiAtICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZXZfaW5mbyhhZGV2LT5kZXYsICJVc2luZyBCQUNPIGZvciBydW50aW1lIHBtXG4i KTsNCj4gLSAgICAgICAgICAgICAgICAgICAgIH0NCj4gLSAgICAgICAgICAgICB9DQo+IC0gICAg IH0NCj4gLQ0KPiAtbm9fcnVudGltZV9wbToNCj4gLSAgICAgaWYgKGFkZXYtPnBtLnJwbV9tb2Rl ID09IEFNREdQVV9SVU5QTV9OT05FKQ0KPiAtICAgICAgICAgICAgIGRldl9pbmZvKGFkZXYtPmRl diwgIk5PIHBtIG1vZGUgZm9yIHJ1bnRpbWUgcG1cbiIpOw0KPiArICAgICBhbWRncHVfZGV2aWNl X2RldGVjdF9ydW50aW1lX3BtX21vZGUoYWRldik7DQo+DQo+ICAgICAgIC8qIENhbGwgQUNQSSBt ZXRob2RzOiByZXF1aXJlIG1vZGVzZXQgaW5pdA0KPiAgICAgICAgKiBidXQgZmFpbHVyZSBpcyBu b3QgZmF0YWwNCg==