Received: by 10.213.65.68 with SMTP id h4csp216688imn; Tue, 13 Mar 2018 01:46:24 -0700 (PDT) X-Google-Smtp-Source: AG47ELuLib9Ewhf/62YIVxzRDK1EigPKDIroDLAf/qb+vE5+ce8s0xwpCvkN6ipI1yJk45jSQa1a X-Received: by 2002:a17:902:2904:: with SMTP id g4-v6mr11156841plb.170.1520930784783; Tue, 13 Mar 2018 01:46:24 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1520930784; cv=none; d=google.com; s=arc-20160816; b=Xw9I9WK61p0AH4Vb4Fq9zcxqgJ4GeLNqazDSg5huUj5RlmgmtXiyPIIl6Xf4HTH86X ENULnUp5f1meGMC8yecG3wy5ATcNPW0UrjNkY4udnSYyvscHEhgZbSih07Hv5YZZaxIZ Q2XEIa4i+jCpB0UrmNWxYvnK1NslvXqkM27q1tiT6CyH5peDhSVSF0oj1RrCJ4ObdxT0 gKkbEI7c1EySu1h2Lun9OGgWQLiaLlpHWDRcCrsDE2xKYNMlQbDsL/PRtAcpThAnLQaw saPcbE7FWZ28GRQ3TH6cLMFUp10f6IbLGuj2VbEwfRqDlwCHeIIjPEf/Of5IdQap8Q6C kVVQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:mime-version:content-transfer-encoding :content-id:user-agent:content-language:accept-language:in-reply-to :references:message-id:date:thread-index:thread-topic:subject:cc:to :from:arc-authentication-results; bh=bvUSfNEY6y4ZzxG3BdQRxr7eGJkK0szO3JRH4mjyAgM=; b=Hhzr4lDVGPYlAPcoHpsLBtVHWsg8eCwP0D7+OFpNW9QDySeWGts81KVMTZqM2KsJXV TbRhrKyrCarStlI7imFjdwpkjLPtyPBj+U6Be0jqDByg5gecDQ85N3Bad9/1hae+Vwdo gmO/Sfqf20g5npvvSEmtGYOqzSky/rdw9K7sAqx4gRrVxSYu5Q5su41Czdmwd1h8OUOr dAT2Nd3GyNpmbiisHvWsZHQ1Z5GkrG6BryLwho/Y3etfRl+GmT2MHptzNU4Lx/ebACwT ZVrns6/XlxuyXUYq/1OWK66y/gZA2mj6UXxXB8z0jRcc/CyASQ2ESyfjPEonI8HzLFkg VDNg== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t18si7269910pfg.246.2018.03.13.01.46.09; Tue, 13 Mar 2018 01:46:24 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752206AbeCMIpO (ORCPT + 99 others); Tue, 13 Mar 2018 04:45:14 -0400 Received: from mx08-00178001.pphosted.com ([91.207.212.93]:54333 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751735AbeCMIpM (ORCPT ); Tue, 13 Mar 2018 04:45:12 -0400 Received: from pps.filterd (m0046660.ppops.net [127.0.0.1]) by mx08-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w2D8iHLM029831; Tue, 13 Mar 2018 09:44:50 +0100 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx08-00178001.pphosted.com with ESMTP id 2gp8jdrtrs-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 13 Mar 2018 09:44:50 +0100 Received: from zeta.dmz-eu.st.com (zeta.dmz-eu.st.com [164.129.230.9]) by beta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 7153E31; Tue, 13 Mar 2018 08:44:49 +0000 (GMT) Received: from Webmail-eu.st.com (sfhdag6node1.st.com [10.75.127.16]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 3A0DC4DEB; Tue, 13 Mar 2018 08:44:49 +0000 (GMT) Received: from SFHDAG6NODE3.st.com (10.75.127.18) by SFHDAG6NODE1.st.com (10.75.127.16) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Tue, 13 Mar 2018 09:44:48 +0100 Received: from SFHDAG6NODE3.st.com ([fe80::d04:5337:ab17:b6f6]) by SFHDAG6NODE3.st.com ([fe80::d04:5337:ab17:b6f6%20]) with mapi id 15.00.1347.000; Tue, 13 Mar 2018 09:44:48 +0100 From: Patrice CHOTARD To: Yannick FERTRE , Vikas MANOCHA , Benjamin Gaignard , Philippe CORNU , Patrick DELAUNAY , Christophe KERELLO , Archit Taneja , Andrzej Hajda , Laurent Pinchart , David Airlie , Brian Norris , Bhumika Goyal , Gustavo Padovan , "Maarten Lankhorst" , Sean Paul , Albert Aribaud , "Simon Glass" , Anatolij Gustschin , Thierry Reding CC: "u-boot@lists.denx.de" , "dri-devel@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH v2 01/10] video: stm32: stm32_ltdc: add bridge to display controller Thread-Topic: [PATCH v2 01/10] video: stm32: stm32_ltdc: add bridge to display controller Thread-Index: AQHTsj1S72nZoEZhn0+9yU4bV7f4F6PN2daA Date: Tue, 13 Mar 2018 08:44:48 +0000 Message-ID: References: <1520005451-23217-1-git-send-email-yannick.fertre@st.com> <1520005451-23217-2-git-send-email-yannick.fertre@st.com> In-Reply-To: <1520005451-23217-2-git-send-email-yannick.fertre@st.com> Accept-Language: fr-FR, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: user-agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.6.0 x-ms-exchange-messagesentrepresentingtype: 1 x-ms-exchange-transport-fromentityheader: Hosted x-originating-ip: [10.75.127.47] Content-Type: text/plain; charset="utf-8" Content-ID: Content-Transfer-Encoding: base64 MIME-Version: 1.0 X-Proofpoint-Virus-Version: vendor=fsecure engine=2.50.10432:,, definitions=2018-03-13_04:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgWWFubmljaw0KDQpPbiAwMy8wMi8yMDE4IDA0OjQ0IFBNLCB5YW5uaWNrIGZlcnRyZSB3cm90 ZToNCj4gTWFuYWdlIGEgYnJpZGdlIGluc2VydCBiZXR3ZWVuIHRoZSBkaXNwbGF5IGNvbnRyb2xs ZXIgJiBhIHBhbmVsLg0KPiANCj4gU2lnbmVkLW9mZi1ieTogeWFubmljayBmZXJ0cmUgPHlhbm5p Y2suZmVydHJlQHN0LmNvbT4NCj4gLS0tDQo+ICAgZHJpdmVycy92aWRlby9zdG0zMi9zdG0zMl9s dGRjLmMgfCAxMDcgKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tDQo+ICAg MSBmaWxlIGNoYW5nZWQsIDcxIGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQ0KPiANCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvdmlkZW8vc3RtMzIvc3RtMzJfbHRkYy5jIGIvZHJpdmVycy92 aWRlby9zdG0zMi9zdG0zMl9sdGRjLmMNCj4gaW5kZXggZTE2MGM3Ny4uYmQ5YzBkZSAxMDA2NDQN Cj4gLS0tIGEvZHJpdmVycy92aWRlby9zdG0zMi9zdG0zMl9sdGRjLmMNCj4gKysrIGIvZHJpdmVy cy92aWRlby9zdG0zMi9zdG0zMl9sdGRjLmMNCj4gQEAgLTgsNiArOCw3IEBADQo+ICAgDQo+ICAg I2luY2x1ZGUgPGNvbW1vbi5oPg0KPiAgICNpbmNsdWRlIDxjbGsuaD4NCj4gKyNpbmNsdWRlIDxk aXNwbGF5Lmg+DQo+ICAgI2luY2x1ZGUgPGRtLmg+DQo+ICAgI2luY2x1ZGUgPHBhbmVsLmg+DQo+ ICAgI2luY2x1ZGUgPHJlc2V0Lmg+DQo+IEBAIC0xNSwxMiArMTYsMTIgQEANCj4gICAjaW5jbHVk ZSA8YXNtL2lvLmg+DQo+ICAgI2luY2x1ZGUgPGFzbS9hcmNoL2dwaW8uaD4NCj4gICAjaW5jbHVk ZSA8ZG0vZGV2aWNlLWludGVybmFsLmg+DQo+ICsjaW5jbHVkZSA8dmlkZW9fYnJpZGdlLmg+DQo+ ICAgDQo+ICAgREVDTEFSRV9HTE9CQUxfREFUQV9QVFI7DQo+ICAgDQo+ICAgc3RydWN0IHN0bTMy X2x0ZGNfcHJpdiB7DQo+ICAgCXZvaWQgX19pb21lbSAqcmVnczsNCj4gLQlzdHJ1Y3QgZGlzcGxh eV90aW1pbmcgdGltaW5nOw0KPiAgIAllbnVtIHZpZGVvX2xvZzJfYnBwIGwyYnBwOw0KPiAgIAl1 MzIgYmdfY29sX2FyZ2I7DQo+ICAgCXUzMiBjcm9wX3gsIGNyb3BfeSwgY3JvcF93LCBjcm9wX2g7 DQo+IEBAIC0yMTAsMjMgKzIxMSwyMyBAQCBzdGF0aWMgdm9pZCBzdG0zMl9sdGRjX2VuYWJsZShz dHJ1Y3Qgc3RtMzJfbHRkY19wcml2ICpwcml2KQ0KPiAgIAlzZXRiaXRzX2xlMzIocHJpdi0+cmVn cyArIExURENfR0NSLCBHQ1JfTFREQ0VOKTsNCj4gICB9DQo+ICAgDQo+IC1zdGF0aWMgdm9pZCBz dG0zMl9sdGRjX3NldF9tb2RlKHN0cnVjdCBzdG0zMl9sdGRjX3ByaXYgKnByaXYpDQo+ICtzdGF0 aWMgdm9pZCBzdG0zMl9sdGRjX3NldF9tb2RlKHN0cnVjdCBzdG0zMl9sdGRjX3ByaXYgKnByaXYs DQo+ICsJCQkJc3RydWN0IGRpc3BsYXlfdGltaW5nICp0aW1pbmdzKQ0KPiAgIHsNCj4gICAJdm9p ZCBfX2lvbWVtICpyZWdzID0gcHJpdi0+cmVnczsNCj4gLQlzdHJ1Y3QgZGlzcGxheV90aW1pbmcg KnRpbWluZyA9ICZwcml2LT50aW1pbmc7DQo+ICAgCXUzMiBoc3luYywgdnN5bmMsIGFjY19oYnAs IGFjY192YnAsIGFjY19hY3RfdywgYWNjX2FjdF9oOw0KPiAgIAl1MzIgdG90YWxfdywgdG90YWxf aDsNCj4gICAJdTMyIHZhbDsNCj4gICANCj4gICAJLyogQ29udmVydCB2aWRlbyB0aW1pbmdzIHRv IGx0ZGMgdGltaW5ncyAqLw0KPiAtCWhzeW5jID0gdGltaW5nLT5oc3luY19sZW4udHlwIC0gMTsN Cj4gLQl2c3luYyA9IHRpbWluZy0+dnN5bmNfbGVuLnR5cCAtIDE7DQo+IC0JYWNjX2hicCA9IGhz eW5jICsgdGltaW5nLT5oYmFja19wb3JjaC50eXA7DQo+IC0JYWNjX3ZicCA9IHZzeW5jICsgdGlt aW5nLT52YmFja19wb3JjaC50eXA7DQo+IC0JYWNjX2FjdF93ID0gYWNjX2hicCArIHRpbWluZy0+ aGFjdGl2ZS50eXA7DQo+IC0JYWNjX2FjdF9oID0gYWNjX3ZicCArIHRpbWluZy0+dmFjdGl2ZS50 eXA7DQo+IC0JdG90YWxfdyA9IGFjY19hY3RfdyArIHRpbWluZy0+aGZyb250X3BvcmNoLnR5cDsN Cj4gLQl0b3RhbF9oID0gYWNjX2FjdF9oICsgdGltaW5nLT52ZnJvbnRfcG9yY2gudHlwOw0KPiAr CWhzeW5jID0gdGltaW5ncy0+aHN5bmNfbGVuLnR5cCAtIDE7DQo+ICsJdnN5bmMgPSB0aW1pbmdz LT52c3luY19sZW4udHlwIC0gMTsNCj4gKwlhY2NfaGJwID0gaHN5bmMgKyB0aW1pbmdzLT5oYmFj a19wb3JjaC50eXA7DQo+ICsJYWNjX3ZicCA9IHZzeW5jICsgdGltaW5ncy0+dmJhY2tfcG9yY2gu dHlwOw0KPiArCWFjY19hY3RfdyA9IGFjY19oYnAgKyB0aW1pbmdzLT5oYWN0aXZlLnR5cDsNCj4g KwlhY2NfYWN0X2ggPSBhY2NfdmJwICsgdGltaW5ncy0+dmFjdGl2ZS50eXA7DQo+ICsJdG90YWxf dyA9IGFjY19hY3RfdyArIHRpbWluZ3MtPmhmcm9udF9wb3JjaC50eXA7DQo+ICsJdG90YWxfaCA9 IGFjY19hY3RfaCArIHRpbWluZ3MtPnZmcm9udF9wb3JjaC50eXA7DQo+ICAgDQo+ICAgCS8qIFN5 bmNocm9uaXphdGlvbiBzaXplcyAqLw0KPiAgIAl2YWwgPSAoaHN5bmMgPDwgMTYpIHwgdnN5bmM7 DQo+IEBAIC0yNDgsMTQgKzI0OSwxNCBAQCBzdGF0aWMgdm9pZCBzdG0zMl9sdGRjX3NldF9tb2Rl KHN0cnVjdCBzdG0zMl9sdGRjX3ByaXYgKnByaXYpDQo+ICAgDQo+ICAgCS8qIFNpZ25hbCBwb2xh cml0aWVzICovDQo+ICAgCXZhbCA9IDA7DQo+IC0JZGVidWcoIiVzOiB0aW1pbmctPmZsYWdzIDB4 JTA4eFxuIiwgX19mdW5jX18sIHRpbWluZy0+ZmxhZ3MpOw0KPiAtCWlmICh0aW1pbmctPmZsYWdz ICYgRElTUExBWV9GTEFHU19IU1lOQ19ISUdIKQ0KPiArCWRlYnVnKCIlczogdGltaW5nLT5mbGFn cyAweCUwOHhcbiIsIF9fZnVuY19fLCB0aW1pbmdzLT5mbGFncyk7DQo+ICsJaWYgKHRpbWluZ3Mt PmZsYWdzICYgRElTUExBWV9GTEFHU19IU1lOQ19ISUdIKQ0KPiAgIAkJdmFsIHw9IEdDUl9IU1BP TDsNCj4gLQlpZiAodGltaW5nLT5mbGFncyAmIERJU1BMQVlfRkxBR1NfVlNZTkNfSElHSCkNCj4g KwlpZiAodGltaW5ncy0+ZmxhZ3MgJiBESVNQTEFZX0ZMQUdTX1ZTWU5DX0hJR0gpDQo+ICAgCQl2 YWwgfD0gR0NSX1ZTUE9MOw0KPiAtCWlmICh0aW1pbmctPmZsYWdzICYgRElTUExBWV9GTEFHU19E RV9ISUdIKQ0KPiArCWlmICh0aW1pbmdzLT5mbGFncyAmIERJU1BMQVlfRkxBR1NfREVfSElHSCkN Cj4gICAJCXZhbCB8PSBHQ1JfREVQT0w7DQo+IC0JaWYgKHRpbWluZy0+ZmxhZ3MgJiBESVNQTEFZ X0ZMQUdTX1BJWERBVEFfTkVHRURHRSkNCj4gKwlpZiAodGltaW5ncy0+ZmxhZ3MgJiBESVNQTEFZ X0ZMQUdTX1BJWERBVEFfTkVHRURHRSkNCj4gICAJCXZhbCB8PSBHQ1JfUENQT0w7DQo+ICAgCWNs cnNldGJpdHNfbGUzMihyZWdzICsgTFREQ19HQ1IsDQo+ICAgCQkJR0NSX0hTUE9MIHwgR0NSX1ZT UE9MIHwgR0NSX0RFUE9MIHwgR0NSX1BDUE9MLCB2YWwpOw0KPiBAQCAtMzMxLDcgKzMzMiwxMSBA QCBzdGF0aWMgaW50IHN0bTMyX2x0ZGNfcHJvYmUoc3RydWN0IHVkZXZpY2UgKmRldikNCj4gICAJ c3RydWN0IHZpZGVvX3VjX3BsYXRkYXRhICp1Y19wbGF0ID0gZGV2X2dldF91Y2xhc3NfcGxhdGRh dGEoZGV2KTsNCj4gICAJc3RydWN0IHZpZGVvX3ByaXYgKnVjX3ByaXYgPSBkZXZfZ2V0X3VjbGFz c19wcml2KGRldik7DQo+ICAgCXN0cnVjdCBzdG0zMl9sdGRjX3ByaXYgKnByaXYgPSBkZXZfZ2V0 X3ByaXYoZGV2KTsNCj4gLQlzdHJ1Y3QgdWRldmljZSAqcGFuZWw7DQo+ICsjaWZkZWYgQ09ORklH X1ZJREVPX0JSSURHRQ0KPiArCXN0cnVjdCB1ZGV2aWNlICpicmlkZ2UgPSBOVUxMOw0KPiArI2Vu ZGlmDQo+ICsJc3RydWN0IHVkZXZpY2UgKnBhbmVsID0gTlVMTDsNCj4gKwlzdHJ1Y3QgZGlzcGxh eV90aW1pbmcgdGltaW5nczsNCj4gICAJc3RydWN0IGNsayBwY2xrOw0KPiAgIAlzdHJ1Y3QgcmVz ZXRfY3RsIHJzdDsNCj4gICAJaW50IHJhdGUsIHJldDsNCj4gQEAgLTM2NCw2MyArMzY5LDkzIEBA IHN0YXRpYyBpbnQgc3RtMzJfbHRkY19wcm9iZShzdHJ1Y3QgdWRldmljZSAqZGV2KQ0KPiAgIAkv KiBSZXNldCAqLw0KPiAgIAlyZXNldF9kZWFzc2VydCgmcnN0KTsNCj4gICANCj4gLQlyZXQgPSB1 Y2xhc3NfZmlyc3RfZGV2aWNlKFVDTEFTU19QQU5FTCwgJnBhbmVsKTsNCj4gKyNpZmRlZiBDT05G SUdfVklERU9fQlJJREdFDQo+ICsJcmV0ID0gdWNsYXNzX2dldF9kZXZpY2UoVUNMQVNTX1ZJREVP X0JSSURHRSwgMCwgJmJyaWRnZSk7DQo+ICAgCWlmIChyZXQpIHsNCj4gLQkJZGVidWcoIiVzOiBw YW5lbCBkZXZpY2UgZXJyb3IgJWRcbiIsIF9fZnVuY19fLCByZXQpOw0KPiAtCQlyZXR1cm4gcmV0 Ow0KPiArCQlkZWJ1ZygiJXM6IE5vIHZpZGVvIGJyaWRnZSwgb3Igbm8gYmFja2xpZ2h0IG9uIGJy aWRnZVxuIiwNCj4gKwkJICAgICAgX19mdW5jX18pOw0KPiAgIAl9DQo+ICAgDQo+IC0JcmV0ID0g cGFuZWxfZW5hYmxlX2JhY2tsaWdodChwYW5lbCk7DQo+ICsJaWYgKGJyaWRnZSkgew0KPiArCQly ZXQgPSB2aWRlb19icmlkZ2VfYXR0YWNoKGJyaWRnZSk7DQo+ICsJCWlmIChyZXQpIHsNCj4gKwkJ CWRlYnVnKCIlczogZmFpbCB0byBhdHRhY2ggYnJpZGdlXG4iLCBfX2Z1bmNfXyk7DQoNCkkgd291 bGQgcmVwbGFjZSBkZWJ1ZyBieSBkZXZfZXJyKCkgaGVyZS4NCg0KPiArCQkJcmV0dXJuIHJldDsN Cj4gKwkJfQ0KPiArCX0NCj4gKyNlbmRpZg0KPiArCXJldCA9IHVjbGFzc19maXJzdF9kZXZpY2Uo VUNMQVNTX1BBTkVMLCAmcGFuZWwpOw0KPiAgIAlpZiAocmV0KSB7DQo+IC0JCWRlYnVnKCIlczog cGFuZWwgJXMgZW5hYmxlIGJhY2tsaWdodCBlcnJvciAlZFxuIiwNCj4gLQkJICAgICAgX19mdW5j X18sIHBhbmVsLT5uYW1lLCByZXQpOw0KPiArCQlkZWJ1ZygiJXM6IHBhbmVsIGRldmljZSBlcnJv ciAlZFxuIiwgX19mdW5jX18sIHJldCk7DQoNCkRpdHRvDQoNCj4gICAJCXJldHVybiByZXQ7DQo+ ICAgCX0NCj4gICANCj4gLQlyZXQgPSBmZHRkZWNfZGVjb2RlX2Rpc3BsYXlfdGltaW5nKGdkLT5m ZHRfYmxvYiwNCj4gLQkJCQkJICAgZGV2X29mX29mZnNldChkZXYpLCAwLA0KPiAtCQkJCQkgICAm cHJpdi0+dGltaW5nKTsNCj4gKwlyZXQgPSBmZHRkZWNfZGVjb2RlX2Rpc3BsYXlfdGltaW5nKGdk LT5mZHRfYmxvYiwgZGV2X29mX29mZnNldChwYW5lbCksDQo+ICsJCQkJCSAgIDAsICZ0aW1pbmdz KTsNCj4gICAJaWYgKHJldCkgew0KPiAgIAkJZGVidWcoIiVzOiBkZWNvZGUgZGlzcGxheSB0aW1p bmcgZXJyb3IgJWRcbiIsDQo+ICAgCQkgICAgICBfX2Z1bmNfXywgcmV0KTsNCj4gLQkJcmV0dXJu IC1FSU5WQUw7DQoNCkRpdHRvDQoNCj4gKwkJcmV0dXJuIHJldDsNCj4gICAJfQ0KPiAgIA0KPiAt CXJhdGUgPSBjbGtfc2V0X3JhdGUoJnBjbGssIHByaXYtPnRpbWluZy5waXhlbGNsb2NrLnR5cCk7 DQo+ICsJcmF0ZSA9IGNsa19zZXRfcmF0ZSgmcGNsaywgdGltaW5ncy5waXhlbGNsb2NrLnR5cCk7 DQo+ICAgCWlmIChyYXRlIDwgMCkgew0KPiAgIAkJZGVidWcoIiVzOiBmYWlsIHRvIHNldCBwaXhl bCBjbG9jayAlZCBoeiAlZCBoelxuIiwNCj4gLQkJICAgICAgX19mdW5jX18sIHByaXYtPnRpbWlu Zy5waXhlbGNsb2NrLnR5cCwgcmF0ZSk7DQo+ICsJCSAgICAgIF9fZnVuY19fLCB0aW1pbmdzLnBp eGVsY2xvY2sudHlwLCByYXRlKTsNCg0KRGl0dG8NCg0KPiAgIAkJcmV0dXJuIHJhdGU7DQo+ICAg CX0NCj4gICANCj4gICAJZGVidWcoIiVzOiBTZXQgcGl4ZWwgY2xvY2sgcmVxICVkIGh6IGdldCAl ZCBoelxuIiwgX19mdW5jX18sDQo+IC0JICAgICAgcHJpdi0+dGltaW5nLnBpeGVsY2xvY2sudHlw LCByYXRlKTsNCj4gKwkgICAgICB0aW1pbmdzLnBpeGVsY2xvY2sudHlwLCByYXRlKTsNCj4gICAN Cj4gICAJLyogVE9ETyBCZWxvdyBwYXJhbWV0ZXJzIGFyZSBoYXJkLWNvZGVkIGZvciB0aGUgbW9t ZW50Li4uICovDQo+ICAgCXByaXYtPmwyYnBwID0gVklERU9fQlBQMTY7DQo+ICAgCXByaXYtPmJn X2NvbF9hcmdiID0gMHhGRkZGRkZGRjsgLyogd2hpdGUgbm8gdHJhbnNwYXJlbmN5ICovDQo+ICAg CXByaXYtPmNyb3BfeCA9IDA7DQo+ICAgCXByaXYtPmNyb3BfeSA9IDA7DQo+IC0JcHJpdi0+Y3Jv cF93ID0gcHJpdi0+dGltaW5nLmhhY3RpdmUudHlwOw0KPiAtCXByaXYtPmNyb3BfaCA9IHByaXYt PnRpbWluZy52YWN0aXZlLnR5cDsNCj4gKwlwcml2LT5jcm9wX3cgPSB0aW1pbmdzLmhhY3RpdmUu dHlwOw0KPiArCXByaXYtPmNyb3BfaCA9IHRpbWluZ3MudmFjdGl2ZS50eXA7DQo+ICAgCXByaXYt PmFscGhhID0gMHhGRjsNCj4gICANCj4gICAJZGVidWcoIiVzOiAlZHglZCAlZGJwcCBmcmFtZSBi dWZmZXIgYXQgMHglbHhcbiIsIF9fZnVuY19fLA0KPiAtCSAgICAgIHByaXYtPnRpbWluZy5oYWN0 aXZlLnR5cCwgcHJpdi0+dGltaW5nLnZhY3RpdmUudHlwLA0KPiArCSAgICAgIHRpbWluZ3MuaGFj dGl2ZS50eXAsIHRpbWluZ3MudmFjdGl2ZS50eXAsDQo+ICAgCSAgICAgIFZOQklUUyhwcml2LT5s MmJwcCksIHVjX3BsYXQtPmJhc2UpOw0KPiAgIAlkZWJ1ZygiJXM6IGNyb3AgJWQsJWQgJWR4JWQg YmcgMHglMDh4IGFscGhhICVkXG4iLCBfX2Z1bmNfXywNCj4gICAJICAgICAgcHJpdi0+Y3JvcF94 LCBwcml2LT5jcm9wX3ksIHByaXYtPmNyb3BfdywgcHJpdi0+Y3JvcF9oLA0KPiAgIAkgICAgICBw cml2LT5iZ19jb2xfYXJnYiwgcHJpdi0+YWxwaGEpOw0KPiAgIA0KPiAgIAkvKiBDb25maWd1cmUg JiBzdGFydCBMVERDICovDQo+IC0Jc3RtMzJfbHRkY19zZXRfbW9kZShwcml2KTsNCj4gKwlzdG0z Ml9sdGRjX3NldF9tb2RlKHByaXYsICZ0aW1pbmdzKTsNCj4gICAJc3RtMzJfbHRkY19zZXRfbGF5 ZXIxKHByaXYsIHVjX3BsYXQtPmJhc2UpOw0KPiAgIAlzdG0zMl9sdGRjX2VuYWJsZShwcml2KTsN Cj4gICANCj4gLQl1Y19wcml2LT54c2l6ZSA9IHByaXYtPnRpbWluZy5oYWN0aXZlLnR5cDsNCj4g LQl1Y19wcml2LT55c2l6ZSA9IHByaXYtPnRpbWluZy52YWN0aXZlLnR5cDsNCj4gKwl1Y19wcml2 LT54c2l6ZSA9IHRpbWluZ3MuaGFjdGl2ZS50eXA7DQo+ICsJdWNfcHJpdi0+eXNpemUgPSB0aW1p bmdzLnZhY3RpdmUudHlwOw0KPiAgIAl1Y19wcml2LT5icGl4ID0gcHJpdi0+bDJicHA7DQo+ICAg DQo+ICsjaWZkZWYgQ09ORklHX1ZJREVPX0JSSURHRQ0KPiArCWlmIChicmlkZ2UpIHsNCj4gKwkJ cmV0ID0gdmlkZW9fYnJpZGdlX3NldF9iYWNrbGlnaHQoYnJpZGdlLCA4MCk7DQo+ICsJCWlmIChy ZXQpIHsNCj4gKwkJCWRlYnVnKCIlczogZmFpbCB0byBzZXQgYmFja2xpZ2h0XG4iLCBfX2Z1bmNf Xyk7DQoNCkRpdHRvDQoNCj4gKwkJCXJldHVybiByZXQ7DQo+ICsJCX0NCj4gKwl9IGVsc2Ugew0K PiArCQlyZXQgPSBwYW5lbF9lbmFibGVfYmFja2xpZ2h0KHBhbmVsKTsNCj4gKwkJaWYgKHJldCkg ew0KPiArCQkJZGVidWcoIiVzOiBwYW5lbCAlcyBlbmFibGUgYmFja2xpZ2h0IGVycm9yICVkXG4i LA0KPiArCQkJICAgICAgX19mdW5jX18sIHBhbmVsLT5uYW1lLCByZXQpOw0KDQpEaXR0bw0KDQo+ ICsJCQlyZXR1cm4gcmV0Ow0KPiArCQl9DQo+ICsJfQ0KPiArI2Vsc2UNCj4gKwlyZXQgPSBwYW5l bF9lbmFibGVfYmFja2xpZ2h0KHBhbmVsKTsNCj4gKwlpZiAocmV0KSB7DQo+ICsJCWRlYnVnKCIl czogcGFuZWwgJXMgZW5hYmxlIGJhY2tsaWdodCBlcnJvciAlZFxuIiwNCj4gKwkJICAgICAgX19m dW5jX18sIHBhbmVsLT5uYW1lLCByZXQpOw0KDQpEaXR0bw0KDQo+ICsJCXJldHVybiByZXQ7DQo+ ICsJfQ0KPiArI2VuZGlmDQo+ICAgCXZpZGVvX3NldF9mbHVzaF9kY2FjaGUoZGV2LCB0cnVlKTsN Cj4gICANCj4gICAJcmV0dXJuIDA7DQo+IA==