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=-8.3 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,UNPARSEABLE_RELAY,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 B4339C433E1 for ; Wed, 10 Jun 2020 06:13:37 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 6EA5020734 for ; Wed, 10 Jun 2020 06:13:37 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="uaHJqiH0" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726278AbgFJGNg (ORCPT ); Wed, 10 Jun 2020 02:13:36 -0400 Received: from mailgw02.mediatek.com ([210.61.82.184]:39999 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725988AbgFJGNf (ORCPT ); Wed, 10 Jun 2020 02:13:35 -0400 X-UUID: 51daa1dbcc2c44cb9863eafb0f8e3573-20200610 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:MIME-Version:Content-Type:References:In-Reply-To:Date:CC:To:From:Subject:Message-ID; bh=7g39zsjgFbQQQ8ejglrHczGR1a++BpoBzudTSZ8Hps4=; b=uaHJqiH0tLmK/1yN2zNK7KDktu8iP5abxoyUwAHK693KNuJe86clJVd6IqPsHTAUmJUQ1FeInPNlxtyZH4qBVX/e8EaYqsRitNmGqmC0SZ6n/TWqF6Tykq59QwCJ4lNJehG/cDHgKLloy30JMfRSUco3VYJFgUq8aEJKi2sTx6I=; X-UUID: 51daa1dbcc2c44cb9863eafb0f8e3573-20200610 Received: from mtkcas08.mediatek.inc [(172.21.101.126)] by mailgw02.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1217306719; Wed, 10 Jun 2020 14:13:24 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by mtkmbs08n2.mediatek.inc (172.21.101.56) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Wed, 10 Jun 2020 14:13:21 +0800 Received: from [172.21.77.4] (172.21.77.4) by mtkcas08.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Wed, 10 Jun 2020 14:13:21 +0800 Message-ID: <1591769602.5047.3.camel@mtksdaap41> Subject: Re: [PATCH v4 08/17] media: mtk-vcodec: separate mtk-vcodec-enc node. From: Tiffany Lin To: CK Hu CC: Yong Wu , Maoguang Meng , Matthias Brugger , Joerg Roedel , Rob Herring , "Will Deacon" , , Irui Wang , Nicolas Boichat , "Evan Green" , , Matthias Kaehlcke , , , , Tomasz Figa , , Hsin-Yi Wang , , , , , , , , Robin Murphy Date: Wed, 10 Jun 2020 14:13:22 +0800 In-Reply-To: <1591767911.527.5.camel@mtksdaap41> References: <1590826218-23653-1-git-send-email-yong.wu@mediatek.com> <1590826218-23653-9-git-send-email-yong.wu@mediatek.com> <1591767911.527.5.camel@mtksdaap41> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: 22ADA025ED1332B9CD66379BF85F4C85BC2E639A6CED8FB4692F0EBDB9041AB62000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org T24gV2VkLCAyMDIwLTA2LTEwIGF0IDEzOjQ1ICswODAwLCBDSyBIdSB3cm90ZToNCj4gKyBUaWZm YW55ICYgTWFvZ3VhbmcuDQo+IA0KPiANCj4gT24gU2F0LCAyMDIwLTA1LTMwIGF0IDE2OjEwICsw ODAwLCBZb25nIFd1IHdyb3RlOg0KPiA+IEZyb206IE1hb2d1YW5nIE1lbmcgPG1hb2d1YW5nLm1l bmdAbWVkaWF0ZWsuY29tPg0KPiA+IA0KPiA+IE1USyBIMjY0IEVuY29kZXIoVkVOQ19TWVMpIGFu ZCBWUDggRW5jb2RlcihWRU5DX0xUX1NZUykgYXJlIHR3bw0KPiA+IGluZGVwZW5kZW50IGhhcmR3 YXJlIGluc3RhbmNlLiBUaGV5IGhhdmUgdGhlaXIgb3duZXIgaW50ZXJydXB0LA0KPiA+IHJlZ2lz dGVyIG1hcHBpbmcsIGFuZCBzcGVjaWFsIGNsb2Nrcy4NCj4gPiANCj4gPiBUaGlzIHBhdGNoIHNl cGVyYXRlcyB0aGUgdHdvIGluc3RhbmNlLiBUaGlzIGlzIGEgcHJlcGFyaW5nIHBhdGNoIGZvcg0K PiA+IGFkZGluZyBkZXZpY2VfbGluayBiZXR3ZWVuIHRoZSBsYXJicyBhbmQgdmVuYy1kZXZpY2Uu IEl0J3MgbWFpbmx5IGZvcg0KPiA+IGZpeGluZyB0aGUgcHJvYmxlbToNCj4gPiBodHRwczovL2xr bWwub3JnL2xrbWwvMjAxOS85LzMvMzE2DQo+ID4gDQo+ID4gVXNlciBDYWxsICJWSURJT0NfUVVF UllDQVAiOg0KPiA+IEgyNjQgRW5jb2RlciByZXR1cm4gZHJpdmVyIG5hbWUgIm10ay12Y29kZWMt ZW5jIjsNCj4gPiBWUDggRW5jb2RlciByZXR1cm4gZHJpdmVyIG5hbWUgIm10ay12ZW5jLXZwOC4N Cj4gPiANCg0KQWNrZWQtYnk6IFRpZmZhbnkgTGluIDx0aWZmYW55LmxpbkBtZWRpYXRlay5jb20+ DQoNCg0KPiA+IFNpZ25lZC1vZmYtYnk6IE1hb2d1YW5nIE1lbmcgPG1hb2d1YW5nLm1lbmdAbWVk aWF0ZWsuY29tPg0KPiA+IFNpZ25lZC1vZmYtYnk6IEhzaW4tWWkgV2FuZyA8aHNpbnlpQGNocm9t aXVtLm9yZz4NCj4gPiBTaWduZWQtb2ZmLWJ5OiBJcnVpIFdhbmcgPGlydWkud2FuZ0BtZWRpYXRl ay5jb20+DQo+ID4gLS0tDQo+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9t dGtfdmNvZGVjX2Rydi5oIHwgIDEwICstDQo+ID4gIGRyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRr LXZjb2RlYy9tdGtfdmNvZGVjX2VuYy5jIHwgIDIzICsrKy0NCj4gPiAgLi4uL21lZGlhL3BsYXRm b3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMgfCAxMjcgKysrKysrKysrLS0tLS0t LS0tLS0tDQo+ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5j X3BtLmMgIHwgIDMxICstLS0tDQo+ID4gIC4uLi9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210 a192Y29kZWNfZW5jX3BtLmggIHwgICAxIC0NCj4gPiAgLi4uL21lZGlhL3BsYXRmb3JtL210ay12 Y29kZWMvdmVuYy92ZW5jX3ZwOF9pZi5jICAgfCAgIDQgKy0NCj4gPiAgNiBmaWxlcyBjaGFuZ2Vk LCA4MCBpbnNlcnRpb25zKCspLCAxMTYgZGVsZXRpb25zKC0pDQo+ID4gDQo+ID4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Rydi5oIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZHJ2LmgNCj4gPiBp bmRleCBhMjcxNjExNy4uNTJkMWNlMSAxMDA2NDQNCj4gPiAtLS0gYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19kcnYuaA0KPiA+ICsrKyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Rydi5oDQo+ID4gQEAgLTE5LDYgKzE5 LDcgQEANCj4gPiAgI2RlZmluZSBNVEtfVkNPREVDX0RSVl9OQU1FCSJtdGtfdmNvZGVjX2RydiIN Cj4gPiAgI2RlZmluZSBNVEtfVkNPREVDX0RFQ19OQU1FCSJtdGstdmNvZGVjLWRlYyINCj4gPiAg I2RlZmluZSBNVEtfVkNPREVDX0VOQ19OQU1FCSJtdGstdmNvZGVjLWVuYyINCj4gPiArI2RlZmlu ZSBNVEtfVkVOQ19WUDhfTkFNRQkibXRrLXZlbmMtdnA4Ig0KPiA+ICAjZGVmaW5lIE1US19QTEFU Rk9STV9TVFIJInBsYXRmb3JtOm10ODE3MyINCj4gPiAgDQo+ID4gICNkZWZpbmUgTVRLX1ZDT0RF Q19NQVhfUExBTkVTCTMNCj4gPiBAQCAtMTkzLDcgKzE5NCw2IEBAIHN0cnVjdCBtdGtfdmNvZGVj X3BtIHsNCj4gPiAgDQo+ID4gIAlzdHJ1Y3QgbXRrX3Zjb2RlY19jbGsJdmVuY19jbGs7DQo+ID4g IAlzdHJ1Y3QgZGV2aWNlCSpsYXJidmVuYzsNCj4gPiAtCXN0cnVjdCBkZXZpY2UJKmxhcmJ2ZW5j bHQ7DQo+ID4gIAlzdHJ1Y3QgZGV2aWNlCSpkZXY7DQo+ID4gIAlzdHJ1Y3QgbXRrX3Zjb2RlY19k ZXYJKm10a2RldjsNCj4gPiAgfTsNCj4gPiBAQCAtMzExLDI1ICszMTEsMjcgQEAgZW51bSBtdGtf Y2hpcCB7DQo+ID4gICAqIEBjaGlwOiBjaGlwIHRoaXMgZW5jb2RlciBpcyBjb21wYXRpYmxlIHdp dGgNCj4gPiAgICoNCj4gPiAgICogQHVzZXNfZXh0OiB3aGV0aGVyIHRoZSBlbmNvZGVyIHVzZXMg dGhlIGV4dGVuZGVkIGZpcm13YXJlIG1lc3NhZ2luZyBmb3JtYXQNCj4gPiAtICogQGhhc19sdF9p cnE6IHdoZXRoZXIgdGhlIGVuY29kZXIgdXNlcyB0aGUgTFQgaXJxDQo+ID4gKyAqIEBuYW1lOiB3 aGV0aGVyIHRoZSBlbmNvZGVyIGNvcmUgaXMgdnA4DQo+ID4gICAqIEBtaW5fYmlyYXRlOiBtaW5p bXVtIHN1cHBvcnRlZCBlbmNvZGluZyBiaXRyYXRlDQo+ID4gICAqIEBtYXhfYml0cmF0ZTogbWF4 aW11bSBzdXBwb3J0ZWQgZW5jb2RpbmcgYml0cmF0ZQ0KPiA+ICAgKiBAY2FwdHVyZV9mb3JtYXRz OiBhcnJheSBvZiBzdXBwb3J0ZWQgY2FwdHVyZSBmb3JtYXRzDQo+ID4gICAqIEBudW1fY2FwdHVy ZV9mb3JtYXRzOiBudW1iZXIgb2YgZW50cmllcyBpbiBjYXB0dXJlX2Zvcm1hdHMNCj4gPiAgICog QG91dHB1dF9mb3JtYXRzOiBhcnJheSBvZiBzdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdHMNCj4gPiAg ICogQG51bV9vdXRwdXRfZm9ybWF0czogbnVtYmVyIG9mIGVudHJpZXMgaW4gb3V0cHV0X2Zvcm1h dHMNCj4gPiArICogQGNvcmVfaWQ6IHN0YW5kIGZvciBoMjY0IG9yIHZwOCBlbmNvZGUgaW5kZXgN Cj4gPiAgICovDQo+ID4gIHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSB7DQo+ID4gIAllbnVt IG10a19jaGlwIGNoaXA7DQo+ID4gIA0KPiA+ICAJYm9vbCB1c2VzX2V4dDsNCj4gPiAtCWJvb2wg aGFzX2x0X2lycTsNCj4gPiArCWNvbnN0IGNoYXIgKm5hbWU7DQo+ID4gIAl1bnNpZ25lZCBsb25n IG1pbl9iaXRyYXRlOw0KPiA+ICAJdW5zaWduZWQgbG9uZyBtYXhfYml0cmF0ZTsNCj4gPiAgCWNv bnN0IHN0cnVjdCBtdGtfdmlkZW9fZm10ICpjYXB0dXJlX2Zvcm1hdHM7DQo+ID4gIAlzaXplX3Qg bnVtX2NhcHR1cmVfZm9ybWF0czsNCj4gPiAgCWNvbnN0IHN0cnVjdCBtdGtfdmlkZW9fZm10ICpv dXRwdXRfZm9ybWF0czsNCj4gPiAgCXNpemVfdCBudW1fb3V0cHV0X2Zvcm1hdHM7DQo+ID4gKwlp bnQgY29yZV9pZDsNCj4gPiAgfTsNCj4gPiAgDQo+ID4gIC8qKg0KPiA+IEBAIC0zNTksNyArMzYx LDYgQEAgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhIHsNCj4gPiAgICoNCj4gPiAgICogQGRl Y19pcnE6IGRlY29kZXIgaXJxIHJlc291cmNlDQo+ID4gICAqIEBlbmNfaXJxOiBoMjY0IGVuY29k ZXIgaXJxIHJlc291cmNlDQo+ID4gLSAqIEBlbmNfbHRfaXJxOiB2cDggZW5jb2RlciBpcnEgcmVz b3VyY2UNCj4gPiAgICoNCj4gPiAgICogQGRlY19tdXRleDogZGVjb2RlciBoYXJkd2FyZSBsb2Nr DQo+ID4gICAqIEBlbmNfbXV0ZXg6IGVuY29kZXIgaGFyZHdhcmUgbG9jay4NCj4gPiBAQCAtMzk1 LDcgKzM5Niw2IEBAIHN0cnVjdCBtdGtfdmNvZGVjX2RldiB7DQo+ID4gIA0KPiA+ICAJaW50IGRl Y19pcnE7DQo+ID4gIAlpbnQgZW5jX2lycTsNCj4gPiAtCWludCBlbmNfbHRfaXJxOw0KPiA+ICAN Cj4gPiAgCXN0cnVjdCBtdXRleCBkZWNfbXV0ZXg7DQo+ID4gIAlzdHJ1Y3QgbXV0ZXggZW5jX211 dGV4Ow0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMv bXRrX3Zjb2RlY19lbmMuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtf dmNvZGVjX2VuYy5jDQo+ID4gaW5kZXggZjBhZjc4Zi4uNTMwMWRjYSAxMDA2NDQNCj4gPiAtLS0g YS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmMuYw0KPiA+ ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuYy5j DQo+ID4gQEAgLTksNiArOSw3IEBADQo+ID4gICNpbmNsdWRlIDxtZWRpYS92NGwyLW1lbTJtZW0u aD4NCj4gPiAgI2luY2x1ZGUgPG1lZGlhL3ZpZGVvYnVmMi1kbWEtY29udGlnLmg+DQo+ID4gICNp bmNsdWRlIDxzb2MvbWVkaWF0ZWsvc21pLmg+DQo+ID4gKyNpbmNsdWRlIDxsaW51eC9wbV9ydW50 aW1lLmg+DQo+ID4gIA0KPiA+ICAjaW5jbHVkZSAibXRrX3Zjb2RlY19kcnYuaCINCj4gPiAgI2lu Y2x1ZGUgIm10a192Y29kZWNfZW5jLmgiDQo+ID4gQEAgLTE3NCw3ICsxNzUsMTAgQEAgc3RhdGlj IGludCB2aWRpb2NfZW51bV9mbXRfdmlkX291dChzdHJ1Y3QgZmlsZSAqZmlsZSwgdm9pZCAqcHJp diwNCj4gPiAgc3RhdGljIGludCB2aWRpb2NfdmVuY19xdWVyeWNhcChzdHJ1Y3QgZmlsZSAqZmls ZSwgdm9pZCAqcHJpdiwNCj4gPiAgCQkJCXN0cnVjdCB2NGwyX2NhcGFiaWxpdHkgKmNhcCkNCj4g PiAgew0KPiA+IC0Jc3Ryc2NweShjYXAtPmRyaXZlciwgTVRLX1ZDT0RFQ19FTkNfTkFNRSwgc2l6 ZW9mKGNhcC0+ZHJpdmVyKSk7DQo+ID4gKwljb25zdCBzdHJ1Y3QgbXRrX3Zjb2RlY19lbmNfcGRh dGEgKnBkYXRhID0NCj4gPiArCQlmaF90b19jdHgocHJpdiktPmRldi0+dmVuY19wZGF0YTsNCj4g PiArDQo+ID4gKwlzdHJzY3B5KGNhcC0+ZHJpdmVyLCBwZGF0YS0+bmFtZSwgc2l6ZW9mKGNhcC0+ ZHJpdmVyKSk7DQo+ID4gIAlzdHJzY3B5KGNhcC0+YnVzX2luZm8sIE1US19QTEFURk9STV9TVFIs IHNpemVvZihjYXAtPmJ1c19pbmZvKSk7DQo+ID4gIAlzdHJzY3B5KGNhcC0+Y2FyZCwgTVRLX1BM QVRGT1JNX1NUUiwgc2l6ZW9mKGNhcC0+Y2FyZCkpOw0KPiA+ICANCj4gPiBAQCAtNzg4LDcgKzc5 Miw3IEBAIHN0YXRpYyBpbnQgdmIyb3BzX3ZlbmNfc3RhcnRfc3RyZWFtaW5nKHN0cnVjdCB2YjJf cXVldWUgKnEsIHVuc2lnbmVkIGludCBjb3VudCkNCj4gPiAgCSAgKi8NCj4gPiAgCWlmICgoY3R4 LT5zdGF0ZSA9PSBNVEtfU1RBVEVfQUJPUlQpIHx8IChjdHgtPnN0YXRlID09IE1US19TVEFURV9G UkVFKSkgew0KPiA+ICAJCXJldCA9IC1FSU87DQo+ID4gLQkJZ290byBlcnJfc2V0X3BhcmFtOw0K PiA+ICsJCWdvdG8gZXJyX3N0YXJ0X3N0cmVhbTsNCj4gPiAgCX0NCj4gPiAgDQo+ID4gIAkvKiBE byB0aGUgaW5pdGlhbGl6YXRpb24gd2hlbiBib3RoIHN0YXJ0X3N0cmVhbWluZyBoYXZlIGJlZW4g Y2FsbGVkICovDQo+ID4gQEAgLTgwMCw2ICs4MDQsMTIgQEAgc3RhdGljIGludCB2YjJvcHNfdmVu Y19zdGFydF9zdHJlYW1pbmcoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IGNvdW50 KQ0KPiA+ICAJCQlyZXR1cm4gMDsNCj4gPiAgCX0NCj4gPiAgDQo+ID4gKwlyZXQgPSBwbV9ydW50 aW1lX2dldF9zeW5jKCZjdHgtPmRldi0+cGxhdF9kZXYtPmRldik7DQo+ID4gKwlpZiAocmV0IDwg MCkgew0KPiA+ICsJCW10a192NGwyX2VycigicG1fcnVudGltZV9nZXRfc3luYyBmYWlsICVkIiwg cmV0KTsNCj4gPiArCQlnb3RvIGVycl9zdGFydF9zdHJlYW07DQo+ID4gKwl9DQo+ID4gKw0KPiA+ ICAJbXRrX3ZlbmNfc2V0X3BhcmFtKGN0eCwgJnBhcmFtKTsNCj4gPiAgCXJldCA9IHZlbmNfaWZf c2V0X3BhcmFtKGN0eCwgVkVOQ19TRVRfUEFSQU1fRU5DLCAmcGFyYW0pOw0KPiA+ICAJaWYgKHJl dCkgew0KPiA+IEBAIC04MjYsNiArODM2LDExIEBAIHN0YXRpYyBpbnQgdmIyb3BzX3ZlbmNfc3Rh cnRfc3RyZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnEsIHVuc2lnbmVkIGludCBjb3VudCkNCj4g PiAgCXJldHVybiAwOw0KPiA+ICANCj4gPiAgZXJyX3NldF9wYXJhbToNCj4gPiArCXJldCA9IHBt X3J1bnRpbWVfcHV0KCZjdHgtPmRldi0+cGxhdF9kZXYtPmRldik7DQo+ID4gKwlpZiAocmV0IDwg MCkNCj4gPiArCQltdGtfdjRsMl9lcnIoInBtX3J1bnRpbWVfcHV0IGZhaWwgJWQiLCByZXQpOw0K PiA+ICsNCj4gPiArZXJyX3N0YXJ0X3N0cmVhbToNCj4gPiAgCWZvciAoaSA9IDA7IGkgPCBxLT5u dW1fYnVmZmVyczsgKytpKSB7DQo+ID4gIAkJc3RydWN0IHZiMl9idWZmZXIgKmJ1ZiA9IHZiMl9n ZXRfYnVmZmVyKHEsIGkpOw0KPiA+ICANCj4gPiBAQCAtODc5LDYgKzg5NCwxMCBAQCBzdGF0aWMg dm9pZCB2YjJvcHNfdmVuY19zdG9wX3N0cmVhbWluZyhzdHJ1Y3QgdmIyX3F1ZXVlICpxKQ0KPiA+ ICAJaWYgKHJldCkNCj4gPiAgCQltdGtfdjRsMl9lcnIoInZlbmNfaWZfZGVpbml0IGZhaWxlZD0l ZCIsIHJldCk7DQo+ID4gIA0KPiA+ICsJcmV0ID0gcG1fcnVudGltZV9wdXQoJmN0eC0+ZGV2LT5w bGF0X2Rldi0+ZGV2KTsNCj4gPiArCWlmIChyZXQgPCAwKQ0KPiA+ICsJCW10a192NGwyX2Vycigi cG1fcnVudGltZV9wdXQgZmFpbCAlZCIsIHJldCk7DQo+ID4gKw0KPiA+ICAJY3R4LT5zdGF0ZSA9 IE1US19TVEFURV9GUkVFOw0KPiA+ICB9DQo+ID4gIA0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMNCj4gPiBpbmRl eCBiOGZlNDA4Li5mZTE3ZjBjIDEwMDY0NA0KPiA+IC0tLSBhL2RyaXZlcnMvbWVkaWEvcGxhdGZv cm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19kcnYuYw0KPiA+ICsrKyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19kcnYuYw0KPiA+IEBAIC00OSwx MiArNDksMTUgQEANCj4gPiAgCX0sDQo+ID4gIH07DQo+ID4gIA0KPiA+IC1zdGF0aWMgY29uc3Qg c3RydWN0IG10a192aWRlb19mbXQgbXRrX3ZpZGVvX2Zvcm1hdHNfY2FwdHVyZV9tdDgxNzNbXSA9 ICB7DQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3ZpZGVvX2ZtdCBtdGtfdmlkZW9fZm9y bWF0c19jYXB0dXJlX210ODE3M19oMjY0W10gPSAgew0KPiA+ICAJew0KPiA+ICAJCS5mb3VyY2Mg PSBWNEwyX1BJWF9GTVRfSDI2NCwNCj4gPiAgCQkudHlwZSA9IE1US19GTVRfRU5DLA0KPiA+ICAJ CS5udW1fcGxhbmVzID0gMSwNCj4gPiAgCX0sDQo+ID4gK307DQo+ID4gKw0KPiA+ICtzdGF0aWMg Y29uc3Qgc3RydWN0IG10a192aWRlb19mbXQgbXRrX3ZpZGVvX2Zvcm1hdHNfY2FwdHVyZV9tdDgx NzNfdnA4W10gPSAgew0KPiA+ICAJew0KPiA+ICAJCS5mb3VyY2MgPSBWNEwyX1BJWF9GTVRfVlA4 LA0KPiA+ICAJCS50eXBlID0gTVRLX0ZNVF9FTkMsDQo+ID4gQEAgLTExMCwzNSArMTEzLDEzIEBA IHN0YXRpYyBpcnFyZXR1cm5fdCBtdGtfdmNvZGVjX2VuY19pcnFfaGFuZGxlcihpbnQgaXJxLCB2 b2lkICpwcml2KQ0KPiA+ICAJY3R4ID0gZGV2LT5jdXJyX2N0eDsNCj4gPiAgCXNwaW5fdW5sb2Nr X2lycXJlc3RvcmUoJmRldi0+aXJxbG9jaywgZmxhZ3MpOw0KPiA+ICANCj4gPiAtCW10a192NGwy X2RlYnVnKDEsICJpZD0lZCIsIGN0eC0+aWQpOw0KPiA+IC0JYWRkciA9IGRldi0+cmVnX2Jhc2Vb VkVOQ19TWVNdICsgTVRLX1ZFTkNfSVJRX0FDS19PRkZTRVQ7DQo+ID4gLQ0KPiA+IC0JY3R4LT5p cnFfc3RhdHVzID0gcmVhZGwoZGV2LT5yZWdfYmFzZVtWRU5DX1NZU10gKw0KPiA+IC0JCQkJKE1U S19WRU5DX0lSUV9TVEFUVVNfT0ZGU0VUKSk7DQo+ID4gLQ0KPiA+IC0JY2xlYW5faXJxX3N0YXR1 cyhjdHgtPmlycV9zdGF0dXMsIGFkZHIpOw0KPiA+IC0NCj4gPiAtCXdha2VfdXBfY3R4KGN0eCwg TVRLX0lOU1RfSVJRX1JFQ0VJVkVEKTsNCj4gPiAtCXJldHVybiBJUlFfSEFORExFRDsNCj4gPiAt fQ0KPiA+IC0NCj4gPiAtc3RhdGljIGlycXJldHVybl90IG10a192Y29kZWNfZW5jX2x0X2lycV9o YW5kbGVyKGludCBpcnEsIHZvaWQgKnByaXYpDQo+ID4gLXsNCj4gPiAtCXN0cnVjdCBtdGtfdmNv ZGVjX2RldiAqZGV2ID0gcHJpdjsNCj4gPiAtCXN0cnVjdCBtdGtfdmNvZGVjX2N0eCAqY3R4Ow0K PiA+IC0JdW5zaWduZWQgbG9uZyBmbGFnczsNCj4gPiAtCXZvaWQgX19pb21lbSAqYWRkcjsNCj4g PiAtDQo+ID4gLQlzcGluX2xvY2tfaXJxc2F2ZSgmZGV2LT5pcnFsb2NrLCBmbGFncyk7DQo+ID4g LQljdHggPSBkZXYtPmN1cnJfY3R4Ow0KPiA+IC0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2 LT5pcnFsb2NrLCBmbGFncyk7DQo+ID4gKwltdGtfdjRsMl9kZWJ1ZygxLCAiaWQ9JWQgY29yZWlk OiVkIiwgY3R4LT5pZCwgZGV2LT52ZW5jX3BkYXRhLT5jb3JlX2lkKTsNCj4gPiArCWFkZHIgPSBk ZXYtPnJlZ19iYXNlW2Rldi0+dmVuY19wZGF0YS0+Y29yZV9pZF0gKw0KPiA+ICsJCQkJTVRLX1ZF TkNfSVJRX0FDS19PRkZTRVQ7DQo+ID4gIA0KPiA+IC0JbXRrX3Y0bDJfZGVidWcoMSwgImlkPSVk IiwgY3R4LT5pZCk7DQo+ID4gLQljdHgtPmlycV9zdGF0dXMgPSByZWFkbChkZXYtPnJlZ19iYXNl W1ZFTkNfTFRfU1lTXSArDQo+ID4gKwljdHgtPmlycV9zdGF0dXMgPSByZWFkbChkZXYtPnJlZ19i YXNlW2Rldi0+dmVuY19wZGF0YS0+Y29yZV9pZF0gKw0KPiA+ICAJCQkJKE1US19WRU5DX0lSUV9T VEFUVVNfT0ZGU0VUKSk7DQo+ID4gIA0KPiA+IC0JYWRkciA9IGRldi0+cmVnX2Jhc2VbVkVOQ19M VF9TWVNdICsgTVRLX1ZFTkNfSVJRX0FDS19PRkZTRVQ7DQo+ID4gLQ0KPiA+ICAJY2xlYW5faXJx X3N0YXR1cyhjdHgtPmlycV9zdGF0dXMsIGFkZHIpOw0KPiA+ICANCj4gPiAgCXdha2VfdXBfY3R4 KGN0eCwgTVRLX0lOU1RfSVJRX1JFQ0VJVkVEKTsNCj4gPiBAQCAtMjY1LDcgKzI0Niw4IEBAIHN0 YXRpYyBpbnQgbXRrX3Zjb2RlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0K PiA+ICAJc3RydWN0IHJlc291cmNlICpyZXM7DQo+ID4gIAlwaGFuZGxlIHJwcm9jX3BoYW5kbGU7 DQo+ID4gIAllbnVtIG10a192Y29kZWNfZndfdHlwZSBmd190eXBlOw0KPiA+IC0JaW50IGksIGos IHJldDsNCj4gPiArCWludCByZXQ7DQo+ID4gKwl2b2lkIF9faW9tZW0gKnJlZ19iYXNlOw0KPiA+ ICANCj4gPiAgCWRldiA9IGRldm1fa3phbGxvYygmcGRldi0+ZGV2LCBzaXplb2YoKmRldiksIEdG UF9LRVJORUwpOw0KPiA+ICAJaWYgKCFkZXYpDQo+ID4gQEAgLTI5MSw2MyArMjczLDM5IEBAIHN0 YXRpYyBpbnQgbXRrX3Zjb2RlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0K PiA+ICAJZGV2LT52ZW5jX3BkYXRhID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRhKCZwZGV2LT5k ZXYpOw0KPiA+ICAJcmV0ID0gbXRrX3Zjb2RlY19pbml0X2VuY19wbShkZXYpOw0KPiA+ICAJaWYg KHJldCA8IDApIHsNCj4gPiAtCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWlsZWQgdG8gZ2V0IG10 IHZjb2RlYyBjbG9jayBzb3VyY2UhIik7DQo+ID4gKwkJZGV2X2VycigmcGRldi0+ZGV2LCAiRmFp bGVkIHRvIGdldCBtdGsgdmNvZGVjIGNsb2NrIHNvdXJjZSEiKTsNCj4gPiAgCQlnb3RvIGVycl9l bmNfcG07DQo+ID4gIAl9DQo+ID4gIA0KPiA+IC0JZm9yIChpID0gVkVOQ19TWVMsIGogPSAwOyBp IDwgTlVNX01BWF9WQ09ERUNfUkVHX0JBU0U7IGkrKywgaisrKSB7DQo+ID4gLQkJcmVzID0gcGxh dGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCBqKTsNCj4gPiAtCQlkZXYt PnJlZ19iYXNlW2ldID0gZGV2bV9pb3JlbWFwX3Jlc291cmNlKCZwZGV2LT5kZXYsIHJlcyk7DQo+ ID4gLQkJaWYgKElTX0VSUigoX19mb3JjZSB2b2lkICopZGV2LT5yZWdfYmFzZVtpXSkpIHsNCj4g PiAtCQkJcmV0ID0gUFRSX0VSUigoX19mb3JjZSB2b2lkICopZGV2LT5yZWdfYmFzZVtpXSk7DQo+ ID4gLQkJCWdvdG8gZXJyX3JlczsNCj4gPiAtCQl9DQo+ID4gLQkJbXRrX3Y0bDJfZGVidWcoMiwg InJlZ1slZF0gYmFzZT0weCVwIiwgaSwgZGV2LT5yZWdfYmFzZVtpXSk7DQo+ID4gLQl9DQo+ID4g KwlwbV9ydW50aW1lX2VuYWJsZSgmcGRldi0+ZGV2KTsNCj4gPiArDQo+ID4gKwlzbnByaW50Zihk ZXYtPnY0bDJfZGV2Lm5hbWUsIHNpemVvZihkZXYtPnY0bDJfZGV2Lm5hbWUpLCAiJXMiLA0KPiA+ ICsJCSBkZXYtPnZlbmNfcGRhdGEtPm5hbWUpOw0KPiA+ICANCj4gPiAtCXJlcyA9IHBsYXRmb3Jt X2dldF9yZXNvdXJjZShwZGV2LCBJT1JFU09VUkNFX0lSUSwgMCk7DQo+ID4gLQlpZiAocmVzID09 IE5VTEwpIHsNCj4gPiAtCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJmYWlsZWQgdG8gZ2V0IGlycSBy ZXNvdXJjZSIpOw0KPiA+IC0JCXJldCA9IC1FTk9FTlQ7DQo+ID4gKwlyZXMgPSBwbGF0Zm9ybV9n ZXRfcmVzb3VyY2UocGRldiwgSU9SRVNPVVJDRV9NRU0sIDApOw0KPiA+ICsJcmVnX2Jhc2UgPSBk ZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsNCj4gPiArCWlmIChJU19FUlIo KF9fZm9yY2Ugdm9pZCAqKXJlZ19iYXNlKSkgew0KPiA+ICsJCXJldCA9IFBUUl9FUlIoKF9fZm9y Y2Ugdm9pZCAqKXJlZ19iYXNlKTsNCj4gPiAgCQlnb3RvIGVycl9yZXM7DQo+ID4gIAl9DQo+ID4g KwlkZXYtPnJlZ19iYXNlW2Rldi0+dmVuY19wZGF0YS0+Y29yZV9pZF0gPSByZWdfYmFzZTsNCj4g PiAgDQo+ID4gIAlkZXYtPmVuY19pcnEgPSBwbGF0Zm9ybV9nZXRfaXJxKHBkZXYsIDApOw0KPiA+ ICAJcmV0ID0gZGV2bV9yZXF1ZXN0X2lycSgmcGRldi0+ZGV2LCBkZXYtPmVuY19pcnEsDQo+ID4g IAkJCSAgICAgICBtdGtfdmNvZGVjX2VuY19pcnFfaGFuZGxlciwNCj4gPiAgCQkJICAgICAgIDAs IHBkZXYtPm5hbWUsIGRldik7DQo+ID4gIAlpZiAocmV0KSB7DQo+ID4gLQkJZGV2X2VycigmcGRl di0+ZGV2LCAiRmFpbGVkIHRvIGluc3RhbGwgZGV2LT5lbmNfaXJxICVkICglZCkiLA0KPiA+IC0J CQlkZXYtPmVuY19pcnEsDQo+ID4gLQkJCXJldCk7DQo+ID4gKwkJZGV2X2VycigmcGRldi0+ZGV2 LA0KPiA+ICsJCQkiRmFpbGVkIHRvIGluc3RhbGwgZGV2LT5lbmNfaXJxICVkICglZCkgY29yZV9p ZDolZCIsDQo+ID4gKwkJCWRldi0+ZW5jX2lycSwgcmV0LCBkZXYtPnZlbmNfcGRhdGEtPmNvcmVf aWQpOw0KPiA+ICAJCXJldCA9IC1FSU5WQUw7DQo+ID4gIAkJZ290byBlcnJfcmVzOw0KPiA+ICAJ fQ0KPiA+ICAJZGlzYWJsZV9pcnEoZGV2LT5lbmNfaXJxKTsNCj4gPiAgDQo+ID4gLQlpZiAoZGV2 LT52ZW5jX3BkYXRhLT5oYXNfbHRfaXJxKSB7DQo+ID4gLQkJZGV2LT5lbmNfbHRfaXJxID0gcGxh dGZvcm1fZ2V0X2lycShwZGV2LCAxKTsNCj4gPiAtCQlyZXQgPSBkZXZtX3JlcXVlc3RfaXJxKCZw ZGV2LT5kZXYsDQo+ID4gLQkJCQkgICAgICAgZGV2LT5lbmNfbHRfaXJxLA0KPiA+IC0JCQkJICAg ICAgIG10a192Y29kZWNfZW5jX2x0X2lycV9oYW5kbGVyLA0KPiA+IC0JCQkJICAgICAgIDAsIHBk ZXYtPm5hbWUsIGRldik7DQo+ID4gLQkJaWYgKHJldCkgew0KPiA+IC0JCQlkZXZfZXJyKCZwZGV2 LT5kZXYsDQo+ID4gLQkJCQkiRmFpbGVkIHRvIGluc3RhbGwgZGV2LT5lbmNfbHRfaXJxICVkICgl ZCkiLA0KPiA+IC0JCQkJZGV2LT5lbmNfbHRfaXJxLCByZXQpOw0KPiA+IC0JCQlyZXQgPSAtRUlO VkFMOw0KPiA+IC0JCQlnb3RvIGVycl9yZXM7DQo+ID4gLQkJfQ0KPiA+IC0JCWRpc2FibGVfaXJx KGRldi0+ZW5jX2x0X2lycSk7IC8qIFZFTkNfTFQgKi8NCj4gPiAtCX0NCj4gPiAtDQo+ID4gIAlt dXRleF9pbml0KCZkZXYtPmVuY19tdXRleCk7DQo+ID4gIAltdXRleF9pbml0KCZkZXYtPmRldl9t dXRleCk7DQo+ID4gIAlzcGluX2xvY2tfaW5pdCgmZGV2LT5pcnFsb2NrKTsNCj4gPiAtDQo+ID4g LQlzbnByaW50ZihkZXYtPnY0bDJfZGV2Lm5hbWUsIHNpemVvZihkZXYtPnY0bDJfZGV2Lm5hbWUp LCAiJXMiLA0KPiA+IC0JCSAiW01US19WNEwyX1ZFTkNdIik7DQo+ID4gLQ0KPiA+ICAJcmV0ID0g djRsMl9kZXZpY2VfcmVnaXN0ZXIoJnBkZXYtPmRldiwgJmRldi0+djRsMl9kZXYpOw0KPiA+ICAJ aWYgKHJldCkgew0KPiA+ICAJCW10a192NGwyX2VycigidjRsMl9kZXZpY2VfcmVnaXN0ZXIgZXJy PSVkIiwgcmV0KTsNCj4gPiBAQCAtMzczLDcgKzMzMSw3IEBAIHN0YXRpYyBpbnQgbXRrX3Zjb2Rl Y19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ICAJCQkJCVY0TDJfQ0FQ X1NUUkVBTUlORzsNCj4gPiAgDQo+ID4gIAlzbnByaW50Zih2ZmRfZW5jLT5uYW1lLCBzaXplb2Yo dmZkX2VuYy0+bmFtZSksICIlcyIsDQo+ID4gLQkJIE1US19WQ09ERUNfRU5DX05BTUUpOw0KPiA+ ICsJCQlkZXYtPnZlbmNfcGRhdGEtPm5hbWUpOw0KPiA+ICAJdmlkZW9fc2V0X2RydmRhdGEodmZk X2VuYywgZGV2KTsNCj4gPiAgCWRldi0+dmZkX2VuYyA9IHZmZF9lbmM7DQo+ID4gIAlwbGF0Zm9y bV9zZXRfZHJ2ZGF0YShwZGV2LCBkZXYpOw0KPiA+IEBAIC00MDEsOCArMzU5LDggQEAgc3RhdGlj IGludCBtdGtfdmNvZGVjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQo+ID4g IAkJZ290byBlcnJfZW5jX3JlZzsNCj4gPiAgCX0NCj4gPiAgDQo+ID4gLQltdGtfdjRsMl9kZWJ1 ZygwLCAiZW5jb2RlciByZWdpc3RlcmVkIGFzIC9kZXYvdmlkZW8lZCIsDQo+ID4gLQkJCXZmZF9l bmMtPm51bSk7DQo+ID4gKwltdGtfdjRsMl9kZWJ1ZygwLCAiZW5jb2RlciAlZCByZWdpc3RlcmVk IGFzIC9kZXYvdmlkZW8lZCIsDQo+ID4gKwkJICAgICAgIGRldi0+dmVuY19wZGF0YS0+Y29yZV9p ZCwgdmZkX2VuYy0+bnVtKTsNCj4gPiAgDQo+ID4gIAlyZXR1cm4gMDsNCj4gPiAgDQo+ID4gQEAg LTQxNSwyNiArMzczLDM5IEBAIHN0YXRpYyBpbnQgbXRrX3Zjb2RlY19wcm9iZShzdHJ1Y3QgcGxh dGZvcm1fZGV2aWNlICpwZGV2KQ0KPiA+ICBlcnJfZW5jX2FsbG9jOg0KPiA+ICAJdjRsMl9kZXZp Y2VfdW5yZWdpc3RlcigmZGV2LT52NGwyX2Rldik7DQo+ID4gIGVycl9yZXM6DQo+ID4gLQltdGtf dmNvZGVjX3JlbGVhc2VfZW5jX3BtKGRldik7DQo+ID4gKwlwbV9ydW50aW1lX2Rpc2FibGUoJnBk ZXYtPmRldik7DQo+ID4gIGVycl9lbmNfcG06DQo+ID4gIAltdGtfdmNvZGVjX2Z3X3JlbGVhc2Uo ZGV2LT5md19oYW5kbGVyKTsNCj4gPiAgCXJldHVybiByZXQ7DQo+ID4gIH0NCj4gPiAgDQo+ID4g LXN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Zjb2RlY19lbmNfcGRhdGEgbXQ4MTczX3BkYXRhID0g ew0KPiA+ICtzdGF0aWMgY29uc3Qgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhIG10ODE3M19h dmNfcGRhdGEgPSB7DQo+ID4gKwkuY2hpcCA9IE1US19NVDgxNzMsDQo+ID4gKwkubmFtZSA9IE1U S19WQ09ERUNfRU5DX05BTUUsDQo+ID4gKwkuY2FwdHVyZV9mb3JtYXRzID0gbXRrX3ZpZGVvX2Zv cm1hdHNfY2FwdHVyZV9tdDgxNzNfaDI2NCwNCj4gPiArCS5udW1fY2FwdHVyZV9mb3JtYXRzID0g MSwNCj4gPiArCS5vdXRwdXRfZm9ybWF0cyA9IG10a192aWRlb19mb3JtYXRzX291dHB1dF9tdDgx NzMsDQo+ID4gKwkubnVtX291dHB1dF9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9fZm9y bWF0c19vdXRwdXRfbXQ4MTczKSwNCj4gPiArCS5taW5fYml0cmF0ZSA9IDEsDQo+ID4gKwkubWF4 X2JpdHJhdGUgPSA0MDAwMDAwLA0KPiA+ICsJLmNvcmVfaWQgPSBWRU5DX1NZUywNCj4gPiArfTsN Cj4gPiArDQo+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Zjb2RlY19lbmNfcGRhdGEgbXQ4 MTczX3ZwOF9wZGF0YSA9IHsNCj4gPiAgCS5jaGlwID0gTVRLX01UODE3MywNCj4gPiAtCS5oYXNf bHRfaXJxID0gdHJ1ZSwNCj4gPiAtCS5jYXB0dXJlX2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0 c19jYXB0dXJlX210ODE3MywNCj4gPiAtCS5udW1fY2FwdHVyZV9mb3JtYXRzID0gQVJSQVlfU0la RShtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE3MyksDQo+ID4gKwkubmFtZSA9IE1US19W RU5DX1ZQOF9OQU1FLA0KPiA+ICsJLmNhcHR1cmVfZm9ybWF0cyA9IG10a192aWRlb19mb3JtYXRz X2NhcHR1cmVfbXQ4MTczX3ZwOCwNCj4gPiArCS5udW1fY2FwdHVyZV9mb3JtYXRzID0gMSwNCj4g PiAgCS5vdXRwdXRfZm9ybWF0cyA9IG10a192aWRlb19mb3JtYXRzX291dHB1dF9tdDgxNzMsDQo+ ID4gIAkubnVtX291dHB1dF9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9fZm9ybWF0c19v dXRwdXRfbXQ4MTczKSwNCj4gPiAgCS5taW5fYml0cmF0ZSA9IDEsDQo+ID4gIAkubWF4X2JpdHJh dGUgPSA0MDAwMDAwLA0KPiA+ICsJLmNvcmVfaWQgPSBWRU5DX0xUX1NZUywNCj4gPiAgfTsNCj4g PiAgDQo+ID4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Zjb2RlY19lbmNfcGRhdGEgbXQ4MTgz X3BkYXRhID0gew0KPiA+ICAJLmNoaXAgPSBNVEtfTVQ4MTgzLA0KPiA+IC0JLmhhc19sdF9pcnEg PSBmYWxzZSwNCj4gPiArCS5uYW1lID0gTVRLX1ZDT0RFQ19FTkNfTkFNRSwNCj4gPiAgCS51c2Vz X2V4dCA9IHRydWUsDQo+ID4gIAkuY2FwdHVyZV9mb3JtYXRzID0gbXRrX3ZpZGVvX2Zvcm1hdHNf Y2FwdHVyZV9tdDgxODMsDQo+ID4gIAkubnVtX2NhcHR1cmVfZm9ybWF0cyA9IEFSUkFZX1NJWkUo bXRrX3ZpZGVvX2Zvcm1hdHNfY2FwdHVyZV9tdDgxODMpLA0KPiA+IEBAIC00NDMsMTAgKzQxNCwx NCBAQCBzdGF0aWMgaW50IG10a192Y29kZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCj4gPiAgCS5udW1fb3V0cHV0X2Zvcm1hdHMgPSBBUlJBWV9TSVpFKG10a192aWRlb19m b3JtYXRzX291dHB1dF9tdDgxNzMpLA0KPiA+ICAJLm1pbl9iaXRyYXRlID0gNjQsDQo+ID4gIAku bWF4X2JpdHJhdGUgPSA0MDAwMDAwMCwNCj4gPiArCS5jb3JlX2lkID0gVkVOQ19TWVMsDQo+ID4g IH07DQo+ID4gIA0KPiA+ICBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBtdGtfdmNv ZGVjX2VuY19tYXRjaFtdID0gew0KPiA+IC0Jey5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3 My12Y29kZWMtZW5jIiwgLmRhdGEgPSAmbXQ4MTczX3BkYXRhfSwNCj4gPiArCXsuY29tcGF0aWJs ZSA9ICJtZWRpYXRlayxtdDgxNzMtdmNvZGVjLWF2Yy1lbmMiLA0KPiA+ICsJCQkuZGF0YSA9ICZt dDgxNzNfYXZjX3BkYXRhfSwNCj4gPiArCXsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMt dmNvZGVjLXZwOC1lbmMiLA0KPiA+ICsJCQkuZGF0YSA9ICZtdDgxNzNfdnA4X3BkYXRhfSwNCj4g PiAgCXsuY29tcGF0aWJsZSA9ICJtZWRpYXRlayxtdDgxODMtdmNvZGVjLWVuYyIsIC5kYXRhID0g Jm10ODE4M19wZGF0YX0sDQo+ID4gIAl7fSwNCj4gPiAgfTsNCj4gPiBAQCAtNDY2LDcgKzQ0MSw3 IEBAIHN0YXRpYyBpbnQgbXRrX3Zjb2RlY19lbmNfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBkZXYpDQo+ID4gIAkJdmlkZW9fdW5yZWdpc3Rlcl9kZXZpY2UoZGV2LT52ZmRfZW5jKTsN Cj4gPiAgDQo+ID4gIAl2NGwyX2RldmljZV91bnJlZ2lzdGVyKCZkZXYtPnY0bDJfZGV2KTsNCj4g PiAtCW10a192Y29kZWNfcmVsZWFzZV9lbmNfcG0oZGV2KTsNCj4gPiArCXBtX3J1bnRpbWVfZGlz YWJsZSgmcGRldi0+ZGV2KTsNCj4gPiAgCW10a192Y29kZWNfZndfcmVsZWFzZShkZXYtPmZ3X2hh bmRsZXIpOw0KPiA+ICAJcmV0dXJuIDA7DQo+ID4gIH0NCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jX3BtLmMgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfcG0uYw0KPiA+IGluZGV4 IGVlMjI5MDIuLjAxYzZhNTUgMTAwNjQ0DQo+ID4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jX3BtLmMNCj4gPiArKysgYi9kcml2ZXJzL21lZGlh L3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfcG0uYw0KPiA+IEBAIC00MywyMSAr NDMsNiBAQCBpbnQgbXRrX3Zjb2RlY19pbml0X2VuY19wbShzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYg Km10a2RldikNCj4gPiAgCQlyZXR1cm4gLUVOT0RFVjsNCj4gPiAgCX0NCj4gPiAgCXBtLT5sYXJi dmVuYyA9ICZwZGV2LT5kZXY7DQo+ID4gLQ0KPiA+IC0Jbm9kZSA9IG9mX3BhcnNlX3BoYW5kbGUo ZGV2LT5vZl9ub2RlLCAibWVkaWF0ZWssbGFyYiIsIDEpOw0KPiA+IC0JaWYgKCFub2RlKSB7DQo+ ID4gLQkJbXRrX3Y0bDJfZXJyKCJubyBtZWRpYXRlayxsYXJiIGZvdW5kIik7DQo+ID4gLQkJcmV0 dXJuIC1FTk9ERVY7DQo+ID4gLQl9DQo+ID4gLQ0KPiA+IC0JcGRldiA9IG9mX2ZpbmRfZGV2aWNl X2J5X25vZGUobm9kZSk7DQo+ID4gLQlvZl9ub2RlX3B1dChub2RlKTsNCj4gPiAtCWlmICghcGRl dikgew0KPiA+IC0JCW10a192NGwyX2Vycigibm8gbWVkaWF0ZWssbGFyYiBkZXZpY2UgZm91bmQi KTsNCj4gPiAtCQlyZXR1cm4gLUVOT0RFVjsNCj4gPiAtCX0NCj4gPiAtDQo+ID4gLQlwbS0+bGFy YnZlbmNsdCA9ICZwZGV2LT5kZXY7DQo+ID4gIAlwZGV2ID0gbXRrZGV2LT5wbGF0X2RldjsNCj4g PiAgCXBtLT5kZXYgPSAmcGRldi0+ZGV2Ow0KPiA+ICANCj4gPiBAQCAtOTQsMTEgKzc5LDYgQEAg aW50IG10a192Y29kZWNfaW5pdF9lbmNfcG0oc3RydWN0IG10a192Y29kZWNfZGV2ICptdGtkZXYp DQo+ID4gIAlyZXR1cm4gcmV0Ow0KPiA+ICB9DQo+ID4gIA0KPiA+IC12b2lkIG10a192Y29kZWNf cmVsZWFzZV9lbmNfcG0oc3RydWN0IG10a192Y29kZWNfZGV2ICptdGtkZXYpDQo+ID4gLXsNCj4g PiAtfQ0KPiA+IC0NCj4gPiAtDQo+ID4gIHZvaWQgbXRrX3Zjb2RlY19lbmNfY2xvY2tfb24oc3Ry dWN0IG10a192Y29kZWNfcG0gKnBtKQ0KPiA+ICB7DQo+ID4gIAlzdHJ1Y3QgbXRrX3Zjb2RlY19j bGsgKmVuY19jbGsgPSAmcG0tPnZlbmNfY2xrOw0KPiA+IEBAIC0xMTYsMTggKzk2LDEwIEBAIHZv aWQgbXRrX3Zjb2RlY19lbmNfY2xvY2tfb24oc3RydWN0IG10a192Y29kZWNfcG0gKnBtKQ0KPiA+ ICAJcmV0ID0gbXRrX3NtaV9sYXJiX2dldChwbS0+bGFyYnZlbmMpOw0KPiA+ICAJaWYgKHJldCkg ew0KPiA+ICAJCW10a192NGwyX2VycigibXRrX3NtaV9sYXJiX2dldCBsYXJiMyBmYWlsICVkIiwg cmV0KTsNCj4gPiAtCQlnb3RvIGxhcmJ2ZW5jZXJyOw0KPiA+IC0JfQ0KPiA+IC0JcmV0ID0gbXRr X3NtaV9sYXJiX2dldChwbS0+bGFyYnZlbmNsdCk7DQo+ID4gLQlpZiAocmV0KSB7DQo+ID4gLQkJ bXRrX3Y0bDJfZXJyKCJtdGtfc21pX2xhcmJfZ2V0IGxhcmI0IGZhaWwgJWQiLCByZXQpOw0KPiA+ IC0JCWdvdG8gbGFyYnZlbmNsdGVycjsNCj4gPiArCQlnb3RvIGNsa2VycjsNCj4gPiAgCX0NCj4g PiAgCXJldHVybjsNCj4gPiAgDQo+ID4gLWxhcmJ2ZW5jbHRlcnI6DQo+ID4gLQltdGtfc21pX2xh cmJfcHV0KHBtLT5sYXJidmVuYyk7DQo+ID4gLWxhcmJ2ZW5jZXJyOg0KPiA+ICBjbGtlcnI6DQo+ ID4gIAlmb3IgKGkgLT0gMTsgaSA+PSAwOyBpLS0pDQo+ID4gIAkJY2xrX2Rpc2FibGVfdW5wcmVw YXJlKGVuY19jbGstPmNsa19pbmZvW2ldLnZjb2RlY19jbGspOw0KPiA+IEBAIC0xMzksNyArMTEx LDYgQEAgdm9pZCBtdGtfdmNvZGVjX2VuY19jbG9ja19vZmYoc3RydWN0IG10a192Y29kZWNfcG0g KnBtKQ0KPiA+ICAJaW50IGkgPSAwOw0KPiA+ICANCj4gPiAgCW10a19zbWlfbGFyYl9wdXQocG0t PmxhcmJ2ZW5jKTsNCj4gPiAtCW10a19zbWlfbGFyYl9wdXQocG0tPmxhcmJ2ZW5jbHQpOw0KPiA+ ICAJZm9yIChpID0gZW5jX2Nsay0+Y2xrX251bSAtIDE7IGkgPj0gMDsgaS0tKQ0KPiA+ICAJCWNs a19kaXNhYmxlX3VucHJlcGFyZShlbmNfY2xrLT5jbGtfaW5mb1tpXS52Y29kZWNfY2xrKTsNCj4g PiAgfQ0KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMv bXRrX3Zjb2RlY19lbmNfcG0uaCBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9t dGtfdmNvZGVjX2VuY19wbS5oDQo+ID4gaW5kZXggYjdlY2RmZC4uYzFiNTk4NiAxMDA2NDQNCj4g PiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNf cG0uaA0KPiA+ICsrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNv ZGVjX2VuY19wbS5oDQo+ID4gQEAgLTEwLDcgKzEwLDYgQEANCj4gPiAgI2luY2x1ZGUgIm10a192 Y29kZWNfZHJ2LmgiDQo+ID4gIA0KPiA+ICBpbnQgbXRrX3Zjb2RlY19pbml0X2VuY19wbShzdHJ1 Y3QgbXRrX3Zjb2RlY19kZXYgKmRldik7DQo+ID4gLXZvaWQgbXRrX3Zjb2RlY19yZWxlYXNlX2Vu Y19wbShzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYgKmRldik7DQo+ID4gIA0KPiA+ICB2b2lkIG10a192 Y29kZWNfZW5jX2Nsb2NrX29uKHN0cnVjdCBtdGtfdmNvZGVjX3BtICpwbSk7DQo+ID4gIHZvaWQg bXRrX3Zjb2RlY19lbmNfY2xvY2tfb2ZmKHN0cnVjdCBtdGtfdmNvZGVjX3BtICpwbSk7DQo+ID4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92ZW5jL3ZlbmNf dnA4X2lmLmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmVuYy92ZW5jX3Zw OF9pZi5jDQo+ID4gaW5kZXggMTFhYmIxOS4uODI2N2E5YyAxMDA2NDQNCj4gPiAtLS0gYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmVuYy92ZW5jX3ZwOF9pZi5jDQo+ID4gKysr IGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL3ZlbmMvdmVuY192cDhfaWYuYw0K PiA+IEBAIC0zNjcsNyArMzY3LDcgQEAgc3RhdGljIGludCB2cDhfZW5jX2VuY29kZSh2b2lkICpo YW5kbGUsDQo+ID4gIA0KPiA+ICAJbXRrX3Zjb2RlY19kZWJ1Z19lbnRlcihpbnN0KTsNCj4gPiAg DQo+ID4gLQllbmFibGVfaXJxKGN0eC0+ZGV2LT5lbmNfbHRfaXJxKTsNCj4gPiArCWVuYWJsZV9p cnEoY3R4LT5kZXYtPmVuY19pcnEpOw0KPiA+ICANCj4gPiAgCXN3aXRjaCAob3B0KSB7DQo+ID4g IAljYXNlIFZFTkNfU1RBUlRfT1BUX0VOQ09ERV9GUkFNRToNCj4gPiBAQCAtMzg2LDcgKzM4Niw3 IEBAIHN0YXRpYyBpbnQgdnA4X2VuY19lbmNvZGUodm9pZCAqaGFuZGxlLA0KPiA+ICANCj4gPiAg ZW5jb2RlX2VycjoNCj4gPiAgDQo+ID4gLQlkaXNhYmxlX2lycShjdHgtPmRldi0+ZW5jX2x0X2ly cSk7DQo+ID4gKwlkaXNhYmxlX2lycShjdHgtPmRldi0+ZW5jX2lycSk7DQo+ID4gIAltdGtfdmNv ZGVjX2RlYnVnX2xlYXZlKGluc3QpOw0KPiA+ICANCj4gPiAgCXJldHVybiByZXQ7DQo+IA0KPiAN Cg0K