From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Gaignard Subject: [PATCH v1 6/7] drm: sti: make encoders use atomic_print_state instead of debugfs Date: Tue, 5 Jun 2018 15:54:06 +0200 Message-ID: <20180605135407.20214-7-benjamin.gaignard@linaro.org> References: <20180605135407.20214-1-benjamin.gaignard@linaro.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x241.google.com (mail-wr0-x241.google.com [IPv6:2a00:1450:400c:c0c::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id EB3986EDD4 for ; Tue, 5 Jun 2018 13:54:33 +0000 (UTC) Received: by mail-wr0-x241.google.com with SMTP id h10-v6so2527149wrq.8 for ; Tue, 05 Jun 2018 06:54:33 -0700 (PDT) In-Reply-To: <20180605135407.20214-1-benjamin.gaignard@linaro.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: gustavo@padovan.org, maarten.lankhorst@linux.intel.com, seanpaul@chromium.org, airlied@linux.ie, vincent.abriou@st.com Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org Q29udmVydCBhbGwgc3RpIGVuY29kZXJzIHRvIGF0b21pY19wcmludCB1c2FnZSByYXRoZXIgdGhh biB1c2UgYQpkZWJ1Z2ZzIGVudHJ5LgoKU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQg PGJlbmphbWluLmdhaWduYXJkQGxpbmFyby5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3N0aS9z dGlfdHZvdXQuYyB8IDE2MiArKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiAxIGZpbGUgY2hhbmdlZCwgNjMgaW5zZXJ0aW9ucygrKSwgOTkgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdHZvdXQuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX3R2b3V0LmMKaW5kZXggZWE0YTNiODdmYTU1Li44YWEyMzcxMGI2OTUgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX3R2b3V0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL3N0aS9zdGlfdHZvdXQuYwpAQCAtNDQyLDEwICs0NDIsMTAgQEAgc3RhdGljIHZvaWQgdHZv dXRfaGRhX3N0YXJ0KHN0cnVjdCBzdGlfdHZvdXQgKnR2b3V0LCBib29sIG1haW5fcGF0aCkKIAl0 dm91dF93cml0ZSh0dm91dCwgMCwgVFZPX0hEX0RBQ19DRkdfT0ZGKTsKIH0KIAotI2RlZmluZSBE QkdGU19EVU1QKHJlZykgc2VxX3ByaW50ZihzLCAiXG4gICUtMjVzIDB4JTA4WCIsICNyZWcsIFwK KyNkZWZpbmUgREJHRlNfRFVNUChyZWcpIGRybV9wcmludGYocCwgIlxuXHRcdCUtMjVzIDB4JTA4 WCIsICNyZWcsIFwKIAkJCQkgICByZWFkbCh0dm91dC0+cmVncyArIHJlZykpCiAKLXN0YXRpYyB2 b2lkIHR2b3V0X2RiZ192aXAoc3RydWN0IHNlcV9maWxlICpzLCBpbnQgdmFsKQorc3RhdGljIHZv aWQgdHZvdXRfZGJnX3ZpcChzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsIGludCB2YWwpCiB7CiAJaW50 IHIsIGcsIGIsIHRtcCwgbWFzazsKIAljaGFyICpjb25zdCByZW9yZGVyW10gPSB7IllfRyIsICJD Yl9CIiwgIkNyX1IifTsKQEAgLTQ1OSw4NiArNDU5LDk0IEBAIHN0YXRpYyB2b2lkIHR2b3V0X2Ri Z192aXAoc3RydWN0IHNlcV9maWxlICpzLCBpbnQgdmFsKQogCQkJCSAgICJBdXggKGNvbG9yIG1h dHJpeCBieS1wYXNzZWQpIiwKIAkJCQkgICAiIiwgIiIsICIiLCAiIiwgIiIsICJGb3JjZSB2YWx1 ZSJ9OwogCi0Jc2VxX3B1dGMocywgJ1x0Jyk7CisJZHJtX3ByaW50ZihwLCAiXG5cdFx0XHQiKTsK IAltYXNrID0gVFZPX1ZJUF9SRU9SREVSX01BU0sgPDwgVFZPX1ZJUF9SRU9SREVSX1JfU0hJRlQ7 CiAJciA9ICh2YWwgJiBtYXNrKSA+PiBUVk9fVklQX1JFT1JERVJfUl9TSElGVDsKIAltYXNrID0g VFZPX1ZJUF9SRU9SREVSX01BU0sgPDwgVFZPX1ZJUF9SRU9SREVSX0dfU0hJRlQ7CiAJZyA9ICh2 YWwgJiBtYXNrKSA+PiBUVk9fVklQX1JFT1JERVJfR19TSElGVDsKIAltYXNrID0gVFZPX1ZJUF9S RU9SREVSX01BU0sgPDwgVFZPX1ZJUF9SRU9SREVSX0JfU0hJRlQ7CiAJYiA9ICh2YWwgJiBtYXNr KSA+PiBUVk9fVklQX1JFT1JERVJfQl9TSElGVDsKLQlzZXFfcHJpbnRmKHMsICIlLTI0cyAlcy0+ JXMgJXMtPiVzICVzLT4lc1xuIiwgIlJlb3JkZXI6IiwKKwlkcm1fcHJpbnRmKHAsICIlLTI0cyAl cy0+JXMgJXMtPiVzICVzLT4lcyIsICJSZW9yZGVyOiIsCiAJCSAgIHJlb3JkZXJbcl0sIHJlb3Jk ZXJbVFZPX1ZJUF9SRU9SREVSX0NSX1JfU0VMXSwKIAkJICAgcmVvcmRlcltnXSwgcmVvcmRlcltU Vk9fVklQX1JFT1JERVJfWV9HX1NFTF0sCiAJCSAgIHJlb3JkZXJbYl0sIHJlb3JkZXJbVFZPX1ZJ UF9SRU9SREVSX0NCX0JfU0VMXSk7Ci0Jc2VxX3B1dHMocywgIlx0XHRcdFx0XHQiKTsKKwlkcm1f cHJpbnRmKHAsICJcblx0XHRcdCIpOwogCW1hc2sgPSBUVk9fVklQX0NMSVBfTUFTSyA8PCBUVk9f VklQX0NMSVBfU0hJRlQ7CiAJdG1wID0gKHZhbCAmIG1hc2spID4+IFRWT19WSVBfQ0xJUF9TSElG VDsKLQlzZXFfcHJpbnRmKHMsICIlLTI0cyAlc1xuIiwgIkNsaXBwaW5nOiIsIGNsaXBwaW5nW3Rt cF0pOwotCXNlcV9wdXRzKHMsICJcdFx0XHRcdFx0Iik7CisJZHJtX3ByaW50ZihwLCAiJS0yNHMg JXMiLCAiQ2xpcHBpbmc6IiwgY2xpcHBpbmdbdG1wXSk7CisJZHJtX3ByaW50ZihwLCAiXG5cdFx0 XHQiKTsKIAltYXNrID0gVFZPX1ZJUF9STkRfTUFTSyA8PCBUVk9fVklQX1JORF9TSElGVDsKIAl0 bXAgPSAodmFsICYgbWFzaykgPj4gVFZPX1ZJUF9STkRfU0hJRlQ7Ci0Jc2VxX3ByaW50ZihzLCAi JS0yNHMgaW5wdXQgZGF0YSByb3VuZGVkIHRvICVzIHBlciBjb21wb25lbnRcbiIsCisJZHJtX3By aW50ZihwLCAiJS0yNHMgaW5wdXQgZGF0YSByb3VuZGVkIHRvICVzIHBlciBjb21wb25lbnQiLAog CQkgICAiUm91bmQ6Iiwgcm91bmRbdG1wXSk7Ci0Jc2VxX3B1dHMocywgIlx0XHRcdFx0XHQiKTsK Kwlkcm1fcHJpbnRmKHAsICJcblx0XHRcdCIpOwogCXRtcCA9ICh2YWwgJiBUVk9fVklQX1NFTF9J TlBVVF9NQVNLKTsKLQlzZXFfcHJpbnRmKHMsICIlLTI0cyAlcyIsICJJbnB1dCBzZWxlY3Rpb246 IiwgaW5wdXRfc2VsW3RtcF0pOworCWRybV9wcmludGYocCwgIiUtMjRzICVzIiwgIklucHV0IHNl bGVjdGlvbjoiLCBpbnB1dF9zZWxbdG1wXSk7CiB9CiAKLXN0YXRpYyB2b2lkIHR2b3V0X2RiZ19o ZF9kYWNfY2ZnKHN0cnVjdCBzZXFfZmlsZSAqcywgaW50IHZhbCkKK3N0YXRpYyB2b2lkIHR2b3V0 X2RiZ19oZF9kYWNfY2ZnKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgaW50IHZhbCkKIHsKLQlzZXFf cHJpbnRmKHMsICJcdCUtMjRzICVzIiwgIkhEIERBQzoiLAorCWRybV9wcmludGYocCwgIlx0JS0y NHMgJXMiLCAiSEQgREFDOiIsCiAJCSAgIHZhbCAmIDEgPyAiZGlzYWJsZWQiIDogImVuYWJsZWQi KTsKIH0KIAotc3RhdGljIGludCB0dm91dF9kYmdfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZv aWQgKmRhdGEpCitzdGF0aWMgdm9pZCBzdGlfdHZvdXRfcHJpbnQoc3RydWN0IGRybV9wcmludGVy ICpwLCBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiB7Ci0Jc3RydWN0IGRybV9pbmZvX25v ZGUgKm5vZGUgPSBzLT5wcml2YXRlOwotCXN0cnVjdCBzdGlfdHZvdXQgKnR2b3V0ID0gKHN0cnVj dCBzdGlfdHZvdXQgKilub2RlLT5pbmZvX2VudC0+ZGF0YTsKKwlzdHJ1Y3Qgc3RpX3R2b3V0ICp0 dm91dCA9IHRvX3N0aV90dm91dChlbmNvZGVyKTsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CiAK LQlzZXFfcHJpbnRmKHMsICJUVk9VVDogKHZhZGRyID0gMHglcCkiLCB0dm91dC0+cmVncyk7Ci0K LQlzZXFfcHV0cyhzLCAiXG5cbiAgSERNSSBlbmNvZGVyOiAiKTsKLQljcnRjID0gdHZvdXQtPmhk bWktPmNydGM7Ci0JaWYgKGNydGMpIHsKLQkJc2VxX3ByaW50ZihzLCAiY29ubmVjdGVkIHRvICVz IHBhdGgiLAotCQkJICAgc3RpX2NydGNfaXNfbWFpbihjcnRjKSA/ICJtYWluIiA6ICJhdXgiKTsK LQkJREJHRlNfRFVNUChUVk9fSERNSV9TWU5DX1NFTCk7Ci0JCURCR0ZTX0RVTVAoVFZPX1ZJUF9I RE1JKTsKLQkJdHZvdXRfZGJnX3ZpcChzLCByZWFkbCh0dm91dC0+cmVncyArIFRWT19WSVBfSERN SSkpOwotCX0gZWxzZSB7Ci0JCXNlcV9wdXRzKHMsICJkaXNhYmxlZCIpOworCWRybV9wcmludGYo cCwgIlx0VFZPVVQ6ICh2YWRkciA9IDB4JXBLKVxuIiwgdHZvdXQtPnJlZ3MpOworCisJaWYgKGVu Y29kZXItPmVuY29kZXJfdHlwZSA9PSBEUk1fTU9ERV9FTkNPREVSX1RNRFMpIHsKKwkJZHJtX3By aW50ZihwLCAiXHRIRE1JIGVuY29kZXI6ICIpOworCQljcnRjID0gdHZvdXQtPmhkbWktPmNydGM7 CisJCWlmIChjcnRjKSB7CisJCQlkcm1fcHJpbnRmKHAsICJjb25uZWN0ZWQgdG8gJXMgcGF0aCIs CisJCQkJICAgc3RpX2NydGNfaXNfbWFpbihjcnRjKSA/ICJtYWluIiA6ICJhdXgiKTsKKwkJCURC R0ZTX0RVTVAoVFZPX0hETUlfU1lOQ19TRUwpOworCQkJREJHRlNfRFVNUChUVk9fVklQX0hETUkp OworCQkJdHZvdXRfZGJnX3ZpcChwLCByZWFkbCh0dm91dC0+cmVncyArIFRWT19WSVBfSERNSSkp OworCQl9IGVsc2UgeworCQkJZHJtX3ByaW50ZihwLCAiZGlzYWJsZWRcbiIpOworCQkJcmV0dXJu OworCQl9CiAJfQogCi0Jc2VxX3B1dHMocywgIlxuXG4gIERWTyBlbmNvZGVyOiAiKTsKLQljcnRj ID0gdHZvdXQtPmR2by0+Y3J0YzsKLQlpZiAoY3J0YykgewotCQlzZXFfcHJpbnRmKHMsICJjb25u ZWN0ZWQgdG8gJXMgcGF0aCIsCi0JCQkgICBzdGlfY3J0Y19pc19tYWluKGNydGMpID8gIm1haW4i IDogImF1eCIpOwotCQlEQkdGU19EVU1QKFRWT19EVk9fU1lOQ19TRUwpOwotCQlEQkdGU19EVU1Q KFRWT19EVk9fQ09ORklHKTsKLQkJREJHRlNfRFVNUChUVk9fVklQX0RWTyk7Ci0JCXR2b3V0X2Ri Z192aXAocywgcmVhZGwodHZvdXQtPnJlZ3MgKyBUVk9fVklQX0RWTykpOwotCX0gZWxzZSB7Ci0J CXNlcV9wdXRzKHMsICJkaXNhYmxlZCIpOworCWlmIChlbmNvZGVyLT5lbmNvZGVyX3R5cGUgPT0g RFJNX01PREVfRU5DT0RFUl9MVkRTKSB7CisJCWRybV9wcmludGYocCwgIlx0RFZPIGVuY29kZXI6 ICIpOworCQljcnRjID0gdHZvdXQtPmR2by0+Y3J0YzsKKwkJaWYgKGNydGMpIHsKKwkJCWRybV9w cmludGYocCwgImNvbm5lY3RlZCB0byAlcyBwYXRoIiwKKwkJCQkgICBzdGlfY3J0Y19pc19tYWlu KGNydGMpID8gIm1haW4iIDogImF1eCIpOworCQkJREJHRlNfRFVNUChUVk9fRFZPX1NZTkNfU0VM KTsKKwkJCURCR0ZTX0RVTVAoVFZPX0RWT19DT05GSUcpOworCQkJREJHRlNfRFVNUChUVk9fVklQ X0RWTyk7CisJCQl0dm91dF9kYmdfdmlwKHAsIHJlYWRsKHR2b3V0LT5yZWdzICsgVFZPX1ZJUF9E Vk8pKTsKKwkJfSBlbHNlIHsKKwkJCWRybV9wcmludGYocCwgImRpc2FibGVkXG4iKTsKKwkJCXJl dHVybjsKKwkJfQogCX0KIAotCXNlcV9wdXRzKHMsICJcblxuICBIREEgZW5jb2RlcjogIik7Ci0J Y3J0YyA9IHR2b3V0LT5oZGEtPmNydGM7Ci0JaWYgKGNydGMpIHsKLQkJc2VxX3ByaW50ZihzLCAi Y29ubmVjdGVkIHRvICVzIHBhdGgiLAotCQkJICAgc3RpX2NydGNfaXNfbWFpbihjcnRjKSA/ICJt YWluIiA6ICJhdXgiKTsKLQkJREJHRlNfRFVNUChUVk9fSERfU1lOQ19TRUwpOwotCQlEQkdGU19E VU1QKFRWT19IRF9EQUNfQ0ZHX09GRik7Ci0JCXR2b3V0X2RiZ19oZF9kYWNfY2ZnKHMsCi0JCQkJ ICAgICByZWFkbCh0dm91dC0+cmVncyArIFRWT19IRF9EQUNfQ0ZHX09GRikpOwotCQlEQkdGU19E VU1QKFRWT19WSVBfSERGKTsKLQkJdHZvdXRfZGJnX3ZpcChzLCByZWFkbCh0dm91dC0+cmVncyAr IFRWT19WSVBfSERGKSk7Ci0JfSBlbHNlIHsKLQkJc2VxX3B1dHMocywgImRpc2FibGVkIik7CisJ aWYgKGVuY29kZXItPmVuY29kZXJfdHlwZSA9PSBEUk1fTU9ERV9FTkNPREVSX0RBQykgeworCQlk cm1fcHJpbnRmKHAsICJcdEhEQSBlbmNvZGVyOiAiKTsKKwkJY3J0YyA9IHR2b3V0LT5oZGEtPmNy dGM7CisJCWlmIChjcnRjKSB7CisJCQlkcm1fcHJpbnRmKHAsICJjb25uZWN0ZWQgdG8gJXMgcGF0 aCIsCisJCQkJICAgc3RpX2NydGNfaXNfbWFpbihjcnRjKSA/ICJtYWluIiA6ICJhdXgiKTsKKwkJ CURCR0ZTX0RVTVAoVFZPX0hEX1NZTkNfU0VMKTsKKwkJCURCR0ZTX0RVTVAoVFZPX0hEX0RBQ19D RkdfT0ZGKTsKKwkJCXR2b3V0X2RiZ19oZF9kYWNfY2ZnKHAsCisJCQkJcmVhZGwodHZvdXQtPnJl Z3MgKyBUVk9fSERfREFDX0NGR19PRkYpKTsKKwkJCURCR0ZTX0RVTVAoVFZPX1ZJUF9IREYpOwor CQkJdHZvdXRfZGJnX3ZpcChwLCByZWFkbCh0dm91dC0+cmVncyArIFRWT19WSVBfSERGKSk7CisJ CX0gZWxzZSB7CisJCQlkcm1fcHJpbnRmKHAsICJkaXNhYmxlZFxuIik7CisJCQlyZXR1cm47CisJ CX0KIAl9CiAKLQlzZXFfcHV0cyhzLCAiXG5cbiAgbWFpbiBwYXRoIGNvbmZpZ3VyYXRpb24iKTsK Kwlkcm1fcHJpbnRmKHAsICJcblx0XHRtYWluIHBhdGggY29uZmlndXJhdGlvbiIpOwogCURCR0ZT X0RVTVAoVFZPX0NTQ19NQUlOX00wKTsKIAlEQkdGU19EVU1QKFRWT19DU0NfTUFJTl9NMSk7CiAJ REJHRlNfRFVNUChUVk9fQ1NDX01BSU5fTTIpOwpAQCAtNTQ5LDcgKzU1Nyw3IEBAIHN0YXRpYyBp bnQgdHZvdXRfZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQogCURCR0ZT X0RVTVAoVFZPX0NTQ19NQUlOX003KTsKIAlEQkdGU19EVU1QKFRWT19NQUlOX0lOX1ZJRF9GT1JN QVQpOwogCi0Jc2VxX3B1dHMocywgIlxuXG4gIGF1eGlsaWFyeSBwYXRoIGNvbmZpZ3VyYXRpb24i KTsKKwlkcm1fcHJpbnRmKHAsICJcblx0XHRhdXhpbGlhcnkgcGF0aCBjb25maWd1cmF0aW9uIik7 CiAJREJHRlNfRFVNUChUVk9fQ1NDX0FVWF9NMCk7CiAJREJHRlNfRFVNUChUVk9fQ1NDX0FVWF9N Mik7CiAJREJHRlNfRFVNUChUVk9fQ1NDX0FVWF9NMyk7CkBAIC01NTgsMjQgKzU2Niw3IEBAIHN0 YXRpYyBpbnQgdHZvdXRfZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICpkYXRhKQog CURCR0ZTX0RVTVAoVFZPX0NTQ19BVVhfTTYpOwogCURCR0ZTX0RVTVAoVFZPX0NTQ19BVVhfTTcp OwogCURCR0ZTX0RVTVAoVFZPX0FVWF9JTl9WSURfRk9STUFUKTsKLQlzZXFfcHV0YyhzLCAnXG4n KTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHN0cnVjdCBkcm1faW5mb19saXN0IHR2b3V0X2Rl YnVnZnNfZmlsZXNbXSA9IHsKLQl7ICJ0dm91dCIsIHR2b3V0X2RiZ19zaG93LCAwLCBOVUxMIH0s Ci19OwotCi1zdGF0aWMgaW50IHR2b3V0X2RlYnVnZnNfaW5pdChzdHJ1Y3Qgc3RpX3R2b3V0ICp0 dm91dCwgc3RydWN0IGRybV9taW5vciAqbWlub3IpCi17Ci0JdW5zaWduZWQgaW50IGk7Ci0KLQlm b3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRSh0dm91dF9kZWJ1Z2ZzX2ZpbGVzKTsgaSsrKQotCQl0 dm91dF9kZWJ1Z2ZzX2ZpbGVzW2ldLmRhdGEgPSB0dm91dDsKLQotCXJldHVybiBkcm1fZGVidWdm c19jcmVhdGVfZmlsZXModHZvdXRfZGVidWdmc19maWxlcywKLQkJCQkJQVJSQVlfU0laRSh0dm91 dF9kZWJ1Z2ZzX2ZpbGVzKSwKLQkJCQkJbWlub3ItPmRlYnVnZnNfcm9vdCwgbWlub3IpOworCWRy bV9wcmludGYocCwgIlxuIik7CiB9CiAKIHN0YXRpYyB2b2lkIHN0aV90dm91dF9lbmNvZGVyX2Rw bXMoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKQEAgLTU5NiwzNiArNTg3 LDkgQEAgc3RhdGljIHZvaWQgc3RpX3R2b3V0X2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpCiAJa2ZyZWUoc3RpX2VuY29kZXIpOwogfQogCi1zdGF0aWMgaW50IHN0 aV90dm91dF9sYXRlX3JlZ2lzdGVyKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKLXsKLQlz dHJ1Y3Qgc3RpX3R2b3V0ICp0dm91dCA9IHRvX3N0aV90dm91dChlbmNvZGVyKTsKLQlpbnQgcmV0 OwotCi0JaWYgKHR2b3V0LT5kZWJ1Z2ZzX3JlZ2lzdGVyZWQpCi0JCXJldHVybiAwOwotCi0JcmV0 ID0gdHZvdXRfZGVidWdmc19pbml0KHR2b3V0LCBlbmNvZGVyLT5kZXYtPnByaW1hcnkpOwotCWlm IChyZXQpCi0JCXJldHVybiByZXQ7Ci0KLQl0dm91dC0+ZGVidWdmc19yZWdpc3RlcmVkID0gdHJ1 ZTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGljIHZvaWQgc3RpX3R2b3V0X2Vhcmx5X3VucmVnaXN0 ZXIoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQotewotCXN0cnVjdCBzdGlfdHZvdXQgKnR2 b3V0ID0gdG9fc3RpX3R2b3V0KGVuY29kZXIpOwotCi0JaWYgKCF0dm91dC0+ZGVidWdmc19yZWdp c3RlcmVkKQotCQlyZXR1cm47Ci0KLQl0dm91dC0+ZGVidWdmc19yZWdpc3RlcmVkID0gZmFsc2U7 Ci19Ci0KIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2VuY29kZXJfZnVuY3Mgc3RpX3R2b3V0X2Vu Y29kZXJfZnVuY3MgPSB7CiAJLmRlc3Ryb3kgPSBzdGlfdHZvdXRfZW5jb2Rlcl9kZXN0cm95LAot CS5sYXRlX3JlZ2lzdGVyID0gc3RpX3R2b3V0X2xhdGVfcmVnaXN0ZXIsCi0JLmVhcmx5X3VucmVn aXN0ZXIgPSBzdGlfdHZvdXRfZWFybHlfdW5yZWdpc3RlciwKKwkuYXRvbWljX3ByaW50ID0gc3Rp X3R2b3V0X3ByaW50CiB9OwogCiBzdGF0aWMgdm9pZCBzdGlfZHZvX2VuY29kZXJfZW5hYmxlKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKLS0gCjIuMTUuMAoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmkt ZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==