Received: by 2002:a25:ef43:0:0:0:0:0 with SMTP id w3csp1190016ybm; Sat, 30 May 2020 01:16:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxf0U7nznXUVSnikzRFPR59lL1zJyysEf3MyLTevqHxH8dzhyuFZLNV/hPpFwBtk9PVtgkD X-Received: by 2002:a17:906:b57:: with SMTP id v23mr10772218ejg.481.1590826589290; Sat, 30 May 2020 01:16:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1590826589; cv=none; d=google.com; s=arc-20160816; b=YRvN2mcsn6BOYbEGrk6sLJ+0A79hwzPg0yUcNCQSVKAo+C5FZATtNW789WRloh7XLT FNDbe/vDcEBond/FbQXbls5B4r9P6ANHEkxCdlQp6JGyTAhl3UBxlZW9u6M505C0FXGe FMwVaTLSk5NUTTSWhIRtJOWR2Q9YDDdtFj2sTEW9fXAPEmSAfYYk8Q1w/hFJZ+30LY5d UAuhlOFto82ErpDiTtz/f6PpK/iUreUTZ//WYDmkmHvQ8GGlFEQGpy17LGyx8xMQRv/9 soex5zTRrkiJdo5ESy2TeqFIfwkBufc4zB4/rP/rfe0/PrPte2+3SkwAYu2vqub3MAwd aqzQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=woRB42GOP9qjDXW9aHZHkmqZIGzuEYzWf3H2RFksJJY=; b=PY+56jym/XErKPg3WOK0Rb1JsR2qph0FQ8hZjnztJFlBZN4ycYZNrhKhSAiPK6PQO6 sJ6kMfNvRLSCUX8Yxt2/bSGCXQUDptCY+5rDWb17fa3JJMyfMASP125wyXn7Zkinqhgv 3fbY8ORnRWyQlKh9Ipa6J/WSEz1JrobENQMmSepAC0zqs5rnxfRUIoSToqO5RGBJCP6y Iim5nda6Jh4iXQqriTaiH5XDxJFRxYxehLoeTKqL7saAwzHHv85hV9BmU42CR9lY9Q4s Oj1O3a8lcL4Q7TDfMETEepEwfnUyM9NEY9B+9G17zlvmFsAzRc/QCEfgOottocHZx2zc GFwg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=hQvOF71K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s10si6787337ejq.400.2020.05.30.01.16.05; Sat, 30 May 2020 01:16:29 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@mediatek.com header.s=dk header.b=hQvOF71K; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=mediatek.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728971AbgE3INo (ORCPT + 99 others); Sat, 30 May 2020 04:13:44 -0400 Received: from mailgw01.mediatek.com ([210.61.82.183]:31075 "EHLO mailgw01.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725813AbgE3INm (ORCPT ); Sat, 30 May 2020 04:13:42 -0400 X-UUID: fcc0f40ed6d146219732eb893537b5e2-20200530 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=mediatek.com; s=dk; h=Content-Transfer-Encoding:Content-Type:MIME-Version:References:In-Reply-To:Message-ID:Date:Subject:CC:To:From; bh=woRB42GOP9qjDXW9aHZHkmqZIGzuEYzWf3H2RFksJJY=; b=hQvOF71KXtm/CmjBImRG1nVFHB06DXipezYG+0o9vKRDfe3jh1adNasnLH8HLy0PVGJoHpCa4ki6dKsIoT5xcDipqsKn8h05h47zY8Jg+TNfoaPsRDDVbK6bh4l+CqsQJ/DwUtFZ4AuEoUGUBfFL9x2uftcEzRHNjl7UB02IftA=; X-UUID: fcc0f40ed6d146219732eb893537b5e2-20200530 Received: from mtkcas07.mediatek.inc [(172.21.101.84)] by mailgw01.mediatek.com (envelope-from ) (Cellopoint E-mail Firewall v4.1.10 Build 0809 with TLS) with ESMTP id 1856444204; Sat, 30 May 2020 16:13:34 +0800 Received: from mtkcas07.mediatek.inc (172.21.101.84) by mtkmbs07n1.mediatek.inc (172.21.101.16) with Microsoft SMTP Server (TLS) id 15.0.1497.2; Sat, 30 May 2020 16:13:31 +0800 Received: from localhost.localdomain (10.17.3.153) by mtkcas07.mediatek.inc (172.21.101.73) with Microsoft SMTP Server id 15.0.1497.2 via Frontend Transport; Sat, 30 May 2020 16:13:31 +0800 From: Yong Wu To: Matthias Brugger , Joerg Roedel , Rob Herring CC: Evan Green , Robin Murphy , Tomasz Figa , Will Deacon , , , , , , , , , Nicolas Boichat , Matthias Kaehlcke , , , , , , , Maoguang Meng , Hsin-Yi Wang , Irui Wang Subject: [PATCH v4 08/17] media: mtk-vcodec: separate mtk-vcodec-enc node. Date: Sat, 30 May 2020 16:10:09 +0800 Message-ID: <1590826218-23653-9-git-send-email-yong.wu@mediatek.com> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1590826218-23653-1-git-send-email-yong.wu@mediatek.com> References: <1590826218-23653-1-git-send-email-yong.wu@mediatek.com> MIME-Version: 1.0 Content-Type: text/plain 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 RnJvbTogTWFvZ3VhbmcgTWVuZyA8bWFvZ3VhbmcubWVuZ0BtZWRpYXRlay5jb20+DQoNCk1USyBI MjY0IEVuY29kZXIoVkVOQ19TWVMpIGFuZCBWUDggRW5jb2RlcihWRU5DX0xUX1NZUykgYXJlIHR3 bw0KaW5kZXBlbmRlbnQgaGFyZHdhcmUgaW5zdGFuY2UuIFRoZXkgaGF2ZSB0aGVpciBvd25lciBp bnRlcnJ1cHQsDQpyZWdpc3RlciBtYXBwaW5nLCBhbmQgc3BlY2lhbCBjbG9ja3MuDQoNClRoaXMg cGF0Y2ggc2VwZXJhdGVzIHRoZSB0d28gaW5zdGFuY2UuIFRoaXMgaXMgYSBwcmVwYXJpbmcgcGF0 Y2ggZm9yDQphZGRpbmcgZGV2aWNlX2xpbmsgYmV0d2VlbiB0aGUgbGFyYnMgYW5kIHZlbmMtZGV2 aWNlLiBJdCdzIG1haW5seSBmb3INCmZpeGluZyB0aGUgcHJvYmxlbToNCmh0dHBzOi8vbGttbC5v cmcvbGttbC8yMDE5LzkvMy8zMTYNCg0KVXNlciBDYWxsICJWSURJT0NfUVVFUllDQVAiOg0KSDI2 NCBFbmNvZGVyIHJldHVybiBkcml2ZXIgbmFtZSAibXRrLXZjb2RlYy1lbmMiOw0KVlA4IEVuY29k ZXIgcmV0dXJuIGRyaXZlciBuYW1lICJtdGstdmVuYy12cDguDQoNClNpZ25lZC1vZmYtYnk6IE1h b2d1YW5nIE1lbmcgPG1hb2d1YW5nLm1lbmdAbWVkaWF0ZWsuY29tPg0KU2lnbmVkLW9mZi1ieTog SHNpbi1ZaSBXYW5nIDxoc2lueWlAY2hyb21pdW0ub3JnPg0KU2lnbmVkLW9mZi1ieTogSXJ1aSBX YW5nIDxpcnVpLndhbmdAbWVkaWF0ZWsuY29tPg0KLS0tDQogZHJpdmVycy9tZWRpYS9wbGF0Zm9y bS9tdGstdmNvZGVjL210a192Y29kZWNfZHJ2LmggfCAgMTAgKy0NCiBkcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmMuYyB8ICAyMyArKystDQogLi4uL21lZGlh L3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMgfCAxMjcgKysrKysrKysr LS0tLS0tLS0tLS0tDQogLi4uL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19l bmNfcG0uYyAgfCAgMzEgKy0tLS0NCiAuLi4vbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtf dmNvZGVjX2VuY19wbS5oICB8ICAgMSAtDQogLi4uL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMv dmVuYy92ZW5jX3ZwOF9pZi5jICAgfCAgIDQgKy0NCiA2IGZpbGVzIGNoYW5nZWQsIDgwIGluc2Vy dGlvbnMoKyksIDExNiBkZWxldGlvbnMoLSkNCg0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2Rydi5oIGIvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZHJ2LmgNCmluZGV4IGEyNzE2MTE3Li41MmQxY2Ux IDEwMDY0NA0KLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29k ZWNfZHJ2LmgNCisrKyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNv ZGVjX2Rydi5oDQpAQCAtMTksNiArMTksNyBAQA0KICNkZWZpbmUgTVRLX1ZDT0RFQ19EUlZfTkFN RQkibXRrX3Zjb2RlY19kcnYiDQogI2RlZmluZSBNVEtfVkNPREVDX0RFQ19OQU1FCSJtdGstdmNv ZGVjLWRlYyINCiAjZGVmaW5lIE1US19WQ09ERUNfRU5DX05BTUUJIm10ay12Y29kZWMtZW5jIg0K KyNkZWZpbmUgTVRLX1ZFTkNfVlA4X05BTUUJIm10ay12ZW5jLXZwOCINCiAjZGVmaW5lIE1US19Q TEFURk9STV9TVFIJInBsYXRmb3JtOm10ODE3MyINCiANCiAjZGVmaW5lIE1US19WQ09ERUNfTUFY X1BMQU5FUwkzDQpAQCAtMTkzLDcgKzE5NCw2IEBAIHN0cnVjdCBtdGtfdmNvZGVjX3BtIHsNCiAN CiAJc3RydWN0IG10a192Y29kZWNfY2xrCXZlbmNfY2xrOw0KIAlzdHJ1Y3QgZGV2aWNlCSpsYXJi dmVuYzsNCi0Jc3RydWN0IGRldmljZQkqbGFyYnZlbmNsdDsNCiAJc3RydWN0IGRldmljZQkqZGV2 Ow0KIAlzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYJKm10a2RldjsNCiB9Ow0KQEAgLTMxMSwyNSArMzEx LDI3IEBAIGVudW0gbXRrX2NoaXAgew0KICAqIEBjaGlwOiBjaGlwIHRoaXMgZW5jb2RlciBpcyBj b21wYXRpYmxlIHdpdGgNCiAgKg0KICAqIEB1c2VzX2V4dDogd2hldGhlciB0aGUgZW5jb2RlciB1 c2VzIHRoZSBleHRlbmRlZCBmaXJtd2FyZSBtZXNzYWdpbmcgZm9ybWF0DQotICogQGhhc19sdF9p cnE6IHdoZXRoZXIgdGhlIGVuY29kZXIgdXNlcyB0aGUgTFQgaXJxDQorICogQG5hbWU6IHdoZXRo ZXIgdGhlIGVuY29kZXIgY29yZSBpcyB2cDgNCiAgKiBAbWluX2JpcmF0ZTogbWluaW11bSBzdXBw b3J0ZWQgZW5jb2RpbmcgYml0cmF0ZQ0KICAqIEBtYXhfYml0cmF0ZTogbWF4aW11bSBzdXBwb3J0 ZWQgZW5jb2RpbmcgYml0cmF0ZQ0KICAqIEBjYXB0dXJlX2Zvcm1hdHM6IGFycmF5IG9mIHN1cHBv cnRlZCBjYXB0dXJlIGZvcm1hdHMNCiAgKiBAbnVtX2NhcHR1cmVfZm9ybWF0czogbnVtYmVyIG9m IGVudHJpZXMgaW4gY2FwdHVyZV9mb3JtYXRzDQogICogQG91dHB1dF9mb3JtYXRzOiBhcnJheSBv ZiBzdXBwb3J0ZWQgb3V0cHV0IGZvcm1hdHMNCiAgKiBAbnVtX291dHB1dF9mb3JtYXRzOiBudW1i ZXIgb2YgZW50cmllcyBpbiBvdXRwdXRfZm9ybWF0cw0KKyAqIEBjb3JlX2lkOiBzdGFuZCBmb3Ig aDI2NCBvciB2cDggZW5jb2RlIGluZGV4DQogICovDQogc3RydWN0IG10a192Y29kZWNfZW5jX3Bk YXRhIHsNCiAJZW51bSBtdGtfY2hpcCBjaGlwOw0KIA0KIAlib29sIHVzZXNfZXh0Ow0KLQlib29s IGhhc19sdF9pcnE7DQorCWNvbnN0IGNoYXIgKm5hbWU7DQogCXVuc2lnbmVkIGxvbmcgbWluX2Jp dHJhdGU7DQogCXVuc2lnbmVkIGxvbmcgbWF4X2JpdHJhdGU7DQogCWNvbnN0IHN0cnVjdCBtdGtf dmlkZW9fZm10ICpjYXB0dXJlX2Zvcm1hdHM7DQogCXNpemVfdCBudW1fY2FwdHVyZV9mb3JtYXRz Ow0KIAljb25zdCBzdHJ1Y3QgbXRrX3ZpZGVvX2ZtdCAqb3V0cHV0X2Zvcm1hdHM7DQogCXNpemVf dCBudW1fb3V0cHV0X2Zvcm1hdHM7DQorCWludCBjb3JlX2lkOw0KIH07DQogDQogLyoqDQpAQCAt MzU5LDcgKzM2MSw2IEBAIHN0cnVjdCBtdGtfdmNvZGVjX2VuY19wZGF0YSB7DQogICoNCiAgKiBA ZGVjX2lycTogZGVjb2RlciBpcnEgcmVzb3VyY2UNCiAgKiBAZW5jX2lycTogaDI2NCBlbmNvZGVy IGlycSByZXNvdXJjZQ0KLSAqIEBlbmNfbHRfaXJxOiB2cDggZW5jb2RlciBpcnEgcmVzb3VyY2UN CiAgKg0KICAqIEBkZWNfbXV0ZXg6IGRlY29kZXIgaGFyZHdhcmUgbG9jaw0KICAqIEBlbmNfbXV0 ZXg6IGVuY29kZXIgaGFyZHdhcmUgbG9jay4NCkBAIC0zOTUsNyArMzk2LDYgQEAgc3RydWN0IG10 a192Y29kZWNfZGV2IHsNCiANCiAJaW50IGRlY19pcnE7DQogCWludCBlbmNfaXJxOw0KLQlpbnQg ZW5jX2x0X2lycTsNCiANCiAJc3RydWN0IG11dGV4IGRlY19tdXRleDsNCiAJc3RydWN0IG11dGV4 IGVuY19tdXRleDsNCmRpZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29k ZWMvbXRrX3Zjb2RlY19lbmMuYyBiL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9t dGtfdmNvZGVjX2VuYy5jDQppbmRleCBmMGFmNzhmLi41MzAxZGNhIDEwMDY0NA0KLS0tIGEvZHJp dmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jLmMNCisrKyBiL2Ry aXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuYy5jDQpAQCAtOSw2 ICs5LDcgQEANCiAjaW5jbHVkZSA8bWVkaWEvdjRsMi1tZW0ybWVtLmg+DQogI2luY2x1ZGUgPG1l ZGlhL3ZpZGVvYnVmMi1kbWEtY29udGlnLmg+DQogI2luY2x1ZGUgPHNvYy9tZWRpYXRlay9zbWku aD4NCisjaW5jbHVkZSA8bGludXgvcG1fcnVudGltZS5oPg0KIA0KICNpbmNsdWRlICJtdGtfdmNv ZGVjX2Rydi5oIg0KICNpbmNsdWRlICJtdGtfdmNvZGVjX2VuYy5oIg0KQEAgLTE3NCw3ICsxNzUs MTAgQEAgc3RhdGljIGludCB2aWRpb2NfZW51bV9mbXRfdmlkX291dChzdHJ1Y3QgZmlsZSAqZmls ZSwgdm9pZCAqcHJpdiwNCiBzdGF0aWMgaW50IHZpZGlvY192ZW5jX3F1ZXJ5Y2FwKHN0cnVjdCBm aWxlICpmaWxlLCB2b2lkICpwcml2LA0KIAkJCQlzdHJ1Y3QgdjRsMl9jYXBhYmlsaXR5ICpjYXAp DQogew0KLQlzdHJzY3B5KGNhcC0+ZHJpdmVyLCBNVEtfVkNPREVDX0VOQ19OQU1FLCBzaXplb2Yo Y2FwLT5kcml2ZXIpKTsNCisJY29uc3Qgc3RydWN0IG10a192Y29kZWNfZW5jX3BkYXRhICpwZGF0 YSA9DQorCQlmaF90b19jdHgocHJpdiktPmRldi0+dmVuY19wZGF0YTsNCisNCisJc3Ryc2NweShj YXAtPmRyaXZlciwgcGRhdGEtPm5hbWUsIHNpemVvZihjYXAtPmRyaXZlcikpOw0KIAlzdHJzY3B5 KGNhcC0+YnVzX2luZm8sIE1US19QTEFURk9STV9TVFIsIHNpemVvZihjYXAtPmJ1c19pbmZvKSk7 DQogCXN0cnNjcHkoY2FwLT5jYXJkLCBNVEtfUExBVEZPUk1fU1RSLCBzaXplb2YoY2FwLT5jYXJk KSk7DQogDQpAQCAtNzg4LDcgKzc5Miw3IEBAIHN0YXRpYyBpbnQgdmIyb3BzX3ZlbmNfc3RhcnRf c3RyZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnEsIHVuc2lnbmVkIGludCBjb3VudCkNCiAJICAq Lw0KIAlpZiAoKGN0eC0+c3RhdGUgPT0gTVRLX1NUQVRFX0FCT1JUKSB8fCAoY3R4LT5zdGF0ZSA9 PSBNVEtfU1RBVEVfRlJFRSkpIHsNCiAJCXJldCA9IC1FSU87DQotCQlnb3RvIGVycl9zZXRfcGFy YW07DQorCQlnb3RvIGVycl9zdGFydF9zdHJlYW07DQogCX0NCiANCiAJLyogRG8gdGhlIGluaXRp YWxpemF0aW9uIHdoZW4gYm90aCBzdGFydF9zdHJlYW1pbmcgaGF2ZSBiZWVuIGNhbGxlZCAqLw0K QEAgLTgwMCw2ICs4MDQsMTIgQEAgc3RhdGljIGludCB2YjJvcHNfdmVuY19zdGFydF9zdHJlYW1p bmcoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IGNvdW50KQ0KIAkJCXJldHVybiAw Ow0KIAl9DQogDQorCXJldCA9IHBtX3J1bnRpbWVfZ2V0X3N5bmMoJmN0eC0+ZGV2LT5wbGF0X2Rl di0+ZGV2KTsNCisJaWYgKHJldCA8IDApIHsNCisJCW10a192NGwyX2VycigicG1fcnVudGltZV9n ZXRfc3luYyBmYWlsICVkIiwgcmV0KTsNCisJCWdvdG8gZXJyX3N0YXJ0X3N0cmVhbTsNCisJfQ0K Kw0KIAltdGtfdmVuY19zZXRfcGFyYW0oY3R4LCAmcGFyYW0pOw0KIAlyZXQgPSB2ZW5jX2lmX3Nl dF9wYXJhbShjdHgsIFZFTkNfU0VUX1BBUkFNX0VOQywgJnBhcmFtKTsNCiAJaWYgKHJldCkgew0K QEAgLTgyNiw2ICs4MzYsMTEgQEAgc3RhdGljIGludCB2YjJvcHNfdmVuY19zdGFydF9zdHJlYW1p bmcoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5zaWduZWQgaW50IGNvdW50KQ0KIAlyZXR1cm4gMDsN CiANCiBlcnJfc2V0X3BhcmFtOg0KKwlyZXQgPSBwbV9ydW50aW1lX3B1dCgmY3R4LT5kZXYtPnBs YXRfZGV2LT5kZXYpOw0KKwlpZiAocmV0IDwgMCkNCisJCW10a192NGwyX2VycigicG1fcnVudGlt ZV9wdXQgZmFpbCAlZCIsIHJldCk7DQorDQorZXJyX3N0YXJ0X3N0cmVhbToNCiAJZm9yIChpID0g MDsgaSA8IHEtPm51bV9idWZmZXJzOyArK2kpIHsNCiAJCXN0cnVjdCB2YjJfYnVmZmVyICpidWYg PSB2YjJfZ2V0X2J1ZmZlcihxLCBpKTsNCiANCkBAIC04NzksNiArODk0LDEwIEBAIHN0YXRpYyB2 b2lkIHZiMm9wc192ZW5jX3N0b3Bfc3RyZWFtaW5nKHN0cnVjdCB2YjJfcXVldWUgKnEpDQogCWlm IChyZXQpDQogCQltdGtfdjRsMl9lcnIoInZlbmNfaWZfZGVpbml0IGZhaWxlZD0lZCIsIHJldCk7 DQogDQorCXJldCA9IHBtX3J1bnRpbWVfcHV0KCZjdHgtPmRldi0+cGxhdF9kZXYtPmRldik7DQor CWlmIChyZXQgPCAwKQ0KKwkJbXRrX3Y0bDJfZXJyKCJwbV9ydW50aW1lX3B1dCBmYWlsICVkIiwg cmV0KTsNCisNCiAJY3R4LT5zdGF0ZSA9IE1US19TVEFURV9GUkVFOw0KIH0NCiANCmRpZmYgLS1n aXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2 LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2 LmMNCmluZGV4IGI4ZmU0MDguLmZlMTdmMGMgMTAwNjQ0DQotLS0gYS9kcml2ZXJzL21lZGlhL3Bs YXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfZHJ2LmMNCisrKyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19kcnYuYw0KQEAgLTQ5LDEyICs0 OSwxNSBAQA0KIAl9LA0KIH07DQogDQotc3RhdGljIGNvbnN0IHN0cnVjdCBtdGtfdmlkZW9fZm10 IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTczW10gPSAgew0KK3N0YXRpYyBjb25zdCBz dHJ1Y3QgbXRrX3ZpZGVvX2ZtdCBtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE3M19oMjY0 W10gPSAgew0KIAl7DQogCQkuZm91cmNjID0gVjRMMl9QSVhfRk1UX0gyNjQsDQogCQkudHlwZSA9 IE1US19GTVRfRU5DLA0KIAkJLm51bV9wbGFuZXMgPSAxLA0KIAl9LA0KK307DQorDQorc3RhdGlj IGNvbnN0IHN0cnVjdCBtdGtfdmlkZW9fZm10IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4 MTczX3ZwOFtdID0gIHsNCiAJew0KIAkJLmZvdXJjYyA9IFY0TDJfUElYX0ZNVF9WUDgsDQogCQku dHlwZSA9IE1US19GTVRfRU5DLA0KQEAgLTExMCwzNSArMTEzLDEzIEBAIHN0YXRpYyBpcnFyZXR1 cm5fdCBtdGtfdmNvZGVjX2VuY19pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICpwcml2KQ0KIAlj dHggPSBkZXYtPmN1cnJfY3R4Ow0KIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYtPmlycWxv Y2ssIGZsYWdzKTsNCiANCi0JbXRrX3Y0bDJfZGVidWcoMSwgImlkPSVkIiwgY3R4LT5pZCk7DQot CWFkZHIgPSBkZXYtPnJlZ19iYXNlW1ZFTkNfU1lTXSArIE1US19WRU5DX0lSUV9BQ0tfT0ZGU0VU Ow0KLQ0KLQljdHgtPmlycV9zdGF0dXMgPSByZWFkbChkZXYtPnJlZ19iYXNlW1ZFTkNfU1lTXSAr DQotCQkJCShNVEtfVkVOQ19JUlFfU1RBVFVTX09GRlNFVCkpOw0KLQ0KLQljbGVhbl9pcnFfc3Rh dHVzKGN0eC0+aXJxX3N0YXR1cywgYWRkcik7DQotDQotCXdha2VfdXBfY3R4KGN0eCwgTVRLX0lO U1RfSVJRX1JFQ0VJVkVEKTsNCi0JcmV0dXJuIElSUV9IQU5ETEVEOw0KLX0NCi0NCi1zdGF0aWMg aXJxcmV0dXJuX3QgbXRrX3Zjb2RlY19lbmNfbHRfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAq cHJpdikNCi17DQotCXN0cnVjdCBtdGtfdmNvZGVjX2RldiAqZGV2ID0gcHJpdjsNCi0Jc3RydWN0 IG10a192Y29kZWNfY3R4ICpjdHg7DQotCXVuc2lnbmVkIGxvbmcgZmxhZ3M7DQotCXZvaWQgX19p b21lbSAqYWRkcjsNCi0NCi0Jc3Bpbl9sb2NrX2lycXNhdmUoJmRldi0+aXJxbG9jaywgZmxhZ3Mp Ow0KLQljdHggPSBkZXYtPmN1cnJfY3R4Ow0KLQlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXYt PmlycWxvY2ssIGZsYWdzKTsNCisJbXRrX3Y0bDJfZGVidWcoMSwgImlkPSVkIGNvcmVpZDolZCIs IGN0eC0+aWQsIGRldi0+dmVuY19wZGF0YS0+Y29yZV9pZCk7DQorCWFkZHIgPSBkZXYtPnJlZ19i YXNlW2Rldi0+dmVuY19wZGF0YS0+Y29yZV9pZF0gKw0KKwkJCQlNVEtfVkVOQ19JUlFfQUNLX09G RlNFVDsNCiANCi0JbXRrX3Y0bDJfZGVidWcoMSwgImlkPSVkIiwgY3R4LT5pZCk7DQotCWN0eC0+ aXJxX3N0YXR1cyA9IHJlYWRsKGRldi0+cmVnX2Jhc2VbVkVOQ19MVF9TWVNdICsNCisJY3R4LT5p cnFfc3RhdHVzID0gcmVhZGwoZGV2LT5yZWdfYmFzZVtkZXYtPnZlbmNfcGRhdGEtPmNvcmVfaWRd ICsNCiAJCQkJKE1US19WRU5DX0lSUV9TVEFUVVNfT0ZGU0VUKSk7DQogDQotCWFkZHIgPSBkZXYt PnJlZ19iYXNlW1ZFTkNfTFRfU1lTXSArIE1US19WRU5DX0lSUV9BQ0tfT0ZGU0VUOw0KLQ0KIAlj bGVhbl9pcnFfc3RhdHVzKGN0eC0+aXJxX3N0YXR1cywgYWRkcik7DQogDQogCXdha2VfdXBfY3R4 KGN0eCwgTVRLX0lOU1RfSVJRX1JFQ0VJVkVEKTsNCkBAIC0yNjUsNyArMjQ2LDggQEAgc3RhdGlj IGludCBtdGtfdmNvZGVjX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCXN0 cnVjdCByZXNvdXJjZSAqcmVzOw0KIAlwaGFuZGxlIHJwcm9jX3BoYW5kbGU7DQogCWVudW0gbXRr X3Zjb2RlY19md190eXBlIGZ3X3R5cGU7DQotCWludCBpLCBqLCByZXQ7DQorCWludCByZXQ7DQor CXZvaWQgX19pb21lbSAqcmVnX2Jhc2U7DQogDQogCWRldiA9IGRldm1fa3phbGxvYygmcGRldi0+ ZGV2LCBzaXplb2YoKmRldiksIEdGUF9LRVJORUwpOw0KIAlpZiAoIWRldikNCkBAIC0yOTEsNjMg KzI3MywzOSBAQCBzdGF0aWMgaW50IG10a192Y29kZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikNCiAJZGV2LT52ZW5jX3BkYXRhID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9kYXRh KCZwZGV2LT5kZXYpOw0KIAlyZXQgPSBtdGtfdmNvZGVjX2luaXRfZW5jX3BtKGRldik7DQogCWlm IChyZXQgPCAwKSB7DQotCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWlsZWQgdG8gZ2V0IG10IHZj b2RlYyBjbG9jayBzb3VyY2UhIik7DQorCQlkZXZfZXJyKCZwZGV2LT5kZXYsICJGYWlsZWQgdG8g Z2V0IG10ayB2Y29kZWMgY2xvY2sgc291cmNlISIpOw0KIAkJZ290byBlcnJfZW5jX3BtOw0KIAl9 DQogDQotCWZvciAoaSA9IFZFTkNfU1lTLCBqID0gMDsgaSA8IE5VTV9NQVhfVkNPREVDX1JFR19C QVNFOyBpKyssIGorKykgew0KLQkJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElP UkVTT1VSQ0VfTUVNLCBqKTsNCi0JCWRldi0+cmVnX2Jhc2VbaV0gPSBkZXZtX2lvcmVtYXBfcmVz b3VyY2UoJnBkZXYtPmRldiwgcmVzKTsNCi0JCWlmIChJU19FUlIoKF9fZm9yY2Ugdm9pZCAqKWRl di0+cmVnX2Jhc2VbaV0pKSB7DQotCQkJcmV0ID0gUFRSX0VSUigoX19mb3JjZSB2b2lkICopZGV2 LT5yZWdfYmFzZVtpXSk7DQotCQkJZ290byBlcnJfcmVzOw0KLQkJfQ0KLQkJbXRrX3Y0bDJfZGVi dWcoMiwgInJlZ1slZF0gYmFzZT0weCVwIiwgaSwgZGV2LT5yZWdfYmFzZVtpXSk7DQotCX0NCisJ cG1fcnVudGltZV9lbmFibGUoJnBkZXYtPmRldik7DQorDQorCXNucHJpbnRmKGRldi0+djRsMl9k ZXYubmFtZSwgc2l6ZW9mKGRldi0+djRsMl9kZXYubmFtZSksICIlcyIsDQorCQkgZGV2LT52ZW5j X3BkYXRhLT5uYW1lKTsNCiANCi0JcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElP UkVTT1VSQ0VfSVJRLCAwKTsNCi0JaWYgKHJlcyA9PSBOVUxMKSB7DQotCQlkZXZfZXJyKCZwZGV2 LT5kZXYsICJmYWlsZWQgdG8gZ2V0IGlycSByZXNvdXJjZSIpOw0KLQkJcmV0ID0gLUVOT0VOVDsN CisJcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlKHBkZXYsIElPUkVTT1VSQ0VfTUVNLCAwKTsN CisJcmVnX2Jhc2UgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2UoJnBkZXYtPmRldiwgcmVzKTsNCisJ aWYgKElTX0VSUigoX19mb3JjZSB2b2lkICopcmVnX2Jhc2UpKSB7DQorCQlyZXQgPSBQVFJfRVJS KChfX2ZvcmNlIHZvaWQgKilyZWdfYmFzZSk7DQogCQlnb3RvIGVycl9yZXM7DQogCX0NCisJZGV2 LT5yZWdfYmFzZVtkZXYtPnZlbmNfcGRhdGEtPmNvcmVfaWRdID0gcmVnX2Jhc2U7DQogDQogCWRl di0+ZW5jX2lycSA9IHBsYXRmb3JtX2dldF9pcnEocGRldiwgMCk7DQogCXJldCA9IGRldm1fcmVx dWVzdF9pcnEoJnBkZXYtPmRldiwgZGV2LT5lbmNfaXJxLA0KIAkJCSAgICAgICBtdGtfdmNvZGVj X2VuY19pcnFfaGFuZGxlciwNCiAJCQkgICAgICAgMCwgcGRldi0+bmFtZSwgZGV2KTsNCiAJaWYg KHJldCkgew0KLQkJZGV2X2VycigmcGRldi0+ZGV2LCAiRmFpbGVkIHRvIGluc3RhbGwgZGV2LT5l bmNfaXJxICVkICglZCkiLA0KLQkJCWRldi0+ZW5jX2lycSwNCi0JCQlyZXQpOw0KKwkJZGV2X2Vy cigmcGRldi0+ZGV2LA0KKwkJCSJGYWlsZWQgdG8gaW5zdGFsbCBkZXYtPmVuY19pcnEgJWQgKCVk KSBjb3JlX2lkOiVkIiwNCisJCQlkZXYtPmVuY19pcnEsIHJldCwgZGV2LT52ZW5jX3BkYXRhLT5j b3JlX2lkKTsNCiAJCXJldCA9IC1FSU5WQUw7DQogCQlnb3RvIGVycl9yZXM7DQogCX0NCiAJZGlz YWJsZV9pcnEoZGV2LT5lbmNfaXJxKTsNCiANCi0JaWYgKGRldi0+dmVuY19wZGF0YS0+aGFzX2x0 X2lycSkgew0KLQkJZGV2LT5lbmNfbHRfaXJxID0gcGxhdGZvcm1fZ2V0X2lycShwZGV2LCAxKTsN Ci0JCXJldCA9IGRldm1fcmVxdWVzdF9pcnEoJnBkZXYtPmRldiwNCi0JCQkJICAgICAgIGRldi0+ ZW5jX2x0X2lycSwNCi0JCQkJICAgICAgIG10a192Y29kZWNfZW5jX2x0X2lycV9oYW5kbGVyLA0K LQkJCQkgICAgICAgMCwgcGRldi0+bmFtZSwgZGV2KTsNCi0JCWlmIChyZXQpIHsNCi0JCQlkZXZf ZXJyKCZwZGV2LT5kZXYsDQotCQkJCSJGYWlsZWQgdG8gaW5zdGFsbCBkZXYtPmVuY19sdF9pcnEg JWQgKCVkKSIsDQotCQkJCWRldi0+ZW5jX2x0X2lycSwgcmV0KTsNCi0JCQlyZXQgPSAtRUlOVkFM Ow0KLQkJCWdvdG8gZXJyX3JlczsNCi0JCX0NCi0JCWRpc2FibGVfaXJxKGRldi0+ZW5jX2x0X2ly cSk7IC8qIFZFTkNfTFQgKi8NCi0JfQ0KLQ0KIAltdXRleF9pbml0KCZkZXYtPmVuY19tdXRleCk7 DQogCW11dGV4X2luaXQoJmRldi0+ZGV2X211dGV4KTsNCiAJc3Bpbl9sb2NrX2luaXQoJmRldi0+ aXJxbG9jayk7DQotDQotCXNucHJpbnRmKGRldi0+djRsMl9kZXYubmFtZSwgc2l6ZW9mKGRldi0+ djRsMl9kZXYubmFtZSksICIlcyIsDQotCQkgIltNVEtfVjRMMl9WRU5DXSIpOw0KLQ0KIAlyZXQg PSB2NGwyX2RldmljZV9yZWdpc3RlcigmcGRldi0+ZGV2LCAmZGV2LT52NGwyX2Rldik7DQogCWlm IChyZXQpIHsNCiAJCW10a192NGwyX2VycigidjRsMl9kZXZpY2VfcmVnaXN0ZXIgZXJyPSVkIiwg cmV0KTsNCkBAIC0zNzMsNyArMzMxLDcgQEAgc3RhdGljIGludCBtdGtfdmNvZGVjX3Byb2JlKHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpDQogCQkJCQlWNEwyX0NBUF9TVFJFQU1JTkc7DQog DQogCXNucHJpbnRmKHZmZF9lbmMtPm5hbWUsIHNpemVvZih2ZmRfZW5jLT5uYW1lKSwgIiVzIiwN Ci0JCSBNVEtfVkNPREVDX0VOQ19OQU1FKTsNCisJCQlkZXYtPnZlbmNfcGRhdGEtPm5hbWUpOw0K IAl2aWRlb19zZXRfZHJ2ZGF0YSh2ZmRfZW5jLCBkZXYpOw0KIAlkZXYtPnZmZF9lbmMgPSB2ZmRf ZW5jOw0KIAlwbGF0Zm9ybV9zZXRfZHJ2ZGF0YShwZGV2LCBkZXYpOw0KQEAgLTQwMSw4ICszNTks OCBAQCBzdGF0aWMgaW50IG10a192Y29kZWNfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikNCiAJCWdvdG8gZXJyX2VuY19yZWc7DQogCX0NCiANCi0JbXRrX3Y0bDJfZGVidWcoMCwg ImVuY29kZXIgcmVnaXN0ZXJlZCBhcyAvZGV2L3ZpZGVvJWQiLA0KLQkJCXZmZF9lbmMtPm51bSk7 DQorCW10a192NGwyX2RlYnVnKDAsICJlbmNvZGVyICVkIHJlZ2lzdGVyZWQgYXMgL2Rldi92aWRl byVkIiwNCisJCSAgICAgICBkZXYtPnZlbmNfcGRhdGEtPmNvcmVfaWQsIHZmZF9lbmMtPm51bSk7 DQogDQogCXJldHVybiAwOw0KIA0KQEAgLTQxNSwyNiArMzczLDM5IEBAIHN0YXRpYyBpbnQgbXRr X3Zjb2RlY19wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQ0KIGVycl9lbmNfYWxs b2M6DQogCXY0bDJfZGV2aWNlX3VucmVnaXN0ZXIoJmRldi0+djRsMl9kZXYpOw0KIGVycl9yZXM6 DQotCW10a192Y29kZWNfcmVsZWFzZV9lbmNfcG0oZGV2KTsNCisJcG1fcnVudGltZV9kaXNhYmxl KCZwZGV2LT5kZXYpOw0KIGVycl9lbmNfcG06DQogCW10a192Y29kZWNfZndfcmVsZWFzZShkZXYt PmZ3X2hhbmRsZXIpOw0KIAlyZXR1cm4gcmV0Ow0KIH0NCiANCi1zdGF0aWMgY29uc3Qgc3RydWN0 IG10a192Y29kZWNfZW5jX3BkYXRhIG10ODE3M19wZGF0YSA9IHsNCitzdGF0aWMgY29uc3Qgc3Ry dWN0IG10a192Y29kZWNfZW5jX3BkYXRhIG10ODE3M19hdmNfcGRhdGEgPSB7DQorCS5jaGlwID0g TVRLX01UODE3MywNCisJLm5hbWUgPSBNVEtfVkNPREVDX0VOQ19OQU1FLA0KKwkuY2FwdHVyZV9m b3JtYXRzID0gbXRrX3ZpZGVvX2Zvcm1hdHNfY2FwdHVyZV9tdDgxNzNfaDI2NCwNCisJLm51bV9j YXB0dXJlX2Zvcm1hdHMgPSAxLA0KKwkub3V0cHV0X2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0 c19vdXRwdXRfbXQ4MTczLA0KKwkubnVtX291dHB1dF9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtf dmlkZW9fZm9ybWF0c19vdXRwdXRfbXQ4MTczKSwNCisJLm1pbl9iaXRyYXRlID0gMSwNCisJLm1h eF9iaXRyYXRlID0gNDAwMDAwMCwNCisJLmNvcmVfaWQgPSBWRU5DX1NZUywNCit9Ow0KKw0KK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3Zjb2RlY19lbmNfcGRhdGEgbXQ4MTczX3ZwOF9wZGF0YSA9 IHsNCiAJLmNoaXAgPSBNVEtfTVQ4MTczLA0KLQkuaGFzX2x0X2lycSA9IHRydWUsDQotCS5jYXB0 dXJlX2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0c19jYXB0dXJlX210ODE3MywNCi0JLm51bV9j YXB0dXJlX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4 MTczKSwNCisJLm5hbWUgPSBNVEtfVkVOQ19WUDhfTkFNRSwNCisJLmNhcHR1cmVfZm9ybWF0cyA9 IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTczX3ZwOCwNCisJLm51bV9jYXB0dXJlX2Zv cm1hdHMgPSAxLA0KIAkub3V0cHV0X2Zvcm1hdHMgPSBtdGtfdmlkZW9fZm9ybWF0c19vdXRwdXRf bXQ4MTczLA0KIAkubnVtX291dHB1dF9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtfdmlkZW9fZm9y bWF0c19vdXRwdXRfbXQ4MTczKSwNCiAJLm1pbl9iaXRyYXRlID0gMSwNCiAJLm1heF9iaXRyYXRl ID0gNDAwMDAwMCwNCisJLmNvcmVfaWQgPSBWRU5DX0xUX1NZUywNCiB9Ow0KIA0KIHN0YXRpYyBj b25zdCBzdHJ1Y3QgbXRrX3Zjb2RlY19lbmNfcGRhdGEgbXQ4MTgzX3BkYXRhID0gew0KIAkuY2hp cCA9IE1US19NVDgxODMsDQotCS5oYXNfbHRfaXJxID0gZmFsc2UsDQorCS5uYW1lID0gTVRLX1ZD T0RFQ19FTkNfTkFNRSwNCiAJLnVzZXNfZXh0ID0gdHJ1ZSwNCiAJLmNhcHR1cmVfZm9ybWF0cyA9 IG10a192aWRlb19mb3JtYXRzX2NhcHR1cmVfbXQ4MTgzLA0KIAkubnVtX2NhcHR1cmVfZm9ybWF0 cyA9IEFSUkFZX1NJWkUobXRrX3ZpZGVvX2Zvcm1hdHNfY2FwdHVyZV9tdDgxODMpLA0KQEAgLTQ0 MywxMCArNDE0LDE0IEBAIHN0YXRpYyBpbnQgbXRrX3Zjb2RlY19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQ0KIAkubnVtX291dHB1dF9mb3JtYXRzID0gQVJSQVlfU0laRShtdGtf dmlkZW9fZm9ybWF0c19vdXRwdXRfbXQ4MTczKSwNCiAJLm1pbl9iaXRyYXRlID0gNjQsDQogCS5t YXhfYml0cmF0ZSA9IDQwMDAwMDAwLA0KKwkuY29yZV9pZCA9IFZFTkNfU1lTLA0KIH07DQogDQog c3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX3Zjb2RlY19lbmNfbWF0Y2hbXSA9 IHsNCi0Jey5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My12Y29kZWMtZW5jIiwgLmRhdGEg PSAmbXQ4MTczX3BkYXRhfSwNCisJey5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE3My12Y29k ZWMtYXZjLWVuYyIsDQorCQkJLmRhdGEgPSAmbXQ4MTczX2F2Y19wZGF0YX0sDQorCXsuY29tcGF0 aWJsZSA9ICJtZWRpYXRlayxtdDgxNzMtdmNvZGVjLXZwOC1lbmMiLA0KKwkJCS5kYXRhID0gJm10 ODE3M192cDhfcGRhdGF9LA0KIAl7LmNvbXBhdGlibGUgPSAibWVkaWF0ZWssbXQ4MTgzLXZjb2Rl Yy1lbmMiLCAuZGF0YSA9ICZtdDgxODNfcGRhdGF9LA0KIAl7fSwNCiB9Ow0KQEAgLTQ2Niw3ICs0 NDEsNyBAQCBzdGF0aWMgaW50IG10a192Y29kZWNfZW5jX3JlbW92ZShzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICpwZGV2KQ0KIAkJdmlkZW9fdW5yZWdpc3Rlcl9kZXZpY2UoZGV2LT52ZmRfZW5jKTsN CiANCiAJdjRsMl9kZXZpY2VfdW5yZWdpc3RlcigmZGV2LT52NGwyX2Rldik7DQotCW10a192Y29k ZWNfcmVsZWFzZV9lbmNfcG0oZGV2KTsNCisJcG1fcnVudGltZV9kaXNhYmxlKCZwZGV2LT5kZXYp Ow0KIAltdGtfdmNvZGVjX2Z3X3JlbGVhc2UoZGV2LT5md19oYW5kbGVyKTsNCiAJcmV0dXJuIDA7 DQogfQ0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtf dmNvZGVjX2VuY19wbS5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192 Y29kZWNfZW5jX3BtLmMNCmluZGV4IGVlMjI5MDIuLjAxYzZhNTUgMTAwNjQ0DQotLS0gYS9kcml2 ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfcG0uYw0KKysrIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNfZW5jX3BtLmMNCkBA IC00MywyMSArNDMsNiBAQCBpbnQgbXRrX3Zjb2RlY19pbml0X2VuY19wbShzdHJ1Y3QgbXRrX3Zj b2RlY19kZXYgKm10a2RldikNCiAJCXJldHVybiAtRU5PREVWOw0KIAl9DQogCXBtLT5sYXJidmVu YyA9ICZwZGV2LT5kZXY7DQotDQotCW5vZGUgPSBvZl9wYXJzZV9waGFuZGxlKGRldi0+b2Zfbm9k ZSwgIm1lZGlhdGVrLGxhcmIiLCAxKTsNCi0JaWYgKCFub2RlKSB7DQotCQltdGtfdjRsMl9lcnIo Im5vIG1lZGlhdGVrLGxhcmIgZm91bmQiKTsNCi0JCXJldHVybiAtRU5PREVWOw0KLQl9DQotDQot CXBkZXYgPSBvZl9maW5kX2RldmljZV9ieV9ub2RlKG5vZGUpOw0KLQlvZl9ub2RlX3B1dChub2Rl KTsNCi0JaWYgKCFwZGV2KSB7DQotCQltdGtfdjRsMl9lcnIoIm5vIG1lZGlhdGVrLGxhcmIgZGV2 aWNlIGZvdW5kIik7DQotCQlyZXR1cm4gLUVOT0RFVjsNCi0JfQ0KLQ0KLQlwbS0+bGFyYnZlbmNs dCA9ICZwZGV2LT5kZXY7DQogCXBkZXYgPSBtdGtkZXYtPnBsYXRfZGV2Ow0KIAlwbS0+ZGV2ID0g JnBkZXYtPmRldjsNCiANCkBAIC05NCwxMSArNzksNiBAQCBpbnQgbXRrX3Zjb2RlY19pbml0X2Vu Y19wbShzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYgKm10a2RldikNCiAJcmV0dXJuIHJldDsNCiB9DQog DQotdm9pZCBtdGtfdmNvZGVjX3JlbGVhc2VfZW5jX3BtKHN0cnVjdCBtdGtfdmNvZGVjX2RldiAq bXRrZGV2KQ0KLXsNCi19DQotDQotDQogdm9pZCBtdGtfdmNvZGVjX2VuY19jbG9ja19vbihzdHJ1 Y3QgbXRrX3Zjb2RlY19wbSAqcG0pDQogew0KIAlzdHJ1Y3QgbXRrX3Zjb2RlY19jbGsgKmVuY19j bGsgPSAmcG0tPnZlbmNfY2xrOw0KQEAgLTExNiwxOCArOTYsMTAgQEAgdm9pZCBtdGtfdmNvZGVj X2VuY19jbG9ja19vbihzdHJ1Y3QgbXRrX3Zjb2RlY19wbSAqcG0pDQogCXJldCA9IG10a19zbWlf bGFyYl9nZXQocG0tPmxhcmJ2ZW5jKTsNCiAJaWYgKHJldCkgew0KIAkJbXRrX3Y0bDJfZXJyKCJt dGtfc21pX2xhcmJfZ2V0IGxhcmIzIGZhaWwgJWQiLCByZXQpOw0KLQkJZ290byBsYXJidmVuY2Vy cjsNCi0JfQ0KLQlyZXQgPSBtdGtfc21pX2xhcmJfZ2V0KHBtLT5sYXJidmVuY2x0KTsNCi0JaWYg KHJldCkgew0KLQkJbXRrX3Y0bDJfZXJyKCJtdGtfc21pX2xhcmJfZ2V0IGxhcmI0IGZhaWwgJWQi LCByZXQpOw0KLQkJZ290byBsYXJidmVuY2x0ZXJyOw0KKwkJZ290byBjbGtlcnI7DQogCX0NCiAJ cmV0dXJuOw0KIA0KLWxhcmJ2ZW5jbHRlcnI6DQotCW10a19zbWlfbGFyYl9wdXQocG0tPmxhcmJ2 ZW5jKTsNCi1sYXJidmVuY2VycjoNCiBjbGtlcnI6DQogCWZvciAoaSAtPSAxOyBpID49IDA7IGkt LSkNCiAJCWNsa19kaXNhYmxlX3VucHJlcGFyZShlbmNfY2xrLT5jbGtfaW5mb1tpXS52Y29kZWNf Y2xrKTsNCkBAIC0xMzksNyArMTExLDYgQEAgdm9pZCBtdGtfdmNvZGVjX2VuY19jbG9ja19vZmYo c3RydWN0IG10a192Y29kZWNfcG0gKnBtKQ0KIAlpbnQgaSA9IDA7DQogDQogCW10a19zbWlfbGFy Yl9wdXQocG0tPmxhcmJ2ZW5jKTsNCi0JbXRrX3NtaV9sYXJiX3B1dChwbS0+bGFyYnZlbmNsdCk7 DQogCWZvciAoaSA9IGVuY19jbGstPmNsa19udW0gLSAxOyBpID49IDA7IGktLSkNCiAJCWNsa19k aXNhYmxlX3VucHJlcGFyZShlbmNfY2xrLT5jbGtfaW5mb1tpXS52Y29kZWNfY2xrKTsNCiB9DQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL210a192Y29kZWNf ZW5jX3BtLmggYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19l bmNfcG0uaA0KaW5kZXggYjdlY2RmZC4uYzFiNTk4NiAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLXZjb2RlYy9tdGtfdmNvZGVjX2VuY19wbS5oDQorKysgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvbXRrX3Zjb2RlY19lbmNfcG0uaA0KQEAgLTEwLDcg KzEwLDYgQEANCiAjaW5jbHVkZSAibXRrX3Zjb2RlY19kcnYuaCINCiANCiBpbnQgbXRrX3Zjb2Rl Y19pbml0X2VuY19wbShzdHJ1Y3QgbXRrX3Zjb2RlY19kZXYgKmRldik7DQotdm9pZCBtdGtfdmNv ZGVjX3JlbGVhc2VfZW5jX3BtKHN0cnVjdCBtdGtfdmNvZGVjX2RldiAqZGV2KTsNCiANCiB2b2lk IG10a192Y29kZWNfZW5jX2Nsb2NrX29uKHN0cnVjdCBtdGtfdmNvZGVjX3BtICpwbSk7DQogdm9p ZCBtdGtfdmNvZGVjX2VuY19jbG9ja19vZmYoc3RydWN0IG10a192Y29kZWNfcG0gKnBtKTsNCmRp ZmYgLS1naXQgYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL210ay12Y29kZWMvdmVuYy92ZW5jX3Zw OF9pZi5jIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS9tdGstdmNvZGVjL3ZlbmMvdmVuY192cDhf aWYuYw0KaW5kZXggMTFhYmIxOS4uODI2N2E5YyAxMDA2NDQNCi0tLSBhL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vbXRrLXZjb2RlYy92ZW5jL3ZlbmNfdnA4X2lmLmMNCisrKyBiL2RyaXZlcnMvbWVk aWEvcGxhdGZvcm0vbXRrLXZjb2RlYy92ZW5jL3ZlbmNfdnA4X2lmLmMNCkBAIC0zNjcsNyArMzY3 LDcgQEAgc3RhdGljIGludCB2cDhfZW5jX2VuY29kZSh2b2lkICpoYW5kbGUsDQogDQogCW10a192 Y29kZWNfZGVidWdfZW50ZXIoaW5zdCk7DQogDQotCWVuYWJsZV9pcnEoY3R4LT5kZXYtPmVuY19s dF9pcnEpOw0KKwllbmFibGVfaXJxKGN0eC0+ZGV2LT5lbmNfaXJxKTsNCiANCiAJc3dpdGNoIChv cHQpIHsNCiAJY2FzZSBWRU5DX1NUQVJUX09QVF9FTkNPREVfRlJBTUU6DQpAQCAtMzg2LDcgKzM4 Niw3IEBAIHN0YXRpYyBpbnQgdnA4X2VuY19lbmNvZGUodm9pZCAqaGFuZGxlLA0KIA0KIGVuY29k ZV9lcnI6DQogDQotCWRpc2FibGVfaXJxKGN0eC0+ZGV2LT5lbmNfbHRfaXJxKTsNCisJZGlzYWJs ZV9pcnEoY3R4LT5kZXYtPmVuY19pcnEpOw0KIAltdGtfdmNvZGVjX2RlYnVnX2xlYXZlKGluc3Qp Ow0KIA0KIAlyZXR1cm4gcmV0Ow0KLS0gDQoxLjkuMQ0K