From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from dispatch1-us1.ppe-hosted.com (dispatch1-us1.ppe-hosted.com [67.231.154.184]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id B608930C168; Fri, 16 Oct 2026 00:58:43 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=fail smtp.client-ip=67.231.154.184 ARC-Seal:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792112327; cv=fail; b=TZQPqusHUg/4gTaamYJWRLvhancv55sBKrx8wzVp+7HY0LWdIV1afBonKXymp5JLMlp+yJBbOeS/Mlu6uOD5P7k4ipaf3FZDMMwtGs5ZUK2WFBC8ppwf00UpPvvh7V9nd/MY3NJqZ3sHJmJ60W7GAG9fON5lowyrLTriNvTsvI0= ARC-Message-Signature:i=2; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1792112327; c=relaxed/simple; bh=eTBfNFhdzJ8Ijw/iF0hfUqPzfdmZ4yjCrbLhursRKRw=; h=From:To:CC:Subject:Date:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=Kp0T7Bf3SDt6KaHyLXkimRnQY7yN39+cTf05swhtd7X1rlTGgYZgv/KQXUWf1AUvTqj29QUCqkVaem1vuhuOHot+L1mSaw+EQp0MT8AMJ4qOSMLvkOyNWA4DWFNE4jPfDM8p2nFeCNIzeW7miSYAIe8NytwvaEUt/pyt5ZyH2zg= ARC-Authentication-Results:i=2; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sitime.com; spf=pass smtp.mailfrom=sitime.com; dkim=pass (2048-bit key) header.d=sitime.com header.i=@sitime.com header.b=EKtA2zyz; dkim=pass (2048-bit key) header.d=Sitime.onmicrosoft.com header.i=@Sitime.onmicrosoft.com header.b=U3tRO2Ph; arc=fail smtp.client-ip=67.231.154.184 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=sitime.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=sitime.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=sitime.com header.i=@sitime.com header.b="EKtA2zyz"; dkim=pass (2048-bit key) header.d=Sitime.onmicrosoft.com header.i=@Sitime.onmicrosoft.com header.b="U3tRO2Ph" DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=sitime.com; h=cc:cc:content-transfer-encoding:content-transfer-encoding:content-type:content-type:date:date:from:from:in-reply-to:in-reply-to:message-id:message-id:mime-version:mime-version:references:references:subject:subject:to:to; s=mail; bh=eTBfNFhdzJ8Ijw/iF0hfUqPzfdmZ4yjCrbLhursRKRw=; b=EKtA2zyzwoDl3s/3vnrsA8SRsihv1LNmT6SBmTgmq0Qq506cJssPVPdUlExp87Yrv88svP1vhm4fxvIkbP2/AZ1sDysBR0L8RRhcNOWNyebNXQ+4I6XUbQdkvb/16FeGegPqdKV6b3m1iWNDZ2Z7WEY5ZhM/5yBrby+nEIo8q3+qAgSH7rr69PbvZxAL7ue+8+CdUXIPUqxtHO+/Ku31cn2QlfH3RDPPNCLsgyAqJA5m+xD6a/dZDOQErJpo74W6TmUY0gw6wWE2KeOiFa/+ofuwjGpvKIGfDu5wDWCj0TJKYASJJRZoPnWFV/3r0qI3Jms8mHEf53cD2rwuKz/huw== X-Virus-Scanned: Proofpoint Essentials engine Received: from SJ2PR03CU001.outbound.protection.outlook.com (mail-westusazon11022079.outbound.protection.outlook.com [52.101.43.79]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-384) server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mx1-us1.ppe-hosted.com (PPE Hosted ESMTP Server) with ESMTPS id 3EAE590006B; Fri, 16 Oct 2026 00:58:34 +0000 (UTC) ARC-Seal: i=1; a=rsa-sha256; s=arcselector10001; d=microsoft.com; cv=none; b=GTsJh6Ci9d2k3srPNywB4uZK4uhM0QN7FTU2fUYlXg5Mvh808aiFT1c2n8IV/eglDYjGCOby0XbilGnaPUlDa/2TAiI2kX5lqy0kFmX0DArqkW185l50VDmU6gXF1HsWwGAJfhjv3/jauhfQEL3wnCfIsuWOPbAhyXo+RIaxZRnGkSe6ssctAwMWtw7Ntl9RCPtKkMS8cpuQjeSgwC1JhO2L3UtHotYI4bUUQ0o/RmgCO1SNuhr8COD2lU/RasbvHmElCDm+2dBkOqKUTSUfWX8HWflcxUiAUqf0eMIBLeV8SM3Pk11yOTd3PkhWj/wwHtW6DG8yr4qjN1HxXtZKwg== 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=eTBfNFhdzJ8Ijw/iF0hfUqPzfdmZ4yjCrbLhursRKRw=; b=QqgL4CHQfclradAoBX7qPXm/QT/qF4AFK89UkLQ6DvsyqT/Ki1uKGuHmqBsPOS9FF2xS04OLjdGTo47wb81qPqq10xXDSmVV4gvExJrcaEruXX9ENgT3mZ2Ju5UvTNDzQV729I2Cvbwdg5RnV2fSzBSWvS6GTtB97QkMxu+g5eEHZUYLAs3xp7FgG4YZAAj2oBzdAdZdnZuHl42gXetwCQBAMltue8qH/DV0mBcDlZY9cKnoTdPtfd7c/iBJw3tUNGoeFLcwJ29vYzo5i3FDnJyAxH9R2ktxL0g/vAm+S9u2wK9RoprVGuaFUyuJWJbYPSScX7Qau2hW9KG5yHq2fw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=sitime.com; dmarc=pass action=none header.from=sitime.com; dkim=pass header.d=sitime.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=Sitime.onmicrosoft.com; s=selector1-Sitime-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=eTBfNFhdzJ8Ijw/iF0hfUqPzfdmZ4yjCrbLhursRKRw=; b=U3tRO2PhoB4CldZ2x928gGzrdYJfW6gPlOezDN5efnrxfzQEdsCqxITqlYxDoPrarOjINlMP/NAK37ChOmFwjXqvf+tk2T4S7iTSnivywzwZ3ANF4HZjUVKFGYWpftbcCltvwbJLdoJuckcC6Jj/A/8pmbkOQEyPuXLIXEuGoK4Ssw2Qr+9us8FOzUdcS6/7zRD/PfFgvgNf6NjzXPXaB2avvHNSq0aqrrSoY1+b26MeIuBsHr5i/r/HQ75LMIvDPPIuBb8GJ2p+eU0R8GaTsMcq0Bac0xm7KHV8uKrajuvA871tbsMAMQYL1qsN14wbE2VFFL3q8upPB4ykLo/MCA== Received: from LVWPR20MB994915.namprd20.prod.outlook.com (2603:10b6:408:3bf::16) by IA3PR20MB995299.namprd20.prod.outlook.com (2603:10b6:208:623::15) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.21.522.14; Fri, 16 Oct 2026 00:58:31 +0000 Received: from LVWPR20MB994915.namprd20.prod.outlook.com ([fe80::9551:3864:128b:8c01]) by LVWPR20MB994915.namprd20.prod.outlook.com ([fe80::9551:3864:128b:8c01%4]) with mapi id 15.21.0522.013; Fri, 16 Oct 2026 00:58:31 +0000 From: Ali Rouhi To: "jiri@resnulli.us" CC: "vadim.fedorenko@linux.dev" , "arkadiusz.kubalewski@intel.com" , "ivecera@redhat.com" , "kuba@kernel.org" , "pabeni@redhat.com" , "robh@kernel.org" , "krzk+dt@kernel.org" , "conor+dt@kernel.org" , "prabhakar.mahadev-lad.rj@bp.renesas.com" , "cjubran@nvidia.com" , "Oleg.Zadorozhnyi@devoxsoftware.com" , "devicetree@vger.kernel.org" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: [PATCH net-next v14 11/12] dpll: sit9531x: add support to get phase offset on the connected input pin Thread-Topic: [PATCH net-next v14 11/12] dpll: sit9531x: add support to get phase offset on the connected input pin Thread-Index: AQHdXQl2N8rz7vxzfEueKGPhmiDfzw== Date: Fri, 16 Oct 2026 00:58:31 +0000 Message-ID: <20261016005823.13690-12-arouhi@sitime.com> References: <20261016005823.13690-1-arouhi@sitime.com> In-Reply-To: <20261016005823.13690-1-arouhi@sitime.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: mx.microsoft.com 1; dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=sitime.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: LVWPR20MB994915:EE_|IA3PR20MB995299:EE_ x-ms-office365-filtering-correlation-id: c5208374-b731-4949-bc5a-08df2b2098c0 x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0;ARA:13230040|376014|23010399003|1800799024|366016|6133799003|10067099003|18002099003|22082099003|3023799007|260925022911599003|5023799004|260925021911599003|260925021311599003|261009223027099003|38070700021|56012099006; x-microsoft-antispam-message-info: ErN5k5Nyr6GTWUd60+NvhMlKwHmSsVrqTLUAcT2svdZJguwXy2M9QcbXhBc+2Teyuez4S+U2IXmvOHYXXmMVwREuXPQz4HOl1fvBnX4eCxfHdi2PWdShnsmxpviq2rDk5zs+hNNjzX8l7vwituJHdq/aA2MClcnsl2cJ6h8lREWI0p1VYVK7mXORXJvegJOtflyAmCdvvu8/BiDsnaUUm5rE5qUWa5/xqT7oHVNfOKuKrmVrVjjCoE0u8Wb+U0n0vOiYnw7uEc9UAzL6RfPG63sg2L2rQXhT9h7SUCJcl2wUM3guDyzvwNHYwBOUNREVzw6Xd1fMWq30o3/sgutxypJ41bma9Snd5b/IHwUIngEHqED2ZvKZiPnLnYZ/i9fU04Bqcx+BLY4RHeo80pwy0nwAxMhyFxq61LN75cPtw2jHS/eqJXV8AHZxtNK+QUR1QgwVLiyStoZ2lo8SSEhop3kWxj47oSH18uMfUgic0Bz6m9X3FX/NWRKlVKf+56meaDYrtIIkt90aJmVKovlsdMA319M4EJ0RfGHUkZcJRC5uyL5nihiREi/X8p3L2L6fAN1GVSWy6GYRgQ4bsfDxyRKUov41y0u3tQInMWgiFNyO4UYAP0G150/+IZb52cZXEHtpQOK1V9pCAGSJ7qrT1EWMHRJuWGLC2DNBIzl4eciSZJQGlYMgAKWRW/LpM4hpwjYRG9rDJEKJZkoTny8mYg== x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:LVWPR20MB994915.namprd20.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230040)(376014)(23010399003)(1800799024)(366016)(6133799003)(10067099003)(18002099003)(22082099003)(3023799007)(260925022911599003)(5023799004)(260925021911599003)(260925021311599003)(261009223027099003)(38070700021)(56012099006);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?dEdiQnZwRC9VdE5odUtEdTJBU2kvNnh1bFJzdVF6cmpabDJTbWxzT3NGVmww?= =?utf-8?B?eDJVY0RkSUlLdTZ4c05iQ0I4TkRMdXQ0VjhFajFQeEw4bUVBV2FJRWs5c05o?= =?utf-8?B?VnBZYk0ycTJZWEJMT3FSTjRTS3VYaE9zZDlIQTdFeG5NZ1pIQW54WlQ2Z3Bt?= =?utf-8?B?V1YwR1laaGhEeTdPdm45cFF0ek8rb01Pbk16amMyU0V1M28wM0VCK253c3NK?= =?utf-8?B?S3h6d002ZCtUM2s1Mi9EQlE2YTlVSktYTjM0Yk9Fd3I0Ym1xdWVVdlExcHJ5?= =?utf-8?B?R2hzZ2ppQkcyZzQ5ZWZsSDJKeXhQZEVzdHZpTHN2eEk1cFFxZC9NYVdDTWg0?= =?utf-8?B?Z1VJYTBXOVZnMkF6NnNHck1ZOGpYdU8veFV0WXpiemJHWGdmdXJqb2NGbGVR?= =?utf-8?B?Z1RoS3QxSDBQV08wMnd3UEpHd1daK1psKzdPUUF5bTBuQU1PaTlOcWUwU2Nv?= =?utf-8?B?ODA1ak9CbzV2UHd5ZFEzTGZHL3A1L0JqeEVEMlJJSXdsdXNvelJDdUROL1Rn?= =?utf-8?B?QXdzTXlZYW8yV3k2WlBhOW9aRXZRaDNuZ1pQZXZILzJRaTBPdzFDZmc5a1ps?= =?utf-8?B?YlA4a2Vpcjh2TW1nRGVOVkNxeXdEQlYvanBraVAxWURabDQ2UTRuZ1hGQWY5?= =?utf-8?B?QkFOeHFLUGpDcFUwdS9uTjMrWU5PTjhsRlhsRysyUVVJcThUQ1FYbngzLzFT?= =?utf-8?B?OStkUk1sdzhRYTFzU2d6WG4zSlVaV2JaY1lTNmFPenZEbEtBUGJubDRraE5B?= =?utf-8?B?L1UwVnMvMkJ4ei81Qlh2Z3dhYWpsNnVFWEpORnFhc1MrQWNTNllXcWVEZ1Jt?= =?utf-8?B?dk1NMkJFN0NZYWppME1vVCsrZENDeGNVMDRTMVFoQVhEQmdSOUxnTU0xRjEw?= =?utf-8?B?RXNHNjRMUFcrWklpaTViaFY5WEd6QTMwc0NRQlg4WGZCZFZQdzF5NDlKa1VU?= =?utf-8?B?enIyVHZFTEkwMHBoVWlGL3ZlUlY5VTFidVRPNnNqSStlNzNZOXJqSC9paVBT?= =?utf-8?B?SmVETXJ1SGFmVmN6L2UrVEFGbkJadzlCY3hZRlVEcGo0SnZUR2RFVmVDejhF?= =?utf-8?B?RFplZ1VzMWhGT0llVFltUm9oS1BvcHZkcm1SMVp6RkxQM2s5bGU0QmxxeVhr?= =?utf-8?B?UUJYN3hqczhvKy9nSWFpU04xb0tjNGI0SkJYOHlwcGRyTStGMTFOS0RIdTNn?= =?utf-8?B?NTlqK1RqWktrVFdGcGhHV2ZGYlB5Rit2Q09xMUVGM3BWbXZqaDlrWGh6QnpR?= =?utf-8?B?UHlFUXhHcllsL3NkRFdIRXdRaXNPMUlRdS9DSnNRc2xPeUFsNy9QT3p2RWlZ?= =?utf-8?B?bTBoNGFOemdsYkVDQ21wZ3h5NXVEcHFlYUpGVjdNMGZyWXFvWk5tTm5OYjhX?= =?utf-8?B?TmdrOTl2L0dwY253MUhwbDV3WnE3aTVpMnRxU0VhWGMvTi9DSEFvdUoxZXdJ?= =?utf-8?B?YVI1MFBUVTgwUUhBalpKOFZNMkZiQTQ3WkR0S1F2YlhjeFdVYXNhRzN1Rksw?= =?utf-8?B?YjdlVm9XODdiRUF3WlFOVVY0OUlqaitBZ0tEc253MFJRSENvMytiSHA0a2lu?= =?utf-8?B?ZWJPalVXU1R3V3hrWHQ1Nks4UzQ1aTEzTHB2b1lpanlCdE5GVkw0dW56anI2?= =?utf-8?B?OXF3MWlGRmdtODJUVHVhRFg0YkwzZGFtSTlrMVpZQ2RjeFhrWGlZRnd2SDRU?= =?utf-8?B?UkZaZW5kb09vTGJKb0xFUmVTUDYxbXBMcnZMVVRQMVlBL3RadUFhaUU0MXFW?= =?utf-8?B?dzF0cUd1T1ZaKzMvZWxJczhJcmRhY1lsRzZVZUhhNWJrMFI3T2Y3M05pNXI2?= =?utf-8?B?M1RiMjJPaFdYNWIrYkI0L0EyZWlRZ25sZFRneG80ZWdSaTdlclBpMlNKQlly?= =?utf-8?B?ZkNaZStVaHljZ3IyMm80clczb0VZK09QRkM4NGx1c2ExQmQxZHJoc2VDeTUr?= =?utf-8?B?anpUSjN2c3hxU3I4YTlaY2RqUk44Uk9Bc0dqQ3BaS2R5YWNKUjk4cmhyeHli?= =?utf-8?B?QlBMK2JXSlRTbnJNY3RMcjJERGRmTGtWcEp4a0RiZ0dEdnNIaUxRdjNNVWhE?= =?utf-8?B?ZHZlekpWOXdxcllNMnBwMHo3ckNaOFpRWno3M2xoTzFjNlgzNklEN0dxRTJk?= =?utf-8?B?cGhJaCtpc2JhQmJwVVhWMVlGWlJGZGxiMUZkOFlKaGhtcTdRMGlpWFdlazY4?= =?utf-8?B?azdrQ0dMUFFPOUl4S3hsOXJHUXFMVW5wU05maVJnR3BvaDlKcytZTDh6cmFU?= =?utf-8?B?UGdWTVk3bENuRG5uTVh4R3pZV2hmQ2ZxQzhmMnNuR0pMc0hRVTMxcmI0QjMx?= =?utf-8?Q?OedIyRzZoCLN4IEsGt?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Precedence: bulk X-Mailing-List: netdev@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Exchange-RoutingPolicyChecked: JioYhI4d93+L4Ra+xz0ykgO9hVBq6sjm4jW/qe6B2KKiN7UlyhAGfuxpERRO9QxrqtBdReiTbE4VPCAuAyc5hhmuomNhsXccVYhc5Z4SV/4oCvPvkJwRZx5pz83fOJoJTd3qvyJCVmqhE0mG1GBKLuRZd/pcrE8pG+GEIdFxMQgOI+VIPZMRW1AnwyeHUzOxJaT0E/kev4wJPK5S1tQch2sVAInxFnM2g/yvsbWjA9polKd7V7QuvqQMab0OYicA1doB7b4K9QZjepg1JYPM3QywS79dm7RidPSfnZiU8bHOIRuq3fhidK8o8QXJMM8m0FFXSeXDwqcTBLJ1HvPDRw== X-OriginatorOrg: sitime.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: LVWPR20MB994915.namprd20.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: c5208374-b731-4949-bc5a-08df2b2098c0 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Oct 2026 00:58:31.1205 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 8fb55916-cf10-4b0d-96f4-cf3952657263 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: 5aspH5HSMtZYFOsqxVPazm+B5BS0hBeLEhex687oh7H428eFg3k99+knYhtMC6e5ko1UebxEhzkRW11Hc1M4vg== X-MS-Exchange-Transport-CrossTenantHeadersStamped: IA3PR20MB995299 X-MDID: 1792112315-eu3qQiUOJmua X-PPE-STACK: {"stack":"us1"} X-MDID-O: us1;at1;1792112315;eu3qQiUOJmua;;ba04557de9d2da8490f5f1e6de07b967 X-PPE-TRUSTED: V=1;DIR=OUT; RnJvbTogT2xlZyBaYWRvcm96aG55aSA8T2xlZy5aYWRvcm96aG55aUBkZXZveHNvZnR3YXJlLmNv bT4KClJlcG9ydCB0aGUgcGhhc2UgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgUExMJ3MgcmVmZXJlbmNl IGFuZCB0aGUgUExMIGl0c2VsZiwKd2hpY2ggaXMgdGhlIGxvb3AncyBvd24gcmVzaWR1YWwgZXJy b3IgYW5kIHRoZXJlZm9yZSB0cmVuZHMgc21hbGwgb24gYQpsb2NrZWQgZGV2aWNlIC0tIHRoYXQg aXMgdGhlIG1lYXN1cmVtZW50LCBub3QgYW4gYXJ0ZWZhY3Qgb2YgaXQuCgpUaGUgdmFsdWUgY29t ZXMgZnJvbSB0aGUgb24tY2hpcCB0aW1lLXRvLWRpZ2l0YWwgY29udmVydGVyLCByZWFkIHRocm91 Z2gKdGhlIGRlYnVnIHdpbmRvdzogdW5sb2NrIHRoZSB3aW5kb3csIHBvaW50IGl0IGF0IHRoZSBj b252ZXJ0ZXIsIHRoZW4gcmVhZAp0aGUgdHJpZ2dlciByZWdpc3Rlciwgd2hpY2ggbGF0Y2hlcyBh IGZyZXNoIHNhbXBsZSBhbmQgcmV0dXJucyB0aGUKcHJldmlvdXMgb25lLiAgSXQgaXMgcmVhZCB0 aHJlZSB0aW1lcyBwZXIgc2FtcGxlIGZvciB0aGF0IHJlYXNvbjsgYSBzaW5nbGUKcmVhZCBoYW5k cyBiYWNrIHRoZSBzYW1wbGUgZnJvbSB0aGUgbGFzdCBjYWxsLCBzbyBhIHJlcGVhdGVkIG1lYXN1 cmVtZW50CndvdWxkIGxvb2sgcGVyZmVjdGx5IHN0ZWFkeSB3aGlsZSBzYXlpbmcgbm90aGluZy4g IFRoZSBvZmZzZXQga2VlcHMgdGhlCmZyYWN0aW9uIG9mIGEgcGljb3NlY29uZCB0aGUgY29udmVy dGVyIHJlc29sdmVzLgoKT25seSB0aGUgaW5wdXQgdGhlIGRldmljZSBmZWVkcyBhIFBMTCBoYXMg YSBwaGFzZSBvZmZzZXQgYWdhaW5zdCBpdC4KRm9yIGFueSBvdGhlciBwaW4gdGhlcmUgaXMgbm90 aGluZyB0byBtZWFzdXJlIGFuZCB6ZXJvIGlzIHJlcG9ydGVkLApiZWNhdXNlIHRoZSBjb3JlIGFi YW5kb25zIGFuIGVudGlyZSBwaW4gZHVtcCBvbiBhbiBlcnJvciBmcm9tIGFueSBvbmUgcGluLgpU aGF0IHBpbiByZWFkcyB6ZXJvIHRvbyB3aGVuIG5vIHNhbXBsZSB3YXMgdGFrZW46IHRoZSBQTEwg aXMgbm90CnRyYWNraW5nLCBkcml2ZXMgbm8gdW4tbXV0ZWQgb3V0cHV0LCBoYXMgbm8gdXNhYmxl IFZDTyByYXRlLCBvciB0aGUKZGV2aWNlIG1vdmVkIGl0IG9mZiB0aGUgcGluLCBvciB0aGUgbGFu ZSBsb3N0IGl0cyBzaWduYWwsIGJldHdlZW4gdGhlCmNoZWNrIGFuZCB0aGUgc2FtcGxlLgoKU2ln bmVkLW9mZi1ieTogT2xlZyBaYWRvcm96aG55aSA8T2xlZy5aYWRvcm96aG55aUBkZXZveHNvZnR3 YXJlLmNvbT4KQXNzaXN0ZWQtYnk6IExMTQpTaWduZWQtb2ZmLWJ5OiBBbGkgUm91aGkgPGFyb3Vo aUBzaXRpbWUuY29tPgpSZXZpZXdlZC1ieTogSXZhbiBWZWNlcmEgPGl2ZWNlcmFAcmVkaGF0LmNv bT4KLS0tCiBkcml2ZXJzL2RwbGwvc2l0OTUzMXgvY29yZS5jIHwgMjIyICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2RwbGwvc2l0OTUzMXgvY29yZS5oIHwgICA1 ICsKIGRyaXZlcnMvZHBsbC9zaXQ5NTMxeC9kcGxsLmMgfCAxNDcgKysrKysrKysrKysrKysrKysr KysrKysKIGRyaXZlcnMvZHBsbC9zaXQ5NTMxeC9yZWdzLmggfCAgMjIgKysrKwogNCBmaWxlcyBj aGFuZ2VkLCAzODcgaW5zZXJ0aW9ucygrKSwgOSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2RwbGwvc2l0OTUzMXgvY29yZS5jIGIvZHJpdmVycy9kcGxsL3NpdDk1MzF4L2NvcmUu YwppbmRleCBmZmVkMmFhZjhhMzQuLjEwNjA5ZDQ2YTdlMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9k cGxsL3NpdDk1MzF4L2NvcmUuYworKysgYi9kcml2ZXJzL2RwbGwvc2l0OTUzMXgvY29yZS5jCkBA IC05MjIsOCArOTIyLDkgQEAgc3RhdGljIGludCBzaXQ5NTMxeF9wcmlvX3ByZ19jb21taXQoc3Ry dWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2KQogCXJldHVybiAwOwogfQogCi0vKgorLyoqCiAgKiBz aXQ5NTMxeF9pbnB1dF9tb25fZmV0Y2ggLSByZWFkIHRoZSBjbG9jayBtb25pdG9yIHN0YXR1cyBv ZiBldmVyeSBsYW5lCisgKiBAc2l0ZGV2OglkZXZpY2UgcG9pbnRlcgogICoKICAqIEZvdXIgcmVn aXN0ZXJzIGNhcnJ5IGEgbmliYmxlIHBlciBsYW5lLiAgTG9zcyBvZiBzaWduYWwgYW5kIGZyZXF1 ZW5jeQogICogZHJpZnQgYXJlIHdoYXQgc2VwYXJhdGUgYW4gaW5wdXQgdGhlIGRldmljZSBjb3Vs ZCBsb2NrIHRvIGZyb20gb25lIGl0CkBAIC05MzEsOCArOTMyLDEwIEBAIHN0YXRpYyBpbnQgc2l0 OTUzMXhfcHJpb19wcmdfY29tbWl0KHN0cnVjdCBzaXQ5NTMxeF9kZXYgKnNpdGRldikKICAqIHNl bGVjdGlvbiBhbmQgdGhlIHBpbnMgcmVwb3J0IGFzIHRoZWlyIG9wZXJhdGlvbmFsIHN0YXRlLgog ICoKICAqIENhbGxlciBtdXN0IGhvbGQgc2l0ZGV2LT5tdWx0aW9wX2xvY2ssIG9yIHJ1biBiZWZv cmUgcmVnaXN0cmF0aW9uLgorICoKKyAqIFJldHVybjogMCBvbiBzdWNjZXNzLCA8MCBvbiBlcnJv cgogICovCi1zdGF0aWMgaW50IHNpdDk1MzF4X2lucHV0X21vbl9mZXRjaChzdHJ1Y3Qgc2l0OTUz MXhfZGV2ICpzaXRkZXYpCitpbnQgc2l0OTUzMXhfaW5wdXRfbW9uX2ZldGNoKHN0cnVjdCBzaXQ5 NTMxeF9kZXYgKnNpdGRldikKIHsKIAlzdGF0aWMgY29uc3QgdW5zaWduZWQgaW50IHJlZ3NbXSA9 IHsKIAkJU0lUOTUzMVhfQ0xLTU9OX1BfU1RBVFVTXzAxLCBTSVQ5NTMxWF9DTEtNT05fUF9TVEFU VVNfMjMsCkBAIC0zMDUxLDYgKzMwNTQsMjAyIEBAIHN0YXRpYyBpbnQgc2l0OTUzMXhfY2xlYXJf bm90aWZpY2F0aW9ucyhzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYpCiAJcmV0dXJuIDA7CiB9 CiAKKy8qKgorICogc2l0OTUzMXhfcGhhc2Vfb2Zmc2V0X3JlYWQgLSByZWFkIHBoYXNlIGRpZmZl cmVuY2UgdmlhIFREQworICogQHNpdGRldjoJZGV2aWNlIHBvaW50ZXIKKyAqIEBwbGxfaWR4OglQ TEwgaW5kZXggKDAtMykKKyAqIEBwaGFzZV9vZmZzZXQ6CXBoYXNlIGRpZmZlcmVuY2UgaW4gdW5p dHMgb2YgMS9EUExMX1BIQVNFX09GRlNFVF9ESVZJREVSCisgKgkJb2YgYSBwaWNvc2Vjb25kLCBh cyB0aGUgRFBMTCBzdWJzeXN0ZW0gY2FycmllcyBpdAorICoKKyAqIFJlYWRzIHRoZSBUaW1lLXRv LURpZ2l0YWwgQ29udmVydGVyIChUREMpIGNvZGUgZnJvbSB0aGUgUExMIHBhZ2UKKyAqIHJlZ2lz dGVycyAtLSBhIDM1LWJpdCBtYWduaXR1ZGUgd2l0aCBhIHNlcGFyYXRlIHNpZ24gYml0IC0tIHRo ZW4KKyAqIGNvbnZlcnRzIGl0IHVzaW5nIHRoZSBWQ08gZnJlcXVlbmN5OiBwaGFzZV9kaWZmID0g dGRjX2NvZGUgLyBmdmNvLgorICoKKyAqIENhbGxlciBtdXN0IGhvbGQgc2l0ZGV2LT5tdWx0aW9w X2xvY2suCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIC1FTk9EQVRBIHdoZW4gdGhlIFBM TCBoYXMgbm8ga25vd24gVkNPIHJhdGUKKyAqIChub3RoaW5nIGlzIHNhbXBsZWQgdGhlbiksIG9y IHRoZSByZWdpc3RlciBhY2Nlc3MgZXJyb3IKKyAqLworaW50IHNpdDk1MzF4X3BoYXNlX29mZnNl dF9yZWFkKHN0cnVjdCBzaXQ5NTMxeF9kZXYgKnNpdGRldiwgdTggcGxsX2lkeCwKKwkJCSAgICAg ICBzNjQgKnBoYXNlX29mZnNldCkKK3sKKwl1OCB2LCBvbGRfd3JpdGVfY29kZSwgb2xkX3JlYWRf Y29kZTsKKwlib29sIGhhdmVfb2xkID0gZmFsc2U7CisJaW50IHJjLCByZXQsIGk7CisJczY0IHRk Y19zaWduZWQ7CisJdTY0IGZ2Y28sIG1hZzsKKwl1NjQgdGRjX3JhdzsKKwlib29sIHNpZ247CisK Kwlsb2NrZGVwX2Fzc2VydF9oZWxkKCZzaXRkZXYtPm11bHRpb3BfbG9jayk7CisKKwlpZiAocGxs X2lkeCA+PSBTSVQ5NTMxWF9OVU1fUExMUykKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwkvKgorCSAq IEdldCB0aGUgVkNPIHJhdGUgZmlyc3QuICAtRU5PREFUQSBtZWFucyB0aGUgUExMIGhhcyBubyBy YXRlIHRvCisJICogY29udmVydCBhZ2FpbnN0IChhIGRpdmlkZXIgdGhpcyBib2FyZCBsZWF2ZXMg dW5wcm9ncmFtbWVkKSwgYW5kCisJICogdGhlcmUgaXMgdGhlbiBubyByZWFzb24gdG8gb3BlbiB0 aGUgZGVidWcgd2luZG93IGF0IGFsbCAtLSB3aGljaAorCSAqIGFsc28ga2VlcHMgYSBidXMgZXJy b3Igd2hpbGUgaXQgaXMgb3BlbiBmcm9tIGV2ZXIgYmVpbmcgcmVwb3J0ZWQKKwkgKiBhcyB0aGF0 IGJlbmlnbiBjYXNlLgorCSAqLworCXJjID0gc2l0OTUzMXhfZ2V0X2Z2Y28oc2l0ZGV2LCBwbGxf aWR4LCAmZnZjbyk7CisJaWYgKHJjKSB7CisJCWlmIChyYyA9PSAtRU5PREFUQSkKKwkJCWRldl9k Ymcoc2l0ZGV2LT5kZXYsCisJCQkJIlBMTCVjOiBGdmNvIHVua25vd24sIHNraXAgVERDXG4iLAor CQkJCSdBJyArIHBsbF9pZHgpOworCQlyZXR1cm4gcmM7CisJfQorCisJLyogVW5sb2NrIHRoZSBk ZWJ1ZyBwYWdlIHNvIHRoZSBUREMgcmVnaXN0ZXJzIGFyZSBhY2Nlc3NpYmxlLiAqLworCXJjID0g c2l0OTUzMXhfd3JpdGVfcGxsX3U4KHNpdGRldiwgcGxsX2lkeCwKKwkJCQkgICBTSVQ5NTMxWF9Q TExfUkVHX0RFQlVHLAorCQkJCSAgIFNJVDk1MzFYX1BMTF9ERUJVR19VTkxPQ0spOworCWlmIChy YykKKwkJZ290byByZWxvY2s7CisKKwkvKgorCSAqIFJlbWVtYmVyIHRoZSB0YXAgc2VsZWN0aW9u IHNvIGl0IGNhbiBiZSBwdXQgYmFjay4gIFRoZSBrZXkKKwkgKiByZWdpc3RlciBpcyByZS1sb2Nr ZWQgYmVsb3csIGJ1dCB0aGUgbXV4IGlzIG5vdCBwYXJ0IG9mIHRoZSBrZXk6CisJICogbGVhdmlu ZyBpdCBwYXJrZWQgb24gdGhlIFREQyB3aXRoIGEgc2xvdyBzYW1wbGluZyBjbG9jayBzZWxlY3Rl ZAorCSAqIGlzIGEgc3RhdGUgY2hhbmdlIHRoZSBjYWxsZXIgZGlkIG5vdCBhc2sgZm9yLCBhbmQg dGhlIG5leHQgcmVhZGVyCisJICogb2YgYSBkaWZmZXJlbnQgdGFwIHdvdWxkIGhhdmUgdG8ga25v dyB0byB1bmRvIGl0LgorCSAqLworCXJjID0gc2l0OTUzMXhfcmVhZF9wbGxfdTgoc2l0ZGV2LCBw bGxfaWR4LAorCQkJCSAgU0lUOTUzMVhfUExMX1JFR19EQkdfV1JJVEVfQ09ERSwKKwkJCQkgICZv bGRfd3JpdGVfY29kZSk7CisJaWYgKCFyYykKKwkJcmMgPSBzaXQ5NTMxeF9yZWFkX3BsbF91OChz aXRkZXYsIHBsbF9pZHgsCisJCQkJCSAgU0lUOTUzMVhfUExMX1JFR19EQkdfUkVBRF9DT0RFLAor CQkJCQkgICZvbGRfcmVhZF9jb2RlKTsKKwlpZiAocmMpCisJCWdvdG8gcmVsb2NrOworCisJaGF2 ZV9vbGQgPSB0cnVlOworCisJLyoKKwkgKiBTZWxlY3QgdGhlIGRlYnVnIGNsb2NrIGZvciB0YXBz IGJlbG93IDIwMCBrSHosIHRoZW4gcG9pbnQgdGhlCisJICogcmVhZGJhY2sgYXQgdGhlIFREQy4g IE9ubHkgdGhlIG9uZSBiaXQgaXMgdG91Y2hlZDogd3JpdGluZyB0aGUKKwkgKiBtb2RpZmllciBy ZWdpc3RlciB3aG9sZSB3b3VsZCBjbGVhciB0aGUgZmllbGRzIGJlbG9uZ2luZyB0bworCSAqIG90 aGVyIHRhcHMuCisJICovCisJcmMgPSBzaXQ5NTMxeF91cGRhdGVfcGxsX3U4KHNpdGRldiwgcGxs X2lkeCwKKwkJCQkgICAgU0lUOTUzMVhfUExMX1JFR19EQkdfV1JJVEVfQ09ERSwKKwkJCQkgICAg U0lUOTUzMVhfREJHX0xPV19GUkVRX0NMS19CSVQsCisJCQkJICAgIFNJVDk1MzFYX0RCR19MT1df RlJFUV9DTEtfQklUKTsKKwlpZiAocmMpCisJCWdvdG8gcmVsb2NrOworCXJjID0gc2l0OTUzMXhf d3JpdGVfcGxsX3U4KHNpdGRldiwgcGxsX2lkeCwKKwkJCQkgICBTSVQ5NTMxWF9QTExfUkVHX0RC R19SRUFEX0NPREUsCisJCQkJICAgU0lUOTUzMVhfREJHX1JFQURfQ09ERV9UREMpOworCWlmIChy YykKKwkJZ290byByZWxvY2s7CisKKwkvKgorCSAqIExhdGNoIGEgc2FtcGxlIGJ5IHJlYWRpbmcg dGhlIGRlYnVnIHN0YXR1cyBkYXRhIHJlZ2lzdGVyLiAgQQorCSAqIHNpbmdsZSByZWFkIHJldHVy bnMgdGhlIHByZXZpb3VzIGxhdGNoLCBzbyByZWFkIGl0IHRocmVlIHRpbWVzCisJICogYXMgdGhl IGRvY3VtZW50ZWQgcGhhc2UtZGlmZmVyZW5jZSBwcm9jZWR1cmUgZG9lcy4KKwkgKi8KKwlmb3Ig KGkgPSAwOyBpIDwgU0lUOTUzMVhfREJHX1NUQVRVU19SRUFEUzsgaSsrKSB7CisJCXJjID0gc2l0 OTUzMXhfcmVhZF9wbGxfdTgoc2l0ZGV2LCBwbGxfaWR4LAorCQkJCQkgIFNJVDk1MzFYX1BMTF9S RUdfREJHX1NUQVRVU19EQVRBLAorCQkJCQkgICZ2KTsKKwkJaWYgKHJjKQorCQkJZ290byByZWxv Y2s7CisJfQorCisJdGRjX3JhdyA9IDA7CisKKwlyYyA9IHNpdDk1MzF4X3JlYWRfcGxsX3U4KHNp dGRldiwgcGxsX2lkeCwKKwkJCQkgIFNJVDk1MzFYX1BMTF9SRUdfREJHX0RBVEFfNCwgJnYpOwor CWlmIChyYykKKwkJZ290byByZWxvY2s7CisJc2lnbiA9ICEhKHYgJiBCSVQoU0lUOTUzMVhfVERD X1NJR05fQklUKSk7CisJdGRjX3JhdyA9ICh1NjQpKHYgJiBTSVQ5NTMxWF9URENfTUFHX0hJX01B U0spIDw8IDMyOworCisJcmMgPSBzaXQ5NTMxeF9yZWFkX3BsbF91OChzaXRkZXYsIHBsbF9pZHgs CisJCQkJICBTSVQ5NTMxWF9QTExfUkVHX0RCR19EQVRBXzMsICZ2KTsKKwlpZiAocmMpCisJCWdv dG8gcmVsb2NrOworCXRkY19yYXcgfD0gKHU2NCl2IDw8IDI0OworCisJcmMgPSBzaXQ5NTMxeF9y ZWFkX3BsbF91OChzaXRkZXYsIHBsbF9pZHgsCisJCQkJICBTSVQ5NTMxWF9QTExfUkVHX0RCR19E QVRBXzIsICZ2KTsKKwlpZiAocmMpCisJCWdvdG8gcmVsb2NrOworCXRkY19yYXcgfD0gKHU2NCl2 IDw8IDE2OworCisJcmMgPSBzaXQ5NTMxeF9yZWFkX3BsbF91OChzaXRkZXYsIHBsbF9pZHgsCisJ CQkJICBTSVQ5NTMxWF9QTExfUkVHX0RCR19EQVRBXzEsICZ2KTsKKwlpZiAocmMpCisJCWdvdG8g cmVsb2NrOworCXRkY19yYXcgfD0gKHU2NCl2IDw8IDg7CisKKwlyYyA9IHNpdDk1MzF4X3JlYWRf cGxsX3U4KHNpdGRldiwgcGxsX2lkeCwKKwkJCQkgIFNJVDk1MzFYX1BMTF9SRUdfREJHX0RBVEFf MCwgJnYpOworCWlmIChyYykKKwkJZ290byByZWxvY2s7CisJdGRjX3JhdyB8PSB2OworCisJLyoK KwkgKiBBcHBseSBzaWduLiAgUGVyIHRoZSByZWdpc3RlciBtYXAgdGhlIHNpZ24gYml0IGlzIGFj dGl2ZS1oaWdoCisJICogZm9yIGEgcG9zaXRpdmUgb2Zmc2V0OiBiaXQgc2V0IC0+ICtjb2RlLCBi aXQgY2xlYXIgLT4gLWNvZGUuCisJICovCisJdGRjX3NpZ25lZCA9IHNpZ24gPyAoczY0KXRkY19y YXcgOiAtKHM2NCl0ZGNfcmF3OworCisJLyoKKwkgKiBwaGFzZV9kaWZmIChzZWNvbmRzKSA9IHRk Y19jb2RlIC8gZnZjbworCSAqIHBoYXNlX2RpZmYgKHBzKSA9IHRkY19jb2RlICogMWUxMiAvIGZ2 Y28KKwkgKgorCSAqIFNjYWxlZCBieSB0aGUgc3Vic3lzdGVtJ3MgZGl2aWRlciBiZWZvcmUgdGhl IGRpdmlzaW9uIHJhdGhlciB0aGFuCisJICogYWZ0ZXIgaXQ6IG9uZSBUREMgY29kZSBpcyAxZTEy IC8gZnZjbyBwcywgYSBmcmFjdGlvbiBvZiBhCisJICogcGljb3NlY29uZCBtb3JlIG9mdGVuIHRo YW4gbm90ICgyMDMuNDUgcHMgYXQgNC45MTUyIEdIeiksIGFuZAorCSAqIHRydW5jYXRpbmcgdG8g d2hvbGUgcGljb3NlY29uZHMgZmlyc3Qgd291bGQgbGVhdmUgdGhlIHRocmVlCisJICogZnJhY3Rp b25hbCBkaWdpdHMgdGhlIGF0dHJpYnV0ZSBjYXJyaWVzIGFsd2F5cyB6ZXJvLiAgVGhlCisJICog cXVvdGllbnQgZml0cyB1NjQgZm9yIGFueSByYXRlIHNpdDk1MzF4X2dldF9mdmNvKCkgcmV0dXJu czogaXQKKwkgKiByZWZ1c2VzIG9uZSBiZWxvdyB0aGUgVkNPIGJhbmQuCisJICoKKwkgKiBtdWxf dTY0X3U2NF9kaXZfdTY0KCkga2VlcHMgdGhlIGV4YWN0IEh6IGRlbm9taW5hdG9yOyBkaXZpZGlu ZworCSAqIGJ5IHdob2xlIE1IeiBpbnN0ZWFkIHdvdWxkIGxvc2UgdXAgdG8gfjQwIHBwbSBvZiBz Y2FsZSBvbiBhCisJICogZnJhY3Rpb25hbC1ESVZOIEZ2Y28uCisJICovCisJbWFnID0gbXVsX3U2 NF91NjRfZGl2X3U2NCh0ZGNfc2lnbmVkIDwgMCA/IC10ZGNfc2lnbmVkIDogdGRjX3NpZ25lZCwK KwkJCQkgIDEwMDAwMDAwMDAwMDBVTEwgKiBEUExMX1BIQVNFX09GRlNFVF9ESVZJREVSLAorCQkJ CSAgZnZjbyk7CisJKnBoYXNlX29mZnNldCA9IHRkY19zaWduZWQgPCAwID8gLShzNjQpbWFnIDog KHM2NCltYWc7CisKKwlyYyA9IDA7CisKK3JlbG9jazoKKwlpZiAoaGF2ZV9vbGQpIHsKKwkJcmV0 ID0gc2l0OTUzMXhfd3JpdGVfcGxsX3U4KHNpdGRldiwgcGxsX2lkeCwKKwkJCQkJICAgIFNJVDk1 MzFYX1BMTF9SRUdfREJHX1JFQURfQ09ERSwKKwkJCQkJICAgIG9sZF9yZWFkX2NvZGUpOworCQlp ZiAocmV0ICYmICFyYykKKwkJCXJjID0gcmV0OworCQlyZXQgPSBzaXQ5NTMxeF93cml0ZV9wbGxf dTgoc2l0ZGV2LCBwbGxfaWR4LAorCQkJCQkgICAgU0lUOTUzMVhfUExMX1JFR19EQkdfV1JJVEVf Q09ERSwKKwkJCQkJICAgIG9sZF93cml0ZV9jb2RlKTsKKwkJaWYgKHJldCAmJiAhcmMpCisJCQly YyA9IHJldDsKKwl9CisKKwkvKgorCSAqIENsb3NlIHRoZSBkZWJ1ZyB3aW5kb3cgYWdhaW4uICBU aGUga2V5IHJlZ2lzdGVyIG9wZW5zIGV2ZXJ5IGRlYnVnCisJICogcmVnaXN0ZXIgb24gdGhpcyBQ TEwgd2hpbGUgaXQgaG9sZHMgdGhlIHVubG9jayB2YWx1ZSwgYW5kIHRoaXMgcmVhZAorCSAqIHJ1 bnMgb24gZXZlcnkgcGluLWdldCBvZiBhIGNvbm5lY3RlZCBpbnB1dCwgc28gbGVhdmluZyBpdCBv cGVuCisJICogd291bGQgbWVhbiBub3JtYWwgbW9uaXRvcmluZyBwZXJtYW5lbnRseSB1bmxvY2tz IHRoZSBibG9jay4KKwkgKi8KKwlyZXQgPSBzaXQ5NTMxeF93cml0ZV9wbGxfdTgoc2l0ZGV2LCBw bGxfaWR4LAorCQkJCSAgICBTSVQ5NTMxWF9QTExfUkVHX0RFQlVHLAorCQkJCSAgICBTSVQ5NTMx WF9QTExfREVCVUdfTE9DSyk7CisJaWYgKHJldCAmJiAhcmMpCisJCXJjID0gcmV0OworCisJcmV0 dXJuIHJjOworfQorCiAvKgogICogc2l0OTUzMXhfcmVmX3N0YXRlX2ZldGNoIC0gcmVhZCBpbnB1 dCByZWZlcmVuY2Ugc3RhdHVzIGZyb20gaGFyZHdhcmUKICAqIEBpbmRleDoJbG9naWNhbCBpbnB1 dCBpbmRleApAQCAtMzE0OSw4ICszMzQ4LDEzIEBAIHN0YXRpYyBpbnQgc2l0OTUzMXhfcGxsX2lz X2FjdGl2ZShzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYsIHU4IHBsbF9pZHgsCiAJcmV0dXJu IDA7CiB9CiAKLS8qCi0gKiBSZWFkIHRoZSByZWZlcmVuY2UgdGhlIGRldmljZSBmZWVkcyBhIFBM TC4KKy8qKgorICogc2l0OTUzMXhfY2hhbl9yb3V0ZWRfcmVmX3JlYWQgLSByZWFkIHRoZSByZWZl cmVuY2UgdGhlIGRldmljZSBmZWVkcyBhIFBMTAorICogQHNpdGRldjoJZGV2aWNlIHBvaW50ZXIK KyAqIEBwbGxfaWR4OglQTEwgaW5kZXggKDAtMykKKyAqIEByZWY6CXJlc3VsdDogbG9naWNhbCBp bnB1dCBpbmRleCwgU0lUOTUzMVhfSU5UU1lOQ19QSU5fSUQgZm9yIHRoZQorICoJCWludGVyLVBM TCBzeW5jIG5ldCwgb3IgU0lUOTUzMVhfUkVGX0lOVkFMSUQgd2hlbiB0aGUgY29kZQorICoJCW5h bWVzIG5vIHJlZ2lzdGVyZWQgaW5wdXQKICAqCiAgKiBUaGUgYWN0aXZlIHNlbGVjdGlvbiBuYW1l cyB0aGUgc291cmNlIHRoZSBQTEwgd2FzIHRvbGQgdG8gZm9sbG93LiAgVGhlCiAgKiBpbnB1dCBz dWJzeXN0ZW0gZmVlZHMgdGhlIFBMTCB0aGF0IHNvdXJjZSB3aGlsZSBpdCBoYXMgc2lnbmFsIGFu ZCBmYWxscwpAQCAtMzE2NSwxMiArMzM2OSwxMiBAQCBzdGF0aWMgaW50IHNpdDk1MzF4X3BsbF9p c19hY3RpdmUoc3RydWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2LCB1OCBwbGxfaWR4LAogICogZnJl ZS1ydW4gdGhlIFBMTCBpcyBmZWQgbm90aGluZyBhbmQgdGhlIGJ1cyBpcyBub3QgY29uc3VsdGVk LCBzbyB0aGUKICAqIGNhbGxlciBjaGVja3MgdGhlIG1vZGUgZmlyc3QuCiAgKgotICogQHJlZiBp cyB0aGUgbG9naWNhbCBpbnB1dCBpbmRleCwgU0lUOTUzMVhfSU5UU1lOQ19QSU5fSUQgZm9yIHRo ZQotICogaW50ZXItUExMIHN5bmMgbmV0LCBvciBTSVQ5NTMxWF9SRUZfSU5WQUxJRCB3aGVuIHRo ZSBjb2RlIG5hbWVzIG5vCi0gKiByZWdpc3RlcmVkIGlucHV0LiAgQ2FsbGVyIG11c3QgaG9sZCBz aXRkZXYtPm11bHRpb3BfbG9jay4KKyAqIENhbGxlciBtdXN0IGhvbGQgc2l0ZGV2LT5tdWx0aW9w X2xvY2suCisgKgorICogUmV0dXJuOiAwIG9uIHN1Y2Nlc3MsIDwwIG9uIGVycm9yCiAgKi8KLXN0 YXRpYyBpbnQgc2l0OTUzMXhfY2hhbl9yb3V0ZWRfcmVmX3JlYWQoc3RydWN0IHNpdDk1MzF4X2Rl diAqc2l0ZGV2LAotCQkJCQkgdTggcGxsX2lkeCwgdTggKnJlZikKK2ludCBzaXQ5NTMxeF9jaGFu X3JvdXRlZF9yZWZfcmVhZChzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYsIHU4IHBsbF9pZHgs CisJCQkJICB1OCAqcmVmKQogewogCWludCByYywgbG9ja19yYzsKIAl1OCB2LCBpOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9kcGxsL3NpdDk1MzF4L2NvcmUuaCBiL2RyaXZlcnMvZHBsbC9zaXQ5NTMx eC9jb3JlLmgKaW5kZXggMGM0MmJmYzA1YjBiLi5iNDQwZTJkNjAxMWQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZHBsbC9zaXQ5NTMxeC9jb3JlLmgKKysrIGIvZHJpdmVycy9kcGxsL3NpdDk1MzF4L2Nv cmUuaApAQCAtMzAwLDYgKzMwMCwxMSBAQCBpbnQgc2l0OTUzMXhfb3V0cHV0X3BoYXNlX2FkanVz dF9zZXQoc3RydWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2LAogLyogLS0tLSBJTlRTWU5DIChpbnRl ci1QTEwgc3luY2hyb25pemF0aW9uKSAtLS0tICovCiAKIC8qIC0tLS0gUGhhc2Ugb2Zmc2V0IChU REMgcmVhZGJhY2spIC0tLS0gKi8KK2ludCBzaXQ5NTMxeF9jaGFuX3JvdXRlZF9yZWZfcmVhZChz dHJ1Y3Qgc2l0OTUzMXhfZGV2ICpzaXRkZXYsIHU4IHBsbF9pZHgsCisJCQkJICB1OCAqcmVmKTsK K2ludCBzaXQ5NTMxeF9pbnB1dF9tb25fZmV0Y2goc3RydWN0IHNpdDk1MzF4X2RldiAqc2l0ZGV2 KTsKK2ludCBzaXQ5NTMxeF9waGFzZV9vZmZzZXRfcmVhZChzdHJ1Y3Qgc2l0OTUzMXhfZGV2ICpz aXRkZXYsIHU4IHBsbF9pZHgsCisJCQkgICAgICAgczY0ICpwaGFzZV9vZmZzZXQpOwogCiAvKiAt LS0tIFN0YXRlIGhlbHBlcnMgLS0tLSAqLwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RwbGwvc2l0 OTUzMXgvZHBsbC5jIGIvZHJpdmVycy9kcGxsL3NpdDk1MzF4L2RwbGwuYwppbmRleCBiMzcxOTM3 MDkwMWUuLmRjOGQ4NDEzM2I3MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9kcGxsL3NpdDk1MzF4L2Rw bGwuYworKysgYi9kcml2ZXJzL2RwbGwvc2l0OTUzMXgvZHBsbC5jCkBAIC02NjksNiArNjY5LDE1 MSBAQCBzaXQ5NTMxeF9kcGxsX2lucHV0X3Bpbl9wcmlvX3NldChjb25zdCBzdHJ1Y3QgZHBsbF9w aW4gKnBpbiwgdm9pZCAqcGluX3ByaXYsCiAJcmV0dXJuIDA7CiB9CiAKKy8qCisgKiBzaXQ5NTMx eF9kcGxsX2lucHV0X3Bpbl9waGFzZV9vZmZzZXRfZ2V0IC0gcGhhc2Ugb2Zmc2V0IG9mIGEgcmVm ZXJlbmNlCisgKgorICogV2hhdCB0aGlzIHJlcG9ydHMsIGFuZCB3aGF0IGl0IGRlbGliZXJhdGVs eSBkb2VzIG5vdDoKKyAqCisgKiBUaGUgQUJJIGRlZmluZXMgdGhlIGF0dHJpYnV0ZSBhcyB0aGUg cGhhc2UgZGlmZmVyZW5jZSBiZXR3ZWVuIHRoZSBzaWduYWwKKyAqIG9uIGEgcGluIGFuZCBpdHMg cGFyZW50IERQTEwgZGV2aWNlLCBzbyB0aGlzIGlzIHRoZSBsb29wJ3Mgb3duIHJlc2lkdWFsCisg KiBlcnJvciwgc2FtcGxlZCB3aXRoIHRoZSBsb29wIGNsb3NlZC4gIE9uIGEgbG9ja2VkIERQTEwg aXQgdGhlcmVmb3JlCisgKiB0cmVuZHMgc21hbGwgLS0gdGhhdCBpcyB0aGUgbWVhc3VyZW1lbnQs IG5vdCBhbiBhcnRlZmFjdCBvZiBpdC4gIFRoZQorICogZG9jdW1lbnRhdGlvbiBkZXNjcmliZXMg dGhlIHJlcG9ydGVkIHZhbHVlIGFzIG9uZSB0aGF0IG1heSBiZSBhdmVyYWdlZAorICogb3ZlciBw cmlvciBtZWFzdXJlbWVudHMsIHdoaWNoIHN1aXRzIGEgY2xvc2VkLWxvb3AgcmVzaWR1YWwgYW5k IG5vdCBhCisgKiBvbmUtc2hvdCBvcGVuLWxvb3AgY2FwdHVyZTsgdGhlIGNvcmUgcHVibGlzaGVz IHdoYXRldmVyIHRoaXMgY2FsbGJhY2sKKyAqIHJldHVybnMsIHNvIHRoZSBhdmVyYWdpbmcsIGlm IGFueSwgd291bGQgYmUgdGhpcyBkcml2ZXIncyB0byBkby4KKyAqCisgKiBUaGUgY2hpcCBjYW4g YWxzbyBtZWFzdXJlIHRoZSByZWZlcmVuY2UgYWdhaW5zdCB0aGUgbG9jYWwgb3NjaWxsYXRvcgor ICogd2l0aCB0aGUgb3V0ZXIgbG9vcCdzIGNvcnJlY3Rpb24gZnJvemVuLCB3aGljaCBpcyBhIGRp ZmZlcmVudCBxdWFudGl0eQorICogYW5kIHRoZSBvbmUgdGhlIGRvY3VtZW50ZWQgcGhhc2UtZGlm ZmVyZW5jZSBwcm9jZWR1cmUgcHJvZHVjZXMuICBUaGF0CisgKiBuZWVkcyB0aGUgZGlnaXRhbCBs b29wIGZpbHRlciBoZWxkIChhbmQsIG9uIHRoZSAxUFBTIFBMTCwgdGhlIGF1dG9tYXRpYworICog cGhhc2UtIGFuZCBmcmVxdWVuY3ktbG9jayBoZWxwZXJzIGhlbGQgb2ZmKSwgd2hpY2ggbGVhdmVz IHRoZSBQTEwKKyAqIHVuZGlzY2lwbGluZWQgdW50aWwgaXQgaXMgcmVsZWFzZWQuICBBIG5ldGxp bmsgcmVhZCBtdXN0IG5vdCBkbyB0aGF0LAorICogc28gdGhhdCBtZWFzdXJlbWVudCBpcyBub3Qg b2ZmZXJlZCBoZXJlIGF0IGFsbDsgaXQgYmVsb25ncyB0byBhIGNhbGxlcgorICogdGhhdCBjYW4g b3duIHRoZSBmcmVlemUgYW5kIHJlc3RvcmUgaXQuCisgKgorICogUHJlY29uZGl0aW9uLCB3aGlj aCB0aGlzIGNhbGxiYWNrIGNhbm5vdCBjcmVhdGU6IHRoZSBUREMgY29tcGFyZXMKKyAqIGFnYWlu c3QgYSBzaWduYWwgdGhlIFBMTCBkcml2ZXMsIHNvIGEgUExMIGRyaXZpbmcgbm8gb3V0cHV0IHdp dGggaXRzCisgKiB6ZXJvLWRlbGF5IGJ1ZmZlciBvZmYgaGFzIG5vdGhpbmcgdG8gbWVhc3VyZS4g IFNpVGltZSBjbG9jaworICogZW5naW5lZXJpbmcgY29uZmlybXMgdGhpcyBpcyBhIHByb3BlcnR5 IG9mIHRoZSBoYXJkd2FyZSwgbm90IG9mCisgKiBTaVRpbWUncyBUREMgbWVhc3VyZW1lbnQgcHJv Y2VkdXJlLCB3aGljaCBzYXRpc2ZpZXMgaXQgYnkgbWFwcGluZyBhCisgKiBzcGFyZSBvdXRwdXQg YW5kIHJlc3RhcnRpbmcgdGhlIFBMTCAtLSBzaWRlIGVmZmVjdHMgdGhhdCBkbyBub3QgYmVsb25n CisgKiBpbiBhIGdldHRlciwgc28gYSByZWFkaW5nIHRha2VuIGluIHRoYXQgc3RhdGUgaXMgc2lt cGx5IG5vdCBtZWFuaW5nZnVsLgorICoKKyAqIE5vbi1zZWxlY3RlZCBwaW5zIGFuZCBhIFBMTCB3 aXRoIG5vIHByb2dyYW1tZWQgZGl2aWRlciByZXBvcnQgemVybworICogcmF0aGVyIHRoYW4gYW4g ZXJyb3I6IHRoZSBEUExMIGNvcmUgcHJvcGFnYXRlcyBhbnkgZXJyb3IgZnJvbSB0aGlzCisgKiBj YWxsYmFjayBhbmQgZmFpbHMgdGhlIHdob2xlIHBpbiBkdW1wIHdpdGggaXQuICBUaGUgY29yZSBo YXMgbm8gcGVyLXBpbgorICogIm5vIGRhdGEiIGZvciBwaGFzZSBvZmZzZXQsIGFzIGl0IGhhcyAt RU5PREFUQSBmb3IgdGhlIGZyYWN0aW9uYWwKKyAqIGZyZXF1ZW5jeSBvZmZzZXQsIHNvIGl0IGlz IGEgdmFsdWUgb3Igbm8gY2FsbGJhY2sgYXQgYWxsLgorICovCitzdGF0aWMgaW50CitzaXQ5NTMx eF9kcGxsX2lucHV0X3Bpbl9waGFzZV9vZmZzZXRfZ2V0KGNvbnN0IHN0cnVjdCBkcGxsX3BpbiAq cGluLAorCQkJCQkgdm9pZCAqcGluX3ByaXYsCisJCQkJCSBjb25zdCBzdHJ1Y3QgZHBsbF9kZXZp Y2UgKmRwbGwsCisJCQkJCSB2b2lkICpkcGxsX3ByaXYsIHM2NCAqcGhhc2Vfb2Zmc2V0LAorCQkJ CQkgc3RydWN0IG5ldGxpbmtfZXh0X2FjayAqZXh0YWNrKQoreworCXN0cnVjdCBzaXQ5NTMxeF9k cGxsX3BpbiAqZHBpbiA9IHBpbl9wcml2OworCXN0cnVjdCBzaXQ5NTMxeF9kcGxsICpzaXRkcGxs ID0gZHBsbF9wcml2OworCXN0cnVjdCBzaXQ5NTMxeF9kZXYgKnNpdGRldiA9IHNpdGRwbGwtPmRl djsKKwlib29sIGRyaXZlcyA9IGZhbHNlOworCXU4IHJvdXRlZCwgaTsKKwlzNjQgb2Zmc2V0Owor CWludCByYzsKKworCW11dGV4X2xvY2soJnNpdGRldi0+bXVsdGlvcF9sb2NrKTsKKworCS8qCisJ ICogVGhlIG9uLWNoaXAgVERDIGlzIGEgcGVyLVBMTCByZXNvdXJjZSB0aGF0IGFsd2F5cyBtZWFz dXJlcyB0aGUKKwkgKiBwaGFzZSBkaWZmZXJlbmNlIGJldHdlZW4gdGhlIFZDTyBhbmQgdGhlIFBM TCdzIGN1cnJlbnRseQorCSAqIHNlbGVjdGVkIHJlZmVyZW5jZTsgaXQgY2Fubm90IGJlIHBvaW50 ZWQgYXQgYW4gYXJiaXRyYXJ5IGlucHV0LAorCSAqIHNvIGFuIGlucHV0IHRoYXQgaXMgbm90IHRo ZSBhY3RpdmUgcmVmZXJlbmNlIHJlcG9ydHMgMCByYXRoZXIKKwkgKiB0aGFuIHRoZSBhY3RpdmUg cmVmZXJlbmNlJ3MgdmFsdWUuCisJICoKKwkgKiBUaGUgc2FtcGxlIG5lZWRzIGJvdGg6IHRoZSBQ TEwgdHJhY2tpbmcgdGhpcyBwaW4gYXMgdGhlIHBvbGwgbGFzdAorCSAqIHNhdyBpdCAobG9ja2Vk LCBvdXRlciBsb29wIHJ1bm5pbmcsIG5vdCBmcm96ZW4pLCBhbmQgdGhlIGRldmljZQorCSAqIHN0 aWxsIGZlZWRpbmcgaXQgdGhpcyBwaW4sIHJlYWQgbm93IC0tIHRoZSBkZXZpY2UgbW92ZXMgb24g aXRzCisJICogb3duLCBhbmQgYSBjYWNoZSB1cCB0byBhIHBvbGwgcGVyaW9kIG9sZCBjb3VsZCBh dHRyaWJ1dGUgYSBsaXZlCisJICogbWVhc3VyZW1lbnQgdG8gdGhlIHBpbiB0aGUgUExMIHVzZWQg dG8gYmUgZmVkLiAgVGhlIGRldmljZSBpcyByZWFkCisJICogYWdhaW4gYWZ0ZXIgdGhlIHNhbXBs ZSBmb3IgdGhlIHNhbWUgcmVhc29uOiBpdCBjYW4gc3dpdGNoIGR1cmluZworCSAqIHRoZSBkb3pl biB0cmFuc2ZlcnMgdGhlIHNhbXBsZSB0YWtlcy4KKwkgKgorCSAqIFRoZSBUREMgYWxzbyBjb21w YXJlcyBhZ2FpbnN0IGEgc2lnbmFsIHRoZSBQTEwgZHJpdmVzLCBzbyBhIFBMTAorCSAqIHdpdGgg bm8gcm91dGVkLCBkcml2aW5nIG91dHB1dCBoYXMgbm90aGluZyB0byBtZWFzdXJlIGFuZCByZXBv cnRzCisJICogMCBsaWtlIGFueSBvdGhlciBwaW4gd2l0aG91dCBhIHJlYWRpbmcuICBPdXRwdXQg c3RhdGUgaXMgbmV2ZXIKKwkgKiBwb2xsZWQsIHNvIGEgbXV0ZSBvciB1bm11dGUgd2hvc2UgcmVh ZC1iYWNrIGZhaWxlZCBpcyByZWFkCisJICogdGhyb3VnaCBoZXJlIGZpcnN0LCBhcyB0aGUgb3V0 cHV0J3Mgb3duIGdldHRlciBkb2VzLCByYXRoZXIgdGhhbgorCSAqIHRha2VuIGZyb20gYSBjYWNo ZSB0aGF0IHdhcyBsZWZ0IGRlc2NyaWJpbmcgdGhlIHN0YXRlIGJlZm9yZSBpdC4KKwkgKi8KKwlm b3IgKGkgPSAwOyBpIDwgc2l0ZGV2LT5pbmZvLT5udW1fb3V0cHV0czsgaSsrKSB7CisJCWlmICgh c2l0ZGV2LT5vdXRbaV0ucm91dGVkIHx8CisJCSAgICBzaXRkZXYtPm91dFtpXS5wbGxfaWR4ICE9 IHNpdGRwbGwtPmlkKQorCQkJY29udGludWU7CisJCWlmIChzaXRkZXYtPm91dFtpXS5zdGF0ZV9z dGFsZSkgeworCQkJcmMgPSBzaXQ5NTMxeF9vdXRwdXRfc3RhdGVfcmVmcmVzaChzaXRkZXYsIGkp OworCQkJaWYgKHJjKSB7CisJCQkJbXV0ZXhfdW5sb2NrKCZzaXRkZXYtPm11bHRpb3BfbG9jayk7 CisJCQkJTkxfU0VUX0VSUl9NU0coZXh0YWNrLAorCQkJCQkgICAgICAgIk91dHB1dCBtdXRlIHN0 YXRlIGNvdWxkIG5vdCBiZSByZWFkIGJhY2siKTsKKwkJCQlyZXR1cm4gcmM7CisJCQl9CisJCX0K KwkJaWYgKHNpdGRldi0+b3V0W2ldLmVuYWJsZWQpCisJCQlkcml2ZXMgPSB0cnVlOworCX0KKwor CS8qCisJICogVGhlIGxhbmUncyBzaWduYWwgaXMgcmVhZCBsaXZlIGFzIHdlbGw6IGEgbG9zcyBz aW5jZSB0aGUgbGFzdCBwb2xsCisJICogbWFrZXMgdGhlIGRldmljZSBmYWxsIGJhY2sgb24gaXRz IG93biwgYW5kIGEgc2FtcGxlIHRha2VuIHRoZW4KKwkgKiB3b3VsZCBiZSBjcmVkaXRlZCB0byBh IHBpbiB0aGUgUExMIGlzIG5vIGxvbmdlciBvbi4KKwkgKi8KKwlyYyA9IHNpdDk1MzF4X2lucHV0 X21vbl9mZXRjaChzaXRkZXYpOworCWlmIChyYykgeworCQltdXRleF91bmxvY2soJnNpdGRldi0+ bXVsdGlvcF9sb2NrKTsKKwkJTkxfU0VUX0VSUl9NU0coZXh0YWNrLAorCQkJICAgICAgICJGYWls ZWQgdG8gcmVhZCB0aGUgaW5wdXQgY2xvY2sgbW9uaXRvcnMiKTsKKwkJcmV0dXJuIHJjOworCX0K KworCWlmICghZHJpdmVzIHx8CisJICAgICFzaXQ5NTMxeF9kcGxsX3NlbGVjdGlvbl9hY3RpdmUo c2l0ZGV2LCBzaXRkcGxsLCBkcGluLT5pZCkpIHsKKwkJbXV0ZXhfdW5sb2NrKCZzaXRkZXYtPm11 bHRpb3BfbG9jayk7CisJCSpwaGFzZV9vZmZzZXQgPSAwOworCQlyZXR1cm4gMDsKKwl9CisKKwly YyA9IHNpdDk1MzF4X2NoYW5fcm91dGVkX3JlZl9yZWFkKHNpdGRldiwgc2l0ZHBsbC0+aWQsICZy b3V0ZWQpOworCWlmICghcmMgJiYgcm91dGVkID09IGRwaW4tPmlkKSB7CisJCXJjID0gc2l0OTUz MXhfcGhhc2Vfb2Zmc2V0X3JlYWQoc2l0ZGV2LCBzaXRkcGxsLT5pZCwgJm9mZnNldCk7CisJCWlm ICghcmMpCisJCQlyYyA9IHNpdDk1MzF4X2NoYW5fcm91dGVkX3JlZl9yZWFkKHNpdGRldiwgc2l0 ZHBsbC0+aWQsCisJCQkJCQkJICAgJnJvdXRlZCk7CisJCWlmICghcmMgJiYgcm91dGVkICE9IGRw aW4tPmlkKQorCQkJcmMgPSAtRU5PREFUQTsKKwl9IGVsc2UgaWYgKCFyYykgeworCQlyYyA9IC1F Tk9EQVRBOworCX0KKwltdXRleF91bmxvY2soJnNpdGRldi0+bXVsdGlvcF9sb2NrKTsKKworCS8q CisJICogLUVOT0RBVEEgbWVhbnMgbm8gcmVhZGluZzogdGhlIFBMTCBoYXMgbm8ga25vd24gVkNP IHJhdGUsIG9yIHRoZQorCSAqIGRldmljZSBtb3ZlZCB0aGUgUExMIG9mZiB0aGlzIHBpbiBhcm91 bmQgdGhlIHNhbXBsZS4gIFJlcG9ydCAwIHNvIGEKKwkgKiBmdWxsIHBpbi1nZXQgZHVtcCBkb2Vz IG5vdCBmYWlsIG92ZXIgaXQuICBFdmVyeSBvdGhlciBlcnJubywKKwkgKiAtRU5PREVWIGZyb20g YSB2YW5pc2hlZCBhZGFwdGVyIGluY2x1ZGVkLCBpcyBhIGZhaWx1cmUuCisJICovCisJaWYgKHJj ID09IC1FTk9EQVRBKSB7CisJCSpwaGFzZV9vZmZzZXQgPSAwOworCQlyZXR1cm4gMDsKKwl9CisJ aWYgKHJjKSB7CisJCU5MX1NFVF9FUlJfTVNHKGV4dGFjaywgIlREQyBwaGFzZSByZWFkYmFjayBm YWlsZWQiKTsKKwkJcmV0dXJuIHJjOworCX0KKworCSpwaGFzZV9vZmZzZXQgPSBvZmZzZXQ7CisJ cmV0dXJuIDA7Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHBsbF9waW5fb3BzIHNpdDk1MzF4 X2RwbGxfaW5wdXRfcGluX29wcyA9IHsKIAkuZGlyZWN0aW9uX2dldAkJPSBzaXQ5NTMxeF9kcGxs X2lucHV0X3Bpbl9kaXJlY3Rpb25fZ2V0LAogCS5mcmVxdWVuY3lfZ2V0CQk9IHNpdDk1MzF4X2Rw bGxfaW5wdXRfcGluX2ZyZXF1ZW5jeV9nZXQsCkBAIC02NzcsNiArODIyLDcgQEAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcGxsX3Bpbl9vcHMgc2l0OTUzMXhfZHBsbF9pbnB1dF9waW5fb3BzID0gewog CS5vcGVyc3RhdGVfb25fZHBsbF9nZXQJPSBzaXQ5NTMxeF9kcGxsX2lucHV0X3Bpbl9vcGVyc3Rh dGVfb25fZHBsbF9nZXQsCiAJLnByaW9fZ2V0CQk9IHNpdDk1MzF4X2RwbGxfaW5wdXRfcGluX3By aW9fZ2V0LAogCS5wcmlvX3NldAkJPSBzaXQ5NTMxeF9kcGxsX2lucHV0X3Bpbl9wcmlvX3NldCwK KwkucGhhc2Vfb2Zmc2V0X2dldAk9IHNpdDk1MzF4X2RwbGxfaW5wdXRfcGluX3BoYXNlX29mZnNl dF9nZXQsCiB9OwogCiAvKgpAQCAtNjkzLDYgKzgzOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg ZHBsbF9waW5fb3BzIHNpdDk1MzF4X2RwbGxfaW5wdXRfcGluX25vcmF0ZV9vcHMgPSB7CiAJLm9w ZXJzdGF0ZV9vbl9kcGxsX2dldAk9IHNpdDk1MzF4X2RwbGxfaW5wdXRfcGluX29wZXJzdGF0ZV9v bl9kcGxsX2dldCwKIAkucHJpb19nZXQJCT0gc2l0OTUzMXhfZHBsbF9pbnB1dF9waW5fcHJpb19n ZXQsCiAJLnByaW9fc2V0CQk9IHNpdDk1MzF4X2RwbGxfaW5wdXRfcGluX3ByaW9fc2V0LAorCS5w aGFzZV9vZmZzZXRfZ2V0CT0gc2l0OTUzMXhfZHBsbF9pbnB1dF9waW5fcGhhc2Vfb2Zmc2V0X2dl dCwKIH07CiAKIC8qCmRpZmYgLS1naXQgYS9kcml2ZXJzL2RwbGwvc2l0OTUzMXgvcmVncy5oIGIv ZHJpdmVycy9kcGxsL3NpdDk1MzF4L3JlZ3MuaAppbmRleCA3YzQxMTExZGNhMjAuLjE4OTE2Nzk2 OThlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9kcGxsL3NpdDk1MzF4L3JlZ3MuaAorKysgYi9kcml2 ZXJzL2RwbGwvc2l0OTUzMXgvcmVncy5oCkBAIC0yODQsNiArMjg0LDI4IEBACiAjZGVmaW5lIFNJ VDk1MzFYX1BMTF9SRUdfRElWTl9OVU0JCTB4MzIgIC8qIDQgYnl0ZXMgKDB4MzItMHgzNSkgKi8K ICNkZWZpbmUgU0lUOTUzMVhfUExMX1JFR19ESVZOX0RFTgkJMHgzOCAgLyogNCBieXRlcyAoMHgz OC0weDNCKSAqLwogCisvKgorICogU2lnbmFsIHBhdGh3YXkgZGVidWcgcmVhZGJhY2sgLS0gUExM IHBhZ2UuICBEaWdfU3lzX1JlYWRDb2RlIHNlbGVjdHMKKyAqIHdoaWNoIHBvaW50IG9mIHRoZSBw YXRod2F5IGlzIHRhcHBlZCwgRGlnX1N5c19Xcml0ZUNvZGUgY2FycmllcyB0aGUKKyAqIG1vZGlm aWVycyBmb3IgdGhhdCByZWFkLCBEaWdfU3lzX3JlYWQ3Li5yZWFkMCBob2xkIHRoZSBzYW1wbGVk IGJ5dGVzCisgKiBhbmQgYSByZWFkIG9mIHRoZSBkZWJ1ZyBzdGF0dXMgZGF0YSByZWdpc3RlciBs YXRjaGVzIGEgc2FtcGxlLiAgVGhlCisgKiBUREMgcGhhc2UgbWVhc3VyZW1lbnQgaXMgb25lIHRh cCBhbW9uZyBzZXZlcmFsLCByZWFjaGVkIHRocm91Z2ggcmVhZAorICogY29kZSA2OS4KKyAqLwor I2RlZmluZSBTSVQ5NTMxWF9QTExfUkVHX0RCR19SRUFEX0NPREUJMHhCMworI2RlZmluZSBTSVQ5 NTMxWF9QTExfUkVHX0RCR19XUklURV9DT0RFCTB4QjQKKyNkZWZpbmUgU0lUOTUzMVhfREJHX0xP V19GUkVRX0NMS19CSVQJQklUKDcpCisjZGVmaW5lIFNJVDk1MzFYX1BMTF9SRUdfREJHX0RBVEFf MAkJMHhCNSAgLyogWzc6MF0gKi8KKyNkZWZpbmUgU0lUOTUzMVhfUExMX1JFR19EQkdfREFUQV8x CQkweEI2ICAvKiBbMTU6OF0gKi8KKyNkZWZpbmUgU0lUOTUzMVhfUExMX1JFR19EQkdfREFUQV8y CQkweEI3ICAvKiBbMjM6MTZdICovCisjZGVmaW5lIFNJVDk1MzFYX1BMTF9SRUdfREJHX0RBVEFf MwkJMHhCOCAgLyogWzMxOjI0XSAqLworI2RlZmluZSBTSVQ5NTMxWF9QTExfUkVHX0RCR19EQVRB XzQJCTB4QjkgIC8qIFszNDozMl0gKyBzaWduICovCisKKy8qIFJlYWQgY29kZSBvZiB0aGUgVERD IHBoYXNlIHRhcCwgYW5kIHRoZSBzaWduIGJpdCBvZiBpdHMgc2FtcGxlICovCisjZGVmaW5lIFNJ VDk1MzFYX0RCR19SRUFEX0NPREVfVERDCQk2OQorI2RlZmluZSBTSVQ5NTMxWF9URENfU0lHTl9C SVQJCTMKKyNkZWZpbmUgU0lUOTUzMVhfVERDX01BR19ISV9NQVNLCUdFTk1BU0soMiwgMCkKKwog LyogRElWTiBpcyBjYXJyaWVkIGFzIGZpeGVkIHBvaW50LCBpbiBzdGVwcyBvZiAxZS0xMiBvZiBh IHdob2xlIGRpdmlkZXIgKi8KICNkZWZpbmUgU0lUOTUzMVhfRElWTl9TQ0FMRQkJMTAwMDAwMDAw MDAwMFVMTAogCi0tIAoyLjM5LjIgKEFwcGxlIEdpdC0xNDMpCgo=