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 4DFAECD13DA for ; Thu, 30 Apr 2026 06:22:08 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 4DE8E10F20D; Thu, 30 Apr 2026 06:22:06 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (1024-bit key; unprotected) header.d=amd.com header.i=@amd.com header.b="5NOMZEqY"; dkim-atps=neutral Received: from BYAPR05CU005.outbound.protection.outlook.com (mail-westusazon11010020.outbound.protection.outlook.com [52.101.85.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEDBA10E038; Thu, 30 Apr 2026 06:22:04 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=n1iD0khUHbSGi6dxpzuMyy4knFuAW7WY+z3kH+MgoHqJYqN1DgC1v4odi+wnBj1nCR/79oTYw/JqtmboTYoVpfF3UYMCCumnU5PR+ea2DfdvVzI5t6ENH5d4W0o6tTtXTeG/iccAbnsVwPzntAqX/rdwONNP0rBMUwloOytXjfnS4Mg+wMPAHMUA/EGRvwRshm/IOME+1UhYN/4Vzs06gSWdGKBYUMLDfsn6VkDQeIS9ZtmOhHyk4DXt1E2XXdPLAdP6BqJjVIKzbhlG4CpK8ELDYnPc00T5AzNwoK6uObY1hfz3vRf/vnaJooC5/3L5F7wqa6h53fG1gUVkADvUuw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector10001; 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=1bXCh3INlQtSlxSvpoWsIPLy8HGUkq5twM/iqzuKPvM=; b=f6Y8WWb/av5si9f828WcQ2u1+4YpPxiqU7TSZCF9rDvrWR8vAMVnWMrRS0l4sttD6o7wlFsWT/5uwY72IaDnbmuU/HsN+kIZRvgVu397Oeg3s/VXJGa5ZzLGf096rgWqIptwvyILnZyuxOEzXFKskHUgrS2mHuOcA8T7d65jVEEelLKQcSHuPLHhZQion6Q9draMh3aC49dT2yvbDxCZE4c/lq92Y5iUO/SBfMZQ08rol/HW3CDMYwZFu/ODlWNI24pBxa8Oo7SPFZcm+/Uf3Gadq+hDiJxNT9g8SHMjUkVPH0gbANpohNd1EgY4g9Cik0vFh4RcQ7r16UECSP3Inw== 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=1bXCh3INlQtSlxSvpoWsIPLy8HGUkq5twM/iqzuKPvM=; b=5NOMZEqYv/KH/6DZQW7hbVN4ZOhJJvd4u9vg2n3iwn8HmDia0ZraYexLNRnKjE+C+f2VfUQw1Y4j/9Mat7DqZGIJUzOOGdSp3ptX4q8LLSDwUknOlwIlmgrLhyqLDtCKX0ewbMbSGP2/w8IKBkKASbTavZrtx94QrtZey/2Xs2w= Authentication-Results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=amd.com; Received: from PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) by SJ2PR12MB7896.namprd12.prod.outlook.com (2603:10b6:a03:4c6::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.9870.20; Thu, 30 Apr 2026 06:22:01 +0000 Received: from PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c]) by PH7PR12MB5685.namprd12.prod.outlook.com ([fe80::ce69:cfae:774d:a65c%5]) with mapi id 15.20.9870.020; Thu, 30 Apr 2026 06:22:01 +0000 Message-ID: Date: Thu, 30 Apr 2026 08:21:56 +0200 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] drm/amd/amdgpu: remove duplicated code in gfx_v11 and gfx_v12 To: Ulisses Paixao , alexander.deucher@amd.com, airlied@gmail.com, simona@ffwll.ch Cc: Felipe Sousa , amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org References: <20260429173646.7653-1-ulissespaixao@usp.br> Content-Language: en-US From: =?UTF-8?Q?Christian_K=C3=B6nig?= In-Reply-To: <20260429173646.7653-1-ulissespaixao@usp.br> Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 X-ClientProxiedBy: FR4P281CA0135.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:b9::20) To PH7PR12MB5685.namprd12.prod.outlook.com (2603:10b6:510:13c::22) MIME-Version: 1.0 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: PH7PR12MB5685:EE_|SJ2PR12MB7896:EE_ X-MS-Office365-Filtering-Correlation-Id: 381da84c-16d2-4273-1c87-08dea680ca38 X-MS-Exchange-SenderADCheck: 1 X-MS-Exchange-AntiSpam-Relay: 0 X-Microsoft-Antispam: BCL:0; ARA:13230040|1800799024|366016|376014|56012099003|22082099003|18002099003; X-Microsoft-Antispam-Message-Info: AKAv1H2tVOY4WYiVbI2hr7N4VnwHWW+9gupR3ZJXVxzawVMZlFInRjhOZUex8/1r8l/IKKvtDSSUPUR/76JC5mlNzun2OrIlJNVedRZ0jk1F53z14xuTZpiQd9xiSBfKliIhdwmYg7TWdqqg7V1hXJdLBuaqnHcMYNWW99fdTNT8LEGYC67JjPLzaDnBDBou7MJTemzHAtOnIUcfVXsBAgsXjtbpcF59Z2J7WK6sis0L+TVAkz2HTd1FdqF6f1nAnDJiZYXEcxnEWmakMzemUuqOcyNA6wW2QUZ2jijL+DdTh8rjUEv2WliUnEgL/AzKZGJCa9/IP78n8WBtZsni328WyROufDDhnFlPWH6a7vbd9FaEg+zw25mXzMiQKi8lSuIcR7vJrU2qjpsC90hU6AEzeeaguUF1aqgwcawgT/xzovmGyAR4MiyJa/Yl+tRRd2LwBnOPN56UBtPdg1zjHpHqpWQAEhEq3alA95J04pvSwsESXjgEDKSN+px/wAKiY+68el1DRz/MUWxt/RcgOzm7JSebAvNTTF4GMk39LuqyMfE8rBKYoceRY25u1up8syP32zoTpcCdZCRDk8U83UzqBn0/uc+gZFeYDFJfU75C3g/avH5n/I48nCb5P5JePeCVIJYw07Iv81E8W8nspMGj4t0u7Vw9Z4sMtvYrcxNEPA0hCRVeqMrri4iJmy7/pd9p5K5JuFRimesoc750bYxY6GlWkizjh8dilDMe+U4= X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:; IPV:NLI; SFV:NSPM; H:PH7PR12MB5685.namprd12.prod.outlook.com; PTR:; CAT:NONE; SFS:(13230040)(1800799024)(366016)(376014)(56012099003)(22082099003)(18002099003); DIR:OUT; SFP:1101; X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?ZGVuRDFKQWtTa2pPVjRsY05Qc24vZzZ2VlBNZWc3K0prVDJ1RW5WaE0rN0lZ?= =?utf-8?B?cFp0U1lPTnVUZHV4SzEvSllRZTM4WnI0T0l6Vkxuc0xXS25iVlJ1N21oSHZG?= =?utf-8?B?ZW9iWWxEMGw4SWdmME5PZU82dDJLUnJtT1JkVE56dFdpNFlGblVXV1luY0RQ?= =?utf-8?B?d0xlM1UzSGUrU0RkSUtXT1BsZ3JBYjlDYUM0K3V3RytEbUFCNStjVFgzeVhP?= =?utf-8?B?TUxCTFErckZZYjdrR0xSWVE1a2ptTk1EQnRrZldMMDFIYTdzUHg1dzVSVmNW?= =?utf-8?B?Mm5EZC82RlhkYmYvODFjOVNhbTZobnMwdkpFVHBnbGNTZXBpeG9ia0p4QkZ3?= =?utf-8?B?WjJDOENKRnFRV3Rkd3JoZVhnWkx5dUZBL1Q1UjJWTUl2MDlJdU90bE1JRXhj?= =?utf-8?B?NlM5bEc4UHdEWHdTWVQ0Z1BUR21DSUg2MHpzaVRqR21PZTcrVkZ0MTZUNUMz?= =?utf-8?B?Mi9QUUxzZVc2UGdHbVFjUUY2WGV4bzUvbExPejEvMnJPZnpwYm5jbVZ5MzNB?= =?utf-8?B?N2RQUmJiNVpFNHF1VnRQczFlM05WSHpKK1diV2dybHJGN0pib29QNCszbE1i?= =?utf-8?B?MHowcHJxL3NJZWNLYWVRVVhMRlZtdTBHNGRoek5JVWtySXdwSndZQUhRZHZU?= =?utf-8?B?MnVNaTh2Z29PMTA4UVhnbjFoNzVRMG5wV2NRV3hiR0d5UzljQVkvc1JGTkZi?= =?utf-8?B?UVdFQXBZZDE3TlNTTnVMck1TNEw3SFl5NlVLNy96aXFaYkVPZGJsMWlhajlj?= =?utf-8?B?bThBeW0xaFpMaEJFLzRGUXFOSC9XRDZ4NzJ2YmNoQkN4MWVseTBhbSt3eHpV?= =?utf-8?B?RE45dmQ2amVhZWg0RVN6dk1tRHJ5SGNOVCtEYmFEaUxxREhWN0VPa21KeHZm?= =?utf-8?B?dmdOaS9JSVo4QlMyaEV2VTJERXd2VzkwcFN5c2JQdS9rT3RIOHBuSUNqTXFX?= =?utf-8?B?bW03OVJuSTBvaXd0RXprcTVpVmRObW1CcVZNZzZ2L3hNbkQ5VTJpOFdCblRq?= =?utf-8?B?aDVBTWlKMFo4eWUwMTF5bEZqYzdVbWQzb2Nva2VDZm51VGxqTVRnQ1RtUFln?= =?utf-8?B?ZnBsNzJ1czFRbVJiYmtOakQzZE04bTdrMkEyRkR6ZUdQZ0wwcDFzYXNOMWpG?= =?utf-8?B?aEZVQVVPRE1pMVV0ZUVMMm8wYVp4VlJmbjNKNHdzOFk0NHQrY3hlcVZnTnMr?= =?utf-8?B?ODJXUUZ5ZWNHUFV4M2JhYXlXRmVkSTEwbjhiZ0kvM0ZGQkhEV0RYS1JscW1q?= =?utf-8?B?MlVrenlMQTgwbkZHQlIvUDV0S1E5V1NrSHpQc0w4WDc0dnkxbkFycW9TdGN4?= =?utf-8?B?bHRwVkdYV2ppMnAwOGZVNndLQTR0c1RnQWNqWGJ3U3ZkRnlnaGtuZWNneW13?= =?utf-8?B?M3JtbUtkOG84bm9maWI5Tjh5ZU9saVUvaGhlNWVkUVdBalZzb0ltYUk0YTN3?= =?utf-8?B?WHl2QmJweG5WdXE3TE1yTU1OeXFZcDhvWlZlbGVJWEpmMnBaM1oyck4xRHhm?= =?utf-8?B?dEF4OWNJQ3V2SWVBQzRxZS9odi9UQUNvS1M1aVZ5ZmJWekZmYWpKOUxWbmlz?= =?utf-8?B?b2ZNQllMbktkRTE0YVlVUkx3RnlWVHhWeHJERTBVeEdRWVZzTHZEVVRQb0FH?= =?utf-8?B?L3dPOE5DeFJCUGd6QUtNS3JIZGJuK1doNWhLazNsejU5ZHBjMld1eFFQei9P?= =?utf-8?B?N21rcXordDVrRVE1K3E2dytnbDJvZGNOSnU1bDJMRTVQdE90aWxIREoyeFB3?= =?utf-8?B?QlEzaVFtemFUNmlFekl3NlNxNlh4NGppb2FvUFZ5OW82VHRBRHRobWJ3QkNW?= =?utf-8?B?SU5HSE55VUtzbDBqREkxM0xncnlxYjZ1VVVTU3MycEJBay9TS3FNS3hGZm5q?= =?utf-8?B?RHJZMmYwUHFydHU1Zk1ibmVRRS90cktDN3owSHRjOUN0UVJhbk1Fc0hKUHhV?= =?utf-8?B?NEt3OXJRSGpnaTVhcFV4NmpUZk1WMnFDenNNeUlGWG1uSzBVVE5tTjdVZGdO?= =?utf-8?B?NkxMNWpPRVd2QXJaL0d3cER0ZHRLSVBZTGdESldUUUl0ZnpidDByV0h3NVFz?= =?utf-8?B?LzZTNUtibUJSKzFaZWNqRXRmT2hmdnBwUlFUSVg2aExma2ZXd0pRVk04c1N4?= =?utf-8?B?NzNmd2FRUFVxWlhDa1N1dTEweTJnQVNRVUk0dkJUNkpBTW1yYUZXbE5IS1pw?= =?utf-8?B?K3krUXdvUzFKOElDcDFGWlNlem4xREd6YnBFV2ZqY1Fkei9wMUNNR2tocUFw?= =?utf-8?B?ZDJTdUtTSzV4WHBpTE96ZnZMVE1sZlBxc2lIQStwRGFzRDBEY2p1cmpGNmpP?= =?utf-8?Q?oZPCuoKivxK5elq554?= X-OriginatorOrg: amd.com X-MS-Exchange-CrossTenant-Network-Message-Id: 381da84c-16d2-4273-1c87-08dea680ca38 X-MS-Exchange-CrossTenant-AuthSource: PH7PR12MB5685.namprd12.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 30 Apr 2026 06:22:01.3657 (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: 1JqBuM6F1M2w1VujrzK9U69TWDVZli3OPGNKguAmflW0tZQgYCPAh7PwK7WnM/1A X-MS-Exchange-Transport-CrossTenantHeadersStamped: SJ2PR12MB7896 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" CgpPbiA0LzI5LzI2IDE5OjM2LCBVbGlzc2VzIFBhaXhhbyB3cm90ZToKPiBbU2llIGVyaGFsdGVu IG5pY2h0IGjDpHVmaWcgRS1NYWlscyB2b24gdWxpc3Nlc3BhaXhhb0B1c3AuYnIuIFdlaXRlcmUg SW5mb3JtYXRpb25lbiwgd2FydW0gZGllcyB3aWNodGlnIGlzdCwgZmluZGVuIFNpZSB1bnRlciBo dHRwczovL2FrYS5tcy9MZWFybkFib3V0U2VuZGVySWRlbnRpZmljYXRpb24gXQo+IAo+IFRoZSBm dW5jdGlvbnMgZ2Z4X3YxMV8wX2hhbmRsZV9wcml2X2ZhdWx0IGFuZCBnZnhfdjEyXzBfaGFuZGxl X3ByaXZfZmF1bHQKPiBhcmUgaWRlbnRpY2FsLiBUaGlzIHBhdGNoIHJlcGxhY2VzIHRoZW0gd2l0 aCBhIHNpbmdsZSBpbXBsZW1lbnRhdGlvbiBpbgo+IGFtZGdwdV9nZngsIGNhbGxlZCBhbWRncHVf Z2Z4X2hhbmRsZV9wcml2X2ZhdWx0LCB0byByZWR1Y2UgY29kZQo+IGR1cGxpY2F0aW9uLgo+IAo+ IFNpZ25lZC1vZmYtYnk6IFVsaXNzZXMgUGFpeGFvIDx1bGlzc2VzcGFpeGFvQHVzcC5icj4KPiBD by1kZXZlbG9wZWQtYnk6IEZlbGlwZSBTb3VzYSA8ZmVsaXBlc291c2FAdXNwLmJyPgo+IFNpZ25l ZC1vZmYtYnk6IEZlbGlwZSBTb3VzYSA8ZmVsaXBlc291c2FAdXNwLmJyPgo+IC0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2Z4LmMgfCA0NiArKysrKysrKysrKysrKysr KysrKysrKysrCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguaCB8ICAy ICsrCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92MTFfMC5jICB8IDQzICsrLS0t LS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92MTJf MC5jICB8IDQzICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIDQgZmlsZXMgY2hhbmdlZCwgNTQg aW5zZXJ0aW9ucygrKSwgODAgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1k Z3B1L2FtZGdwdV9nZnguYwo+IGluZGV4IGI4Y2E4NzY2OS4uYzhkNzY5Y2IwIDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nZnguYwo+IEBAIC04MzAsNiArODMwLDUyIEBA IGludCBhbWRncHVfZ2Z4X2VuYWJsZV9rZ3Eoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGlu dCB4Y2NfaWQpCj4gICAgICAgICByZXR1cm4gcjsKPiAgfQo+IAo+ICsvKioKPiArICogYW1kZ3B1 X2dmeF9oYW5kbGVfcHJpdl9mYXVsdCAtIEhhbmRsZSBwcml2aWxlZ2VkIGluc3RydWN0aW9uIGZh dWx0Cj4gKyAqCj4gKyAqIEBhZGV2OiBhbWRncHVfZGV2aWNlIHBvaW50ZXIKPiArICogQGVudHJ5 OiBpbnRlcnJ1cHQgdmVjdG9yIGVudHJ5IGZyb20gdGhlIGhhcmR3YXJlCj4gKyAqCj4gKyAqIFRo aXMgZnVuY3Rpb24gaGFuZGxlcyBwcml2aWxlZ2VkIGluc3RydWN0aW9uIGZhdWx0cyBieSBpZGVu dGlmeWluZwo+ICsgKiB0aGUgZmF1bHR5IHJpbmcgKGdmeCBvciBjb21wdXRlKSBhbmQgdHJpZ2dl cmluZyBhIHNjaGVkdWxlciBmYXVsdC4KPiArICovCj4gK3ZvaWQgYW1kZ3B1X2dmeF9oYW5kbGVf cHJpdl9mYXVsdChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9pdl9lbnRyeSAqZW50cnkpCj4g K3sKPiArICAgICAgIHU4IG1lX2lkLCBwaXBlX2lkLCBxdWV1ZV9pZDsKPiArICAgICAgIHN0cnVj dCBhbWRncHVfcmluZyAqcmluZzsKPiArICAgICAgIGludCBpOwo+ICsKPiArICAgICAgIG1lX2lk ID0gKGVudHJ5LT5yaW5nX2lkICYgMHgwYykgPj4gMjsKPiArICAgICAgIHBpcGVfaWQgPSAoZW50 cnktPnJpbmdfaWQgJiAweDAzKSA+PiAwOwo+ICsgICAgICAgcXVldWVfaWQgPSAoZW50cnktPnJp bmdfaWQgJiAweDcwKSA+PiA0OwoKRXZlbiB3aGVuIHRoZXkgYXJlIGlkZW50aWNhbCBvbiBnZngx MSBhbmQgZ2Z4MTIgdGhpcyBkZWNvZGluZyBoZXJlIGlzIEhXIHNwZWNpZmljIGFuZCBkb2Vzbid0 IGJlbG9uZyBoZXJlLgoKPiArCj4gKyAgICAgICBpZiAoIWFkZXYtPmdmeC5kaXNhYmxlX2txKSB7 CgpUaGF0IGNoZWNrIGNhbiBwcm9iYWJseSBiZSByZW1vdmVkLiBCb3RoIG51bV9nZnhfcmluZ3Mg YW5kIG51bV9jb21wdXRlX3JpbmdzIHNob3VsZCBiZSB6ZXJvIGluIHRoYXQgY2FzZS4KCj4gKyAg ICAgICAgICAgICAgIHN3aXRjaCAobWVfaWQpIHsKPiArICAgICAgICAgICAgICAgY2FzZSAwOgo+ ICsgICAgICAgICAgICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBhZGV2LT5nZngubnVtX2dm eF9yaW5nczsgaSsrKSB7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaW5nID0g JmFkZXYtPmdmeC5nZnhfcmluZ1tpXTsKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGlmIChyaW5nLT5tZSA9PSBtZV9pZCAmJiByaW5nLT5waXBlID09IHBpcGVfaWQgJiYKPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaW5nLT5xdWV1ZSA9PSBxdWV1ZV9pZCkK PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJtX3NjaGVkX2ZhdWx0 KCZyaW5nLT5zY2hlZCk7Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgfQo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICBjYXNlIDE6Cj4gKyAgICAgICAg ICAgICAgIGNhc2UgMjoKPiArICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwg YWRldi0+Z2Z4Lm51bV9jb21wdXRlX3JpbmdzOyBpKyspIHsKPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJpbmcgPSAmYWRldi0+Z2Z4LmNvbXB1dGVfcmluZ1tpXTsKPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyaW5nLT5tZSA9PSBtZV9pZCAmJiByaW5nLT5w aXBlID09IHBpcGVfaWQgJiYKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBy aW5nLT5xdWV1ZSA9PSBxdWV1ZV9pZCkKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZHJtX3NjaGVkX2ZhdWx0KCZyaW5nLT5zY2hlZCk7Cj4gKyAgICAgICAgICAgICAg ICAgICAgICAgfQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAg ICAgICBkZWZhdWx0Ogo+ICsgICAgICAgICAgICAgICAgICAgICAgIEJVRygpOwo+ICsgICAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOwo+ICsgICAgICAgICAgICAgICB9Cj4gKyAgICAgICB9CgpU aGlzIHBhcnQgY2FuIGJlIG1vdmVkIGludG8gYW1kZ3B1X2dmeC4gQnV0IEkgd291bGQgcmVtb3Zl IHRoZSBzd2l0Y2ggKG1lX2lkKSBwYXJ0IGFuZCBqdXN0IGdvIG92ZXIgYWxsIGdmeCBhbmQgY29t cHV0ZSByaW5ncyB0byBzZWFyY2ggZm9yIHRoZSBtYXRjaGluZyBtZSBhbmQgcGlwZS4KClJlZ2Fy ZHMsCkNocmlzdGlhbi4KCj4gK30KPiArCj4gIHN0YXRpYyB2b2lkIGFtZGdwdV9nZnhfZG9fb2Zm X2N0cmwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGJvb2wgZW5hYmxlLAo+ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vbCBub19kZWxheSkKPiAgewo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2Z4LmggYi9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2Z4LmgKPiBpbmRleCBhMGNmMGEzYjQuLjU2NTVhZjQz ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2Z4LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2Z4LmgKPiBAQCAtNjEx LDYgKzYxMSw4IEBAIGJvb2wgYW1kZ3B1X2dmeF9pc19oaWdoX3ByaW9yaXR5X2dyYXBoaWNzX3F1 ZXVlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfcmluZyAqcmluZyk7Cj4gIGJv b2wgYW1kZ3B1X2dmeF9pc19tZV9xdWV1ZV9lbmFibGVkKHN0cnVjdCBhbWRncHVfZGV2aWNlICph ZGV2LCBpbnQgbWUsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW50IHBp cGUsIGludCBxdWV1ZSk7Cj4gK3ZvaWQgYW1kZ3B1X2dmeF9oYW5kbGVfcHJpdl9mYXVsdChzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3RydWN0IGFtZGdwdV9pdl9lbnRyeSAqZW50cnkpOwo+ICB2b2lkIGFtZGdwdV9n Znhfb2ZmX2N0cmwoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIGJvb2wgZW5hYmxlKTsKPiAg dm9pZCBhbWRncHVfZ2Z4X29mZl9jdHJsX2ltbWVkaWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAq YWRldiwgYm9vbCBlbmFibGUpOwo+ICBpbnQgYW1kZ3B1X2dldF9nZnhfb2ZmX3N0YXR1cyhzdHJ1 Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMyX3QgKnZhbHVlKTsKPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3YxMV8wLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9nZnhfdjExXzAuYwo+IGluZGV4IDJjNmYxZTI1Yy4uZGE4NjlmOTI4IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2dmeF92MTFfMC5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3YxMV8wLmMKPiBAQCAtNjY4NCw0OSArNjY4 NCwxMiBAQCBzdGF0aWMgaW50IGdmeF92MTFfMF9zZXRfcHJpdl9pbnN0X2ZhdWx0X3N0YXRlKHN0 cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAKPiAt c3RhdGljIHZvaWQgZ2Z4X3YxMV8wX2hhbmRsZV9wcml2X2ZhdWx0KHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LAo+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1 Y3QgYW1kZ3B1X2l2X2VudHJ5ICplbnRyeSkKPiAtewo+IC0gICAgICAgdTggbWVfaWQsIHBpcGVf aWQsIHF1ZXVlX2lkOwo+IC0gICAgICAgc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nOwo+IC0gICAg ICAgaW50IGk7Cj4gLQo+IC0gICAgICAgbWVfaWQgPSAoZW50cnktPnJpbmdfaWQgJiAweDBjKSA+ PiAyOwo+IC0gICAgICAgcGlwZV9pZCA9IChlbnRyeS0+cmluZ19pZCAmIDB4MDMpID4+IDA7Cj4g LSAgICAgICBxdWV1ZV9pZCA9IChlbnRyeS0+cmluZ19pZCAmIDB4NzApID4+IDQ7Cj4gLQo+IC0g ICAgICAgaWYgKCFhZGV2LT5nZnguZGlzYWJsZV9rcSkgewo+IC0gICAgICAgICAgICAgICBzd2l0 Y2ggKG1lX2lkKSB7Cj4gLSAgICAgICAgICAgICAgIGNhc2UgMDoKPiAtICAgICAgICAgICAgICAg ICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYWRldi0+Z2Z4Lm51bV9nZnhfcmluZ3M7IGkrKykgewo+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmluZyA9ICZhZGV2LT5nZnguZ2Z4X3Jp bmdbaV07Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmluZy0+bWUgPT0g bWVfaWQgJiYgcmluZy0+cGlwZSA9PSBwaXBlX2lkICYmCj4gLSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgcmluZy0+cXVldWUgPT0gcXVldWVfaWQpCj4gLSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRybV9zY2hlZF9mYXVsdCgmcmluZy0+c2NoZWQpOwo+ IC0gICAgICAgICAgICAgICAgICAgICAgIH0KPiAtICAgICAgICAgICAgICAgICAgICAgICBicmVh azsKPiAtICAgICAgICAgICAgICAgY2FzZSAxOgo+IC0gICAgICAgICAgICAgICBjYXNlIDI6Cj4g LSAgICAgICAgICAgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGFkZXYtPmdmeC5udW1fY29t cHV0ZV9yaW5nczsgaSsrKSB7Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByaW5n ID0gJmFkZXYtPmdmeC5jb21wdXRlX3JpbmdbaV07Cj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBpZiAocmluZy0+bWUgPT0gbWVfaWQgJiYgcmluZy0+cGlwZSA9PSBwaXBlX2lkICYm Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmluZy0+cXVldWUgPT0gcXVl dWVfaWQpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRybV9zY2hl ZF9mYXVsdCgmcmluZy0+c2NoZWQpOwo+IC0gICAgICAgICAgICAgICAgICAgICAgIH0KPiAtICAg ICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICAgICAgICAgZGVmYXVsdDoKPiAt ICAgICAgICAgICAgICAgICAgICAgICBCVUcoKTsKPiAtICAgICAgICAgICAgICAgICAgICAgICBi cmVhazsKPiAtICAgICAgICAgICAgICAgfQo+IC0gICAgICAgfQo+IC19Cj4gLQo+ICBzdGF0aWMg aW50IGdmeF92MTFfMF9wcml2X3JlZ19pcnEoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfaXJxX3NyYyAq c291cmNlLAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1 X2l2X2VudHJ5ICplbnRyeSkKPiAgewo+ICAgICAgICAgRFJNX0VSUk9SKCJJbGxlZ2FsIHJlZ2lz dGVyIGFjY2VzcyBpbiBjb21tYW5kIHN0cmVhbVxuIik7Cj4gLSAgICAgICBnZnhfdjExXzBfaGFu ZGxlX3ByaXZfZmF1bHQoYWRldiwgZW50cnkpOwo+ICsgICAgICAgYW1kZ3B1X2dmeF9oYW5kbGVf cHJpdl9mYXVsdChhZGV2LCBlbnRyeSk7Cj4gICAgICAgICByZXR1cm4gMDsKPiAgfQo+IAo+IEBA IC02NzM1LDcgKzY2OTgsNyBAQCBzdGF0aWMgaW50IGdmeF92MTFfMF9iYWRfb3BfaXJxKHN0cnVj dCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RydWN0IGFtZGdwdV9pdl9lbnRyeSAqZW50cnkpCj4gIHsKPiAgICAgICAgIERSTV9FUlJPUigi SWxsZWdhbCBvcGNvZGUgaW4gY29tbWFuZCBzdHJlYW1cbiIpOwo+IC0gICAgICAgZ2Z4X3YxMV8w X2hhbmRsZV9wcml2X2ZhdWx0KGFkZXYsIGVudHJ5KTsKPiArICAgICAgIGFtZGdwdV9nZnhfaGFu ZGxlX3ByaXZfZmF1bHQoYWRldiwgZW50cnkpOwo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAK PiBAQCAtNjc0NCw3ICs2NzA3LDcgQEAgc3RhdGljIGludCBnZnhfdjExXzBfcHJpdl9pbnN0X2ly cShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdCBhbWRncHVfaXZfZW50cnkgKmVudHJ5KQo+ICB7Cj4gICAgICAgICBE Uk1fRVJST1IoIklsbGVnYWwgaW5zdHJ1Y3Rpb24gaW4gY29tbWFuZCBzdHJlYW1cbiIpOwo+IC0g ICAgICAgZ2Z4X3YxMV8wX2hhbmRsZV9wcml2X2ZhdWx0KGFkZXYsIGVudHJ5KTsKPiArICAgICAg IGFtZGdwdV9nZnhfaGFuZGxlX3ByaXZfZmF1bHQoYWRldiwgZW50cnkpOwo+ICAgICAgICAgcmV0 dXJuIDA7Cj4gIH0KPiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z2Z4X3YxMl8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjEyXzAuYwo+IGlu ZGV4IDZiYWFjNTMzYS4uODgzODc4ZTIzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92MTJfMC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv Z2Z4X3YxMl8wLmMKPiBAQCAtNTAxNSw0OSArNTAxNSwxMiBAQCBzdGF0aWMgaW50IGdmeF92MTJf MF9zZXRfcHJpdl9pbnN0X2ZhdWx0X3N0YXRlKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAKPiAtc3RhdGljIHZvaWQgZ2Z4X3YxMl8wX2hhbmRs ZV9wcml2X2ZhdWx0KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+IC0gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2l2X2VudHJ5ICplbnRyeSkK PiAtewo+IC0gICAgICAgdTggbWVfaWQsIHBpcGVfaWQsIHF1ZXVlX2lkOwo+IC0gICAgICAgc3Ry dWN0IGFtZGdwdV9yaW5nICpyaW5nOwo+IC0gICAgICAgaW50IGk7Cj4gLQo+IC0gICAgICAgbWVf aWQgPSAoZW50cnktPnJpbmdfaWQgJiAweDBjKSA+PiAyOwo+IC0gICAgICAgcGlwZV9pZCA9IChl bnRyeS0+cmluZ19pZCAmIDB4MDMpID4+IDA7Cj4gLSAgICAgICBxdWV1ZV9pZCA9IChlbnRyeS0+ cmluZ19pZCAmIDB4NzApID4+IDQ7Cj4gLQo+IC0gICAgICAgaWYgKCFhZGV2LT5nZnguZGlzYWJs ZV9rcSkgewo+IC0gICAgICAgICAgICAgICBzd2l0Y2ggKG1lX2lkKSB7Cj4gLSAgICAgICAgICAg ICAgIGNhc2UgMDoKPiAtICAgICAgICAgICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwgYWRl di0+Z2Z4Lm51bV9nZnhfcmluZ3M7IGkrKykgewo+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgcmluZyA9ICZhZGV2LT5nZnguZ2Z4X3JpbmdbaV07Cj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAocmluZy0+bWUgPT0gbWVfaWQgJiYgcmluZy0+cGlwZSA9PSBwaXBl X2lkICYmCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmluZy0+cXVldWUg PT0gcXVldWVfaWQpCj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRy bV9zY2hlZF9mYXVsdCgmcmluZy0+c2NoZWQpOwo+IC0gICAgICAgICAgICAgICAgICAgICAgIH0K PiAtICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICAgICAgICAgY2FzZSAx Ogo+IC0gICAgICAgICAgICAgICBjYXNlIDI6Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgZm9y IChpID0gMDsgaSA8IGFkZXYtPmdmeC5udW1fY29tcHV0ZV9yaW5nczsgaSsrKSB7Cj4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICByaW5nID0gJmFkZXYtPmdmeC5jb21wdXRlX3Jpbmdb aV07Cj4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocmluZy0+bWUgPT0gbWVf aWQgJiYgcmluZy0+cGlwZSA9PSBwaXBlX2lkICYmCj4gLSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmluZy0+cXVldWUgPT0gcXVldWVfaWQpCj4gLSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGRybV9zY2hlZF9mYXVsdCgmcmluZy0+c2NoZWQpOwo+IC0g ICAgICAgICAgICAgICAgICAgICAgIH0KPiAtICAgICAgICAgICAgICAgICAgICAgICBicmVhazsK PiAtICAgICAgICAgICAgICAgZGVmYXVsdDoKPiAtICAgICAgICAgICAgICAgICAgICAgICBCVUco KTsKPiAtICAgICAgICAgICAgICAgICAgICAgICBicmVhazsKPiAtICAgICAgICAgICAgICAgfQo+ IC0gICAgICAgfQo+IC19Cj4gLQo+ICBzdGF0aWMgaW50IGdmeF92MTJfMF9wcml2X3JlZ19pcnEo c3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBhbWRncHVfaXJxX3NyYyAqc291cmNlLAo+ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3QgYW1kZ3B1X2l2X2VudHJ5ICplbnRyeSkKPiAgewo+ICAg ICAgICAgRFJNX0VSUk9SKCJJbGxlZ2FsIHJlZ2lzdGVyIGFjY2VzcyBpbiBjb21tYW5kIHN0cmVh bVxuIik7Cj4gLSAgICAgICBnZnhfdjEyXzBfaGFuZGxlX3ByaXZfZmF1bHQoYWRldiwgZW50cnkp Owo+ICsgICAgICAgYW1kZ3B1X2dmeF9oYW5kbGVfcHJpdl9mYXVsdChhZGV2LCBlbnRyeSk7Cj4g ICAgICAgICByZXR1cm4gMDsKPiAgfQo+IAo+IEBAIC01MDY2LDcgKzUwMjksNyBAQCBzdGF0aWMg aW50IGdmeF92MTJfMF9iYWRfb3BfaXJxKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IGFtZGdwdV9pdl9lbnRyeSAqZW50 cnkpCj4gIHsKPiAgICAgICAgIERSTV9FUlJPUigiSWxsZWdhbCBvcGNvZGUgaW4gY29tbWFuZCBz dHJlYW1cbiIpOwo+IC0gICAgICAgZ2Z4X3YxMl8wX2hhbmRsZV9wcml2X2ZhdWx0KGFkZXYsIGVu dHJ5KTsKPiArICAgICAgIGFtZGdwdV9nZnhfaGFuZGxlX3ByaXZfZmF1bHQoYWRldiwgZW50cnkp Owo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAKPiBAQCAtNTA3NSw3ICs1MDM4LDcgQEAgc3Rh dGljIGludCBnZnhfdjEyXzBfcHJpdl9pbnN0X2lycShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRl diwKPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBhbWRncHVfaXZf ZW50cnkgKmVudHJ5KQo+ICB7Cj4gICAgICAgICBEUk1fRVJST1IoIklsbGVnYWwgaW5zdHJ1Y3Rp b24gaW4gY29tbWFuZCBzdHJlYW1cbiIpOwo+IC0gICAgICAgZ2Z4X3YxMl8wX2hhbmRsZV9wcml2 X2ZhdWx0KGFkZXYsIGVudHJ5KTsKPiArICAgICAgIGFtZGdwdV9nZnhfaGFuZGxlX3ByaXZfZmF1 bHQoYWRldiwgZW50cnkpOwo+ICAgICAgICAgcmV0dXJuIDA7Cj4gIH0KPiAKPiAtLQo+IDIuMzQu MQo+IAoK