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=-5.5 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,UNWANTED_LANGUAGE_BODY, USER_AGENT_SANE_2 autolearn=ham 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 0D132C2D0DD for ; Thu, 2 Jan 2020 05:33:20 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id BF26321655 for ; Thu, 2 Jan 2020 05:33:19 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=mediatek.com header.i=@mediatek.com header.b="pzYUrt2C" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1725837AbgABFdT (ORCPT ); Thu, 2 Jan 2020 00:33:19 -0500 Received: from mailgw02.mediatek.com ([1.203.163.81]:42598 "EHLO mailgw02.mediatek.com" rhost-flags-OK-FAIL-OK-FAIL) by vger.kernel.org with ESMTP id S1725788AbgABFdS (ORCPT ); Thu, 2 Jan 2020 00:33:18 -0500 X-UUID: be575e204463432484660cbc6cc5b4f4-20200102 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=NxeyJAYU0OhRpo/ff2wj+fmCwn53W6WHO0wQE5/iZ/M=; b=pzYUrt2CtRqGsoMKCWjwvhwO1ZLzVeTtYTWt1ImbvMxLtazyru9GGb2DsLiJQdnSmuxnhqw/u75YqbRb12IdiAJjJvzf3SaaCD2048TgAsm4vc+Ga0WS+rrhQ+3lP5eX6Qoome6V2YaEj+YQYS/qhJNT673Qr/oTxsoZBRDSbb8=; X-UUID: be575e204463432484660cbc6cc5b4f4-20200102 Received: from mtkcas32.mediatek.inc [(172.27.4.253)] by mailgw02.mediatek.com (envelope-from ) (mailgw01.mediatek.com ESMTP with TLS) with ESMTP id 1258334340; Thu, 02 Jan 2020 13:33:06 +0800 Received: from mtkcas08.mediatek.inc (172.21.101.126) by MTKMBS31DR.mediatek.inc (172.27.6.102) with Microsoft SMTP Server (TLS) id 15.0.1395.4; Thu, 2 Jan 2020 13:31:58 +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.1395.4 via Frontend Transport; Thu, 2 Jan 2020 13:33:08 +0800 Message-ID: <1577943184.24650.10.camel@mtksdaap41> Subject: Re: [PATCH v6, 04/14] drm/mediatek: add mmsys private data for ddp path config From: CK Hu To: Yongqiang Niu CC: Philipp Zabel , Rob Herring , Matthias Brugger , "David Airlie" , Daniel Vetter , Mark Rutland , , , , , Date: Thu, 2 Jan 2020 13:33:04 +0800 In-Reply-To: <1577937624-14313-5-git-send-email-yongqiang.niu@mediatek.com> References: <1577937624-14313-1-git-send-email-yongqiang.niu@mediatek.com> <1577937624-14313-5-git-send-email-yongqiang.niu@mediatek.com> Content-Type: text/plain; charset="UTF-8" X-Mailer: Evolution 3.10.4-0ubuntu2 MIME-Version: 1.0 X-TM-SNTS-SMTP: F828946B83B5BB422B91445E323ACBB15694F91AE9E9C7A937CD38FF7E3D2E7E2000:8 X-MTK: N Content-Transfer-Encoding: base64 Sender: devicetree-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org SGksIFlvbmdxaWFuZzoNCg0KT24gVGh1LCAyMDIwLTAxLTAyIGF0IDEyOjAwICswODAwLCBZb25n cWlhbmcgTml1IHdyb3RlOg0KPiBUaGlzIHBhdGNoIGFkZCBtbXN5cyBwcml2YXRlIGRhdGEgZm9y IGRkcCBwYXRoIGNvbmZpZw0KPiBhbGwgdGhlc2UgcmVnaXN0ZXIgb2Zmc2V0IGFuZCB2YWx1ZSB3 aWxsIGJlIGRpZmZlcmVudCBpbiBmdXR1cmUgU09DDQo+IGFkZCB0aGVzZSBkZWZpbmUgaW50byBt bXN5cyBwcml2YXRlIGRhdGENCj4gCXUzMiBvdmwwX21vdXRfZW47DQo+IAl1MzIgcmRtYTFfc291 dF9zZWxfaW47DQo+IAl1MzIgcmRtYTFfc291dF9kc2kwOw0KPiAJdTMyIGRwaTBfc2VsX2luOw0K PiAJdTMyIGRwaTBfc2VsX2luX3JkbWExOw0KPiAJdTMyIGRzaTBfc2VsX2luOw0KPiAJdTMyIGRz aTBfc2VsX2luX3JkbWExOw0KPiANCj4gU2lnbmVkLW9mZi1ieTogWW9uZ3FpYW5nIE5pdSA8eW9u Z3FpYW5nLm5pdUBtZWRpYXRlay5jb20+DQo+IC0tLQ0KPiAgZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fY3J0Yy5jIHwgIDQgKysrDQo+ICBkcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsv bXRrX2RybV9kZHAuYyAgfCA2MyArKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0NCj4g IGRyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5oICB8ICA2ICsrKysNCj4gIGRy aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jICB8ICAzICsrDQo+ICBkcml2ZXJz L2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9kcnYuaCAgfCAgMyArKw0KPiAgNSBmaWxlcyBjaGFu Z2VkLCA2MyBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9k cm0vbWVkaWF0ZWsvbXRrX2RybV9jcnRjLmMNCj4gaW5kZXggZTQ3Y2Y4NC4uOWFhY2JjZiAxMDA2 NDQNCj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fY3J0Yy5jDQo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2NydGMuYw0KPiBAQCAtNDQsNiAr NDQsNyBAQCBzdHJ1Y3QgbXRrX2RybV9jcnRjIHsNCj4gIAlib29sCQkJCXBlbmRpbmdfcGxhbmVz Ow0KPiAgDQo+ICAJc3RydWN0IHJlZ21hcAkJCSpjb25maWdfcmVnczsNCj4gKwljb25zdCBzdHJ1 Y3QgbXRrX21tc3lzX3JlZ19kYXRhICptbXN5c19yZWdfZGF0YTsNCj4gIAlzdHJ1Y3QgbXRrX2Rp c3BfbXV0ZXgJCSptdXRleDsNCj4gIAl1bnNpZ25lZCBpbnQJCQlkZHBfY29tcF9ucjsNCj4gIAlz dHJ1Y3QgbXRrX2RkcF9jb21wCQkqKmRkcF9jb21wOw0KPiBAQCAtMjgzLDYgKzI4NCw3IEBAIHN0 YXRpYyBpbnQgbXRrX2NydGNfZGRwX2h3X2luaXQoc3RydWN0IG10a19kcm1fY3J0YyAqbXRrX2Ny dGMpDQo+ICAJRFJNX0RFQlVHX0RSSVZFUigibWVkaWF0ZWtfZGRwX2RkcF9wYXRoX3NldHVwXG4i KTsNCj4gIAlmb3IgKGkgPSAwOyBpIDwgbXRrX2NydGMtPmRkcF9jb21wX25yIC0gMTsgaSsrKSB7 DQo+ICAJCW10a19kZHBfYWRkX2NvbXBfdG9fcGF0aChtdGtfY3J0Yy0+Y29uZmlnX3JlZ3MsDQo+ ICsJCQkJCSBtdGtfY3J0Yy0+bW1zeXNfcmVnX2RhdGEsDQo+ICAJCQkJCSBtdGtfY3J0Yy0+ZGRw X2NvbXBbaV0tPmlkLA0KPiAgCQkJCQkgbXRrX2NydGMtPmRkcF9jb21wW2kgKyAxXS0+aWQpOw0K PiAgCQltdGtfZGlzcF9tdXRleF9hZGRfY29tcChtdGtfY3J0Yy0+bXV0ZXgsDQo+IEBAIC0zNDAs NiArMzQyLDcgQEAgc3RhdGljIHZvaWQgbXRrX2NydGNfZGRwX2h3X2Zpbmkoc3RydWN0IG10a19k cm1fY3J0YyAqbXRrX2NydGMpDQo+ICAJbXRrX2Rpc3BfbXV0ZXhfZGlzYWJsZShtdGtfY3J0Yy0+ bXV0ZXgpOw0KPiAgCWZvciAoaSA9IDA7IGkgPCBtdGtfY3J0Yy0+ZGRwX2NvbXBfbnIgLSAxOyBp KyspIHsNCj4gIAkJbXRrX2RkcF9yZW1vdmVfY29tcF9mcm9tX3BhdGgobXRrX2NydGMtPmNvbmZp Z19yZWdzLA0KPiArCQkJCQkgICAgICBtdGtfY3J0Yy0+bW1zeXNfcmVnX2RhdGEsDQo+ICAJCQkJ CSAgICAgIG10a19jcnRjLT5kZHBfY29tcFtpXS0+aWQsDQo+ICAJCQkJCSAgICAgIG10a19jcnRj LT5kZHBfY29tcFtpICsgMV0tPmlkKTsNCj4gIAkJbXRrX2Rpc3BfbXV0ZXhfcmVtb3ZlX2NvbXAo bXRrX2NydGMtPm11dGV4LA0KPiBAQCAtNjQ5LDYgKzY1Miw3IEBAIGludCBtdGtfZHJtX2NydGNf Y3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2LA0KPiAgCQlyZXR1cm4gLUVOT01FTTsN Cj4gIA0KPiAgCW10a19jcnRjLT5jb25maWdfcmVncyA9IHByaXYtPmNvbmZpZ19yZWdzOw0KPiAr CW10a19jcnRjLT5tbXN5c19yZWdfZGF0YSA9IHByaXYtPmRhdGEtPnJlZ19kYXRhOw0KPiAgCW10 a19jcnRjLT5kZHBfY29tcF9uciA9IHBhdGhfbGVuOw0KPiAgCW10a19jcnRjLT5kZHBfY29tcCA9 IGRldm1fa21hbGxvY19hcnJheShkZXYsIG10a19jcnRjLT5kZHBfY29tcF9uciwNCj4gIAkJCQkJ CXNpemVvZigqbXRrX2NydGMtPmRkcF9jb21wKSwNCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210 a19kcm1fZGRwLmMNCj4gaW5kZXggZjk5Zjg5YTEuLmVhMGNlMzIgMTAwNjQ0DQo+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jDQo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5jDQo+IEBAIC0xNjgsNiArMTY4LDE2IEBAIHN0cnVj dCBtdGtfZGRwIHsNCj4gIAljb25zdCBzdHJ1Y3QgbXRrX2RkcF9kYXRhCSpkYXRhOw0KPiAgfTsN Cj4gIA0KPiArc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSB7DQo+ICsJdTMyIG92bDBfbW91dF9l bjsNCj4gKwl1MzIgcmRtYTFfc291dF9zZWxfaW47DQo+ICsJdTMyIHJkbWExX3NvdXRfZHBpMDsN Cj4gKwl1MzIgZHBpMF9zZWxfaW47DQo+ICsJdTMyIGRwaTBfc2VsX2luX3JkbWExOw0KPiArCXUz MiBkc2kwX3NlbF9pbjsNCj4gKwl1MzIgZHNpMF9zZWxfaW5fcmRtYTE7DQoNClRoaXMgcGF0Y2gg bG9va3MgbGlrZSBhIGNvbWJpbmF0aW9uIG9mIHR3byBwYXRjaGVzLiBPbmUgaXMgYSBidWcgZml4 DQp0aGF0IGRzaTBfc2VsX2luIGFuZCBkc2kwX3NlbF9pbl9yZG1hMSBhcmUgZGlmZmVyZW50IGlu IE1UODE3MyBhbmQNCk1UMjcwMS4gQW5kIHRoZSBvdGhlciBpcyB0aGF0IG92bDBfbW91dF9lbiwg cmRtYTFfc291dF9zZWxfaW4sDQpyZG1hMV9zb3V0X2RwaTAsIGRwaTBfc2VsX2luLCBkcGkwX3Nl bF9pbl9yZG1hMSBhcmUgZGlmZmVyZW50IGluIE1UODE4My4NCg0KUmVnYXJkcywNCkNLDQoNCj4g K307DQo+ICsNCj4gIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBpbnQgbXQyNzAxX211dGV4X21vZFtE RFBfQ09NUE9ORU5UX0lEX01BWF0gPSB7DQo+ICAJW0REUF9DT01QT05FTlRfQkxTXSA9IE1UMjcw MV9NVVRFWF9NT0RfRElTUF9CTFMsDQo+ICAJW0REUF9DT01QT05FTlRfQ09MT1IwXSA9IE1UMjcw MV9NVVRFWF9NT0RfRElTUF9DT0xPUiwNCj4gQEAgLTI0NiwxNyArMjU2LDM0IEBAIHN0cnVjdCBt dGtfZGRwIHsNCj4gIAkubXV0ZXhfc29mX3JlZyA9IE1UMjcwMV9ESVNQX01VVEVYMF9TT0YwLA0K PiAgfTsNCj4gIA0KPiAtc3RhdGljIHVuc2lnbmVkIGludCBtdGtfZGRwX21vdXRfZW4oZW51bSBt dGtfZGRwX2NvbXBfaWQgY3VyLA0KPiArY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSBt dDI3MDFfbW1zeXNfcmVnX2RhdGEgPSB7DQo+ICsJLm92bDBfbW91dF9lbiA9IERJU1BfUkVHX0NP TkZJR19ESVNQX09WTF9NT1VUX0VOLA0KPiArCS5kc2kwX3NlbF9pbiA9IERJU1BfUkVHX0NPTkZJ R19EU0lfU0VMLA0KPiArCS5kc2kwX3NlbF9pbl9yZG1hMSA9IERTSV9TRUxfSU5fUkRNQSwNCj4g K307DQo+ICsNCj4gK2NvbnN0IHN0cnVjdCBtdGtfbW1zeXNfcmVnX2RhdGEgbXQ4MTczX21tc3lz X3JlZ19kYXRhID0gew0KPiArCS5vdmwwX21vdXRfZW4gPSBESVNQX1JFR19DT05GSUdfRElTUF9P VkwwX01PVVRfRU4sDQo+ICsJLnJkbWExX3NvdXRfc2VsX2luID0gRElTUF9SRUdfQ09ORklHX0RJ U1BfUkRNQTFfU09VVF9FTiwNCj4gKwkucmRtYTFfc291dF9kcGkwID0gUkRNQTFfU09VVF9EUEkw LA0KPiArCS5kcGkwX3NlbF9pbiA9IERJU1BfUkVHX0NPTkZJR19EUElfU0VMX0lOLA0KPiArCS5k cGkwX3NlbF9pbl9yZG1hMSA9IERQSTBfU0VMX0lOX1JETUExLA0KPiArCS5kc2kwX3NlbF9pbiA9 IERJU1BfUkVHX0NPTkZJR19EU0lFX1NFTF9JTiwNCj4gKwkuZHNpMF9zZWxfaW5fcmRtYTEgPSBE U0kwX1NFTF9JTl9SRE1BMSwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyB1bnNpZ25lZCBpbnQgbXRr X2RkcF9tb3V0X2VuKGNvbnN0IHN0cnVjdCBtdGtfbW1zeXNfcmVnX2RhdGEgKmRhdGEsDQo+ICsJ CQkJICAgIGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwNCj4gIAkJCQkgICAgZW51bSBtdGtfZGRw X2NvbXBfaWQgbmV4dCwNCj4gIAkJCQkgICAgdW5zaWduZWQgaW50ICphZGRyKQ0KPiAgew0KPiAg CXVuc2lnbmVkIGludCB2YWx1ZTsNCj4gIA0KPiAgCWlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9P VkwwICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9DT0xPUjApIHsNCj4gLQkJKmFkZHIgPSBESVNQ X1JFR19DT05GSUdfRElTUF9PVkwwX01PVVRfRU47DQo+ICsJCSphZGRyID0gZGF0YS0+b3ZsMF9t b3V0X2VuOw0KPiAgCQl2YWx1ZSA9IE9WTDBfTU9VVF9FTl9DT0xPUjA7DQo+ICAJfSBlbHNlIGlm IChjdXIgPT0gRERQX0NPTVBPTkVOVF9PVkwwICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9SRE1B MCkgew0KPiAtCQkqYWRkciA9IERJU1BfUkVHX0NPTkZJR19ESVNQX09WTF9NT1VUX0VOOw0KPiAr CQkqYWRkciA9IGRhdGEtPm92bDBfbW91dF9lbjsNCj4gIAkJdmFsdWUgPSBPVkxfTU9VVF9FTl9S RE1BOw0KPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfT0QwICYmIG5leHQgPT0g RERQX0NPTVBPTkVOVF9SRE1BMCkgew0KPiAgCQkqYWRkciA9IERJU1BfUkVHX0NPTkZJR19ESVNQ X09EX01PVVRfRU47DQo+IEBAIC0yOTgsOCArMzI1LDggQEAgc3RhdGljIHVuc2lnbmVkIGludCBt dGtfZGRwX21vdXRfZW4oZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLA0KPiAgCQkqYWRkciA9IERJ U1BfUkVHX0NPTkZJR19ESVNQX1JETUExX1NPVVRfRU47DQo+ICAJCXZhbHVlID0gUkRNQTFfU09V VF9EU0kzOw0KPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01QT05FTlRfUkRNQTEgJiYgbmV4 dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsNCj4gLQkJKmFkZHIgPSBESVNQX1JFR19DT05GSUdf RElTUF9SRE1BMV9TT1VUX0VOOw0KPiAtCQl2YWx1ZSA9IFJETUExX1NPVVRfRFBJMDsNCj4gKwkJ KmFkZHIgPSBkYXRhLT5yZG1hMV9zb3V0X3NlbF9pbjsNCj4gKwkJdmFsdWUgPSBkYXRhLT5yZG1h MV9zb3V0X2RwaTA7DQo+ICAJfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9SRE1BMSAm JiBuZXh0ID09IEREUF9DT01QT05FTlRfRFBJMSkgew0KPiAgCQkqYWRkciA9IERJU1BfUkVHX0NP TkZJR19ESVNQX1JETUExX1NPVVRfRU47DQo+ICAJCXZhbHVlID0gUkRNQTFfU09VVF9EUEkxOw0K PiBAQCAtMzI1LDcgKzM1Miw4IEBAIHN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9tb3V0X2Vu KGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwNCj4gIAlyZXR1cm4gdmFsdWU7DQo+ICB9DQo+ICAN Cj4gLXN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9zZWxfaW4oZW51bSBtdGtfZGRwX2NvbXBf aWQgY3VyLA0KPiArc3RhdGljIHVuc2lnbmVkIGludCBtdGtfZGRwX3NlbF9pbihjb25zdCBzdHJ1 Y3QgbXRrX21tc3lzX3JlZ19kYXRhICpkYXRhLA0KPiArCQkJCSAgIGVudW0gbXRrX2RkcF9jb21w X2lkIGN1ciwNCj4gIAkJCQkgICBlbnVtIG10a19kZHBfY29tcF9pZCBuZXh0LA0KPiAgCQkJCSAg IHVuc2lnbmVkIGludCAqYWRkcikNCj4gIHsNCj4gQEAgLTMzNSwxNCArMzYzLDE0IEBAIHN0YXRp YyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9zZWxfaW4oZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLA0K PiAgCQkqYWRkciA9IERJU1BfUkVHX0NPTkZJR19ESVNQX0NPTE9SMF9TRUxfSU47DQo+ICAJCXZh bHVlID0gQ09MT1IwX1NFTF9JTl9PVkwwOw0KPiAgCX0gZWxzZSBpZiAoY3VyID09IEREUF9DT01Q T05FTlRfUkRNQTEgJiYgbmV4dCA9PSBERFBfQ09NUE9ORU5UX0RQSTApIHsNCj4gLQkJKmFkZHIg PSBESVNQX1JFR19DT05GSUdfRFBJX1NFTF9JTjsNCj4gLQkJdmFsdWUgPSBEUEkwX1NFTF9JTl9S RE1BMTsNCj4gKwkJKmFkZHIgPSBkYXRhLT5kcGkwX3NlbF9pbjsNCj4gKwkJdmFsdWUgPSBkYXRh LT5kcGkwX3NlbF9pbl9yZG1hMTsNCj4gIAl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5U X1JETUExICYmIG5leHQgPT0gRERQX0NPTVBPTkVOVF9EUEkxKSB7DQo+ICAJCSphZGRyID0gRElT UF9SRUdfQ09ORklHX0RQSV9TRUxfSU47DQo+ICAJCXZhbHVlID0gRFBJMV9TRUxfSU5fUkRNQTE7 DQo+ICAJfSBlbHNlIGlmIChjdXIgPT0gRERQX0NPTVBPTkVOVF9SRE1BMSAmJiBuZXh0ID09IERE UF9DT01QT05FTlRfRFNJMCkgew0KPiAtCQkqYWRkciA9IERJU1BfUkVHX0NPTkZJR19EU0lFX1NF TF9JTjsNCj4gLQkJdmFsdWUgPSBEU0kwX1NFTF9JTl9SRE1BMTsNCj4gKwkJKmFkZHIgPSBkYXRh LT5kc2kwX3NlbF9pbjsNCj4gKwkJdmFsdWUgPSBkYXRhLT5kc2kwX3NlbF9pbl9yZG1hMTsNCj4g IAl9IGVsc2UgaWYgKGN1ciA9PSBERFBfQ09NUE9ORU5UX1JETUExICYmIG5leHQgPT0gRERQX0NP TVBPTkVOVF9EU0kxKSB7DQo+ICAJCSphZGRyID0gRElTUF9SRUdfQ09ORklHX0RTSU9fU0VMX0lO Ow0KPiAgCQl2YWx1ZSA9IERTSTFfU0VMX0lOX1JETUExOw0KPiBAQCAtMzg5LDcgKzQxNyw4IEBA IHN0YXRpYyB1bnNpZ25lZCBpbnQgbXRrX2RkcF9zZWxfaW4oZW51bSBtdGtfZGRwX2NvbXBfaWQg Y3VyLA0KPiAgCXJldHVybiB2YWx1ZTsNCj4gIH0NCj4gIA0KPiAtc3RhdGljIHVuc2lnbmVkIGlu dCBtdGtfZGRwX3NvdXRfc2VsKGVudW0gbXRrX2RkcF9jb21wX2lkIGN1ciwNCj4gK3N0YXRpYyB1 bnNpZ25lZCBpbnQgbXRrX2RkcF9zb3V0X3NlbChjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19k YXRhICpkYXRhLA0KPiArCQkJCSAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgY3VyLA0KPiAgCQkJ CSAgICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCwNCj4gIAkJCQkgICAgIHVuc2lnbmVkIGlu dCAqYWRkcikNCj4gIHsNCj4gQEAgLTQwOSwzNSArNDM4LDM3IEBAIHN0YXRpYyB1bnNpZ25lZCBp bnQgbXRrX2RkcF9zb3V0X3NlbChlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsDQo+ICB9DQo+ICAN Cj4gIHZvaWQgbXRrX2RkcF9hZGRfY29tcF90b19wYXRoKHN0cnVjdCByZWdtYXAgKmNvbmZpZ19y ZWdzLA0KPiArCQkJICAgICAgY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSAqcmVnX2Rh dGEsDQo+ICAJCQkgICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsDQo+ICAJCQkgICAgICBl bnVtIG10a19kZHBfY29tcF9pZCBuZXh0KQ0KPiAgew0KPiAgCXVuc2lnbmVkIGludCBhZGRyLCB2 YWx1ZTsNCj4gIA0KPiAtCXZhbHVlID0gbXRrX2RkcF9tb3V0X2VuKGN1ciwgbmV4dCwgJmFkZHIp Ow0KPiArCXZhbHVlID0gbXRrX2RkcF9tb3V0X2VuKHJlZ19kYXRhLCBjdXIsIG5leHQsICZhZGRy KTsNCj4gIAlpZiAodmFsdWUpDQo+ICAJCXJlZ21hcF91cGRhdGVfYml0cyhjb25maWdfcmVncywg YWRkciwgdmFsdWUsIHZhbHVlKTsNCj4gIA0KPiAtCXZhbHVlID0gbXRrX2RkcF9zb3V0X3NlbChj dXIsIG5leHQsICZhZGRyKTsNCj4gKwl2YWx1ZSA9IG10a19kZHBfc291dF9zZWwocmVnX2RhdGEs IGN1ciwgbmV4dCwgJmFkZHIpOw0KPiAgCWlmICh2YWx1ZSkNCj4gIAkJcmVnbWFwX3VwZGF0ZV9i aXRzKGNvbmZpZ19yZWdzLCBhZGRyLCB2YWx1ZSwgdmFsdWUpOw0KPiAgDQo+IC0JdmFsdWUgPSBt dGtfZGRwX3NlbF9pbihjdXIsIG5leHQsICZhZGRyKTsNCj4gKwl2YWx1ZSA9IG10a19kZHBfc2Vs X2luKHJlZ19kYXRhLCBjdXIsIG5leHQsICZhZGRyKTsNCj4gIAlpZiAodmFsdWUpDQo+ICAJCXJl Z21hcF91cGRhdGVfYml0cyhjb25maWdfcmVncywgYWRkciwgdmFsdWUsIHZhbHVlKTsNCj4gIH0N Cj4gIA0KPiAgdm9pZCBtdGtfZGRwX3JlbW92ZV9jb21wX2Zyb21fcGF0aChzdHJ1Y3QgcmVnbWFw ICpjb25maWdfcmVncywNCj4gKwkJCQkgICBjb25zdCBzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRh ICpyZWdfZGF0YSwNCj4gIAkJCQkgICBlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsDQo+ICAJCQkJ ICAgZW51bSBtdGtfZGRwX2NvbXBfaWQgbmV4dCkNCj4gIHsNCj4gIAl1bnNpZ25lZCBpbnQgYWRk ciwgdmFsdWU7DQo+ICANCj4gLQl2YWx1ZSA9IG10a19kZHBfbW91dF9lbihjdXIsIG5leHQsICZh ZGRyKTsNCj4gKwl2YWx1ZSA9IG10a19kZHBfbW91dF9lbihyZWdfZGF0YSwgY3VyLCBuZXh0LCAm YWRkcik7DQo+ICAJaWYgKHZhbHVlKQ0KPiAgCQlyZWdtYXBfdXBkYXRlX2JpdHMoY29uZmlnX3Jl Z3MsIGFkZHIsIHZhbHVlLCAwKTsNCj4gIA0KPiAtCXZhbHVlID0gbXRrX2RkcF9zZWxfaW4oY3Vy LCBuZXh0LCAmYWRkcik7DQo+ICsJdmFsdWUgPSBtdGtfZGRwX3NlbF9pbihyZWdfZGF0YSwgY3Vy LCBuZXh0LCAmYWRkcik7DQo+ICAJaWYgKHZhbHVlKQ0KPiAgCQlyZWdtYXBfdXBkYXRlX2JpdHMo Y29uZmlnX3JlZ3MsIGFkZHIsIHZhbHVlLCAwKTsNCj4gIH0NCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2RkcC5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlh dGVrL210a19kcm1fZGRwLmgNCj4gaW5kZXggMDFmZjhiNi4uNzVmYTU2ZSAxMDA2NDQNCj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmgNCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZGRwLmgNCj4gQEAgLTExLDExICsxMSwxNyBAQA0K PiAgc3RydWN0IHJlZ21hcDsNCj4gIHN0cnVjdCBkZXZpY2U7DQo+ICBzdHJ1Y3QgbXRrX2Rpc3Bf bXV0ZXg7DQo+ICtzdHJ1Y3QgbXRrX21tc3lzX3JlZ19kYXRhOw0KPiArDQo+ICtleHRlcm4gY29u c3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSBtdDI3MDFfbW1zeXNfcmVnX2RhdGE7DQo+ICtl eHRlcm4gY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSBtdDgxNzNfbW1zeXNfcmVnX2Rh dGE7DQo+ICANCj4gIHZvaWQgbXRrX2RkcF9hZGRfY29tcF90b19wYXRoKHN0cnVjdCByZWdtYXAg KmNvbmZpZ19yZWdzLA0KPiArCQkJICAgICAgY29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0 YSAqcmVnX2RhdGEsDQo+ICAJCQkgICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBjdXIsDQo+ICAJ CQkgICAgICBlbnVtIG10a19kZHBfY29tcF9pZCBuZXh0KTsNCj4gIHZvaWQgbXRrX2RkcF9yZW1v dmVfY29tcF9mcm9tX3BhdGgoc3RydWN0IHJlZ21hcCAqY29uZmlnX3JlZ3MsDQo+ICsJCQkJICAg Y29uc3Qgc3RydWN0IG10a19tbXN5c19yZWdfZGF0YSAqcmVnX2RhdGEsDQo+ICAJCQkJICAgZW51 bSBtdGtfZGRwX2NvbXBfaWQgY3VyLA0KPiAgCQkJCSAgIGVudW0gbXRrX2RkcF9jb21wX2lkIG5l eHQpOw0KPiAgDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5jDQo+IGluZGV4 IGY2OWFmNDIuLmUzMjkzY2Y4IDEwMDY0NA0KPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0 ZWsvbXRrX2RybV9kcnYuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWVkaWF0ZWsvbXRrX2Ry bV9kcnYuYw0KPiBAQCAtMTg1LDYgKzE4NSw3IEBAIHN0YXRpYyBpbnQgbXRrX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9kZXZpY2UgKmRybSwNCj4gIAkubWFpbl9sZW4gPSBBUlJBWV9TSVpFKG10 MjcwMV9tdGtfZGRwX21haW4pLA0KPiAgCS5leHRfcGF0aCA9IG10MjcwMV9tdGtfZGRwX2V4dCwN Cj4gIAkuZXh0X2xlbiA9IEFSUkFZX1NJWkUobXQyNzAxX210a19kZHBfZXh0KSwNCj4gKwkucmVn X2RhdGEgPSAmbXQyNzAxX21tc3lzX3JlZ19kYXRhLA0KPiAgCS5zaGFkb3dfcmVnaXN0ZXIgPSB0 cnVlLA0KPiAgCS5jbGtfZHJ2X25hbWUgPSAiY2xrLW10MjcwMS1tbSIsDQo+ICB9Ow0KPiBAQCAt MTk2LDYgKzE5Nyw3IEBAIHN0YXRpYyBpbnQgbXRrX2F0b21pY19jb21taXQoc3RydWN0IGRybV9k ZXZpY2UgKmRybSwNCj4gIAkuZXh0X2xlbiA9IEFSUkFZX1NJWkUobXQyNzEyX210a19kZHBfZXh0 KSwNCj4gIAkudGhpcmRfcGF0aCA9IG10MjcxMl9tdGtfZGRwX3RoaXJkLA0KPiAgCS50aGlyZF9s ZW4gPSBBUlJBWV9TSVpFKG10MjcxMl9tdGtfZGRwX3RoaXJkKSwNCj4gKwkucmVnX2RhdGEgPSAm bXQ4MTczX21tc3lzX3JlZ19kYXRhLA0KPiAgCS5jbGtfZHJ2X25hbWUgPSAiY2xrLW10MjcxMi1t bSIsDQo+ICB9Ow0KPiAgDQo+IEBAIC0yMDQsNiArMjA2LDcgQEAgc3RhdGljIGludCBtdGtfYXRv bWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZHJtLA0KPiAgCS5tYWluX2xlbiA9IEFSUkFZ X1NJWkUobXQ4MTczX210a19kZHBfbWFpbiksDQo+ICAJLmV4dF9wYXRoID0gbXQ4MTczX210a19k ZHBfZXh0LA0KPiAgCS5leHRfbGVuID0gQVJSQVlfU0laRShtdDgxNzNfbXRrX2RkcF9leHQpLA0K PiArCS5yZWdfZGF0YSA9ICZtdDgxNzNfbW1zeXNfcmVnX2RhdGEsDQo+ICAJLmNsa19kcnZfbmFt ZSA9ICJjbGstbXQ4MTczLW1tIiwNCj4gIH07DQo+ICANCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tZWRpYXRlay9tdGtfZHJtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21lZGlhdGVr L210a19kcm1fZHJ2LmgNCj4gaW5kZXggOGZlOTEzNi4uOWQ4NzQ0MSAxMDA2NDQNCj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgNCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL21lZGlhdGVrL210a19kcm1fZHJ2LmgNCj4gQEAgLTcsNiArNyw3IEBADQo+ICAjZGVm aW5lIE1US19EUk1fRFJWX0gNCj4gIA0KPiAgI2luY2x1ZGUgPGxpbnV4L2lvLmg+DQo+ICsjaW5j bHVkZSAibXRrX2RybV9kZHAuaCINCj4gICNpbmNsdWRlICJtdGtfZHJtX2RkcF9jb21wLmgiDQo+ ICANCj4gICNkZWZpbmUgTUFYX0NSVEMJMw0KPiBAQCAtMjgsNiArMjksOCBAQCBzdHJ1Y3QgbXRr X21tc3lzX2RyaXZlcl9kYXRhIHsNCj4gIAljb25zdCBlbnVtIG10a19kZHBfY29tcF9pZCAqdGhp cmRfcGF0aDsNCj4gIAl1bnNpZ25lZCBpbnQgdGhpcmRfbGVuOw0KPiAgDQo+ICsJY29uc3Qgc3Ry dWN0IG10a19tbXN5c19yZWdfZGF0YSAqcmVnX2RhdGE7DQo+ICsNCj4gIAlib29sIHNoYWRvd19y ZWdpc3RlcjsNCj4gIAljb25zdCBjaGFyICpjbGtfZHJ2X25hbWU7DQo+ICB9Ow0KDQo=