Received: by 2002:ac0:a5b6:0:0:0:0:0 with SMTP id m51-v6csp4106564imm; Mon, 18 Jun 2018 09:14:06 -0700 (PDT) X-Google-Smtp-Source: ADUXVKLNpbcqK0oMEHGoddrTFWfPE8n2cRMURjuPT37JsnxZ8sOzWRUOmspiyjk2BZ/YInSTOmjo X-Received: by 2002:a65:4c87:: with SMTP id m7-v6mr11827693pgt.364.1529338446324; Mon, 18 Jun 2018 09:14:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1529338446; cv=none; d=google.com; s=arc-20160816; b=Qbfcw9e9WlxyEX74kiQZZjj86+D/8E34eh9RrucTsG8SmsB+w9ObCLMOUAtzLH9TUT LyduUbXTy2VdbAoWj7wZk46PAM2eK7BZaIhyHGz5YrUYPzXhu9PBgEI9RFI+Q0sA4XkY PtJeJMFc7sZlHjnw9d0J7ch4a4Tj6UqcwfavLHV5bawvFFlAW9sQ8qPwWKlOpsXSTPVY c4/gJPowAbeOCcXU+Njv+/jj+3AIRG1tN6MUaFSDQnXJwGrrS1nUUpNdd0ALGRnWi5Ui yNiJEQ2a9/C1e0TCs1SY4TeucH9FiNwwRHHrpEQLemcpbmuhgAxrlxqzBoBiXT7suyBW i6Og== 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=PVft/CbmywaMZAy7zajOjrLWYsDO0VA/HVIyARneqks=; b=ARTlQdT0nb7Vj+UsNQnT2ZXT/SkDm0YJ0HOk6bYDrRCmj2Pzkv21+pGSXBIbuV0NlY 2SQJWEynS1YGLx8EOjcJPh2YIXxne4v2MKlQkwUVIsyF8ZXeedtGicDVJCnrC6zO4WFX oWdMUmydVCaA4YTef0t1Fos4/Psbt+SB10QyNkOMyxS0HZhyMTR5QVTnsFdT7roDhWN0 mMRj7QHYtfzvFNvW7gBiI8ewSwPa3JsL+gTk7HRp2tEkqKN/FQHWvNwc4Q8T8elCiepe PS1X4O+9IotUmdadsNbK4PbZCTpFdKYiFAQ3FP+fM5OiQax87zGFnwjv+XzVKmiVe074 Ytqw== 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 t190-v6si12693916pgc.445.2018.06.18.09.13.52; Mon, 18 Jun 2018 09:14:06 -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 S934215AbeFRQNA (ORCPT + 99 others); Mon, 18 Jun 2018 12:13:00 -0400 Received: from mx07-00178001.pphosted.com ([62.209.51.94]:16458 "EHLO mx07-00178001.pphosted.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1754391AbeFRQM7 (ORCPT ); Mon, 18 Jun 2018 12:12:59 -0400 Received: from pps.filterd (m0046668.ppops.net [127.0.0.1]) by mx07-.pphosted.com (8.16.0.21/8.16.0.21) with SMTP id w5IG9PAI030253; Mon, 18 Jun 2018 18:11:40 +0200 Received: from beta.dmz-eu.st.com (beta.dmz-eu.st.com [164.129.1.35]) by mx07-00178001.pphosted.com with ESMTP id 2jmxgfcgjh-1 (version=TLSv1 cipher=ECDHE-RSA-AES256-SHA bits=256 verify=NOT); Mon, 18 Jun 2018 18:11:40 +0200 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 DB62831; Mon, 18 Jun 2018 16:11:39 +0000 (GMT) Received: from Webmail-eu.st.com (sfhdag5node2.st.com [10.75.127.14]) by zeta.dmz-eu.st.com (STMicroelectronics) with ESMTP id 8287013E; Mon, 18 Jun 2018 16:11:38 +0000 (GMT) Received: from SFHDAG6NODE3.st.com (10.75.127.18) by SFHDAG5NODE2.st.com (10.75.127.14) with Microsoft SMTP Server (TLS) id 15.0.1347.2; Mon, 18 Jun 2018 18:11:38 +0200 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; Mon, 18 Jun 2018 18:11:37 +0200 From: Philippe CORNU To: Benjamin Gaignard , "gustavo@padovan.org" , "maarten.lankhorst@linux.intel.com" , "seanpaul@chromium.org" , "airlied@linux.ie" , "Vincent ABRIOU" CC: "linux-kernel@vger.kernel.org" , "dri-devel@lists.freedesktop.org" Subject: Re: [PATCH v1 6/7] drm: sti: make encoders use atomic_print_state instead of debugfs Thread-Topic: [PATCH v1 6/7] drm: sti: make encoders use atomic_print_state instead of debugfs Thread-Index: AQHUBw9vbCNZNjvuUUSUkQKiBcQYpKRmDmuA Date: Mon, 18 Jun 2018 16:11:37 +0000 Message-ID: <48d60997-a2ea-00ca-f65c-da53a6f6729a@st.com> References: <20180605135407.20214-1-benjamin.gaignard@linaro.org> <20180605135407.20214-7-benjamin.gaignard@linaro.org> In-Reply-To: <20180605135407.20214-7-benjamin.gaignard@linaro.org> 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.8.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.10434:,, definitions=2018-06-18_06:,, signatures=0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org SGkgQmVuamFtaW4sDQoNCg0KDQpPbiAwNi8wNS8yMDE4IDAzOjU0IFBNLCBCZW5qYW1pbiBHYWln bmFyZCB3cm90ZToNCj4gQ29udmVydCBhbGwgc3RpIGVuY29kZXJzIHRvIGF0b21pY19wcmludCB1 c2FnZSByYXRoZXIgdGhhbiB1c2UgYQ0KPiBkZWJ1Z2ZzIGVudHJ5Lg0KPiANCj4gU2lnbmVkLW9m Zi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+DQo+ IC0tLQ0KPiAgIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX3R2b3V0LmMgfCAxNjIgKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAgIDEgZmlsZSBjaGFuZ2VkLCA2MyBp bnNlcnRpb25zKCspLCA5OSBkZWxldGlvbnMoLSkNCj4gDQo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vc3RpL3N0aV90dm91dC5jIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdHZvdXQu Yw0KPiBpbmRleCBlYTRhM2I4N2ZhNTUuLjhhYTIzNzEwYjY5NSAxMDA2NDQNCj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3N0aS9zdGlfdHZvdXQuYw0KPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vc3Rp L3N0aV90dm91dC5jDQo+IEBAIC00NDIsMTAgKzQ0MiwxMCBAQCBzdGF0aWMgdm9pZCB0dm91dF9o ZGFfc3RhcnQoc3RydWN0IHN0aV90dm91dCAqdHZvdXQsIGJvb2wgbWFpbl9wYXRoKQ0KPiAgIAl0 dm91dF93cml0ZSh0dm91dCwgMCwgVFZPX0hEX0RBQ19DRkdfT0ZGKTsNCj4gICB9DQo+ICAgDQo+ IC0jZGVmaW5lIERCR0ZTX0RVTVAocmVnKSBzZXFfcHJpbnRmKHMsICJcbiAgJS0yNXMgMHglMDhY IiwgI3JlZywgXA0KPiArI2RlZmluZSBEQkdGU19EVU1QKHJlZykgZHJtX3ByaW50ZihwLCAiXG5c dFx0JS0yNXMgMHglMDhYIiwgI3JlZywgXA0KPiAgIAkJCQkgICByZWFkbCh0dm91dC0+cmVncyAr IHJlZykpDQo+ICAgDQo+IC1zdGF0aWMgdm9pZCB0dm91dF9kYmdfdmlwKHN0cnVjdCBzZXFfZmls ZSAqcywgaW50IHZhbCkNCj4gK3N0YXRpYyB2b2lkIHR2b3V0X2RiZ192aXAoc3RydWN0IGRybV9w cmludGVyICpwLCBpbnQgdmFsKQ0KPiAgIHsNCj4gICAJaW50IHIsIGcsIGIsIHRtcCwgbWFzazsN Cj4gICAJY2hhciAqY29uc3QgcmVvcmRlcltdID0geyJZX0ciLCAiQ2JfQiIsICJDcl9SIn07DQo+ IEBAIC00NTksODYgKzQ1OSw5NCBAQCBzdGF0aWMgdm9pZCB0dm91dF9kYmdfdmlwKHN0cnVjdCBz ZXFfZmlsZSAqcywgaW50IHZhbCkNCj4gICAJCQkJICAgIkF1eCAoY29sb3IgbWF0cml4IGJ5LXBh c3NlZCkiLA0KPiAgIAkJCQkgICAiIiwgIiIsICIiLCAiIiwgIiIsICJGb3JjZSB2YWx1ZSJ9Ow0K PiAgIA0KPiAtCXNlcV9wdXRjKHMsICdcdCcpOw0KPiArCWRybV9wcmludGYocCwgIlxuXHRcdFx0 Iik7DQo+ICAgCW1hc2sgPSBUVk9fVklQX1JFT1JERVJfTUFTSyA8PCBUVk9fVklQX1JFT1JERVJf Ul9TSElGVDsNCj4gICAJciA9ICh2YWwgJiBtYXNrKSA+PiBUVk9fVklQX1JFT1JERVJfUl9TSElG VDsNCj4gICAJbWFzayA9IFRWT19WSVBfUkVPUkRFUl9NQVNLIDw8IFRWT19WSVBfUkVPUkRFUl9H X1NISUZUOw0KPiAgIAlnID0gKHZhbCAmIG1hc2spID4+IFRWT19WSVBfUkVPUkRFUl9HX1NISUZU Ow0KPiAgIAltYXNrID0gVFZPX1ZJUF9SRU9SREVSX01BU0sgPDwgVFZPX1ZJUF9SRU9SREVSX0Jf U0hJRlQ7DQo+ICAgCWIgPSAodmFsICYgbWFzaykgPj4gVFZPX1ZJUF9SRU9SREVSX0JfU0hJRlQ7 DQo+IC0Jc2VxX3ByaW50ZihzLCAiJS0yNHMgJXMtPiVzICVzLT4lcyAlcy0+JXNcbiIsICJSZW9y ZGVyOiIsDQo+ICsJZHJtX3ByaW50ZihwLCAiJS0yNHMgJXMtPiVzICVzLT4lcyAlcy0+JXMiLCAi UmVvcmRlcjoiLA0KPiAgIAkJICAgcmVvcmRlcltyXSwgcmVvcmRlcltUVk9fVklQX1JFT1JERVJf Q1JfUl9TRUxdLA0KPiAgIAkJICAgcmVvcmRlcltnXSwgcmVvcmRlcltUVk9fVklQX1JFT1JERVJf WV9HX1NFTF0sDQo+ICAgCQkgICByZW9yZGVyW2JdLCByZW9yZGVyW1RWT19WSVBfUkVPUkRFUl9D Ql9CX1NFTF0pOw0KPiAtCXNlcV9wdXRzKHMsICJcdFx0XHRcdFx0Iik7DQo+ICsJZHJtX3ByaW50 ZihwLCAiXG5cdFx0XHQiKTsNCj4gICAJbWFzayA9IFRWT19WSVBfQ0xJUF9NQVNLIDw8IFRWT19W SVBfQ0xJUF9TSElGVDsNCj4gICAJdG1wID0gKHZhbCAmIG1hc2spID4+IFRWT19WSVBfQ0xJUF9T SElGVDsNCj4gLQlzZXFfcHJpbnRmKHMsICIlLTI0cyAlc1xuIiwgIkNsaXBwaW5nOiIsIGNsaXBw aW5nW3RtcF0pOw0KPiAtCXNlcV9wdXRzKHMsICJcdFx0XHRcdFx0Iik7DQo+ICsJZHJtX3ByaW50 ZihwLCAiJS0yNHMgJXMiLCAiQ2xpcHBpbmc6IiwgY2xpcHBpbmdbdG1wXSk7DQo+ICsJZHJtX3By aW50ZihwLCAiXG5cdFx0XHQiKTsNCj4gICAJbWFzayA9IFRWT19WSVBfUk5EX01BU0sgPDwgVFZP X1ZJUF9STkRfU0hJRlQ7DQo+ICAgCXRtcCA9ICh2YWwgJiBtYXNrKSA+PiBUVk9fVklQX1JORF9T SElGVDsNCj4gLQlzZXFfcHJpbnRmKHMsICIlLTI0cyBpbnB1dCBkYXRhIHJvdW5kZWQgdG8gJXMg cGVyIGNvbXBvbmVudFxuIiwNCj4gKwlkcm1fcHJpbnRmKHAsICIlLTI0cyBpbnB1dCBkYXRhIHJv dW5kZWQgdG8gJXMgcGVyIGNvbXBvbmVudCIsDQo+ICAgCQkgICAiUm91bmQ6Iiwgcm91bmRbdG1w XSk7DQo+IC0Jc2VxX3B1dHMocywgIlx0XHRcdFx0XHQiKTsNCj4gKwlkcm1fcHJpbnRmKHAsICJc blx0XHRcdCIpOw0KPiAgIAl0bXAgPSAodmFsICYgVFZPX1ZJUF9TRUxfSU5QVVRfTUFTSyk7DQo+ IC0Jc2VxX3ByaW50ZihzLCAiJS0yNHMgJXMiLCAiSW5wdXQgc2VsZWN0aW9uOiIsIGlucHV0X3Nl bFt0bXBdKTsNCj4gKwlkcm1fcHJpbnRmKHAsICIlLTI0cyAlcyIsICJJbnB1dCBzZWxlY3Rpb246 IiwgaW5wdXRfc2VsW3RtcF0pOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyB2b2lkIHR2b3V0X2Ri Z19oZF9kYWNfY2ZnKHN0cnVjdCBzZXFfZmlsZSAqcywgaW50IHZhbCkNCj4gK3N0YXRpYyB2b2lk IHR2b3V0X2RiZ19oZF9kYWNfY2ZnKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgaW50IHZhbCkNCj4g ICB7DQo+IC0Jc2VxX3ByaW50ZihzLCAiXHQlLTI0cyAlcyIsICJIRCBEQUM6IiwNCj4gKwlkcm1f cHJpbnRmKHAsICJcdCUtMjRzICVzIiwgIkhEIERBQzoiLA0KPiAgIAkJICAgdmFsICYgMSA/ICJk aXNhYmxlZCIgOiAiZW5hYmxlZCIpOw0KPiAgIH0NCj4gICANCj4gLXN0YXRpYyBpbnQgdHZvdXRf ZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQ0KPiArc3RhdGljIHZvaWQg c3RpX3R2b3V0X3ByaW50KHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgc3RydWN0IGRybV9lbmNvZGVy ICplbmNvZGVyKQ0KPiAgIHsNCj4gLQlzdHJ1Y3QgZHJtX2luZm9fbm9kZSAqbm9kZSA9IHMtPnBy aXZhdGU7DQo+IC0Jc3RydWN0IHN0aV90dm91dCAqdHZvdXQgPSAoc3RydWN0IHN0aV90dm91dCAq KW5vZGUtPmluZm9fZW50LT5kYXRhOw0KPiArCXN0cnVjdCBzdGlfdHZvdXQgKnR2b3V0ID0gdG9f c3RpX3R2b3V0KGVuY29kZXIpOw0KPiAgIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7DQo+ICAgDQo+ IC0Jc2VxX3ByaW50ZihzLCAiVFZPVVQ6ICh2YWRkciA9IDB4JXApIiwgdHZvdXQtPnJlZ3MpOw0K PiAtDQo+IC0Jc2VxX3B1dHMocywgIlxuXG4gIEhETUkgZW5jb2RlcjogIik7DQo+IC0JY3J0YyA9 IHR2b3V0LT5oZG1pLT5jcnRjOw0KPiAtCWlmIChjcnRjKSB7DQo+IC0JCXNlcV9wcmludGYocywg ImNvbm5lY3RlZCB0byAlcyBwYXRoIiwNCj4gLQkJCSAgIHN0aV9jcnRjX2lzX21haW4oY3J0Yykg PyAibWFpbiIgOiAiYXV4Iik7DQo+IC0JCURCR0ZTX0RVTVAoVFZPX0hETUlfU1lOQ19TRUwpOw0K PiAtCQlEQkdGU19EVU1QKFRWT19WSVBfSERNSSk7DQo+IC0JCXR2b3V0X2RiZ192aXAocywgcmVh ZGwodHZvdXQtPnJlZ3MgKyBUVk9fVklQX0hETUkpKTsNCj4gLQl9IGVsc2Ugew0KPiAtCQlzZXFf cHV0cyhzLCAiZGlzYWJsZWQiKTsNCj4gKwlkcm1fcHJpbnRmKHAsICJcdFRWT1VUOiAodmFkZHIg PSAweCVwSylcbiIsIHR2b3V0LT5yZWdzKTsNCj4gKw0KPiArCWlmIChlbmNvZGVyLT5lbmNvZGVy X3R5cGUgPT0gRFJNX01PREVfRU5DT0RFUl9UTURTKSB7DQo+ICsJCWRybV9wcmludGYocCwgIlx0 SERNSSBlbmNvZGVyOiAiKTsNCj4gKwkJY3J0YyA9IHR2b3V0LT5oZG1pLT5jcnRjOw0KPiArCQlp ZiAoY3J0Yykgew0KPiArCQkJZHJtX3ByaW50ZihwLCAiY29ubmVjdGVkIHRvICVzIHBhdGgiLA0K PiArCQkJCSAgIHN0aV9jcnRjX2lzX21haW4oY3J0YykgPyAibWFpbiIgOiAiYXV4Iik7DQo+ICsJ CQlEQkdGU19EVU1QKFRWT19IRE1JX1NZTkNfU0VMKTsNCj4gKwkJCURCR0ZTX0RVTVAoVFZPX1ZJ UF9IRE1JKTsNCj4gKwkJCXR2b3V0X2RiZ192aXAocCwgcmVhZGwodHZvdXQtPnJlZ3MgKyBUVk9f VklQX0hETUkpKTsNCj4gKwkJfSBlbHNlIHsNCj4gKwkJCWRybV9wcmludGYocCwgImRpc2FibGVk XG4iKTsNCj4gKwkJCXJldHVybjsNCj4gKwkJfQ0KPiAgIAl9DQo+ICAgDQo+IC0Jc2VxX3B1dHMo cywgIlxuXG4gIERWTyBlbmNvZGVyOiAiKTsNCj4gLQljcnRjID0gdHZvdXQtPmR2by0+Y3J0YzsN Cj4gLQlpZiAoY3J0Yykgew0KPiAtCQlzZXFfcHJpbnRmKHMsICJjb25uZWN0ZWQgdG8gJXMgcGF0 aCIsDQo+IC0JCQkgICBzdGlfY3J0Y19pc19tYWluKGNydGMpID8gIm1haW4iIDogImF1eCIpOw0K PiAtCQlEQkdGU19EVU1QKFRWT19EVk9fU1lOQ19TRUwpOw0KPiAtCQlEQkdGU19EVU1QKFRWT19E Vk9fQ09ORklHKTsNCj4gLQkJREJHRlNfRFVNUChUVk9fVklQX0RWTyk7DQo+IC0JCXR2b3V0X2Ri Z192aXAocywgcmVhZGwodHZvdXQtPnJlZ3MgKyBUVk9fVklQX0RWTykpOw0KPiAtCX0gZWxzZSB7 DQo+IC0JCXNlcV9wdXRzKHMsICJkaXNhYmxlZCIpOw0KPiArCWlmIChlbmNvZGVyLT5lbmNvZGVy X3R5cGUgPT0gRFJNX01PREVfRU5DT0RFUl9MVkRTKSB7DQo+ICsJCWRybV9wcmludGYocCwgIlx0 RFZPIGVuY29kZXI6ICIpOw0KPiArCQljcnRjID0gdHZvdXQtPmR2by0+Y3J0YzsNCj4gKwkJaWYg KGNydGMpIHsNCj4gKwkJCWRybV9wcmludGYocCwgImNvbm5lY3RlZCB0byAlcyBwYXRoIiwNCj4g KwkJCQkgICBzdGlfY3J0Y19pc19tYWluKGNydGMpID8gIm1haW4iIDogImF1eCIpOw0KPiArCQkJ REJHRlNfRFVNUChUVk9fRFZPX1NZTkNfU0VMKTsNCj4gKwkJCURCR0ZTX0RVTVAoVFZPX0RWT19D T05GSUcpOw0KPiArCQkJREJHRlNfRFVNUChUVk9fVklQX0RWTyk7DQo+ICsJCQl0dm91dF9kYmdf dmlwKHAsIHJlYWRsKHR2b3V0LT5yZWdzICsgVFZPX1ZJUF9EVk8pKTsNCj4gKwkJfSBlbHNlIHsN Cj4gKwkJCWRybV9wcmludGYocCwgImRpc2FibGVkXG4iKTsNCj4gKwkJCXJldHVybjsNCj4gKwkJ fQ0KPiAgIAl9DQo+ICAgDQo+IC0Jc2VxX3B1dHMocywgIlxuXG4gIEhEQSBlbmNvZGVyOiAiKTsN Cj4gLQljcnRjID0gdHZvdXQtPmhkYS0+Y3J0YzsNCj4gLQlpZiAoY3J0Yykgew0KPiAtCQlzZXFf cHJpbnRmKHMsICJjb25uZWN0ZWQgdG8gJXMgcGF0aCIsDQo+IC0JCQkgICBzdGlfY3J0Y19pc19t YWluKGNydGMpID8gIm1haW4iIDogImF1eCIpOw0KPiAtCQlEQkdGU19EVU1QKFRWT19IRF9TWU5D X1NFTCk7DQo+IC0JCURCR0ZTX0RVTVAoVFZPX0hEX0RBQ19DRkdfT0ZGKTsNCj4gLQkJdHZvdXRf ZGJnX2hkX2RhY19jZmcocywNCj4gLQkJCQkgICAgIHJlYWRsKHR2b3V0LT5yZWdzICsgVFZPX0hE X0RBQ19DRkdfT0ZGKSk7DQo+IC0JCURCR0ZTX0RVTVAoVFZPX1ZJUF9IREYpOw0KPiAtCQl0dm91 dF9kYmdfdmlwKHMsIHJlYWRsKHR2b3V0LT5yZWdzICsgVFZPX1ZJUF9IREYpKTsNCj4gLQl9IGVs c2Ugew0KPiAtCQlzZXFfcHV0cyhzLCAiZGlzYWJsZWQiKTsNCj4gKwlpZiAoZW5jb2Rlci0+ZW5j b2Rlcl90eXBlID09IERSTV9NT0RFX0VOQ09ERVJfREFDKSB7DQo+ICsJCWRybV9wcmludGYocCwg Ilx0SERBIGVuY29kZXI6ICIpOw0KPiArCQljcnRjID0gdHZvdXQtPmhkYS0+Y3J0YzsNCj4gKwkJ aWYgKGNydGMpIHsNCj4gKwkJCWRybV9wcmludGYocCwgImNvbm5lY3RlZCB0byAlcyBwYXRoIiwN Cj4gKwkJCQkgICBzdGlfY3J0Y19pc19tYWluKGNydGMpID8gIm1haW4iIDogImF1eCIpOw0KPiAr CQkJREJHRlNfRFVNUChUVk9fSERfU1lOQ19TRUwpOw0KPiArCQkJREJHRlNfRFVNUChUVk9fSERf REFDX0NGR19PRkYpOw0KPiArCQkJdHZvdXRfZGJnX2hkX2RhY19jZmcocCwNCj4gKwkJCQlyZWFk bCh0dm91dC0+cmVncyArIFRWT19IRF9EQUNfQ0ZHX09GRikpOw0KPiArCQkJREJHRlNfRFVNUChU Vk9fVklQX0hERik7DQo+ICsJCQl0dm91dF9kYmdfdmlwKHAsIHJlYWRsKHR2b3V0LT5yZWdzICsg VFZPX1ZJUF9IREYpKTsNCj4gKwkJfSBlbHNlIHsNCj4gKwkJCWRybV9wcmludGYocCwgImRpc2Fi bGVkXG4iKTsNCj4gKwkJCXJldHVybjsNCj4gKwkJfQ0KPiAgIAl9DQo+ICAgDQo+IC0Jc2VxX3B1 dHMocywgIlxuXG4gIG1haW4gcGF0aCBjb25maWd1cmF0aW9uIik7DQo+ICsJZHJtX3ByaW50Zihw LCAiXG5cdFx0bWFpbiBwYXRoIGNvbmZpZ3VyYXRpb24iKTsNCj4gICAJREJHRlNfRFVNUChUVk9f Q1NDX01BSU5fTTApOw0KPiAgIAlEQkdGU19EVU1QKFRWT19DU0NfTUFJTl9NMSk7DQo+ICAgCURC R0ZTX0RVTVAoVFZPX0NTQ19NQUlOX00yKTsNCj4gQEAgLTU0OSw3ICs1NTcsNyBAQCBzdGF0aWMg aW50IHR2b3V0X2RiZ19zaG93KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkNCj4gICAJ REJHRlNfRFVNUChUVk9fQ1NDX01BSU5fTTcpOw0KPiAgIAlEQkdGU19EVU1QKFRWT19NQUlOX0lO X1ZJRF9GT1JNQVQpOw0KPiAgIA0KPiAtCXNlcV9wdXRzKHMsICJcblxuICBhdXhpbGlhcnkgcGF0 aCBjb25maWd1cmF0aW9uIik7DQo+ICsJZHJtX3ByaW50ZihwLCAiXG5cdFx0YXV4aWxpYXJ5IHBh dGggY29uZmlndXJhdGlvbiIpOw0KPiAgIAlEQkdGU19EVU1QKFRWT19DU0NfQVVYX00wKTsNCj4g ICAJREJHRlNfRFVNUChUVk9fQ1NDX0FVWF9NMik7DQo+ICAgCURCR0ZTX0RVTVAoVFZPX0NTQ19B VVhfTTMpOw0KPiBAQCAtNTU4LDI0ICs1NjYsNyBAQCBzdGF0aWMgaW50IHR2b3V0X2RiZ19zaG93 KHN0cnVjdCBzZXFfZmlsZSAqcywgdm9pZCAqZGF0YSkNCj4gICAJREJHRlNfRFVNUChUVk9fQ1ND X0FVWF9NNik7DQo+ICAgCURCR0ZTX0RVTVAoVFZPX0NTQ19BVVhfTTcpOw0KPiAgIAlEQkdGU19E VU1QKFRWT19BVVhfSU5fVklEX0ZPUk1BVCk7DQo+IC0Jc2VxX3B1dGMocywgJ1xuJyk7DQo+IC0J cmV0dXJuIDA7DQo+IC19DQo+IC0NCj4gLXN0YXRpYyBzdHJ1Y3QgZHJtX2luZm9fbGlzdCB0dm91 dF9kZWJ1Z2ZzX2ZpbGVzW10gPSB7DQo+IC0JeyAidHZvdXQiLCB0dm91dF9kYmdfc2hvdywgMCwg TlVMTCB9LA0KPiAtfTsNCj4gLQ0KPiAtc3RhdGljIGludCB0dm91dF9kZWJ1Z2ZzX2luaXQoc3Ry dWN0IHN0aV90dm91dCAqdHZvdXQsIHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKQ0KPiAtew0KPiAt CXVuc2lnbmVkIGludCBpOw0KPiAtDQo+IC0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUodHZv dXRfZGVidWdmc19maWxlcyk7IGkrKykNCj4gLQkJdHZvdXRfZGVidWdmc19maWxlc1tpXS5kYXRh ID0gdHZvdXQ7DQo+IC0NCj4gLQlyZXR1cm4gZHJtX2RlYnVnZnNfY3JlYXRlX2ZpbGVzKHR2b3V0 X2RlYnVnZnNfZmlsZXMsDQo+IC0JCQkJCUFSUkFZX1NJWkUodHZvdXRfZGVidWdmc19maWxlcyks DQo+IC0JCQkJCW1pbm9yLT5kZWJ1Z2ZzX3Jvb3QsIG1pbm9yKTsNCj4gKwlkcm1fcHJpbnRmKHAs ICJcbiIpOw0KPiAgIH0NCj4gICANCj4gICBzdGF0aWMgdm9pZCBzdGlfdHZvdXRfZW5jb2Rlcl9k cG1zKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwgaW50IG1vZGUpDQo+IEBAIC01OTYsMzYg KzU4Nyw5IEBAIHN0YXRpYyB2b2lkIHN0aV90dm91dF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyKQ0KPiAgIAlrZnJlZShzdGlfZW5jb2Rlcik7DQo+ICAgfQ0KPiAg IA0KPiAtc3RhdGljIGludCBzdGlfdHZvdXRfbGF0ZV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIpDQo+IC17DQo+IC0Jc3RydWN0IHN0aV90dm91dCAqdHZvdXQgPSB0b19zdGlf dHZvdXQoZW5jb2Rlcik7DQo+IC0JaW50IHJldDsNCj4gLQ0KPiAtCWlmICh0dm91dC0+ZGVidWdm c19yZWdpc3RlcmVkKQ0KPiAtCQlyZXR1cm4gMDsNCj4gLQ0KPiAtCXJldCA9IHR2b3V0X2RlYnVn ZnNfaW5pdCh0dm91dCwgZW5jb2Rlci0+ZGV2LT5wcmltYXJ5KTsNCj4gLQlpZiAocmV0KQ0KPiAt CQlyZXR1cm4gcmV0Ow0KPiAtDQo+IC0JdHZvdXQtPmRlYnVnZnNfcmVnaXN0ZXJlZCA9IHRydWU7 DQo+IC0JcmV0dXJuIDA7DQo+IC19DQo+IC0NCj4gLXN0YXRpYyB2b2lkIHN0aV90dm91dF9lYXJs eV91bnJlZ2lzdGVyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikNCj4gLXsNCj4gLQlzdHJ1 Y3Qgc3RpX3R2b3V0ICp0dm91dCA9IHRvX3N0aV90dm91dChlbmNvZGVyKTsNCj4gLQ0KPiAtCWlm ICghdHZvdXQtPmRlYnVnZnNfcmVnaXN0ZXJlZCkNCj4gLQkJcmV0dXJuOw0KPiAtDQo+IC0JdHZv dXQtPmRlYnVnZnNfcmVnaXN0ZXJlZCA9IGZhbHNlOw0KPiAtfQ0KPiAtDQo+ICAgc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fZW5jb2Rlcl9mdW5jcyBzdGlfdHZvdXRfZW5jb2Rlcl9mdW5jcyA9IHsN Cj4gICAJLmRlc3Ryb3kgPSBzdGlfdHZvdXRfZW5jb2Rlcl9kZXN0cm95LA0KPiAtCS5sYXRlX3Jl Z2lzdGVyID0gc3RpX3R2b3V0X2xhdGVfcmVnaXN0ZXIsDQo+IC0JLmVhcmx5X3VucmVnaXN0ZXIg PSBzdGlfdHZvdXRfZWFybHlfdW5yZWdpc3RlciwNCj4gKwkuYXRvbWljX3ByaW50ID0gc3RpX3R2 b3V0X3ByaW50DQo+ICAgfTsNCj4gICANCj4gICBzdGF0aWMgdm9pZCBzdGlfZHZvX2VuY29kZXJf ZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikNCj4gDQoNClJldmlld2VkLWJ5OiBQ aGlsaXBwZSBDb3JudSA8cGhpbGlwcGUuY29ybnVAc3QuY29tPg0KTWFueSB0aGFua3MNClBoaWxp cHBlIDotKQ==