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 X-Spam-Level: X-Spam-Status: No, score=-15.2 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_SANE_2 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 06F84C433E0 for ; Tue, 16 Feb 2021 11:06:48 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id BA7C164DF0 for ; Tue, 16 Feb 2021 11:06:47 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230171AbhBPLGQ (ORCPT ); Tue, 16 Feb 2021 06:06:16 -0500 Received: from esa.microchip.iphmx.com ([68.232.154.123]:61142 "EHLO esa.microchip.iphmx.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230097AbhBPLDq (ORCPT ); Tue, 16 Feb 2021 06:03:46 -0500 DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=microchip.com; i=@microchip.com; q=dns/txt; s=mchp; t=1613473425; x=1645009425; h=from:to:cc:subject:date:message-id:references: in-reply-to:content-id:content-transfer-encoding: mime-version; bh=XAmrT2XwIsYd46+bJLm39iULNzWQpd72WBRgIXmrMV4=; b=q/03Yz/GH7HQlJ3pZwHGTRFAG4pJf3TFx9y9y9BY9p9apCxabZoSKyI1 m1PGWtRXEHjF7ci4vAFfgDH5FjvZV6Xl8ot7WP0gNOChw8EVDW+gyZGid GiWLolUp/nDIdWs8GhFVsmkKXscFGf8EWyRb4JVRHTg9LshnlAaULMtfw +t/ui4YjnCACKiAtreGEy+V7a/KJ/FCSQE+NzujikiBtVC7uCoURq6E7V hAkwVa7UfZV69LOpFDkUxwvBKX5uW20L+XU0rZcAArweAYwXJWYqzKQO9 t5/FB1i2T48hm/a0/PdlaQU91GGP/v6XQ99dYXjoK52b1IZ5I1IJww2UD w==; IronPort-SDR: OspBuLPGjOCVLSMVj4lHB7oR9CyCTR3UopiqjSlfrRoEp6Ci9Y4At8/fggOf/TCMK3zliw75C+ mYW9rta9BUR+PadMUyE4y+VZoDONZ+FWCm9etW6cwkGI0MrVAoSBvKQM8Zmamkgg5x20oJaqoD LWFGNXxlX8/MZpsQz3xcxCFpKXbJAuJhij4XOrCokdF2HdBK8pBinikw9/07B5D2+LKXMg8WUF mopzLe9q9iHDKUXO+wBJ/F44ipz3bBWwoHWh1iXXNdg7OF10rVsZEEspgOBv+T6ljHeqAHonIZ dn4= X-IronPort-AV: E=Sophos;i="5.81,183,1610434800"; d="scan'208";a="103908677" Received: from smtpout.microchip.com (HELO email.microchip.com) ([198.175.253.82]) by esa4.microchip.iphmx.com with ESMTP/TLS/AES256-SHA256; 16 Feb 2021 04:02:25 -0700 Received: from chn-vm-ex03.mchp-main.com (10.10.85.151) by chn-vm-ex01.mchp-main.com (10.10.85.143) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3; Tue, 16 Feb 2021 04:02:25 -0700 Received: from NAM10-DM6-obe.outbound.protection.outlook.com (10.10.215.89) by email.microchip.com (10.10.87.152) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.1979.3 via Frontend Transport; Tue, 16 Feb 2021 04:02:25 -0700 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=e1AN1SRN2n3QruYzJoq3yMDynjECq+79el6sntDuco5/FRJ5IQrEOfN+hJS7NiIIHFPLpe8Up4QQ3KcCC1OGrXBCYNEXfrOFGgtYocWf/DBa7v/YZfPNjcnKUTFWdeOn2PN/oS6S1ionFqQmc/Uurd6D2ikxfUy72I2fWTwaR0TOeQLdjyM4cjyy/FmUW3uRvTUn7PGd+CwTKgY5IFBxuPRCDcH4z6cFsigGIaRnrdPUSmRVZrArF+oNbuCHSp7MgVO/GI+LlWjsQBzSBhU6XuG6v9MxZk00oOqn8sA48OGcS5I0Ifq/q/IEC4mnw7L/LxAkq5IAn/gxqz5C6JPHXQ== 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-SenderADCheck; bh=XAmrT2XwIsYd46+bJLm39iULNzWQpd72WBRgIXmrMV4=; b=mDPf9p6GpJqtFDeouLVxW9QBj9FtDBo3oZyhlFwMESzB4vKdDlXSToNTiaB2gBFEjtx80C39W8APWv5Vjh4l7f9vvNuz2URJlcr1OEZkieXumu+Ienvo7NWx9IAv2bFC24BK49NJePS33eOWVhrJp4gvgjHmsn6ggmHLi9r3tkd+QP7K5AtVNxPcIAuhzbB/uQALMqpMql/6la9sYQvVLCscUc+7AE7hSE17dWGZHbxgAxCCbCHNg8wV9V5i0AanF8eWiXs1z1s9mIxidzg8MdmFYb19eXbYfVmUtvt/tAPu+mig8uVf1NUuCogT4yyAzIegWXcN33jKxhGxFboBsA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=microchip.com; dmarc=pass action=none header.from=microchip.com; dkim=pass header.d=microchip.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=microchiptechnology.onmicrosoft.com; s=selector2-microchiptechnology-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=XAmrT2XwIsYd46+bJLm39iULNzWQpd72WBRgIXmrMV4=; b=Xi6Ka871JeIVF/9ZjP7qKpwNZhBhgPorBXR7qoANZGxdS35qDFojGdVSRxbyQwzyxMwahok2PXUbpGBEdFTivgE0B/U+tMszALJVlxSAVWadAUv4ZY6NXMz3tQvjuYach1bfY1Ysur+FW4rBs/EDtfRIpOGKHnY36OYglj3kSSY= Received: from DM5PR1101MB2329.namprd11.prod.outlook.com (2603:10b6:3:9e::23) by DM5PR1101MB2249.namprd11.prod.outlook.com (2603:10b6:4:5a::12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.3846.25; Tue, 16 Feb 2021 11:02:20 +0000 Received: from DM5PR1101MB2329.namprd11.prod.outlook.com ([fe80::e048:33b3:3453:5a9]) by DM5PR1101MB2329.namprd11.prod.outlook.com ([fe80::e048:33b3:3453:5a9%11]) with mapi id 15.20.3846.042; Tue, 16 Feb 2021 11:02:20 +0000 From: To: , , , , , , , , CC: , , , Subject: Re: [PATCH net-next v2 1/3] net: phy: mscc: adding LCPLL reset to VSC8514 Thread-Topic: [PATCH net-next v2 1/3] net: phy: mscc: adding LCPLL reset to VSC8514 Thread-Index: AQHXA7vBnfiVMNowp0CVz+Uhobz/eKpZd6oAgAEnQYA= Date: Tue, 16 Feb 2021 11:02:20 +0000 Message-ID: References: <20210215165800.14580-1-bjarni.jonasson@microchip.com> <8b2a4030-62b3-5c28-fa10-19a839568271@gmail.com> In-Reply-To: <8b2a4030-62b3-5c28-fa10-19a839568271@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-mailer: Evolution 3.28.5-0ubuntu0.18.04.2 authentication-results: lunn.ch; dkim=none (message not signed) header.d=none;lunn.ch; dmarc=none action=none header.from=microchip.com; x-originating-ip: [82.163.121.66] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 25f49987-d8fd-4a8e-0f5c-08d8d26a54c0 x-ms-traffictypediagnostic: DM5PR1101MB2249: x-ms-exchange-transport-forked: True x-microsoft-antispam-prvs: x-ms-oob-tlc-oobclassifiers: OLM:820; x-ms-exchange-senderadcheck: 1 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: bMqbGO0wBqoN2p58LDAe9kS/AuIi1olmgmqetlJ97B3u41JrmW93tYzQnND8ve4lN36a9kyyIXtJkQMCYtgPy4GpW+ZrRTYaPF+IVNwQuz/g5nvEHeS0RkiUD6/uGZLPIejfWQ+JHaIbysH5uab9NPcIXWBEYDQPLwuO97B5r6joaX7zwzxKAwIXLSh2drisruoZ57HXi4sQN/hKoAMmtvGxRCbt592+mrG7bEOSX6c8ZH7TRWqiIwWjwljkNcQY/AIhElejh0jRdF5c/QLN6q+y/N1Tck8JaOwbtlaCgwG7Pg4Nl1rk0CB2HW1PUGab146pve2lrP+u8gKsxLmKHYziTzEyktWluEDjBfzQp9yPJCvzaVt/2s/7eIZUsx8TAhY6sJTnGbWoCiKTGoZPA1dQj7E96ABQtCJ9jQDXA8SGOhBvZ0BHHTy2v62UA7HV9pA6s+7Xx0XN8ZsWZbubcQSVCNR+insp5RtxhVPWrZNkEoS7YQDy4Q1oFoQ9JEm0PJkzEsLZ0afF7fvgtzME3pHG6C2/9/EYqjeorNQtL5M7+c6szQDcxGBRYLx1Mr3z x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:DM5PR1101MB2329.namprd11.prod.outlook.com;PTR:;CAT:NONE;SFS:(396003)(366004)(39860400002)(136003)(346002)(376002)(186003)(71200400001)(64756008)(66476007)(6512007)(30864003)(110136005)(66556008)(66446008)(107886003)(54906003)(36756003)(26005)(76116006)(6486002)(91956017)(53546011)(5660300002)(6506007)(316002)(66946007)(4326008)(7416002)(8936002)(2906002)(86362001)(83380400001)(8676002)(2616005)(478600001)(99106002)(579004);DIR:OUT;SFP:1101; x-ms-exchange-antispam-messagedata: =?utf-8?B?L1JmSk8xRzFrTDVKZloxM0NVK1dKQlNGS2lidEVNanQzRjZYeUlNeUpBdVZC?= =?utf-8?B?Y0dHaVBaWFMxWG5VcHZETWZIOHBKL013L0lqNEYwWVF5b1g5R09CNGlKN2Nl?= =?utf-8?B?SVZTRm1HWkR2bnFWSzV6VkJHSWhIS2Q5UkpKZEtMdmYxWm5xamlwaG5PZ0VB?= =?utf-8?B?RzY0TGF5Q0VXZnlDejRxS3QwOFRabE43a2hjKzgwdXNoeTc0VUI5WjN0V1lp?= =?utf-8?B?VERrR21nZGRyR3RPd20rc1YxS1RoK0xpT1o2VEF3YktUVHo3UUF2ZTZXUzdH?= =?utf-8?B?ZldMNkxCYUx0WUtYVFBTZGllYzJhM1R6ZExIbXhsdzAxSWMzN0pWOWpyZzhT?= =?utf-8?B?VjVxNC9GOXRXd1NUY0F2eUxXWDNtc01GYWRTenJVbzg0SkRJbGgzd0ZKZ2F5?= =?utf-8?B?S1R6WXhUSFo0OFpESjdYUmRJY1BCODdkVEhKY3Zka2xkYlQxbkRZVkNVWDZa?= =?utf-8?B?WUVMMTRlSXlqdmo0OG1ZYnBsejhmand0eHdqWllYSzJkNVFXa3paS2NjNVVY?= =?utf-8?B?QnRlOGwwZUZTMkpLZkpoSmJWbTZ3QmxuTTFWM0RyN1hFM2JOdGtYODVNVHc3?= =?utf-8?B?cElKR0tCSlVRZGgxakxuTU9zcGNGdmRaclQ1QjZyQUtLSmNvR1NUcnZMZUxF?= =?utf-8?B?bW5aSzljVmpNZWlRT1ZacWphNUExQ0ROQzRQSkt4aEEzOEtjL2FxcW44WElD?= =?utf-8?B?VHFhMjArdUdyQ0VhZitvbEpwV01uTDZWODA3UzNsbGRRNTc2dGRxUW5VWjQ1?= =?utf-8?B?bWFjcEhydGtaZnZMa0NvcVFRTStNS2NyL3dTdjV4NHZ5Tm1ya3lEU0xic0lG?= =?utf-8?B?T1lHeG02eG85NURYdjdOY2dONUhKekJxUURxbE5qYVZJQkdoenZIL0kwNyt3?= =?utf-8?B?czYvSWFZaHhxakxQZit3U1J1SHN6bVJmcmJUQU5CK3h5YjBxYmp1RUJSejBP?= =?utf-8?B?Snkzc25CZ3VHdklHS0RQTmZUWGhSVXd3d2lKZmt4SHFYUkNJdUsza0NMWXF4?= =?utf-8?B?OTV4RmxzcTU2N3dZYkRINk43Q3FtZUV5eFRhMkFUYURScjExMjRHTm1BT2ht?= =?utf-8?B?ME1EVVdobkdwRW5QanhvaitCN3JhUkFhT245a0RQT1ZCbVl5NDRsSVdyNlJM?= =?utf-8?B?VmhDVVgraDd4RFZKYTFvQ0FnenN2R1V0M1V4d25NTjhvVnF3c1JOZllRQmRz?= =?utf-8?B?b1drSTBKcFdsOVFpWVErNGV1S3lsSHMydVVtVmFJYW4yWStXK0YyT0o0WDlK?= =?utf-8?B?NmxuYWlETHY4NThxMitFaXhVWFNXM0xiUXdxdUN1ZkE2QXNHZ25FYTkxT2VW?= =?utf-8?B?bTlZTHhUajFBWDBYd1I3Tno0eEZ5bkhUczVVZU9RdkZPalFQb3FkRTQwc2xR?= =?utf-8?B?ODNBWlh1S2trazdhK3hoNm4xV3FsSkQ5b3ZtRFdtNEFuRnFaZ3FOa2R6cDd2?= =?utf-8?B?UDhTYTlKZi96M08xME9XYUIrSC9Vc0s4MGQwTVhYbHM3eWtINEI4YTRtZlYx?= =?utf-8?B?L0hJaWpXZk50aE8wVWxhQ3BHQXpqUjByQ1VjSUtQSjN4RVh6YzFuekpBVXBN?= =?utf-8?B?MnFWT252ZEo3dHBnb2MzWEg1T2c1M1U2WjdGZnQ3OEQxejl6Wk9ITkZqdGlW?= =?utf-8?B?NjE4MVZMTjNaWkdmSjhEbHhGUFZ5MXJxWWJ3Ukh1aXVhdExFK1hYcFkvWG92?= =?utf-8?B?cWVka1pqbVBwbWdzQ0lKb05Rejc1VU9Wc1FvTktRK1IwdFBHM2dlVHRQT1hQ?= =?utf-8?Q?sv0g9v/DFwJKvWnC090AosnBH4gaw4DWI2zGbCq?= Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: DM5PR1101MB2329.namprd11.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 25f49987-d8fd-4a8e-0f5c-08d8d26a54c0 X-MS-Exchange-CrossTenant-originalarrivaltime: 16 Feb 2021 11:02:20.2234 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 3f4057f3-b418-4d4e-ba84-d55b4e897d88 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: xIfoOBQoFxJUBbzWDvyI3e4HMfPX0s+lFVWbVxbz1U+4qIP+A6viXzgP1oSjOgYoRpR5zqWIOIeEXzyb9tFjZ2HQEwCrlgek+/4xGsyXqqI= X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM5PR1101MB2249 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gTW9uLCAyMDIxLTAyLTE1IGF0IDE4OjI1ICswMTAwLCBIZWluZXIgS2FsbHdlaXQgd3JvdGU6 DQo+IEVYVEVSTkFMIEVNQUlMOiBEbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50 cyB1bmxlc3MgeW91DQo+IGtub3cgdGhlIGNvbnRlbnQgaXMgc2FmZQ0KPiANCj4gT24gMTUuMDIu MjAyMSAxNzo1NywgQmphcm5pIEpvbmFzc29uIHdyb3RlOg0KPiA+IEF0IFBvd2VyLU9uIFJlc2V0 LCB0cmFuc2llbnRzIG1heSBjYXVzZSB0aGUgTENQTEwgdG8gbG9jayBvbnRvIGENCj4gPiBjbG9j ayB0aGF0IGlzIG1vbWVudGFyaWx5IHVuc3RhYmxlLiBUaGlzIGlzIG5vcm1hbGx5IHNlZW4gaW4g UVNHTUlJDQo+ID4gc2V0dXBzIHdoZXJlIHRoZSBoaWdoZXIgc3BlZWQgNkcgU2VyRGVzIGlzIGJl aW5nIHVzZWQuDQo+ID4gVGhpcyBwYXRjaCBhZGRzIGFuIGluaXRpYWwgTENQTEwgUmVzZXQgdG8g dGhlIFBIWSAoZmlyc3QgaW5zdGFuY2UpDQo+ID4gdG8gYXZvaWQgdGhpcyBpc3N1ZS4NCj4gPiAN Cj4gPiBTaWduZWQtb2ZmLWJ5OiBTdGVlbiBIZWdlbHVuZCA8c3RlZW4uaGVnZWx1bmRAbWljcm9j aGlwLmNvbT4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBCamFybmkgSm9uYXNzb24gPGJqYXJuaS5qb25h c3NvbkBtaWNyb2NoaXAuY29tPg0KPiA+IEZpeGVzOiBlNGY5YmE2NDJmMGIgKCJuZXQ6IHBoeTog bXNjYzogYWRkIHN1cHBvcnQgZm9yIFZTQzg1MTQNCj4gPiBQSFkuIikNCj4gDQo+IENvdmVyIGxl dHRlciBpcyBtaXNzaW5nLCBhbmQgRml4ZXMgc2hvdWxkIGJlIGZpcnN0Lg0KDQpJIHdpbGwgYWRk IHRoYXQuDQoNCj4gDQo+ID4gLS0tDQo+ID4gdjEgLT4gdjI6DQo+ID4gICBQcmVzZXJ2ZWQgcmV2 ZXJzZWQgY2hyaXN0bWFzIHRyZWUNCj4gPiAgIFJlbW92ZWQgZm9yd2FyZCBkZWZpbml0aW9ucw0K PiA+ICAgRml4ZWQgYnVpbGQgaXNzdWVzDQo+ID4gICBDaGFuZ2VkIG5ldCB0byBuZXQtbmV4dA0K PiA+IA0KPiA+ICBkcml2ZXJzL25ldC9waHkvbXNjYy9tc2NjLmggICAgICB8ICAgOCArDQo+ID4g IGRyaXZlcnMvbmV0L3BoeS9tc2NjL21zY2NfbWFpbi5jIHwgMzU0ICsrKysrKysrKysrKysrKysr KysrLS0tLS0tLQ0KPiA+IC0tLS0NCj4gPiAgMiBmaWxlcyBjaGFuZ2VkLCAyNDAgaW5zZXJ0aW9u cygrKSwgMTIyIGRlbGV0aW9ucygtKQ0KPiA+IA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25l dC9waHkvbXNjYy9tc2NjLmgNCj4gPiBiL2RyaXZlcnMvbmV0L3BoeS9tc2NjL21zY2MuaA0KPiA+ IGluZGV4IDk0ODFiY2U5NGMyZS4uYzIwMjNmOTNjMGIyIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZl cnMvbmV0L3BoeS9tc2NjL21zY2MuaA0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3BoeS9tc2NjL21z Y2MuaA0KPiA+IEBAIC0xMDIsNiArMTAyLDcgQEAgZW51bSByZ21paV9jbG9ja19kZWxheSB7DQo+ ID4gICNkZWZpbmUgUEhZX01DQl9TNkdfUkVBRCAgICAgICAgICAgICAgIEJJVCgzMCkNCj4gPiAN Cj4gPiAgI2RlZmluZSBQSFlfUzZHX1BMTDVHX0NGRzAgICAgICAgICAgICAgMHgwNg0KPiA+ICsj ZGVmaW5lIFBIWV9TNkdfUExMNUdfQ0ZHMiAgICAgICAgICAgICAweDA4DQo+ID4gICNkZWZpbmUg UEhZX1M2R19MQ1BMTF9DRkcgICAgICAgICAgICAgIDB4MTENCj4gPiAgI2RlZmluZSBQSFlfUzZH X1BMTF9DRkcgICAgICAgICAgICAgICAgICAgICAgICAweDJiDQo+ID4gICNkZWZpbmUgUEhZX1M2 R19DT01NT05fQ0ZHICAgICAgICAgICAgIDB4MmMNCj4gPiBAQCAtMTIxLDYgKzEyMiw5IEBAIGVu dW0gcmdtaWlfY2xvY2tfZGVsYXkgew0KPiA+ICAjZGVmaW5lIFBIWV9TNkdfUExMX0ZTTV9DVFJM X0RBVEFfUE9TICAgICAgICAgIDgNCj4gPiAgI2RlZmluZSBQSFlfUzZHX1BMTF9GU01fRU5BX1BP UyAgICAgICAgICAgICAgICA3DQo+ID4gDQo+ID4gKyNkZWZpbmUgUEhZX1M2R19DRkcyX0ZTTV9E SVMgICAgICAgICAgICAgIDENCj4gPiArI2RlZmluZSBQSFlfUzZHX0NGRzJfRlNNX0NMS19CUCAg ICAgICAgICAyMw0KPiA+ICsNCj4gPiAgI2RlZmluZSBNU0NDX0VYVF9QQUdFX0FDQ0VTUyAgICAg ICAgICAgMzENCj4gPiAgI2RlZmluZSBNU0NDX1BIWV9QQUdFX1NUQU5EQVJEICAgICAgICAgICAg ICAgICAweDAwMDAgLyogU3RhbmRhcmQNCj4gPiByZWdpc3RlcnMgKi8NCj4gPiAgI2RlZmluZSBN U0NDX1BIWV9QQUdFX0VYVEVOREVEICAgICAgICAgICAgICAgICAweDAwMDEgLyogRXh0ZW5kZWQN Cj4gPiByZWdpc3RlcnMgKi8NCj4gPiBAQCAtNDEyLDYgKzQxNiwxMCBAQCBzdHJ1Y3QgdnNjODUz MV9lZGdlX3JhdGVfdGFibGUgew0KPiA+ICB9Ow0KPiA+ICAjZW5kaWYgLyogQ09ORklHX09GX01E SU8gKi8NCj4gPiANCj4gPiArZW51bSBjc3JfdGFyZ2V0IHsNCj4gPiArICAgICBNQUNST19DVFJM ICA9IDB4MDcsDQo+ID4gK307DQo+ID4gKw0KPiA+ICAjaWYgSVNfRU5BQkxFRChDT05GSUdfTUFD U0VDKQ0KPiA+ICBpbnQgdnNjODU4NF9tYWNzZWNfaW5pdChzdHJ1Y3QgcGh5X2RldmljZSAqcGh5 ZGV2KTsNCj4gPiAgdm9pZCB2c2M4NTg0X2hhbmRsZV9tYWNzZWNfaW50ZXJydXB0KHN0cnVjdCBw aHlfZGV2aWNlICpwaHlkZXYpOw0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL25ldC9waHkvbXNj Yy9tc2NjX21haW4uYw0KPiA+IGIvZHJpdmVycy9uZXQvcGh5L21zY2MvbXNjY19tYWluLmMNCj4g PiBpbmRleCAyZjIxNTdlM2RlYWIuLjA5NjUwYzMzNDBhMSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2 ZXJzL25ldC9waHkvbXNjYy9tc2NjX21haW4uYw0KPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3BoeS9t c2NjL21zY2NfbWFpbi5jDQo+ID4gQEAgLTcxMCw2ICs3MTAsMTEzIEBAIHN0YXRpYyBpbnQgcGh5 X2Jhc2VfcmVhZChzdHJ1Y3QgcGh5X2RldmljZQ0KPiA+ICpwaHlkZXYsIHUzMiByZWdudW0pDQo+ ID4gICAgICAgcmV0dXJuIF9fcGh5X3BhY2thZ2VfcmVhZChwaHlkZXYsIHJlZ251bSk7DQo+ID4g IH0NCj4gPiANCj4gPiArc3RhdGljIHUzMiB2c2M4NXh4X2Nzcl9yZWFkKHN0cnVjdCBwaHlfZGV2 aWNlICpwaHlkZXYsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICBlbnVtIGNzcl90YXJn ZXQgdGFyZ2V0LCB1MzIgcmVnKQ0KPiA+ICt7DQo+ID4gKyAgICAgdW5zaWduZWQgbG9uZyBkZWFk bGluZTsNCj4gPiArICAgICB1MzIgdmFsLCB2YWxfbCwgdmFsX2g7DQo+ID4gKw0KPiA+ICsgICAg IHBoeV9iYXNlX3dyaXRlKHBoeWRldiwgTVNDQ19FWFRfUEFHRV9BQ0NFU1MsDQo+ID4gTVNDQ19Q SFlfUEFHRV9DU1JfQ05UTCk7DQo+ID4gKw0KPiA+ICsgICAgIC8qIENTUiByZWdpc3RlcnMgYXJl IGdyb3VwZWQgdW5kZXIgZGlmZmVyZW50IFRhcmdldCBJRHMuDQo+ID4gKyAgICAgICogNi1iaXQg VGFyZ2V0X0lEIGlzIHNwbGl0IGJldHdlZW4gTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8yMA0KPiA+ IGFuZA0KPiA+ICsgICAgICAqIE1TQ0NfRVhUX1BBR0VfQ1NSX0NOVExfMTkgcmVnaXN0ZXJzLg0K PiA+ICsgICAgICAqIFRhcmdldF9JRFs1OjJdIG1hcHMgdG8gYml0c1szOjBdIG9mDQo+ID4gTVND Q19FWFRfUEFHRV9DU1JfQ05UTF8yMA0KPiA+ICsgICAgICAqIGFuZCBUYXJnZXRfSURbMTowXSBt YXBzIHRvIGJpdHNbMTM6MTJdIG9mDQo+ID4gTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8xOS4NCj4g PiArICAgICAgKi8NCj4gPiArDQo+ID4gKyAgICAgLyogU2V0dXAgdGhlIFRhcmdldCBJRCAqLw0K PiA+ICsgICAgIHBoeV9iYXNlX3dyaXRlKHBoeWRldiwgTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8y MCwNCj4gPiArICAgICAgICAgICAgICAgICAgICBNU0NDX1BIWV9DU1JfQ05UTF8yMF9UQVJHRVQo dGFyZ2V0ID4+IDIpKTsNCj4gPiArDQo+ID4gKyAgICAgaWYgKCh0YXJnZXQgPj4gMiA9PSAweDEp IHx8ICh0YXJnZXQgPj4gMiA9PSAweDMpKQ0KPiA+ICsgICAgICAgICAgICAgLyogbm9uLU1BQ3Nl YyBhY2Nlc3MgKi8NCj4gPiArICAgICAgICAgICAgIHRhcmdldCAmPSAweDM7DQo+ID4gKyAgICAg ZWxzZQ0KPiA+ICsgICAgICAgICAgICAgdGFyZ2V0ID0gMDsNCj4gPiArDQo+ID4gKyAgICAgLyog VHJpZ2dlciBDU1IgQWN0aW9uIC0gUmVhZCBpbnRvIHRoZSBDU1IncyAqLw0KPiA+ICsgICAgIHBo eV9iYXNlX3dyaXRlKHBoeWRldiwgTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8xOSwNCj4gPiArICAg ICAgICAgICAgICAgICAgICBNU0NDX1BIWV9DU1JfQ05UTF8xOV9DTUQgfA0KPiA+IE1TQ0NfUEhZ X0NTUl9DTlRMXzE5X1JFQUQgfA0KPiA+ICsgICAgICAgICAgICAgICAgICAgIE1TQ0NfUEhZX0NT Ul9DTlRMXzE5X1JFR19BRERSKHJlZykgfA0KPiA+ICsgICAgICAgICAgICAgICAgICAgIE1TQ0Nf UEhZX0NTUl9DTlRMXzE5X1RBUkdFVCh0YXJnZXQpKTsNCj4gPiArDQo+ID4gKyAgICAgLyogV2Fp dCBmb3IgcmVnaXN0ZXIgYWNjZXNzKi8NCj4gPiArICAgICBkZWFkbGluZSA9IGppZmZpZXMgKw0K PiA+IG1zZWNzX3RvX2ppZmZpZXMoUFJPQ19DTURfTkNPTVBMRVRFRF9USU1FT1VUX01TKTsNCj4g PiArICAgICBkbyB7DQo+ID4gKyAgICAgICAgICAgICB1c2xlZXBfcmFuZ2UoNTAwLCAxMDAwKTsN Cj4gPiArICAgICAgICAgICAgIHZhbCA9IHBoeV9iYXNlX3JlYWQocGh5ZGV2LA0KPiA+IE1TQ0Nf RVhUX1BBR0VfQ1NSX0NOVExfMTkpOw0KPiA+ICsgICAgIH0gd2hpbGUgKHRpbWVfYmVmb3JlKGpp ZmZpZXMsIGRlYWRsaW5lKSAmJg0KPiA+ICsgICAgICAgICAgICAgISh2YWwgJiBNU0NDX1BIWV9D U1JfQ05UTF8xOV9DTUQpKTsNCj4gPiArDQo+ID4gKyAgICAgaWYgKCEodmFsICYgTVNDQ19QSFlf Q1NSX0NOVExfMTlfQ01EKSkNCj4gPiArICAgICAgICAgICAgIHJldHVybiAweGZmZmZmZmZmOw0K PiA+ICsNCj4gPiArICAgICAvKiBSZWFkIHRoZSBMZWFzdCBTaWduaWZpY2FudCBXb3JkIChMU1cp ICgxNykgKi8NCj4gPiArICAgICB2YWxfbCA9IHBoeV9iYXNlX3JlYWQocGh5ZGV2LCBNU0NDX0VY VF9QQUdFX0NTUl9DTlRMXzE3KTsNCj4gPiArDQo+ID4gKyAgICAgLyogUmVhZCB0aGUgTW9zdCBT aWduaWZpY2FudCBXb3JkIChNU1cpICgxOCkgKi8NCj4gPiArICAgICB2YWxfaCA9IHBoeV9iYXNl X3JlYWQocGh5ZGV2LCBNU0NDX0VYVF9QQUdFX0NTUl9DTlRMXzE4KTsNCj4gPiArDQo+ID4gKyAg ICAgcGh5X2Jhc2Vfd3JpdGUocGh5ZGV2LCBNU0NDX0VYVF9QQUdFX0FDQ0VTUywNCj4gPiArICAg ICAgICAgICAgICAgICAgICBNU0NDX1BIWV9QQUdFX1NUQU5EQVJEKTsNCj4gPiArDQo+ID4gKyAg ICAgcmV0dXJuICh2YWxfaCA8PCAxNikgfCB2YWxfbDsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3Rh dGljIGludCB2c2M4NXh4X2Nzcl93cml0ZShzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGVudW0gY3NyX3RhcmdldCB0YXJnZXQsIHUzMiBy ZWcsIHUzMg0KPiA+IHZhbCkNCj4gPiArew0KPiA+ICsgICAgIHVuc2lnbmVkIGxvbmcgZGVhZGxp bmU7DQo+ID4gKw0KPiA+ICsgICAgIHBoeV9iYXNlX3dyaXRlKHBoeWRldiwgTVNDQ19FWFRfUEFH RV9BQ0NFU1MsDQo+ID4gTVNDQ19QSFlfUEFHRV9DU1JfQ05UTCk7DQo+ID4gKw0KPiA+ICsgICAg IC8qIENTUiByZWdpc3RlcnMgYXJlIGdyb3VwZWQgdW5kZXIgZGlmZmVyZW50IFRhcmdldCBJRHMu DQo+ID4gKyAgICAgICogNi1iaXQgVGFyZ2V0X0lEIGlzIHNwbGl0IGJldHdlZW4gTVNDQ19FWFRf UEFHRV9DU1JfQ05UTF8yMA0KPiA+IGFuZA0KPiA+ICsgICAgICAqIE1TQ0NfRVhUX1BBR0VfQ1NS X0NOVExfMTkgcmVnaXN0ZXJzLg0KPiA+ICsgICAgICAqIFRhcmdldF9JRFs1OjJdIG1hcHMgdG8g Yml0c1szOjBdIG9mDQo+ID4gTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8yMA0KPiA+ICsgICAgICAq IGFuZCBUYXJnZXRfSURbMTowXSBtYXBzIHRvIGJpdHNbMTM6MTJdIG9mDQo+ID4gTVNDQ19FWFRf UEFHRV9DU1JfQ05UTF8xOS4NCj4gPiArICAgICAgKi8NCj4gPiArDQo+ID4gKyAgICAgLyogU2V0 dXAgdGhlIFRhcmdldCBJRCAqLw0KPiA+ICsgICAgIHBoeV9iYXNlX3dyaXRlKHBoeWRldiwgTVND Q19FWFRfUEFHRV9DU1JfQ05UTF8yMCwNCj4gPiArICAgICAgICAgICAgICAgICAgICBNU0NDX1BI WV9DU1JfQ05UTF8yMF9UQVJHRVQodGFyZ2V0ID4+IDIpKTsNCj4gPiArDQo+ID4gKyAgICAgLyog V3JpdGUgdGhlIExlYXN0IFNpZ25pZmljYW50IFdvcmQgKExTVykgKDE3KSAqLw0KPiA+ICsgICAg IHBoeV9iYXNlX3dyaXRlKHBoeWRldiwgTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8xNywgKHUxNil2 YWwpOw0KPiA+ICsNCj4gPiArICAgICAvKiBXcml0ZSB0aGUgTW9zdCBTaWduaWZpY2FudCBXb3Jk IChNU1cpICgxOCkgKi8NCj4gPiArICAgICBwaHlfYmFzZV93cml0ZShwaHlkZXYsIE1TQ0NfRVhU X1BBR0VfQ1NSX0NOVExfMTgsICh1MTYpKHZhbA0KPiA+ID4+IDE2KSk7DQo+ID4gKw0KPiA+ICsg ICAgIGlmICgodGFyZ2V0ID4+IDIgPT0gMHgxKSB8fCAodGFyZ2V0ID4+IDIgPT0gMHgzKSkNCj4g PiArICAgICAgICAgICAgIC8qIG5vbi1NQUNzZWMgYWNjZXNzICovDQo+ID4gKyAgICAgICAgICAg ICB0YXJnZXQgJj0gMHgzOw0KPiA+ICsgICAgIGVsc2UNCj4gPiArICAgICAgICAgICAgIHRhcmdl dCA9IDA7DQo+ID4gKw0KPiA+ICsgICAgIC8qIFRyaWdnZXIgQ1NSIEFjdGlvbiAtIFdyaXRlIGlu dG8gdGhlIENTUidzICovDQo+ID4gKyAgICAgcGh5X2Jhc2Vfd3JpdGUocGh5ZGV2LCBNU0NDX0VY VF9QQUdFX0NTUl9DTlRMXzE5LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgIE1TQ0NfUEhZX0NT Ul9DTlRMXzE5X0NNRCB8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgTVNDQ19QSFlfQ1NSX0NO VExfMTlfUkVHX0FERFIocmVnKSB8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgTVNDQ19QSFlf Q1NSX0NOVExfMTlfVEFSR0VUKHRhcmdldCkpOw0KPiA+ICsNCj4gPiArICAgICAvKiBXYWl0IGZv ciByZWdpc3RlciBhY2Nlc3MgKi8NCj4gPiArICAgICBkZWFkbGluZSA9IGppZmZpZXMgKw0KPiA+ IG1zZWNzX3RvX2ppZmZpZXMoUFJPQ19DTURfTkNPTVBMRVRFRF9USU1FT1VUX01TKTsNCj4gPiAr ICAgICBkbyB7DQo+ID4gKyAgICAgICAgICAgICB1c2xlZXBfcmFuZ2UoNTAwLCAxMDAwKTsNCj4g PiArICAgICAgICAgICAgIHZhbCA9IHBoeV9iYXNlX3JlYWQocGh5ZGV2LA0KPiA+IE1TQ0NfRVhU X1BBR0VfQ1NSX0NOVExfMTkpOw0KPiA+ICsgICAgIH0gd2hpbGUgKHRpbWVfYmVmb3JlKGppZmZp ZXMsIGRlYWRsaW5lKSAmJg0KPiA+ICsgICAgICAgICAgICAgICEodmFsICYgTVNDQ19QSFlfQ1NS X0NOVExfMTlfQ01EKSk7DQo+ID4gKw0KPiA+ICsgICAgIGlmICghKHZhbCAmIE1TQ0NfUEhZX0NT Ul9DTlRMXzE5X0NNRCkpDQo+ID4gKyAgICAgICAgICAgICByZXR1cm4gLUVUSU1FRE9VVDsNCj4g PiArDQo+ID4gKyAgICAgcGh5X2Jhc2Vfd3JpdGUocGh5ZGV2LCBNU0NDX0VYVF9QQUdFX0FDQ0VT UywNCj4gPiArICAgICAgICAgICAgICAgICAgICBNU0NDX1BIWV9QQUdFX1NUQU5EQVJEKTsNCj4g PiArDQo+ID4gKyAgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4gIC8qIGJ1cy0+bWRp b19sb2NrIHNob3VsZCBiZSBsb2NrZWQgd2hlbiB1c2luZyB0aGlzIGZ1bmN0aW9uICovDQo+ID4g IHN0YXRpYyB2b2lkIHZzYzg1ODRfY3NyX3dyaXRlKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYs IHUxNiBhZGRyLA0KPiA+IHUzMiB2YWwpDQo+ID4gIHsNCj4gPiBAQCAtMTEzMSw2ICsxMjM4LDk2 IEBAIHN0YXRpYyBpbnQgdnNjODU3NF9jb25maWdfcHJlX2luaXQoc3RydWN0DQo+ID4gcGh5X2Rl dmljZSAqcGh5ZGV2KQ0KPiA+ICAgICAgIHJldHVybiByZXQ7DQo+ID4gIH0NCj4gPiANCj4gPiAr LyogQWNjZXNzIExDUExMIENmZ18yICovDQo+ID4gK3N0YXRpYyB2b2lkIHZzYzg1ODRfcGxsNWdf Y2ZnMl93cihzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYm9vbCBkaXNhYmxlX2ZzbSwgYm9vbA0KPiA+IGVuYV9jbGtfYnlwYXNz KQ0KPiANCj4gQm90aCBjYWxsZXJzIHVzZSBlbmFfY2xrX2J5cGFzcyA9IDAsIGRvIHlvdSBwbGFu IHRvIGFkZCBmdXJ0aGVyDQo+IHVzZXJzPw0KPiBFbHNlIHRoZSBwYXJhbWV0ZXIgY291bGQgYmUg cmVtb3ZlZC4NCg0KSSdtIG5vdCBhd2FyZSBvZiBvdGhlciB1c2Vycywgc28gSSB3aWxsIHJlbW92 ZSBpdC4NCkNhbiBpbnNlcnQgaXQgYWdhaW4gaWYgbmVlZGVkLg0KDQo+IA0KPiA+ICt7DQo+ID4g KyAgICAgdTMyIHJkX2RhdDsNCj4gPiArDQo+ID4gKyAgICAgcmRfZGF0ID0gdnNjODV4eF9jc3Jf cmVhZChwaHlkZXYsIE1BQ1JPX0NUUkwsDQo+ID4gUEhZX1M2R19QTEw1R19DRkcyKTsNCj4gPiAr ICAgICByZF9kYXQgJj0gfihCSVQoUEhZX1M2R19DRkcyX0ZTTV9DTEtfQlApIHwNCj4gPiBCSVQo UEhZX1M2R19DRkcyX0ZTTV9ESVMpKTsNCj4gPiArICAgICByZF9kYXQgfD0gKGRpc2FibGVfZnNt IDw8IFBIWV9TNkdfQ0ZHMl9GU01fRElTKSB8DQo+ID4gKyAgICAgICAgICAgICAgIChlbmFfY2xr X2J5cGFzcyA8PCBQSFlfUzZHX0NGRzJfRlNNX0NMS19CUCk7DQo+ID4gKyAgICAgdnNjODV4eF9j c3Jfd3JpdGUocGh5ZGV2LCBNQUNST19DVFJMLCBQSFlfUzZHX1BMTDVHX0NGRzIsDQo+ID4gcmRf ZGF0KTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogdHJpZ2dlciBhIHJlYWQgdG8gdGhlIHNwY2lm aWVkIE1DQiAqLw0KPiA+ICtzdGF0aWMgaW50IHZzYzg1ODRfbWNiX3JkX3RyaWcoc3RydWN0IHBo eV9kZXZpY2UgKnBoeWRldiwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBt Y2JfcmVnX2FkZHIsIHU4IG1jYl9zbGF2ZV9udW0pDQo+ID4gK3sNCj4gPiArICAgICB1MzIgcmRf ZGF0ID0gMDsNCj4gPiArDQo+ID4gKyAgICAgLyogcmVhZCBNQ0IgKi8NCj4gPiArICAgICB2c2M4 NXh4X2Nzcl93cml0ZShwaHlkZXYsIE1BQ1JPX0NUUkwsIG1jYl9yZWdfYWRkciwNCj4gPiArICAg ICAgICAgICAgICAgICAgICAgICAoMHg0MDAwMDAwMCB8ICgxTCA8PCBtY2Jfc2xhdmVfbnVtKSkp Ow0KPiA+ICsNCj4gPiArICAgICByZXR1cm4gcmVhZF9wb2xsX3RpbWVvdXQodnNjODV4eF9jc3Jf cmVhZCwgcmRfZGF0LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAhKHJkX2Rh dCAmIDB4NDAwMDAwMDApLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0MDAw LCAyMDAwMDAsIDAsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBoeWRldiwg TUFDUk9fQ1RSTCwgbWNiX3JlZ19hZGRyKTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArLyogdHJpZ2dl ciBhIHdyaXRlIHRvIHRoZSBzcGNpZmllZCBNQ0IgKi8NCj4gPiArc3RhdGljIGludCB2c2M4NTg0 X21jYl93cl90cmlnKHN0cnVjdCBwaHlfZGV2aWNlICpwaHlkZXYsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICB1MzIgbWNiX3JlZ19hZGRyLA0KPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdTggbWNiX3NsYXZlX251bSkNCj4gPiArew0KPiA+ICsgICAgIHUzMiByZF9k YXQgPSAwOw0KPiA+ICsNCj4gPiArICAgICAvKiB3cml0ZSBiYWNrIE1DQiAqLw0KPiA+ICsgICAg IHZzYzg1eHhfY3NyX3dyaXRlKHBoeWRldiwgTUFDUk9fQ1RSTCwgbWNiX3JlZ19hZGRyLA0KPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICgweDgwMDAwMDAwIHwgKDFMIDw8IG1jYl9zbGF2ZV9u dW0pKSk7DQo+ID4gKw0KPiA+ICsgICAgIHJldHVybiByZWFkX3BvbGxfdGltZW91dCh2c2M4NXh4 X2Nzcl9yZWFkLCByZF9kYXQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICEo cmRfZGF0ICYgMHg4MDAwMDAwMCksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDQwMDAsIDIwMDAwMCwgMCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGh5 ZGV2LCBNQUNST19DVFJMLCBtY2JfcmVnX2FkZHIpOw0KPiA+ICt9DQo+ID4gKw0KPiA+ICsvKiBT ZXF1ZW5jZSB0byBSZXNldCBMQ1BMTCBmb3IgdGhlIFZJUEVSIGFuZCBFTElTRSBQSFkgKi8NCj4g PiArc3RhdGljIGludCB2c2M4NTg0X3BsbDVnX3Jlc2V0KHN0cnVjdCBwaHlfZGV2aWNlICpwaHlk ZXYpDQo+ID4gK3sNCj4gPiArICAgICBib29sIGVuYV9jbGtfYnlwYXNzOw0KPiA+ICsgICAgIGJv b2wgZGlzX2ZzbTsNCj4gPiArICAgICBpbnQgcmV0ID0gMDsNCj4gPiArDQo+ID4gKyAgICAgcmV0 ID0gdnNjODU4NF9tY2JfcmRfdHJpZyhwaHlkZXYsIDB4MTEsIDApOw0KPiA+ICsgICAgIGlmIChy ZXQgPCAwKQ0KPiA+ICsgICAgICAgICAgICAgZ290byBkb25lOw0KPiA+ICsgICAgIGRpc19mc20g PSAxOw0KPiA+ICsgICAgIGVuYV9jbGtfYnlwYXNzID0gMDsNCj4gPiArDQo+ID4gKyAgICAgLyog UmVzZXQgTENQTEwgKi8NCj4gPiArICAgICB2c2M4NTg0X3BsbDVnX2NmZzJfd3IocGh5ZGV2LCBk aXNfZnNtLCBlbmFfY2xrX2J5cGFzcyk7DQo+ID4gKw0KPiA+ICsgICAgIC8qIHdyaXRlIGJhY2sg TENQTEwgTUNCICovDQo+ID4gKyAgICAgcmV0ID0gdnNjODU4NF9tY2Jfd3JfdHJpZyhwaHlkZXYs IDB4MTEsIDApOw0KPiA+ICsgICAgIGlmIChyZXQgPCAwKQ0KPiA+ICsgICAgICAgICAgICAgZ290 byBkb25lOw0KPiA+ICsNCj4gPiArICAgICAvKiAxMCBtU2VjIHNsZWVwIHdoaWxlIExDUExMIGlz IGhvbGQgaW4gcmVzZXQgKi8NCj4gPiArICAgICB1c2xlZXBfcmFuZ2UoMTAwMDAsIDIwMDAwKTsN Cj4gPiArDQo+ID4gKyAgICAgLyogcmVhZCBMQ1BMTCBNQ0IgaW50byBDU1JzICovDQo+ID4gKyAg ICAgcmV0ID0gdnNjODU4NF9tY2JfcmRfdHJpZyhwaHlkZXYsIDB4MTEsIDApOw0KPiA+ICsgICAg IGlmIChyZXQgPCAwKQ0KPiA+ICsgICAgICAgICAgICAgZ290byBkb25lOw0KPiA+ICsgICAgIGRp c19mc20gPSAwOw0KPiA+ICsgICAgIGVuYV9jbGtfYnlwYXNzID0gMDsNCj4gPiArDQo+ID4gKyAg ICAgLyogUmVsZWFzZSB0aGUgUmVzZXQgb2YgTENQTEwgKi8NCj4gPiArICAgICB2c2M4NTg0X3Bs bDVnX2NmZzJfd3IocGh5ZGV2LCBkaXNfZnNtLCBlbmFfY2xrX2J5cGFzcyk7DQo+ID4gKw0KPiA+ ICsgICAgIC8qIHdyaXRlIGJhY2sgTENQTEwgTUNCICovDQo+ID4gKyAgICAgcmV0ID0gdnNjODU4 NF9tY2Jfd3JfdHJpZyhwaHlkZXYsIDB4MTEsIDApOw0KPiA+ICsgICAgIGlmIChyZXQgPCAwKQ0K PiA+ICsgICAgICAgICAgICAgZ290byBkb25lOw0KPiA+ICsNCj4gPiArICAgICB1c2xlZXBfcmFu Z2UoMTEwMDAwLCAyMDAwMDApOw0KPiA+ICtkb25lOg0KPiA+ICsgICAgIHJldHVybiByZXQ7DQo+ ID4gK30NCj4gPiArDQo+ID4gIC8qIGJ1cy0+bWRpb19sb2NrIHNob3VsZCBiZSBsb2NrZWQgd2hl biB1c2luZyB0aGlzIGZ1bmN0aW9uICovDQo+ID4gIHN0YXRpYyBpbnQgdnNjODU4NF9jb25maWdf cHJlX2luaXQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldikNCj4gPiAgew0KPiA+IEBAIC0xNTY5 LDggKzE3NjYsMTYgQEAgc3RhdGljIGludCB2c2M4NTE0X2NvbmZpZ19wcmVfaW5pdChzdHJ1Y3QN Cj4gPiBwaHlfZGV2aWNlICpwaHlkZXYpDQo+ID4gICAgICAgICAgICAgICB7MHgxNmIyLCAweDAw MDA3MDAwfSwNCj4gPiAgICAgICAgICAgICAgIHsweDE2YjQsIDB4MDAwMDA4MTR9LA0KPiA+ICAg ICAgIH07DQo+ID4gKyAgICAgc3RydWN0IGRldmljZSAqZGV2ID0gJnBoeWRldi0+bWRpby5kZXY7 DQo+ID4gICAgICAgdW5zaWduZWQgaW50IGk7DQo+ID4gICAgICAgdTE2IHJlZzsNCj4gPiArICAg ICBpbnQgcmV0Ow0KPiA+ICsNCj4gPiArICAgICByZXQgPSB2c2M4NTg0X3BsbDVnX3Jlc2V0KHBo eWRldik7DQo+ID4gKyAgICAgaWYgKHJldCA8IDApIHsNCj4gPiArICAgICAgICAgICAgIGRldl9l cnIoZGV2LCAiZmFpbGVkIExDUExMIHJlc2V0LCByZXQ6ICVkXG4iLCByZXQpOw0KPiA+ICsgICAg ICAgICAgICAgcmV0dXJuIHJldDsNCj4gPiArICAgICB9DQo+ID4gDQo+ID4gICAgICAgcGh5X2Jh c2Vfd3JpdGUocGh5ZGV2LCBNU0NDX0VYVF9QQUdFX0FDQ0VTUywNCj4gPiBNU0NDX1BIWV9QQUdF X1NUQU5EQVJEKTsNCj4gPiANCj4gPiBAQCAtMTYwNSwxMDEgKzE4MTAsNiBAQCBzdGF0aWMgaW50 IHZzYzg1MTRfY29uZmlnX3ByZV9pbml0KHN0cnVjdA0KPiA+IHBoeV9kZXZpY2UgKnBoeWRldikN Cj4gPiAgICAgICByZXR1cm4gMDsNCj4gPiAgfQ0KPiA+IA0KPiA+IC1zdGF0aWMgdTMyIHZzYzg1 eHhfY3NyX2N0cmxfcGh5X3JlYWQoc3RydWN0IHBoeV9kZXZpY2UgKnBoeWRldiwNCj4gPiAtICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiB0YXJnZXQsIHUzMiByZWcpDQo+ID4g LXsNCj4gPiAtICAgICB1bnNpZ25lZCBsb25nIGRlYWRsaW5lOw0KPiA+IC0gICAgIHUzMiB2YWws IHZhbF9sLCB2YWxfaDsNCj4gPiAtDQo+ID4gLSAgICAgcGh5X2Jhc2Vfd3JpdGUocGh5ZGV2LCBN U0NDX0VYVF9QQUdFX0FDQ0VTUywNCj4gPiBNU0NDX1BIWV9QQUdFX0NTUl9DTlRMKTsNCj4gPiAt DQo+ID4gLSAgICAgLyogQ1NSIHJlZ2lzdGVycyBhcmUgZ3JvdXBlZCB1bmRlciBkaWZmZXJlbnQg VGFyZ2V0IElEcy4NCj4gPiAtICAgICAgKiA2LWJpdCBUYXJnZXRfSUQgaXMgc3BsaXQgYmV0d2Vl biBNU0NDX0VYVF9QQUdFX0NTUl9DTlRMXzIwDQo+ID4gYW5kDQo+ID4gLSAgICAgICogTVNDQ19F WFRfUEFHRV9DU1JfQ05UTF8xOSByZWdpc3RlcnMuDQo+ID4gLSAgICAgICogVGFyZ2V0X0lEWzU6 Ml0gbWFwcyB0byBiaXRzWzM6MF0gb2YNCj4gPiBNU0NDX0VYVF9QQUdFX0NTUl9DTlRMXzIwDQo+ ID4gLSAgICAgICogYW5kIFRhcmdldF9JRFsxOjBdIG1hcHMgdG8gYml0c1sxMzoxMl0gb2YNCj4g PiBNU0NDX0VYVF9QQUdFX0NTUl9DTlRMXzE5Lg0KPiA+IC0gICAgICAqLw0KPiA+IC0NCj4gPiAt ICAgICAvKiBTZXR1cCB0aGUgVGFyZ2V0IElEICovDQo+ID4gLSAgICAgcGh5X2Jhc2Vfd3JpdGUo cGh5ZGV2LCBNU0NDX0VYVF9QQUdFX0NTUl9DTlRMXzIwLA0KPiA+IC0gICAgICAgICAgICAgICAg ICAgIE1TQ0NfUEhZX0NTUl9DTlRMXzIwX1RBUkdFVCh0YXJnZXQgPj4gMikpOw0KPiA+IC0NCj4g PiAtICAgICAvKiBUcmlnZ2VyIENTUiBBY3Rpb24gLSBSZWFkIGludG8gdGhlIENTUidzICovDQo+ ID4gLSAgICAgcGh5X2Jhc2Vfd3JpdGUocGh5ZGV2LCBNU0NDX0VYVF9QQUdFX0NTUl9DTlRMXzE5 LA0KPiA+IC0gICAgICAgICAgICAgICAgICAgIE1TQ0NfUEhZX0NTUl9DTlRMXzE5X0NNRCB8DQo+ ID4gTVNDQ19QSFlfQ1NSX0NOVExfMTlfUkVBRCB8DQo+ID4gLSAgICAgICAgICAgICAgICAgICAg TVNDQ19QSFlfQ1NSX0NOVExfMTlfUkVHX0FERFIocmVnKSB8DQo+ID4gLSAgICAgICAgICAgICAg ICAgICAgTVNDQ19QSFlfQ1NSX0NOVExfMTlfVEFSR0VUKHRhcmdldCAmIDB4MykpOw0KPiA+IC0N Cj4gPiAtICAgICAvKiBXYWl0IGZvciByZWdpc3RlciBhY2Nlc3MqLw0KPiA+IC0gICAgIGRlYWRs aW5lID0gamlmZmllcyArDQo+ID4gbXNlY3NfdG9famlmZmllcyhQUk9DX0NNRF9OQ09NUExFVEVE X1RJTUVPVVRfTVMpOw0KPiA+IC0gICAgIGRvIHsNCj4gPiAtICAgICAgICAgICAgIHVzbGVlcF9y YW5nZSg1MDAsIDEwMDApOw0KPiA+IC0gICAgICAgICAgICAgdmFsID0gcGh5X2Jhc2VfcmVhZChw aHlkZXYsDQo+ID4gTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8xOSk7DQo+ID4gLSAgICAgfSB3aGls ZSAodGltZV9iZWZvcmUoamlmZmllcywgZGVhZGxpbmUpICYmDQo+ID4gLSAgICAgICAgICAgICAh KHZhbCAmIE1TQ0NfUEhZX0NTUl9DTlRMXzE5X0NNRCkpOw0KPiA+IC0NCj4gPiAtICAgICBpZiAo ISh2YWwgJiBNU0NDX1BIWV9DU1JfQ05UTF8xOV9DTUQpKQ0KPiA+IC0gICAgICAgICAgICAgcmV0 dXJuIDB4ZmZmZmZmZmY7DQo+ID4gLQ0KPiA+IC0gICAgIC8qIFJlYWQgdGhlIExlYXN0IFNpZ25p ZmljYW50IFdvcmQgKExTVykgKDE3KSAqLw0KPiA+IC0gICAgIHZhbF9sID0gcGh5X2Jhc2VfcmVh ZChwaHlkZXYsIE1TQ0NfRVhUX1BBR0VfQ1NSX0NOVExfMTcpOw0KPiA+IC0NCj4gPiAtICAgICAv KiBSZWFkIHRoZSBNb3N0IFNpZ25pZmljYW50IFdvcmQgKE1TVykgKDE4KSAqLw0KPiA+IC0gICAg IHZhbF9oID0gcGh5X2Jhc2VfcmVhZChwaHlkZXYsIE1TQ0NfRVhUX1BBR0VfQ1NSX0NOVExfMTgp Ow0KPiA+IC0NCj4gPiAtICAgICBwaHlfYmFzZV93cml0ZShwaHlkZXYsIE1TQ0NfRVhUX1BBR0Vf QUNDRVNTLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgIE1TQ0NfUEhZX1BBR0VfU1RBTkRBUkQp Ow0KPiA+IC0NCj4gPiAtICAgICByZXR1cm4gKHZhbF9oIDw8IDE2KSB8IHZhbF9sOw0KPiA+IC19 DQo+ID4gLQ0KPiA+IC1zdGF0aWMgaW50IHZzYzg1eHhfY3NyX2N0cmxfcGh5X3dyaXRlKHN0cnVj dCBwaHlfZGV2aWNlICpwaHlkZXYsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgdTMyIHRhcmdldCwgdTMyIHJlZywgdTMyIHZhbCkNCj4gPiAtew0KPiA+IC0gICAgIHVu c2lnbmVkIGxvbmcgZGVhZGxpbmU7DQo+ID4gLQ0KPiA+IC0gICAgIHBoeV9iYXNlX3dyaXRlKHBo eWRldiwgTVNDQ19FWFRfUEFHRV9BQ0NFU1MsDQo+ID4gTVNDQ19QSFlfUEFHRV9DU1JfQ05UTCk7 DQo+ID4gLQ0KPiA+IC0gICAgIC8qIENTUiByZWdpc3RlcnMgYXJlIGdyb3VwZWQgdW5kZXIgZGlm ZmVyZW50IFRhcmdldCBJRHMuDQo+ID4gLSAgICAgICogNi1iaXQgVGFyZ2V0X0lEIGlzIHNwbGl0 IGJldHdlZW4gTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8yMA0KPiA+IGFuZA0KPiA+IC0gICAgICAq IE1TQ0NfRVhUX1BBR0VfQ1NSX0NOVExfMTkgcmVnaXN0ZXJzLg0KPiA+IC0gICAgICAqIFRhcmdl dF9JRFs1OjJdIG1hcHMgdG8gYml0c1szOjBdIG9mDQo+ID4gTVNDQ19FWFRfUEFHRV9DU1JfQ05U TF8yMA0KPiA+IC0gICAgICAqIGFuZCBUYXJnZXRfSURbMTowXSBtYXBzIHRvIGJpdHNbMTM6MTJd IG9mDQo+ID4gTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8xOS4NCj4gPiAtICAgICAgKi8NCj4gPiAt DQo+ID4gLSAgICAgLyogU2V0dXAgdGhlIFRhcmdldCBJRCAqLw0KPiA+IC0gICAgIHBoeV9iYXNl X3dyaXRlKHBoeWRldiwgTVNDQ19FWFRfUEFHRV9DU1JfQ05UTF8yMCwNCj4gPiAtICAgICAgICAg ICAgICAgICAgICBNU0NDX1BIWV9DU1JfQ05UTF8yMF9UQVJHRVQodGFyZ2V0ID4+IDIpKTsNCj4g PiAtDQo+ID4gLSAgICAgLyogV3JpdGUgdGhlIExlYXN0IFNpZ25pZmljYW50IFdvcmQgKExTVykg KDE3KSAqLw0KPiA+IC0gICAgIHBoeV9iYXNlX3dyaXRlKHBoeWRldiwgTVNDQ19FWFRfUEFHRV9D U1JfQ05UTF8xNywgKHUxNil2YWwpOw0KPiA+IC0NCj4gPiAtICAgICAvKiBXcml0ZSB0aGUgTW9z dCBTaWduaWZpY2FudCBXb3JkIChNU1cpICgxOCkgKi8NCj4gPiAtICAgICBwaHlfYmFzZV93cml0 ZShwaHlkZXYsIE1TQ0NfRVhUX1BBR0VfQ1NSX0NOVExfMTgsICh1MTYpKHZhbA0KPiA+ID4+IDE2 KSk7DQo+ID4gLQ0KPiA+IC0gICAgIC8qIFRyaWdnZXIgQ1NSIEFjdGlvbiAtIFdyaXRlIGludG8g dGhlIENTUidzICovDQo+ID4gLSAgICAgcGh5X2Jhc2Vfd3JpdGUocGh5ZGV2LCBNU0NDX0VYVF9Q QUdFX0NTUl9DTlRMXzE5LA0KPiA+IC0gICAgICAgICAgICAgICAgICAgIE1TQ0NfUEhZX0NTUl9D TlRMXzE5X0NNRCB8DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgTVNDQ19QSFlfQ1NSX0NOVExf MTlfUkVHX0FERFIocmVnKSB8DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgTVNDQ19QSFlfQ1NS X0NOVExfMTlfVEFSR0VUKHRhcmdldCAmIDB4MykpOw0KPiA+IC0NCj4gPiAtICAgICAvKiBXYWl0 IGZvciByZWdpc3RlciBhY2Nlc3MgKi8NCj4gPiAtICAgICBkZWFkbGluZSA9IGppZmZpZXMgKw0K PiA+IG1zZWNzX3RvX2ppZmZpZXMoUFJPQ19DTURfTkNPTVBMRVRFRF9USU1FT1VUX01TKTsNCj4g PiAtICAgICBkbyB7DQo+ID4gLSAgICAgICAgICAgICB1c2xlZXBfcmFuZ2UoNTAwLCAxMDAwKTsN Cj4gPiAtICAgICAgICAgICAgIHZhbCA9IHBoeV9iYXNlX3JlYWQocGh5ZGV2LA0KPiA+IE1TQ0Nf RVhUX1BBR0VfQ1NSX0NOVExfMTkpOw0KPiA+IC0gICAgIH0gd2hpbGUgKHRpbWVfYmVmb3JlKGpp ZmZpZXMsIGRlYWRsaW5lKSAmJg0KPiA+IC0gICAgICAgICAgICAgICEodmFsICYgTVNDQ19QSFlf Q1NSX0NOVExfMTlfQ01EKSk7DQo+ID4gLQ0KPiA+IC0gICAgIGlmICghKHZhbCAmIE1TQ0NfUEhZ X0NTUl9DTlRMXzE5X0NNRCkpDQo+ID4gLSAgICAgICAgICAgICByZXR1cm4gLUVUSU1FRE9VVDsN Cj4gPiAtDQo+ID4gLSAgICAgcGh5X2Jhc2Vfd3JpdGUocGh5ZGV2LCBNU0NDX0VYVF9QQUdFX0FD Q0VTUywNCj4gPiAtICAgICAgICAgICAgICAgICAgICBNU0NDX1BIWV9QQUdFX1NUQU5EQVJEKTsN Cj4gPiAtDQo+ID4gLSAgICAgcmV0dXJuIDA7DQo+ID4gLX0NCj4gPiAtDQo+ID4gIHN0YXRpYyBp bnQgX19waHlfd3JpdGVfbWNiX3M2ZyhzdHJ1Y3QgcGh5X2RldmljZSAqcGh5ZGV2LCB1MzIgcmVn LA0KPiA+IHU4IG1jYiwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHUzMiBvcCkN Cj4gPiAgew0KPiA+IEBAIC0xNzA3LDE1ICsxODE3LDE1IEBAIHN0YXRpYyBpbnQgX19waHlfd3Jp dGVfbWNiX3M2ZyhzdHJ1Y3QNCj4gPiBwaHlfZGV2aWNlICpwaHlkZXYsIHUzMiByZWcsIHU4IG1j YiwNCj4gPiAgICAgICB1MzIgdmFsOw0KPiA+ICAgICAgIGludCByZXQ7DQo+ID4gDQo+ID4gLSAg ICAgcmV0ID0gdnNjODV4eF9jc3JfY3RybF9waHlfd3JpdGUocGh5ZGV2LCBQSFlfTUNCX1RBUkdF VCwgcmVnLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9wIHwg KDEgPDwgbWNiKSk7DQo+ID4gKyAgICAgcmV0ID0gdnNjODV4eF9jc3Jfd3JpdGUocGh5ZGV2LCBQ SFlfTUNCX1RBUkdFVCwgcmVnLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w IHwgKDEgPDwgbWNiKSk7DQo+ID4gICAgICAgaWYgKHJldCkNCj4gPiAgICAgICAgICAgICAgIHJl dHVybiAtRUlOVkFMOw0KPiA+IA0KPiA+ICAgICAgIGRlYWRsaW5lID0gamlmZmllcyArDQo+ID4g bXNlY3NfdG9famlmZmllcyhQUk9DX0NNRF9OQ09NUExFVEVEX1RJTUVPVVRfTVMpOw0KPiA+ICAg ICAgIGRvIHsNCj4gPiAgICAgICAgICAgICAgIHVzbGVlcF9yYW5nZSg1MDAsIDEwMDApOw0KPiA+ IC0gICAgICAgICAgICAgdmFsID0gdnNjODV4eF9jc3JfY3RybF9waHlfcmVhZChwaHlkZXYsDQo+ ID4gUEhZX01DQl9UQVJHRVQsIHJlZyk7DQo+ID4gKyAgICAgICAgICAgICB2YWwgPSB2c2M4NXh4 X2Nzcl9yZWFkKHBoeWRldiwgUEhZX01DQl9UQVJHRVQsIHJlZyk7DQo+ID4gDQo+ID4gICAgICAg ICAgICAgICBpZiAodmFsID09IDB4ZmZmZmZmZmYpDQo+ID4gICAgICAgICAgICAgICAgICAgICAg IHJldHVybiAtRUlPOw0KPiA+IEBAIC0xNzk2LDQxICsxOTA2LDQxIEBAIHN0YXRpYyBpbnQgdnNj ODUxNF9jb25maWdfaW5pdChzdHJ1Y3QNCj4gPiBwaHlfZGV2aWNlICpwaHlkZXYpDQo+ID4gICAg ICAgLyogbGNwbGwgbWNiICovDQo+ID4gICAgICAgcGh5X3VwZGF0ZV9tY2JfczZnKHBoeWRldiwg UEhZX1M2R19MQ1BMTF9DRkcsIDApOw0KPiA+ICAgICAgIC8qIHBsbDVnY2ZnMCAqLw0KPiA+IC0g ICAgIHJldCA9IHZzYzg1eHhfY3NyX2N0cmxfcGh5X3dyaXRlKHBoeWRldiwgUEhZX01DQl9UQVJH RVQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhZX1M2R19Q TEw1R19DRkcwLA0KPiA+IDB4NzAzNmYxNDUpOw0KPiA+ICsgICAgIHJldCA9IHZzYzg1eHhfY3Ny X3dyaXRlKHBoeWRldiwgUEhZX01DQl9UQVJHRVQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUEhZX1M2R19QTEw1R19DRkcwLCAweDcwMzZmMTQ1KTsNCj4gPiAgICAgICBpZiAo cmV0KQ0KPiA+ICAgICAgICAgICAgICAgZ290byBlcnI7DQo+ID4gDQo+ID4gICAgICAgcGh5X2Nv bW1pdF9tY2JfczZnKHBoeWRldiwgUEhZX1M2R19MQ1BMTF9DRkcsIDApOw0KPiA+ICAgICAgIC8q IHBsbGNmZyAqLw0KPiA+IC0gICAgIHJldCA9IHZzYzg1eHhfY3NyX2N0cmxfcGh5X3dyaXRlKHBo eWRldiwgUEhZX01DQl9UQVJHRVQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUEhZX1M2R19QTExfQ0ZHLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgzIDw8DQo+ID4gUEhZX1M2R19QTExfRU5BX09GRlNfUE9TKSB8DQo+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDEyMCA8PA0KPiA+IFBIWV9T NkdfUExMX0ZTTV9DVFJMX0RBVEFfUE9TKQ0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHwgKDAgPDwNCj4gPiBQSFlfUzZHX1BMTF9GU01fRU5BX1BPUykpOw0KPiA+ ICsgICAgIHJldCA9IHZzYzg1eHhfY3NyX3dyaXRlKHBoeWRldiwgUEhZX01DQl9UQVJHRVQsDQo+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhZX1M2R19QTExfQ0ZHLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICgzIDw8IFBIWV9TNkdfUExMX0VOQV9PRkZTX1BP UykgfA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgxMjAgPDwNCj4gPiBQSFlf UzZHX1BMTF9GU01fQ1RSTF9EQVRBX1BPUykNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB8ICgwIDw8IFBIWV9TNkdfUExMX0ZTTV9FTkFfUE9TKSk7DQo+ID4gICAgICAgaWYgKHJl dCkNCj4gPiAgICAgICAgICAgICAgIGdvdG8gZXJyOw0KPiA+IA0KPiA+ICAgICAgIC8qIGNvbW1v bmNmZyAqLw0KPiA+IC0gICAgIHJldCA9IHZzYzg1eHhfY3NyX2N0cmxfcGh5X3dyaXRlKHBoeWRl diwgUEhZX01DQl9UQVJHRVQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUEhZX1M2R19DT01NT05fQ0ZHLA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICgwIDw8IFBIWV9TNkdfU1lTX1JTVF9QT1MpIHwNCj4gPiAtICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCA8PCBQSFlfUzZHX0VOQV9MQU5FX1BPUykN Cj4gPiB8DQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDAgPDwg UEhZX1M2R19FTkFfTE9PUF9QT1MpDQo+ID4gfA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICgwIDw8IFBIWV9TNkdfUVJBVEVfUE9TKSB8DQo+ID4gLSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKDMgPDwgUEhZX1M2R19JRl9NT0RFX1BPUykp Ow0KPiA+ICsgICAgIHJldCA9IHZzYzg1eHhfY3NyX3dyaXRlKHBoeWRldiwgUEhZX01DQl9UQVJH RVQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhZX1M2R19DT01NT05fQ0ZH LA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwIDw8IFBIWV9TNkdfU1lTX1JT VF9QT1MpIHwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoMCA8PCBQSFlfUzZH X0VOQV9MQU5FX1BPUykgfA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICgwIDw8 IFBIWV9TNkdfRU5BX0xPT1BfUE9TKSB8DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKDAgPDwgUEhZX1M2R19RUkFURV9QT1MpIHwNCj4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoMyA8PCBQSFlfUzZHX0lGX01PREVfUE9TKSk7DQo+ID4gICAgICAgaWYgKHJldCkN Cj4gPiAgICAgICAgICAgICAgIGdvdG8gZXJyOw0KPiA+IA0KPiA+ICAgICAgIC8qIG1pc2NjZmcg Ki8NCj4gPiAtICAgICByZXQgPSB2c2M4NXh4X2Nzcl9jdHJsX3BoeV93cml0ZShwaHlkZXYsIFBI WV9NQ0JfVEFSR0VULA0KPiA+IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBIWV9TNkdfTUlTQ19DRkcsIDEpOw0KPiA+ICsgICAgIHJldCA9IHZzYzg1eHhfY3NyX3dyaXRl KHBoeWRldiwgUEhZX01DQl9UQVJHRVQsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUEhZX1M2R19NSVNDX0NGRywgMSk7DQo+ID4gICAgICAgaWYgKHJldCkNCj4gPiAgICAgICAg ICAgICAgIGdvdG8gZXJyOw0KPiA+IA0KPiA+ICAgICAgIC8qIGdwY2ZnICovDQo+ID4gLSAgICAg cmV0ID0gdnNjODV4eF9jc3JfY3RybF9waHlfd3JpdGUocGh5ZGV2LCBQSFlfTUNCX1RBUkdFVCwN Cj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFlfUzZHX0dQQ19D RkcsIDc2OCk7DQo+ID4gKyAgICAgcmV0ID0gdnNjODV4eF9jc3Jfd3JpdGUocGh5ZGV2LCBQSFlf TUNCX1RBUkdFVCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFlfUzZHX0dQ Q19DRkcsIDc2OCk7DQo+ID4gICAgICAgaWYgKHJldCkNCj4gPiAgICAgICAgICAgICAgIGdvdG8g ZXJyOw0KPiA+IA0KPiA+IEBAIC0xODQxLDggKzE5NTEsOCBAQCBzdGF0aWMgaW50IHZzYzg1MTRf Y29uZmlnX2luaXQoc3RydWN0DQo+ID4gcGh5X2RldmljZSAqcGh5ZGV2KQ0KPiA+ICAgICAgICAg ICAgICAgdXNsZWVwX3JhbmdlKDUwMCwgMTAwMCk7DQo+ID4gICAgICAgICAgICAgICBwaHlfdXBk YXRlX21jYl9zNmcocGh5ZGV2LCBQSFlfTUNCX1M2R19DRkcsDQo+ID4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMCk7IC8qIHJlYWQgNkcgTUNCIGludG8gQ1NScyAqLw0KPiA+IC0g ICAgICAgICAgICAgcmVnID0gdnNjODV4eF9jc3JfY3RybF9waHlfcmVhZChwaHlkZXYsDQo+ID4g UEhZX01DQl9UQVJHRVQsDQo+ID4gLSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBIWV9TNkdfUExMX1NUQVRVUyk7DQo+ID4gKyAgICAgICAgICAgICByZWcgPSB2 c2M4NXh4X2Nzcl9yZWFkKHBoeWRldiwgUEhZX01DQl9UQVJHRVQsDQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBIWV9TNkdfUExMX1NUQVRVUyk7DQo+ID4gICAgICAg ICAgICAgICBpZiAocmVnID09IDB4ZmZmZmZmZmYpIHsNCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgcGh5X3VubG9ja19tZGlvX2J1cyhwaHlkZXYpOw0KPiA+ICAgICAgICAgICAgICAgICAgICAg ICByZXR1cm4gLUVJTzsNCj4gPiBAQCAtMTg1Niw4ICsxOTY2LDggQEAgc3RhdGljIGludCB2c2M4 NTE0X2NvbmZpZ19pbml0KHN0cnVjdA0KPiA+IHBoeV9kZXZpY2UgKnBoeWRldikNCj4gPiAgICAg ICB9DQo+ID4gDQo+ID4gICAgICAgLyogbWlzY2NmZyAqLw0KPiA+IC0gICAgIHJldCA9IHZzYzg1 eHhfY3NyX2N0cmxfcGh5X3dyaXRlKHBoeWRldiwgUEhZX01DQl9UQVJHRVQsDQo+ID4gLSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhZX1M2R19NSVNDX0NGRywgMCk7DQo+ ID4gKyAgICAgcmV0ID0gdnNjODV4eF9jc3Jfd3JpdGUocGh5ZGV2LCBQSFlfTUNCX1RBUkdFVCwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSFlfUzZHX01JU0NfQ0ZHLCAwKTsN Cj4gPiAgICAgICBpZiAocmV0KQ0KPiA+ICAgICAgICAgICAgICAgZ290byBlcnI7DQo+ID4gDQo+ ID4gQEAgLTE4NjgsOCArMTk3OCw4IEBAIHN0YXRpYyBpbnQgdnNjODUxNF9jb25maWdfaW5pdChz dHJ1Y3QNCj4gPiBwaHlfZGV2aWNlICpwaHlkZXYpDQo+ID4gICAgICAgICAgICAgICB1c2xlZXBf cmFuZ2UoNTAwLCAxMDAwKTsNCj4gPiAgICAgICAgICAgICAgIHBoeV91cGRhdGVfbWNiX3M2Zyhw aHlkZXYsIFBIWV9NQ0JfUzZHX0NGRywNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAwKTsgLyogcmVhZCA2RyBNQ0IgaW50byBDU1JzICovDQo+ID4gLSAgICAgICAgICAgICBy ZWcgPSB2c2M4NXh4X2Nzcl9jdHJsX3BoeV9yZWFkKHBoeWRldiwNCj4gPiBQSFlfTUNCX1RBUkdF VCwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUEhZ X1M2R19JQl9TVEFUVVMwKTsNCj4gPiArICAgICAgICAgICAgIHJlZyA9IHZzYzg1eHhfY3NyX3Jl YWQocGh5ZGV2LCBQSFlfTUNCX1RBUkdFVCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUEhZX1M2R19JQl9TVEFUVVMwKTsNCj4gPiAgICAgICAgICAgICAgIGlmIChy ZWcgPT0gMHhmZmZmZmZmZikgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBwaHlfdW5sb2Nr X21kaW9fYnVzKHBoeWRldik7DQo+ID4gICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAtRUlP Ow0KPiA+IA0KPiANCj4gDQo=