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 vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id A2941C77B73 for ; Tue, 2 May 2023 01:48:53 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233170AbjEBBsp (ORCPT ); Mon, 1 May 2023 21:48:45 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37134 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229653AbjEBBsh (ORCPT ); Mon, 1 May 2023 21:48:37 -0400 Received: from mailgw01.mediatek.com (unknown [60.244.123.138]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 2B1142D63 for ; Mon, 1 May 2023 18:48:26 -0700 (PDT) X-UUID: 6c0de038e88b11ed9cb5633481061a41-20230502 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=MIME-Version:Content-Transfer-Encoding:Content-ID:Content-Type:In-Reply-To:References:Message-ID:Date:Subject:CC:To:From; bh=L/6Mo3J2msFFJOF0FNGCb4x+B9FaBKqrPDrc1rkG0mo=; b=GcuBSvS1qOIaJVbHllyQUSAkG/yKs2/0yLRA95pSw4G1Zp6hg8KnVUjmNl+Srm2j4XXv07QsMXPBqobZG/Ad6qLMpHwEKAqUbbKhCvwBVsn32WEx/+JPyjIRkwXALWCOla5SPT3dykd6KEBArkIR42S/iCqS3qCEnkjNWokXPXg=; X-CID-P-RULE: Release_Ham X-CID-O-INFO: VERSION:1.1.22,REQID:e443e24a-1818-466b-9586-36eac121fa9a,IP:0,U RL:0,TC:0,Content:0,EDM:0,RT:0,SF:0,FILE:0,BULK:0,RULE:Release_Ham,ACTION: release,TS:0 X-CID-META: VersionHash:120426c,CLOUDID:72c3756a-2f20-4998-991c-3b78627e4938,B ulkID:nil,BulkQuantity:0,Recheck:0,SF:102,TC:nil,Content:0,EDM:-3,IP:nil,U RL:11|1,File:nil,Bulk:nil,QS:nil,BEC:nil,COL:0,OSI:0,OSA:0,AV:0 X-CID-BVR: 0 X-CID-BAS: 0,_,0,_ X-UUID: 6c0de038e88b11ed9cb5633481061a41-20230502 Received: from mtkmbs10n2.mediatek.inc [(172.21.101.183)] by mailgw01.mediatek.com (envelope-from ) (Generic MTA with TLSv1.2 ECDHE-RSA-AES256-GCM-SHA384 256/256) with ESMTP id 774850007; Tue, 02 May 2023 09:48:22 +0800 Received: from mtkmbs10n1.mediatek.inc (172.21.101.34) by mtkmbs13n1.mediatek.inc (172.21.101.193) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.1118.25; Tue, 2 May 2023 09:48:21 +0800 Received: from APC01-SG2-obe.outbound.protection.outlook.com (172.21.101.237) by mtkmbs10n1.mediatek.inc (172.21.101.34) with Microsoft SMTP Server id 15.2.1118.25 via Frontend Transport; Tue, 2 May 2023 09:48:21 +0800 ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Z+E+IhzziyvtfDn+BL9Q3QvTUKKlK6dUWfh1ojn/dO3iffUm1ofl7JHYq8xFVlJnIfsJWho8nuvZ9eW6zSAIi9fAOWCVvLhJ+OoYYjiGBfW38J2rEStRd8PLgO5DbrE/GKmHWHcphwEeInEq6Uz3yCGPKJeC9bJIEJU6p7X6CwhpS6UhG6VNbjfiQG24K3PcJY9omHdQz5mmoDHjFraht9FkvieAjUkyWj6QhZgrA43XPfuzXVdJzDQjg6ZuCRgvdhIMBrPCZTUz27XGIJxvQyA/9MKyh90QHK5y2T5iqzr6TG75lH/d4bQLP1GubBO/pY7vnRBSdmJzcsGx/jpC+Q== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=L/6Mo3J2msFFJOF0FNGCb4x+B9FaBKqrPDrc1rkG0mo=; b=hiHKx8QuVagjeqAykvryzexJZiQzNnKSbOAmVxSzjYhAC7SGVfNYEQ/kee33ZeVIBGEYIapVHk/FXg47sABdWlc2kg+s6fZFRsSaObqyKXfYDM+iON6ka+t5fFNohDWpcLbbHcD1CTo94ibFIhdOUbuZqdjFl8SEzGUwTE12BKbqzhnV6C6Rl1sOOUvKXFgqB2wfx4cqaGbXQuGLO7NBVY8rDG7ld368hY0ymQcvTw6GI6tDw1ZVqIZ4CQ26G1NxtRK/iCkME0HFxinVcq3ZLfpon6HxLFl/Zi3EO7NzPC0vNcIKMkx7znnXt0dpb8VXzU2SgrwpKdu7ANbdEcgsTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass smtp.mailfrom=mediatek.com; dmarc=pass action=none header.from=mediatek.com; dkim=pass header.d=mediatek.com; arc=none DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mediateko365.onmicrosoft.com; s=selector2-mediateko365-onmicrosoft-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=L/6Mo3J2msFFJOF0FNGCb4x+B9FaBKqrPDrc1rkG0mo=; b=rHJ/NAA9yXWTns3nBxM+s+u150YMFVOaLEk6VXVG1uB5/GtjhV5Ac1ItMoljOEXv6xDgA4QKU0vISdsKNZ4bs2ptsh+iI3wCMefK+7q57p1cfxD+1pMW8to6GEWvdcVVASn0gMlDwbVkbo4c5y5FIycOLhEuDe2T7wKmcjPKyPA= Received: from PU1PR03MB3062.apcprd03.prod.outlook.com (2603:1096:803:3b::21) by SEYPR03MB6602.apcprd03.prod.outlook.com (2603:1096:101:86::13) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.6340.31; Tue, 2 May 2023 01:48:16 +0000 Received: from PU1PR03MB3062.apcprd03.prod.outlook.com ([fe80::66d9:2bd0:26ba:d9bb]) by PU1PR03MB3062.apcprd03.prod.outlook.com ([fe80::66d9:2bd0:26ba:d9bb%6]) with mapi id 15.20.6340.031; Tue, 2 May 2023 01:48:16 +0000 From: =?utf-8?B?SmFzb24tSkggTGluICjmnpfnnb/npaUp?= To: "matthias.bgg@gmail.com" , "amergnat@baylibre.com" , "chunkuang.hu@kernel.org" , "angelogioacchino.delregno@collabora.com" CC: "linux-mediatek@lists.infradead.org" , =?utf-8?B?U2luZ28gQ2hhbmcgKOW8teiIiOWciyk=?= , =?utf-8?B?Sm9obnNvbiBXYW5nICjnjovogZbpkasp?= , =?utf-8?B?SmFzb24tY2ggQ2hlbiAo6Zmz5bu66LGqKQ==?= , =?utf-8?B?U2hhd24gU3VuZyAo5a6L5a2d6KyZKQ==?= , "linux-kernel@vger.kernel.org" , =?utf-8?B?TmFuY3kgTGluICjmnpfmrKPonqIp?= , "dri-devel@lists.freedesktop.org" , Project_Global_Chrome_Upstream_Group , =?utf-8?B?TmF0aGFuIEx1ICjlkYLmnbHpnJYp?= , "linux-arm-kernel@lists.infradead.org" , =?utf-8?B?UmV4LUJDIENoZW4gKOmZs+afj+i+sCk=?= Subject: Re: [PATCH v2 1/2] drm/mediatek: Add ability to support dynamic connector selection Thread-Topic: [PATCH v2 1/2] drm/mediatek: Add ability to support dynamic connector selection Thread-Index: AQHZeOQGlyghKvmghEyoVOI8E8A4dK8/EqGAgAcr6YA= Date: Tue, 2 May 2023 01:48:16 +0000 Message-ID: References: <20230427084040.3651-1-jason-jh.lin@mediatek.com> <20230427084040.3651-2-jason-jh.lin@mediatek.com> <68cc2867-fa22-075f-b1ec-a8042a1ac1a0@gmail.com> In-Reply-To: <68cc2867-fa22-075f-b1ec-a8042a1ac1a0@gmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: authentication-results: dkim=none (message not signed) header.d=none;dmarc=none action=none header.from=mediatek.com; x-ms-publictraffictype: Email x-ms-traffictypediagnostic: PU1PR03MB3062:EE_|SEYPR03MB6602:EE_ x-ms-office365-filtering-correlation-id: 7c409409-34c5-410d-1d87-08db4aaf4c3e x-ms-exchange-senderadcheck: 1 x-ms-exchange-antispam-relay: 0 x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: n4xEHpBc9f22Z2Euhjc62PGWcb1Qno0UVHw5Sp40lYcFo1sofYiF3y5IIOTRhvFFLGkrLsRakEBkjMG8mGnMrOq7EF5AnmGvNns/zEUnLHUFVO+QQvxKDy+EiGTldvVNhu8/A+fWugbEAoXzgPAXoJ77ZQAH7c1NrmN/wVeA3oA8x0e3middOwIuLJUrk5zHaNc2KMvqtyCDcrqNi26lRWhLAjNIbIySkD//UyFqwl2DEpV6+8UFw1VJvPAHoIF8gRiUdAUg4opFSeunHa34RNRJN9v7WHGv66ZCoUJOlYI6AT7sfW6IoaEmLYM624nyCahFqrYOOimya4D9X31/WV/GyrfeIB6mpeusDDacFpUUf+b7LZucbLcGN4TQjDsxEyYuCy9ZNFXqZ2c+3x3K/afxygCRnKEskn1mAflMZUu99CR/Or6MeTFjBCAsfR5VjvPmag6w4vRMPdQT6qbrOLIFjxO78VADAJIOvbBy5MOjWPWgJ1kYLBrPi/PldthMsLPpf54zABSC/J/GKbXVbERnXDeG+xrZfkUDSlczwnUpXkTOziMnqXRWP/yLXCefHv/vae3IXudQw8cuUdbGGp2dRwK4zL8yOLsJOHLBGuw8WSna4SO+HwflD5tmI98c x-forefront-antispam-report: CIP:255.255.255.255;CTRY:;LANG:en;SCL:1;SRV:;IPV:NLI;SFV:NSPM;H:PU1PR03MB3062.apcprd03.prod.outlook.com;PTR:;CAT:NONE;SFS:(13230028)(4636009)(376002)(39860400002)(346002)(136003)(396003)(366004)(451199021)(26005)(186003)(38100700002)(2616005)(54906003)(83380400001)(107886003)(110136005)(53546011)(6512007)(2906002)(30864003)(6506007)(122000001)(64756008)(66446008)(66476007)(66556008)(66946007)(91956017)(76116006)(5660300002)(8676002)(8936002)(41300700001)(38070700005)(36756003)(71200400001)(86362001)(478600001)(6486002)(316002)(85182001)(4326008)(579004);DIR:OUT;SFP:1102; x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: =?utf-8?B?bjhQOTRXWkVZd08yL2VSUFliWTRNbTlYVU5uZ0RFNjVubWpJdHNFQ2JIK0Vj?= =?utf-8?B?aWY5MjNDRUVqbGUrN2dSSWJPOE5OR1VvOXBvY0ZHOG9vd3d5NHVBemxGUTdK?= =?utf-8?B?UFJTQVBqeEhjSHUxS0ZuTW12SzhvWEg0bUZ4dWdvU1NKZEJFUERIc0FSdkVu?= =?utf-8?B?eVlYV3dKRHFVZkdnZXRpbDhDaG0vamRpUFpxWGpyQVMwbEZ1Z1JJQVdaSUNq?= =?utf-8?B?S095Mi8vSHJQcThFZml0ZmFvUHF4RVJ3ZHVCdlJDTmYwSVV2WWlzdlovNEtT?= =?utf-8?B?TEZST2lQK21EN3ZlR1gyelR5SDUrMlFyWG90b3FLYXpBd2FqYkxPQlExTXIz?= =?utf-8?B?ZU00ZHpZRDR0SEtjVWpLZ0NhajdEVlJWMnY4MGppRi9BRmVFU3ZlWm1pb2FE?= =?utf-8?B?WlFFMWJGOTBBZHFPS2tmWFA3NzFvY1FKakkvVklHWFBsVzA0OXNkTDc5TUNI?= =?utf-8?B?VXdTNFVHTFJ0MzA5TlVQZzU2TExvZW8vWjRrWVlTc2EycWJiUUhnelAwQksw?= =?utf-8?B?Y3JZdWNwVDZva21kMXRhV3RueXE0QU5TVzBHWXVPQzZWSG4wN2Q1YWJjdUc5?= =?utf-8?B?d3QwbEFjS3hDdUNtNDNpTlg5MDFIb0xGck0zRUhldS9QanhOWEhodDlYV052?= =?utf-8?B?TU9pN0FRdCtWWWpSMzFTSTRJNldFYVJCbUlPUkUxTzNOU1FVbEZ5RGtMYWxD?= =?utf-8?B?aEJMM3VqMzN5bnBpcnRpS1VkNksvOHJFYzV3WERyTEFMSkpYbEFTNkFTbFpy?= =?utf-8?B?NXRvWlVUeHJlU2ZUcXQxUmlEcHNUclBwc0lQcUFjKzJ3M0p1NHlDWmYydTVh?= =?utf-8?B?YjM1Z3JwNVF4UEUvRDRUL2hobGN5Vk5ZSzNGUGVTSERqeDdLLzY2OUl0NjBr?= =?utf-8?B?SVZQKzVyWjQ4amZpQk5VNVk1VUhFaUM3UEdETGlucU5pMGpjYVd3ZVN1YnNx?= =?utf-8?B?MzVhOVBmTUhGK2JDMVUyS1J5aFd2Z0tvQzI1cXZ6L01DZlYvRkNWT29hMXFD?= =?utf-8?B?UGlVZEd1SmFlcnpKMmU0dWw3SHZlUWNtNUhuS3hpcFF5YWRlTldaT0t2anJz?= =?utf-8?B?WGdSZStOSGVMcmQrRGNVandnYUc3U29Qbk1FK2F4UGxCZ2lSTXVsVnVnNlcx?= =?utf-8?B?NVBCUEcvY2I4bW5xTDFmcWl2RFd1ZWxCaGNscXhUbVBjdDhoaHJGZUNtNUtt?= =?utf-8?B?Ykp4c2lGNTU1bHlxY0VocFFHVmpXdndXTnZldTcxMlVDdk5IN1JXd3cyK1cw?= =?utf-8?B?eDZiTUJHTDB5bXovd1QzYS9VOUNDRFRLZ1NMZjZEdFNsak1obUxBa0JoaEhG?= =?utf-8?B?c3p0MWxwTHBPSDg4TXA2VzZVZkEwYW5GQ3d4Q1dQbkJkQ0M0UlVVRjIrSUdM?= =?utf-8?B?eHNpM0tBUDBxOXNwWUZlVG9CbHRVWkt5b2NTcUFIYzJ5SGlvSmtaMHVlSXZp?= =?utf-8?B?OWZGVzloNzMxYXdVbk5NcDkwRTI3TDFBV210WTcvclBPZW1hM3BsaEhXNG81?= =?utf-8?B?RFFoMS9TSXNIVm9yN1pmV0pPNnJEeDd3NlorZTZzYkN3a2swNzBFNEVmTW0y?= =?utf-8?B?blIrQVlZV1hCb0c0eGJjenN1YmtDbFZYYTdtN1hnM055V2podlFDODBuZmp6?= =?utf-8?B?M1VQT2pwa2kwbzdEUzFCMUQvaFJMTjFIZTVka0dBdTExS01CQ1l5eHJlSEkx?= =?utf-8?B?ckJabUZudmc5Mk1qd3ZNL1pqU0lpS3VabEFsNDl6cGkwaVdIeitnb1RYM0h0?= =?utf-8?B?UjlvbUpTc2hURGV5L3UvQ2tUTVB2YklOaHJQeHlkR1V2UDl0SmNCUkNBbmRS?= =?utf-8?B?VnZBRXcrM05EVlBlOWdUR2RXZUVYY1pnSkgwZVdyUnQ5RDAyS3hTTTRHVmto?= =?utf-8?B?THdqWUN1bWJyYm5EZ3pXTytDT2JWc0w5aEI5ekJ4aVVOWGs1dmpNdGF6UlZs?= =?utf-8?B?elNiWGg4SDEzZE9naWpoRGxxVHlzcm8wUHozemp1WW5sZnNTbEpKa1hpR3Ra?= =?utf-8?B?L1h1U0ttQWNGUnNCWm1QU0h2Q3pyUi83bHo4S1hMZldtVnkrN1I0SC9vUVMx?= =?utf-8?B?aHVEZG5DZDRPMzRTajZ4eEJ6dTFnRlZvZDM5dUwyVVcxV0RmMWN0ZW5IM0g1?= =?utf-8?B?ZmpRclNYU01xTG96cVdERGFraFZjZ3VZUFNDTTZUZ3VsWllhTE14bGdURXBs?= =?utf-8?B?WXc9PQ==?= Content-Type: text/plain; charset="utf-8" Content-ID: <89BB6E546401C744963B76687FAFF444@apcprd03.prod.outlook.com> Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: PU1PR03MB3062.apcprd03.prod.outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7c409409-34c5-410d-1d87-08db4aaf4c3e X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2023 01:48:16.1517 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: a7687ede-7a6b-4ef6-bace-642f677fbe31 X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-userprincipalname: nE6WhO2EH05iStXieUqcD1PtcWdNNL7DeJhz7+WfkJMJH2dKxA/l3JGJOfqt9ymENM8CqhXKcIvMKz/iDRXyzKoux8xnUlRUueJjYhU8wBg= X-MS-Exchange-Transport-CrossTenantHeadersStamped: SEYPR03MB6602 Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgTWF0dGhpYXMsDQoNClRoYW5rcyBmb3IgdGhlIHJldmlld3MuDQoNCk9uIFRodSwgMjAyMy0w NC0yNyBhdCAxNDoxNyArMDIwMCwgTWF0dGhpYXMgQnJ1Z2dlciB3cm90ZToNCj4gRXh0ZXJuYWwg ZW1haWwgOiBQbGVhc2UgZG8gbm90IGNsaWNrIGxpbmtzIG9yIG9wZW4gYXR0YWNobWVudHMgdW50 aWwNCj4geW91IGhhdmUgdmVyaWZpZWQgdGhlIHNlbmRlciBvciB0aGUgY29udGVudC4NCj4gDQo+ IA0KPiBPbiAyNy8wNC8yMDIzIDEwOjQwLCBKYXNvbi1KSC5MaW4gd3JvdGU6DQo+ID4gMS4gTW92 ZSBvdXRwdXQgZHJtIGNvbm5lY3RvciBmcm9tIGVhY2ggZGRwX3BhdGggYXJyYXkgdG8gY29ubmVj dG9yDQo+ID4gYXJyYXkuDQo+ID4gMi4gQWRkIGR5bmFtaWMgc2VsZWN0IGF2YWlsYWJsZSBjb25u ZWN0b3IgZmxvdyBpbiBjcnRjIGNyZWF0ZSBhbmQNCj4gPiBlbmFibGUuDQo+ID4gDQo+ID4gU2ln bmVkLW9mZi1ieTogTmFuY3kgTGluIDxuYW5jeS5saW5AbWVkaWF0ZWsuY29tPg0KPiA+IFNpZ25l ZC1vZmYtYnk6IE5hdGhhbiBMdSA8bmF0aGFuLmx1QG1lZGlhdGVrLmNvbT4NCj4gPiBTaWduZWQt b2ZmLWJ5OiBKYXNvbi1KSC5MaW4gPGphc29uLWpoLmxpbkBtZWRpYXRlay5jb20+DQo+ID4gLS0t DQo+ID4gICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rpc3BfZHJ2LmggICAgIHwgICAx ICsNCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHBpLmMgICAgICAgICAgfCAg IDkgKysNCj4gPiAgIGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYyAgICAg fCAxMTINCj4gPiArKysrKysrKysrKysrKysrKysrLQ0KPiA+ICAgZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fY3J0Yy5oICAgICB8ICAgNSArLQ0KPiA+ICAgZHJpdmVycy9ncHUvZHJt L21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYyB8ICAyNyArKysrKw0KPiA+ICAgZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaCB8ICAgOCArKw0KPiA+ICAgZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMgICAgICB8ICA0NCArKysrKystLQ0KPiA+ ICAgZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmggICAgICB8ICAgOCArKw0K PiA+ICAgOCBmaWxlcyBjaGFuZ2VkLCAyMDMgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0p DQo+ID4gDQo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZGlz cF9kcnYuaA0KPiA+IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oDQo+ ID4gaW5kZXggMjI1NDAzODUxOWUxLi43MmM1NzQ0MmY5NjUgMTAwNjQ0DQo+ID4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oDQo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kaXNwX2Rydi5oDQo+ID4gQEAgLTQ0LDYgKzQ0LDcgQEAgdm9p ZCBtdGtfZGl0aGVyX3NldF9jb21tb24odm9pZCBfX2lvbWVtICpyZWdzLA0KPiA+IHN0cnVjdCBj bWRxX2NsaWVudF9yZWcgKmNtZHFfcmVnLA0KPiA+IA0KPiA+ICAgdm9pZCBtdGtfZHBpX3N0YXJ0 KHN0cnVjdCBkZXZpY2UgKmRldik7DQo+ID4gICB2b2lkIG10a19kcGlfc3RvcChzdHJ1Y3QgZGV2 aWNlICpkZXYpOw0KPiA+ICtpbnQgbXRrX2RwaV9lbmNvZGVyX2luZGV4KHN0cnVjdCBkZXZpY2Ug KmRldik7DQo+ID4gDQo+ID4gICB2b2lkIG10a19kc2lfZGRwX3N0YXJ0KHN0cnVjdCBkZXZpY2Ug KmRldik7DQo+ID4gICB2b2lkIG10a19kc2lfZGRwX3N0b3Aoc3RydWN0IGRldmljZSAqZGV2KTsN Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYw0KPiA+ IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcGkuYw0KPiA+IGluZGV4IDk0OGE1M2Yx ZjRiMy4uNzY1ZmM5NzZlNDFmIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tZWRp YXRlay9tdGtfZHBpLmMNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Rw aS5jDQo+ID4gQEAgLTc4Miw2ICs3ODIsMTUgQEAgdm9pZCBtdGtfZHBpX3N0b3Aoc3RydWN0IGRl dmljZSAqZGV2KQ0KPiA+ICAgICAgIG10a19kcGlfcG93ZXJfb2ZmKGRwaSk7DQo+ID4gICB9DQo+ ID4gDQo+ID4gK2ludCBtdGtfZHBpX2VuY29kZXJfaW5kZXgoc3RydWN0IGRldmljZSAqZGV2KQ0K PiA+ICt7DQo+ID4gKyAgICAgc3RydWN0IG10a19kcGkgKmRwaSA9IGRldl9nZXRfZHJ2ZGF0YShk ZXYpOw0KPiA+ICsgICAgIGludCBlbmNvZGVyX2luZGV4ID0gZHJtX2VuY29kZXJfaW5kZXgoJmRw aS0+ZW5jb2Rlcik7DQo+ID4gKw0KPiA+ICsgICAgIGRldl9kYmcoZGV2LCAiZW5jb2RlciBpbmRl eDolZCIsIGVuY29kZXJfaW5kZXgpOw0KPiA+ICsgICAgIHJldHVybiBlbmNvZGVyX2luZGV4Ow0K PiA+ICt9DQo+ID4gKw0KPiA+ICAgc3RhdGljIGludCBtdGtfZHBpX2JpbmQoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgZGV2aWNlDQo+ID4gKm1hc3Rlciwgdm9pZCAqZGF0YSkNCj4gPiAgIHsN Cj4gPiAgICAgICBzdHJ1Y3QgbXRrX2RwaSAqZHBpID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYw0K PiA+IGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jDQo+ID4gaW5kZXgg ZDQwMTQyODQyZjg1Li4yYmFmZDM3N2RjZjQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fY3J0Yy5jDQo+ID4gQEAgLTYwLDggKzYwLDEyIEBAIHN0cnVjdCBtdGtf ZHJtX2NydGMgew0KPiA+ICAgICAgIHN0cnVjdCBkZXZpY2UgICAgICAgICAgICAgICAgICAgKm1t c3lzX2RldjsNCj4gPiAgICAgICBzdHJ1Y3QgZGV2aWNlICAgICAgICAgICAgICAgICAgICpkbWFf ZGV2Ow0KPiA+ICAgICAgIHN0cnVjdCBtdGtfbXV0ZXggICAgICAgICAgICAgICAgKm11dGV4Ow0K PiA+ICsgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgZGRwX2NvbXBfbnJfb3Jp Ow0KPiA+ICsgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgbWF4X2RkcF9jb21w X25yOw0KPiA+ICAgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgZGRwX2NvbXBf bnI7DQo+ID4gICAgICAgc3RydWN0IG10a19kZHBfY29tcCAgICAgICAgICAgICAqKmRkcF9jb21w Ow0KPiA+ICsgICAgIHVuc2lnbmVkIGludCAgICAgICAgICAgICAgICAgICAgY29ubl9yb3V0ZV9u cjsNCj4gPiArICAgICBjb25zdCBzdHJ1Y3QgbXRrX2RybV9yb3V0ZSAgICAgICpjb25uX3JvdXRl czsNCj4gPiANCj4gPiAgICAgICAvKiBsb2NrIGZvciBkaXNwbGF5IGhhcmR3YXJlIGFjY2VzcyAq Lw0KPiA+ICAgICAgIHN0cnVjdCBtdXRleCAgICAgICAgICAgICAgICAgICAgaHdfbG9jazsNCj4g PiBAQCAtNjQ5LDYgKzY1Myw4NSBAQCBzdGF0aWMgdm9pZCBtdGtfZHJtX2NydGNfZGlzYWJsZV92 Ymxhbmsoc3RydWN0DQo+ID4gZHJtX2NydGMgKmNydGMpDQo+ID4gICAgICAgbXRrX2RkcF9jb21w X2Rpc2FibGVfdmJsYW5rKGNvbXApOw0KPiA+ICAgfQ0KPiA+IA0KPiA+ICtzdGF0aWMgdW5zaWdu ZWQgaW50IG10a19kcm1fY3J0Y19tYXhfbnVtX3JvdXRlX2NvbXAoc3RydWN0DQo+ID4gbXRrX2Ry bV9jcnRjICptdGtfY3J0YykNCj4gPiArew0KPiA+ICsgICAgIHVuc2lnbmVkIGludCBtYXhfbnVt ID0gMDsNCj4gPiArICAgICB1bnNpZ25lZCBpbnQgaTsNCj4gPiArDQo+ID4gKyAgICAgaWYgKCFt dGtfY3J0Yy0+Y29ubl9yb3V0ZV9ucikNCj4gPiArICAgICAgICAgICAgIHJldHVybiAwOw0KPiA+ ICsNCj4gPiArICAgICBmb3IgKGkgPSAwOyBpIDwgbXRrX2NydGMtPmNvbm5fcm91dGVfbnI7IGkr KykNCj4gPiArICAgICAgICAgICAgIGlmIChtYXhfbnVtIDwgbXRrX2NydGMtPmNvbm5fcm91dGVz W2ldLnJvdXRlX2xlbikNCj4gPiArICAgICAgICAgICAgICAgICAgICAgbWF4X251bSA9IG10a19j cnRjLT5jb25uX3JvdXRlc1tpXS5yb3V0ZV9sZW47DQo+IA0KPiBtYXhfbnVtID0gbWF4KG10a19j cnRjLT5jb25uX3JvdXRlc1tpXS5yb3V0ZV9sZW4sIG1heF9udW0pOw0KPiANCj4gUmVnYXJkcywN Cj4gTWF0dGhpYXMNCj4gDQoNCk9LLCBJJ2xsIGNoYW5nZSB0aGlzIGF0IHRoZSBuZXh0IHZlcnNp b24uDQoNClJlZ2FyZHMsDQpKYXNvbi1KSC5MaW4NCg0KPiA+ICsNCj4gPiArICAgICByZXR1cm4g bWF4X251bTsNCj4gPiArfQ0KPiA+ICsNCj4gPiArc3RhdGljIGludCBtdGtfZHJtX2NydGNfdXBk YXRlX291dHB1dChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsDQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQ0KPiA+ICt7 DQo+ID4gKyAgICAgY29uc3Qgc3RydWN0IG10a19kcm1fcm91dGUgKmNvbm5fcm91dGVzOw0KPiA+ ICsgICAgIGludCBjcnRjX2luZGV4ID0gZHJtX2NydGNfaW5kZXgoY3J0Yyk7DQo+ID4gKyAgICAg aW50IGk7DQo+ID4gKyAgICAgc3RydWN0IGRldmljZSAqZGV2Ow0KPiA+ICsgICAgIHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9IHN0YXRlLQ0KPiA+ID5jcnRjc1tjcnRjX2luZGV4 XS5uZXdfc3RhdGU7DQo+ID4gKyAgICAgc3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2NydGMgPSB0 b19tdGtfY3J0YyhjcnRjKTsNCj4gPiArICAgICBzdHJ1Y3QgbXRrX2RybV9wcml2YXRlICpwcml2 ID0gY3J0Yy0+ZGV2LT5kZXZfcHJpdmF0ZTsNCj4gPiArICAgICB1bnNpZ25lZCBpbnQgY29tcF9p ZDsNCj4gPiArICAgICB1bnNpZ25lZCBpbnQgZW5jb2Rlcl9tYXNrID0gY3J0Y19zdGF0ZS0+ZW5j b2Rlcl9tYXNrOw0KPiA+ICsgICAgIHVuc2lnbmVkIGludCByb3V0ZV9sZW4gPSAwLCByb3V0ZV9p bmRleCA9IDA7DQo+ID4gKw0KPiA+ICsgICAgIGlmICghbXRrX2NydGMtPmNvbm5fcm91dGVfbnIp DQo+ID4gKyAgICAgICAgICAgICByZXR1cm4gMDsNCj4gPiArDQo+ID4gKyAgICAgcHJpdiA9IHBy aXYtPmFsbF9kcm1fcHJpdmF0ZVtjcnRjX2luZGV4XTsNCj4gPiArICAgICBkZXYgPSBwcml2LT5k ZXY7DQo+ID4gKw0KPiA+ICsgICAgIGRldl9kYmcoZGV2LCAiY29ubmVjdG9yIGNoYW5nZTolZCwg ZW5jb2RlciBtYXNrMHgleCBmb3INCj4gPiBjcnRjJWQiLA0KPiA+ICsgICAgICAgICAgICAgY3J0 Y19zdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2VkLCBlbmNvZGVyX21hc2ssDQo+ID4gY3J0Y19pbmRl eCk7DQo+ID4gKw0KPiA+ICsgICAgIGlmICghY3J0Y19zdGF0ZS0+Y29ubmVjdG9yc19jaGFuZ2Vk KQ0KPiA+ICsgICAgICAgICAgICAgcmV0dXJuIDA7DQo+ID4gKw0KPiA+ICsgICAgIGNvbm5fcm91 dGVzID0gbXRrX2NydGMtPmNvbm5fcm91dGVzOw0KPiA+ICsNCj4gPiArICAgICBmb3IgKGkgPSAw OyBpIDwgbXRrX2NydGMtPmNvbm5fcm91dGVfbnI7IGkrKykgew0KPiA+ICsgICAgICAgICAgICAg cm91dGVfbGVuID0gY29ubl9yb3V0ZXNbaV0ucm91dGVfbGVuOw0KPiA+ICsgICAgICAgICAgICAg aWYgKHJvdXRlX2xlbiA+IDApIHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgY29tcF9pZCA9 IGNvbm5fcm91dGVzW2ldLnJvdXRlX2RkcFtyb3V0ZV9sZW4NCj4gPiAtIDFdOw0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICBpZiAocHJpdi0+Y29tcF9ub2RlW2NvbXBfaWRdKSB7DQo+ID4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCgxIDw8IHByaXYtDQo+ID4gPmRkcF9jb21w W2NvbXBfaWRdLmVuY29kZXJfaW5kZXgpID09IGVuY29kZXJfbWFzaykgew0KPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm91dGVfaW5kZXggPSBpOw0KPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgfQ0KPiA+ICsgICAgICAgICAgICAgICAgICAgICB9DQo+ID4gKyAg ICAgICAgICAgICB9DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAgICBmb3IgKGkgPSAwOyBp IDwgcm91dGVfbGVuOyBpKyspIHsNCj4gPiArICAgICAgICAgICAgIHN0cnVjdCBtdGtfZGRwX2Nv bXAgKmNvbXA7DQo+ID4gKyAgICAgICAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGU7DQo+ ID4gKw0KPiA+ICsgICAgICAgICAgICAgY29tcF9pZCA9IGNvbm5fcm91dGVzW3JvdXRlX2luZGV4 XS5yb3V0ZV9kZHBbaV07DQo+ID4gKyAgICAgICAgICAgICBub2RlID0gcHJpdi0+Y29tcF9ub2Rl W2NvbXBfaWRdOw0KPiA+ICsgICAgICAgICAgICAgY29tcCA9ICZwcml2LT5kZHBfY29tcFtjb21w X2lkXTsNCj4gPiArICAgICAgICAgICAgIGlmICghY29tcCkgew0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICBkZXZfZXJyKGRldiwgIkNvbXBvbmVudCAlcE9GIG5vdA0KPiA+IGluaXRpYWxpemVk XG4iLCBub2RlKTsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIC1FTk9ERVY7DQo+ ID4gKyAgICAgICAgICAgICB9DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAgbXRrX2NydGMtPmRk cF9jb21wW210a19jcnRjLT5kZHBfY29tcF9ucl9vcmkgKyBpXSA9DQo+ID4gY29tcDsNCj4gPiAr ICAgICAgICAgICAgIGRldl9kYmcoZGV2LCAiQWRkIGNvbXBfaWQ6ICVkIGF0IHBhdGggaW5kZXgg JWRcbiIsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbXAtPmlkLCBtdGtfY3J0Yy0+ZGRw X2NvbXBfbnJfb3JpICsgaSk7DQo+ID4gKyAgICAgfQ0KPiA+ICsNCj4gPiArICAgICBtdGtfY3J0 Yy0+ZGRwX2NvbXBfbnIgPSBtdGtfY3J0Yy0+ZGRwX2NvbXBfbnJfb3JpICsNCj4gPiByb3V0ZV9s ZW47DQo+ID4gKyAgICAgZGV2X2RiZyhkZXYsICJVcGRhdGUgdG90YWwgY29tcCBudW06JWQiLCBt dGtfY3J0Yy0NCj4gPiA+ZGRwX2NvbXBfbnIpOw0KPiA+ICsNCj4gPiArICAgICByZXR1cm4gMDsN Cj4gPiArfQ0KPiA+ICsNCj4gPiAgIGludCBtdGtfZHJtX2NydGNfcGxhbmVfY2hlY2soc3RydWN0 IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QNCj4gPiBkcm1fcGxhbmUgKnBsYW5lLA0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHN0cnVjdCBtdGtfcGxhbmVfc3RhdGUgKnN0YXRlKQ0KPiA+ ICAgew0KPiA+IEBAIC02ODEsNiArNzY0LDEyIEBAIHN0YXRpYyB2b2lkIG10a19kcm1fY3J0Y19h dG9taWNfZW5hYmxlKHN0cnVjdA0KPiA+IGRybV9jcnRjICpjcnRjLA0KPiA+IA0KPiA+ICAgICAg IERSTV9ERUJVR19EUklWRVIoIiVzICVkXG4iLCBfX2Z1bmNfXywgY3J0Yy0+YmFzZS5pZCk7DQo+ ID4gDQo+ID4gKyAgICAgcmV0ID0gbXRrX2RybV9jcnRjX3VwZGF0ZV9vdXRwdXQoY3J0Yywgc3Rh dGUpOw0KPiA+ICsgICAgIGlmIChyZXQgPCAwKSB7DQo+ID4gKyAgICAgICAgICAgICBEUk1fREVW X0VSUk9SKGNvbXAtPmRldiwgIkZhaWxlZCB0byB1cGRhdGUgY3J0Yw0KPiA+IG91dHB1dDogJWRc biIsIHJldCk7DQo+ID4gKyAgICAgICAgICAgICByZXR1cm47DQo+ID4gKyAgICAgfQ0KPiA+ICsN Cj4gPiAgICAgICByZXQgPSBwbV9ydW50aW1lX3Jlc3VtZV9hbmRfZ2V0KGNvbXAtPmRldik7DQo+ ID4gICAgICAgaWYgKHJldCA8IDApIHsNCj4gPiAgICAgICAgICAgICAgIERSTV9ERVZfRVJST1Io Y29tcC0+ZGV2LCAiRmFpbGVkIHRvIGVuYWJsZSBwb3dlcg0KPiA+IGRvbWFpbjogJWRcbiIsIHJl dCk7DQo+ID4gQEAgLTg4Niw3ICs5NzUsOCBAQCBzdHJ1Y3QgZGV2aWNlICptdGtfZHJtX2NydGNf ZG1hX2Rldl9nZXQoc3RydWN0DQo+ID4gZHJtX2NydGMgKmNydGMpDQo+ID4gDQo+ID4gICBpbnQg bXRrX2RybV9jcnRjX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiwNCj4gPiAgICAg ICAgICAgICAgICAgICAgICAgY29uc3QgdW5zaWduZWQgaW50ICpwYXRoLCB1bnNpZ25lZCBpbnQN Cj4gPiBwYXRoX2xlbiwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgaW50IHByaXZfZGF0YV9p bmRleCkNCj4gPiArICAgICAgICAgICAgICAgICAgICAgaW50IHByaXZfZGF0YV9pbmRleCwgY29u c3Qgc3RydWN0DQo+ID4gbXRrX2RybV9yb3V0ZSAqY29ubl9yb3V0ZXMsDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBjb25uX3JvdXRlc19udW0pDQo+ID4gICB7DQo+ID4g ICAgICAgc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqcHJpdiA9IGRybV9kZXYtPmRldl9wcml2YXRl Ow0KPiA+ICAgICAgIHN0cnVjdCBkZXZpY2UgKmRldiA9IGRybV9kZXYtPmRldjsNCj4gPiBAQCAt ODk4LDYgKzk4OCw3IEBAIGludCBtdGtfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNl DQo+ID4gKmRybV9kZXYsDQo+ID4gICAgICAgdWludCBnYW1tYV9sdXRfc2l6ZSA9IDA7DQo+ID4g ICAgICAgc3RydWN0IGRybV9jcnRjICp0bXA7DQo+ID4gICAgICAgaW50IGNydGNfaSA9IDA7DQo+ ID4gKyAgICAgdW5zaWduZWQgaW50IHJvdXRlX2xlbiA9IDAsIG1heF9yb3V0ZV9jb21wX251bSA9 IDA7DQo+ID4gDQo+ID4gICAgICAgaWYgKCFwYXRoKQ0KPiA+ICAgICAgICAgICAgICAgcmV0dXJu IDA7DQo+ID4gQEAgLTkzNyw3ICsxMDI4LDI0IEBAIGludCBtdGtfZHJtX2NydGNfY3JlYXRlKHN0 cnVjdCBkcm1fZGV2aWNlDQo+ID4gKmRybV9kZXYsDQo+ID4gDQo+ID4gICAgICAgbXRrX2NydGMt Pm1tc3lzX2RldiA9IHByaXYtPm1tc3lzX2RldjsNCj4gPiAgICAgICBtdGtfY3J0Yy0+ZGRwX2Nv bXBfbnIgPSBwYXRoX2xlbjsNCj4gPiAtICAgICBtdGtfY3J0Yy0+ZGRwX2NvbXAgPSBkZXZtX2tt YWxsb2NfYXJyYXkoZGV2LCBtdGtfY3J0Yy0NCj4gPiA+ZGRwX2NvbXBfbnIsDQo+ID4gKyAgICAg bXRrX2NydGMtPmRkcF9jb21wX25yX29yaSA9IHBhdGhfbGVuOw0KPiA+ICsgICAgIGlmIChjb25u X3JvdXRlcykgew0KPiA+ICsgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNvbXBfaWQ7DQo+ID4g Kw0KPiA+ICsgICAgICAgICAgICAgZm9yIChpID0gMDsgaSA8IGNvbm5fcm91dGVzX251bTsgaSsr KSB7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIHJvdXRlX2xlbiA9IGNvbm5fcm91dGVzW2ld LnJvdXRlX2xlbjsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgaWYgKHJvdXRlX2xlbiA+IDAp IHsNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wX2lkID0NCj4gPiBjb25u X3JvdXRlc1tpXS5yb3V0ZV9kZHBbcm91dGVfbGVuIC0gMV07DQo+ID4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbXRrX2RkcF9jb21wX2VuY29kZXJfaW5kZXhfc2V0KCZwcml2LQ0KPiA+ ID5kZHBfY29tcFtjb21wX2lkXSk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIH0NCj4gPiAr ICAgICAgICAgICAgIH0NCj4gPiArDQo+ID4gKyAgICAgICAgICAgICBtdGtfY3J0Yy0+Y29ubl9y b3V0ZV9uciA9IGNvbm5fcm91dGVzX251bTsNCj4gPiArICAgICAgICAgICAgIG10a19jcnRjLT5j b25uX3JvdXRlcyA9IGNvbm5fcm91dGVzOw0KPiA+ICsgICAgIH0NCj4gPiArICAgICBtYXhfcm91 dGVfY29tcF9udW0gPQ0KPiA+IG10a19kcm1fY3J0Y19tYXhfbnVtX3JvdXRlX2NvbXAobXRrX2Ny dGMpOw0KPiA+ICsgICAgIG10a19jcnRjLT5tYXhfZGRwX2NvbXBfbnIgID0gbXRrX2NydGMtPmRk cF9jb21wX25yICsNCj4gPiBtYXhfcm91dGVfY29tcF9udW07DQo+ID4gKyAgICAgbXRrX2NydGMt PmRkcF9jb21wID0gZGV2bV9rbWFsbG9jX2FycmF5KGRldiwgbXRrX2NydGMtDQo+ID4gPm1heF9k ZHBfY29tcF9uciwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mKCptdGtfY3J0Yy0NCj4gPiA+ZGRwX2NvbXApLA0KPiA+ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBHRlBfS0VSTkVMKTsNCj4gPiAgICAg ICBpZiAoIW10a19jcnRjLT5kZHBfY29tcCkNCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5oDQo+ID4gYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9jcnRjLmgNCj4gPiBpbmRleCAzZTkwNDY5OTNkMDkuLjY3MmI5YzdhZmVlNiAx MDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmgN Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmgNCj4gPiBA QCAtOCw2ICs4LDcgQEANCj4gPiANCj4gPiAgICNpbmNsdWRlIDxkcm0vZHJtX2NydGMuaD4NCj4g PiAgICNpbmNsdWRlICJtdGtfZHJtX2RkcF9jb21wLmgiDQo+ID4gKyNpbmNsdWRlICJtdGtfZHJt X2Rydi5oIg0KPiA+ICAgI2luY2x1ZGUgIm10a19kcm1fcGxhbmUuaCINCj4gPiANCj4gPiAgICNk ZWZpbmUgTVRLX0xVVF9TSVpFICAgICAgICA1MTINCj4gPiBAQCAtMTgsNyArMTksOSBAQCB2b2lk IG10a19kcm1fY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjKTsNCj4gPiAgIGludCBt dGtfZHJtX2NydGNfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LA0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgKnBhdGgsDQo+ID4gICAgICAgICAg ICAgICAgICAgICAgIHVuc2lnbmVkIGludCBwYXRoX2xlbiwNCj4gPiAtICAgICAgICAgICAgICAg ICAgICAgaW50IHByaXZfZGF0YV9pbmRleCk7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGlu dCBwcml2X2RhdGFfaW5kZXgsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHN0cnVj dCBtdGtfZHJtX3JvdXRlICpjb25uX3JvdXRlcywNCj4gPiArICAgICAgICAgICAgICAgICAgICAg dW5zaWduZWQgaW50IGNvbm5fcm91dGVzX251bSk7DQo+ID4gICBpbnQgbXRrX2RybV9jcnRjX3Bs YW5lX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yywgc3RydWN0DQo+ID4gZHJtX3BsYW5lICpw bGFuZSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3QgbXRrX3BsYW5lX3N0 YXRlICpzdGF0ZSk7DQo+ID4gICB2b2lkIG10a19kcm1fY3J0Y19hc3luY191cGRhdGUoc3RydWN0 IGRybV9jcnRjICpjcnRjLCBzdHJ1Y3QNCj4gPiBkcm1fcGxhbmUgKnBsYW5lLA0KPiA+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jDQo+ID4g Yi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5jDQo+ID4gaW5kZXgg ZjExNGRhNGQzNmE5Li5mZTIwY2UyNmIxOWYgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21lZGlhdGVrL210a19kcm1fZGRwX2NvbXAuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmMNCj4gPiBAQCAtMzA0LDYgKzMwNCw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzDQo+ID4gZGRwX2RpdGhlciA9IHsN Cj4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzIGRkcF9kcGkgPSB7 DQo+ID4gICAgICAgLnN0YXJ0ID0gbXRrX2RwaV9zdGFydCwNCj4gPiAgICAgICAuc3RvcCA9IG10 a19kcGlfc3RvcCwNCj4gPiArICAgICAuZW5jb2Rlcl9pbmRleCA9IG10a19kcGlfZW5jb2Rlcl9p bmRleCwNCj4gPiAgIH07DQo+ID4gDQo+ID4gICBzdGF0aWMgY29uc3Qgc3RydWN0IG10a19kZHBf Y29tcF9mdW5jcyBkZHBfZHNjID0gew0KPiA+IEBAIC01MDcsNiArNTA4LDI2IEBAIHN0YXRpYyBi b29sIG10a19kcm1fZmluZF9jb21wX2luX2RkcChzdHJ1Y3QNCj4gPiBkZXZpY2UgKmRldiwNCj4g PiAgICAgICByZXR1cm4gZmFsc2U7DQo+ID4gICB9DQo+ID4gDQo+ID4gK3N0YXRpYyBpbnQgbXRr X2RybV9maW5kX2NvbXBfaW5fZGRwX2Nvbm5fcGF0aChzdHJ1Y3QgZGV2aWNlICpkZXYsDQo+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QN Cj4gPiBtdGtfZHJtX3JvdXRlICpyb3V0ZXMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQNCj4gPiByb3V0ZXNfbnVtLA0KPiA+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG10a19kZHBf Y29tcA0KPiA+ICpkZHBfY29tcCkNCj4gPiArew0KPiA+ICsgICAgIHVuc2lnbmVkIGludCBpOw0K PiA+ICsNCj4gPiArICAgICBpZiAoIXJvdXRlcykNCj4gPiArICAgICAgICAgICAgIHJldHVybiAw Ow0KPiA+ICsNCj4gPiArICAgICBmb3IgKGkgPSAwOyBpIDwgcm91dGVzX251bTsgaSsrKQ0KPiA+ ICsgICAgICAgICAgICAgaWYgKG10a19kcm1fZmluZF9jb21wX2luX2RkcChkZXYsDQo+ID4gcm91 dGVzW2ldLnJvdXRlX2RkcCwNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgcm91dGVzW2ldLnJvdXRlX2xlbiwNCj4gPiBkZHBfY29tcCkpDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBCSVQocm91dGVzW2ldLmNydGNfaWQpOw0KPiA+ICsNCj4g PiArICAgICBEUk1fSU5GTygiRmFpbGVkIHRvIGZpbmQgY29tcCBpbiBkZHAgY29ubmVjdG9yIHRh YmxlXG4iKTsNCj4gPiArDQo+ID4gKyAgICAgcmV0dXJuIDA7DQo+ID4gK30NCj4gPiArDQo+ID4g ICBpbnQgbXRrX2RkcF9jb21wX2dldF9pZChzdHJ1Y3QgZGV2aWNlX25vZGUgKm5vZGUsDQo+ID4g ICAgICAgICAgICAgICAgICAgICAgIGVudW0gbXRrX2RkcF9jb21wX3R5cGUgY29tcF90eXBlKQ0K PiA+ICAgew0KPiA+IEBAIC01MzgsNiArNTU5LDEyIEBAIHVuc2lnbmVkIGludA0KPiA+IG10a19k cm1fZmluZF9wb3NzaWJsZV9jcnRjX2J5X2NvbXAoc3RydWN0IGRybV9kZXZpY2UgKmRybSwNCj4g PiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZS0+ZGF0YS0+ dGhpcmRfbGVuLA0KPiA+IHByaXZhdGUtPmRkcF9jb21wKSkNCj4gPiAgICAgICAgICAgICAgIHJl dCA9IEJJVCgyKTsNCj4gPiAgICAgICBlbHNlDQo+ID4gKyAgICAgICAgICAgICByZXQgPSBtdGtf ZHJtX2ZpbmRfY29tcF9pbl9kZHBfY29ubl9wYXRoKGRldiwNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJpdmF0ZS0NCj4gPiA+ZGF0 YS0+Y29ubl9yb3V0ZXMsDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHByaXZhdGUtDQo+ID4gPmRhdGEtPmNvbm5fcm91dGVzX251bSwN Cj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcHJpdmF0ZS0NCj4gPiA+ZGRwX2NvbXApOw0KPiA+ICsNCj4gPiArICAgICBpZiAocmV0ID09 IDApDQo+ID4gICAgICAgICAgICAgICBEUk1fSU5GTygiRmFpbGVkIHRvIGZpbmQgY29tcCBpbiBk ZHAgdGFibGVcbiIpOw0KPiA+IA0KPiA+ICAgICAgIHJldHVybiByZXQ7DQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmgNCj4gPiBiL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcF9jb21wLmgNCj4gPiBpbmRleCBmZWJj YWVlZjE2YTEuLjFjMWQ2NzBjZmU0MSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0v bWVkaWF0ZWsvbXRrX2RybV9kZHBfY29tcC5oDQo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL21l ZGlhdGVrL210a19kcm1fZGRwX2NvbXAuaA0KPiA+IEBAIC04MCw2ICs4MCw3IEBAIHN0cnVjdCBt dGtfZGRwX2NvbXBfZnVuY3Mgew0KPiA+ICAgICAgIHZvaWQgKCpkaXNjb25uZWN0KShzdHJ1Y3Qg ZGV2aWNlICpkZXYsIHN0cnVjdCBkZXZpY2UNCj4gPiAqbW1zeXNfZGV2LCB1bnNpZ25lZCBpbnQg bmV4dCk7DQo+ID4gICAgICAgdm9pZCAoKmFkZCkoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3Qg bXRrX211dGV4ICptdXRleCk7DQo+ID4gICAgICAgdm9pZCAoKnJlbW92ZSkoc3RydWN0IGRldmlj ZSAqZGV2LCBzdHJ1Y3QgbXRrX211dGV4ICptdXRleCk7DQo+ID4gKyAgICAgaW50ICgqZW5jb2Rl cl9pbmRleCkoc3RydWN0IGRldmljZSAqZGV2KTsNCj4gPiAgIH07DQo+ID4gDQo+ID4gICBzdHJ1 Y3QgbXRrX2RkcF9jb21wIHsNCj4gPiBAQCAtODcsNiArODgsNyBAQCBzdHJ1Y3QgbXRrX2RkcF9j b21wIHsNCj4gPiAgICAgICBpbnQgaXJxOw0KPiA+ICAgICAgIHVuc2lnbmVkIGludCBpZDsNCj4g PiAgICAgICBjb25zdCBzdHJ1Y3QgbXRrX2RkcF9jb21wX2Z1bmNzICpmdW5jczsNCj4gPiArICAg ICBpbnQgZW5jb2Rlcl9pbmRleDsNCj4gPiAgIH07DQo+ID4gDQo+ID4gICBzdGF0aWMgaW5saW5l IGludCBtdGtfZGRwX2NvbXBfY2xrX2VuYWJsZShzdHJ1Y3QgbXRrX2RkcF9jb21wDQo+ID4gKmNv bXApDQo+ID4gQEAgLTI3NSw2ICsyNzcsMTIgQEAgc3RhdGljIGlubGluZSBib29sDQo+ID4gbXRr X2RkcF9jb21wX2Rpc2Nvbm5lY3Qoc3RydWN0IG10a19kZHBfY29tcCAqY29tcCwgc3RydWN0IGRl dg0KPiA+ICAgICAgIHJldHVybiBmYWxzZTsNCj4gPiAgIH0NCj4gPiANCj4gPiArc3RhdGljIGlu bGluZSB2b2lkIG10a19kZHBfY29tcF9lbmNvZGVyX2luZGV4X3NldChzdHJ1Y3QNCj4gPiBtdGtf ZGRwX2NvbXAgKmNvbXApDQo+ID4gK3sNCj4gPiArICAgICBpZiAoY29tcC0+ZnVuY3MgJiYgY29t cC0+ZnVuY3MtPmVuY29kZXJfaW5kZXgpDQo+ID4gKyAgICAgICAgICAgICBjb21wLT5lbmNvZGVy X2luZGV4ID0gY29tcC0+ZnVuY3MtDQo+ID4gPmVuY29kZXJfaW5kZXgoY29tcC0+ZGV2KTsNCj4g PiArfQ0KPiA+ICsNCj4gPiAgIGludCBtdGtfZGRwX2NvbXBfZ2V0X2lkKHN0cnVjdCBkZXZpY2Vf bm9kZSAqbm9kZSwNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgZW51bSBtdGtfZGRwX2NvbXBf dHlwZSBjb21wX3R5cGUpOw0KPiA+ICAgdW5zaWduZWQgaW50IG10a19kcm1fZmluZF9wb3NzaWJs ZV9jcnRjX2J5X2NvbXAoc3RydWN0IGRybV9kZXZpY2UNCj4gPiAqZHJtLA0KPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuYw0KPiA+IGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmMNCj4gPiBpbmRleCA2ZGNiNGJhMjQ2NmMu LmQ4YzQ5NjE0YTEwNyAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kcnYuYw0KPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJt X2Rydi5jDQo+ID4gQEAgLTE4NSw3ICsxODUsMTQgQEAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIGlu dA0KPiA+IG10ODE4OF9tdGtfZGRwX21haW5bXSA9IHsNCj4gPiAgICAgICBERFBfQ09NUE9ORU5U X0dBTU1BLA0KPiA+ICAgICAgIEREUF9DT01QT05FTlRfUE9TVE1BU0swLA0KPiA+ICAgICAgIERE UF9DT01QT05FTlRfRElUSEVSMCwNCj4gPiAtICAgICBERFBfQ09NUE9ORU5UX0RQX0lOVEYwLA0K PiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHVuc2lnbmVkIGludCBtdDgxODhfbXRr X2RkcF9tYWluX3JvdXRlc18wW10gPSB7DQo+ID4gKyAgICAgRERQX0NPTVBPTkVOVF9EUF9JTlRG MA0KPiA+ICt9Ow0KPiA+ICsNCj4gPiArc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfZHJtX3JvdXRl IG10ODE4OF9tdGtfZGRwX21haW5fcm91dGVzW10gPSB7DQo+ID4gKyAgICAgezAsIEFSUkFZX1NJ WkUobXQ4MTg4X210a19kZHBfbWFpbl9yb3V0ZXNfMCksDQo+ID4gbXQ4MTg4X210a19kZHBfbWFp bl9yb3V0ZXNfMH0sDQo+ID4gICB9Ow0KPiA+IA0KPiA+ICAgc3RhdGljIGNvbnN0IHVuc2lnbmVk IGludCBtdDgxOTJfbXRrX2RkcF9tYWluW10gPSB7DQo+ID4gQEAgLTI4Nyw2ICsyOTQsOSBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IG10a19tbXN5c19kcml2ZXJfZGF0YQ0KPiA+IG10ODE4Nl9tbXN5 c19kcml2ZXJfZGF0YSA9IHsNCj4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX2Ry aXZlcl9kYXRhDQo+ID4gbXQ4MTg4X3Zkb3N5czBfZHJpdmVyX2RhdGEgPSB7DQo+ID4gICAgICAg Lm1haW5fcGF0aCA9IG10ODE4OF9tdGtfZGRwX21haW4sDQo+ID4gICAgICAgLm1haW5fbGVuID0g QVJSQVlfU0laRShtdDgxODhfbXRrX2RkcF9tYWluKSwNCj4gPiArICAgICAuY29ubl9yb3V0ZXMg PSBtdDgxODhfbXRrX2RkcF9tYWluX3JvdXRlcywNCj4gPiArICAgICAuY29ubl9yb3V0ZXNfbnVt ID0gQVJSQVlfU0laRShtdDgxODhfbXRrX2RkcF9tYWluX3JvdXRlcyksDQo+ID4gKyAgICAgLm1t c3lzX2Rldl9udW0gPSAxLA0KPiA+ICAgfTsNCj4gPiANCj4gPiAgIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhDQo+ID4gbXQ4MTkyX21tc3lzX2RyaXZlcl9kYXRhID0g ew0KPiA+IEBAIC0zNTAsNiArMzYwLDcgQEAgc3RhdGljIGJvb2wgbXRrX2RybV9nZXRfYWxsX2Ry bV9wcml2KHN0cnVjdA0KPiA+IGRldmljZSAqZGV2KQ0KPiA+ICAgew0KPiA+ICAgICAgIHN0cnVj dCBtdGtfZHJtX3ByaXZhdGUgKmRybV9wcml2ID0gZGV2X2dldF9kcnZkYXRhKGRldik7DQo+ID4g ICAgICAgc3RydWN0IG10a19kcm1fcHJpdmF0ZSAqYWxsX2RybV9wcml2W01BWF9DUlRDXTsNCj4g PiArICAgICBzdHJ1Y3QgbXRrX2RybV9wcml2YXRlICp0ZW1wX2RybV9wcml2Ow0KPiA+ICAgICAg IHN0cnVjdCBkZXZpY2Vfbm9kZSAqcGhhbmRsZSA9IGRldi0+cGFyZW50LT5vZl9ub2RlOw0KPiA+ ICAgICAgIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgKm9mX2lkOw0KPiA+ICAgICAgIHN0cnVj dCBkZXZpY2Vfbm9kZSAqbm9kZTsNCj4gPiBAQCAtMzcyLDkgKzM4MywxOCBAQCBzdGF0aWMgYm9v bCBtdGtfZHJtX2dldF9hbGxfZHJtX3ByaXYoc3RydWN0DQo+ID4gZGV2aWNlICpkZXYpDQo+ID4g ICAgICAgICAgICAgICBpZiAoIWRybV9kZXYgfHwgIWRldl9nZXRfZHJ2ZGF0YShkcm1fZGV2KSkN Cj4gPiAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7DQo+ID4gDQo+ID4gLSAgICAgICAg ICAgICBhbGxfZHJtX3ByaXZbY250XSA9IGRldl9nZXRfZHJ2ZGF0YShkcm1fZGV2KTsNCj4gPiAt ICAgICAgICAgICAgIGlmIChhbGxfZHJtX3ByaXZbY250XSAmJiBhbGxfZHJtX3ByaXZbY250XS0N Cj4gPiA+bXRrX2RybV9ib3VuZCkNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgY250Kys7DQo+ ID4gKyAgICAgICAgICAgICB0ZW1wX2RybV9wcml2ID0gZGV2X2dldF9kcnZkYXRhKGRybV9kZXYp Ow0KPiA+ICsgICAgICAgICAgICAgaWYgKHRlbXBfZHJtX3ByaXYpIHsNCj4gPiArICAgICAgICAg ICAgICAgICAgICAgaWYgKHRlbXBfZHJtX3ByaXYtPm10a19kcm1fYm91bmQpDQo+ID4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY250Kys7DQo+ID4gKw0KPiA+ICsgICAgICAgICAgICAg ICAgICAgICBpZiAodGVtcF9kcm1fcHJpdi0+ZGF0YS0+bWFpbl9sZW4pDQo+ID4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYWxsX2RybV9wcml2WzBdID0gdGVtcF9kcm1fcHJpdjsNCj4g PiArICAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAodGVtcF9kcm1fcHJpdi0+ZGF0YS0+ZXh0 X2xlbikNCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbGxfZHJtX3ByaXZbMV0g PSB0ZW1wX2RybV9wcml2Ow0KPiA+ICsgICAgICAgICAgICAgICAgICAgICBlbHNlIGlmICh0ZW1w X2RybV9wcml2LT5kYXRhLT50aGlyZF9sZW4pDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYWxsX2RybV9wcml2WzJdID0gdGVtcF9kcm1fcHJpdjsNCj4gPiArICAgICAgICAgICAg IH0NCj4gPiAgICAgICB9DQo+ID4gDQo+ID4gICAgICAgaWYgKGRybV9wcml2LT5kYXRhLT5tbXN5 c19kZXZfbnVtID09IGNudCkgew0KPiA+IEBAIC0zOTEsNyArNDExLDcgQEAgc3RhdGljIGJvb2wg bXRrX2RybV9nZXRfYWxsX2RybV9wcml2KHN0cnVjdA0KPiA+IGRldmljZSAqZGV2KQ0KPiA+ICAg c3RhdGljIGJvb2wgbXRrX2RybV9maW5kX21tc3lzX2NvbXAoc3RydWN0IG10a19kcm1fcHJpdmF0 ZQ0KPiA+ICpwcml2YXRlLCBpbnQgY29tcF9pZCkNCj4gPiAgIHsNCj4gPiAgICAgICBjb25zdCBz dHJ1Y3QgbXRrX21tc3lzX2RyaXZlcl9kYXRhICpkcnZfZGF0YSA9IHByaXZhdGUtPmRhdGE7DQo+ ID4gLSAgICAgaW50IGk7DQo+ID4gKyAgICAgaW50IGksIGo7DQo+ID4gDQo+ID4gICAgICAgaWYg KGRydl9kYXRhLT5tYWluX3BhdGgpDQo+ID4gICAgICAgICAgICAgICBmb3IgKGkgPSAwOyBpIDwg ZHJ2X2RhdGEtPm1haW5fbGVuOyBpKyspDQo+ID4gQEAgLTQwOCw2ICs0MjgsMTIgQEAgc3RhdGlj IGJvb2wgbXRrX2RybV9maW5kX21tc3lzX2NvbXAoc3RydWN0DQo+ID4gbXRrX2RybV9wcml2YXRl ICpwcml2YXRlLCBpbnQgY29tcF9pZA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICBpZiAoZHJ2 X2RhdGEtPnRoaXJkX3BhdGhbaV0gPT0gY29tcF9pZCkNCj4gPiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCj4gPiANCj4gPiArICAgICBpZiAoZHJ2X2RhdGEtPmNv bm5fcm91dGVzX251bSkNCj4gPiArICAgICAgICAgICAgIGZvciAoaSA9IDA7IGkgPCBkcnZfZGF0 YS0+Y29ubl9yb3V0ZXNfbnVtOyBpKyspDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgIGZvciAo aiA9IDA7IGogPCBkcnZfZGF0YS0NCj4gPiA+Y29ubl9yb3V0ZXNbaV0ucm91dGVfbGVuOyBqKysp DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKGRydl9kYXRhLQ0KPiA+ID5j b25uX3JvdXRlc1tpXS5yb3V0ZV9kZHBbal0gPT0gY29tcF9pZCkNCj4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0cnVlOw0KPiA+ICsNCj4gPiAgICAgICBy ZXR1cm4gZmFsc2U7DQo+ID4gICB9DQo+ID4gDQo+ID4gQEAgLTQ2NiwyMSArNDkyLDIzIEBAIHN0 YXRpYyBpbnQgbXRrX2RybV9rbXNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZQ0KPiA+ICpkcm0pDQo+ ID4gDQo+ID4gICAgICAgICAgICAgICAgICAgICAgIGlmIChpID09IDAgJiYgcHJpdl9uLT5kYXRh LT5tYWluX2xlbikgew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IG10 a19kcm1fY3J0Y19jcmVhdGUoZHJtLA0KPiA+IHByaXZfbi0+ZGF0YS0+bWFpbl9wYXRoLA0KPiA+ IC0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg cHJpdl9uLQ0KPiA+ID5kYXRhLT5tYWluX2xlbiwgaik7DQo+ID4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcml2X24tDQo+ID4gPmRhdGEt Pm1haW5fbGVuLCBqLA0KPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgcHJpdl9uLQ0KPiA+ID5kYXRhLT5jb25uX3JvdXRlcywNCj4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBy aXZfbi0NCj4gPiA+ZGF0YS0+Y29ubl9yb3V0ZXNfbnVtKTsNCj4gPiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiAocmV0KQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgZ290byBlcnJfY29tcG9uZW50X3VuYmluZDsNCj4gPiANCj4gPiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBjb250aW51ZTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAg fSBlbHNlIGlmIChpID09IDEgJiYgcHJpdl9uLT5kYXRhLT5leHRfbGVuKSB7DQo+ID4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcmV0ID0gbXRrX2RybV9jcnRjX2NyZWF0ZShkcm0sDQo+ ID4gcHJpdl9uLT5kYXRhLT5leHRfcGF0aCwNCj4gPiAtICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXZfbi0NCj4gPiA+ZGF0YS0+ZXh0X2xl biwgaik7DQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBwcml2X24tDQo+ID4gPmRhdGEtPmV4dF9sZW4sIGosIE5VTEwsIDApOw0KPiA+ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChyZXQpDQo+ID4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGVycl9jb21wb25lbnRfdW5iaW5kOw0KPiA+ IA0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRpbnVlOw0KPiA+ICAgICAg ICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGkgPT0gMiAmJiBwcml2X24tPmRhdGEtPnRoaXJk X2xlbikgDQo+ID4gew0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldCA9IG10 a19kcm1fY3J0Y19jcmVhdGUoZHJtLA0KPiA+IHByaXZfbi0+ZGF0YS0+dGhpcmRfcGF0aCwNCj4g PiAtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHByaXZfbi0NCj4gPiA+ZGF0YS0+dGhpcmRfbGVuLCBqKTsNCj4gPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByaXZfbi0NCj4gPiA+ZGF0 YS0+dGhpcmRfbGVuLCBqLCBOVUxMLCAwKTsNCj4gPiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBpZiAocmV0KQ0KPiA+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Z290byBlcnJfY29tcG9uZW50X3VuYmluZDsNCj4gPiANCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgNCj4gPiBiL2RyaXZlcnMvZ3B1L2RybS9t ZWRpYXRlay9tdGtfZHJtX2Rydi5oDQo+ID4gaW5kZXggZWIyZmQ0NTk0MWYwLi44ZGNhNjhlYTFi OTQgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2 LmgNCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaA0KPiA+ IEBAIC0yMiw2ICsyMiwxMiBAQCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcjsNCj4gPiAgIHN0cnVjdCBk cm1fcHJvcGVydHk7DQo+ID4gICBzdHJ1Y3QgcmVnbWFwOw0KPiA+IA0KPiA+ICtzdHJ1Y3QgbXRr X2RybV9yb3V0ZSB7DQo+ID4gKyAgICAgY29uc3QgdW5zaWduZWQgaW50IGNydGNfaWQ7DQo+ID4g KyAgICAgY29uc3QgdW5zaWduZWQgaW50IHJvdXRlX2xlbjsNCj4gPiArICAgICBjb25zdCB1bnNp Z25lZCBpbnQgKnJvdXRlX2RkcDsNCj4gPiArfTsNCj4gPiArDQo+ID4gICBzdHJ1Y3QgbXRrX21t c3lzX2RyaXZlcl9kYXRhIHsNCj4gPiAgICAgICBjb25zdCB1bnNpZ25lZCBpbnQgKm1haW5fcGF0 aDsNCj4gPiAgICAgICB1bnNpZ25lZCBpbnQgbWFpbl9sZW47DQo+ID4gQEAgLTI5LDYgKzM1LDgg QEAgc3RydWN0IG10a19tbXN5c19kcml2ZXJfZGF0YSB7DQo+ID4gICAgICAgdW5zaWduZWQgaW50 IGV4dF9sZW47DQo+ID4gICAgICAgY29uc3QgdW5zaWduZWQgaW50ICp0aGlyZF9wYXRoOw0KPiA+ ICAgICAgIHVuc2lnbmVkIGludCB0aGlyZF9sZW47DQo+ID4gKyAgICAgY29uc3Qgc3RydWN0IG10 a19kcm1fcm91dGUgKmNvbm5fcm91dGVzOw0KPiA+ICsgICAgIHVuc2lnbmVkIGludCBjb25uX3Jv dXRlc19udW07DQo+ID4gDQo+ID4gICAgICAgYm9vbCBzaGFkb3dfcmVnaXN0ZXI7DQo+ID4gICAg ICAgdW5zaWduZWQgaW50IG1tc3lzX2lkOw0K