From mboxrd@z Thu Jan 1 00:00:00 1970 From: Benjamin Gaignard Subject: [PATCH v1 5/7] drm: sti: make crtc use atomic_print_state instead of debugfs Date: Tue, 5 Jun 2018 15:54:05 +0200 Message-ID: <20180605135407.20214-6-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-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 22C836EDD1 for ; Tue, 5 Jun 2018 13:54:32 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id w10-v6so2529773wrk.9 for ; Tue, 05 Jun 2018 06:54:32 -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 Q29udmVydCBzdGkgY3J0YyB0byBhdG9taWNfcHJpbnRfc3RhdGUgdXNhZ2UgcmF0aGVyIHRoYW4g dXNlIGEKZGVidWdmcyBlbnRyeS4KClNpZ25lZC1vZmYtYnk6IEJlbmphbWluIEdhaWduYXJkIDxi ZW5qYW1pbi5nYWlnbmFyZEBsaW5hcm8ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X2NvbXBvc2l0b3IuYyB8IDE2IC0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2NvbXBv c2l0b3IuaCB8ICAzIC0tCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jcnRjLmMgICAgICAgfCAx NyArKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5jICAgICAgfCA4OSArKysr KysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X21peGVyLmggICAgICB8ICAzICstCiBkcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV92aWQuYyAgICAg ICAgfCA2MCArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9zdGkvc3Rp X3ZpZC5oICAgICAgICB8ICAyICstCiA3IGZpbGVzIGNoYW5nZWQsIDU5IGluc2VydGlvbnMoKyks IDEzMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9j b21wb3NpdG9yLmMgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jb21wb3NpdG9yLmMKaW5kZXgg MDIxYjhmY2FhMGI5Li5jMDhkNWM1NjA1NTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9z dGkvc3RpX2NvbXBvc2l0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jb21wb3Np dG9yLmMKQEAgLTM5LDIyICszOSw2IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qgc3RpX2NvbXBvc2l0 b3JfZGF0YSBzdGloNDA3X2NvbXBvc2l0b3JfZGF0YSA9IHsKIAl9LAogfTsKIAotaW50IHN0aV9j b21wb3NpdG9yX2RlYnVnZnNfaW5pdChzdHJ1Y3Qgc3RpX2NvbXBvc2l0b3IgKmNvbXBvLAotCQkJ CXN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKQotewotCXVuc2lnbmVkIGludCBpOwotCi0JZm9yIChp ID0gMDsgaSA8IFNUSV9NQVhfVklEOyBpKyspCi0JCWlmIChjb21wby0+dmlkW2ldKQotCQkJdmlk X2RlYnVnZnNfaW5pdChjb21wby0+dmlkW2ldLCBtaW5vcik7Ci0KLQlmb3IgKGkgPSAwOyBpIDwg U1RJX01BWF9NSVhFUjsgaSsrKQotCQlpZiAoY29tcG8tPm1peGVyW2ldKQotCQkJc3RpX21peGVy X2RlYnVnZnNfaW5pdChjb21wby0+bWl4ZXJbaV0sIG1pbm9yKTsKLQotCXJldHVybiAwOwotfQot CiBzdGF0aWMgaW50IHN0aV9jb21wb3NpdG9yX2JpbmQoc3RydWN0IGRldmljZSAqZGV2LAogCQkJ ICAgICAgIHN0cnVjdCBkZXZpY2UgKm1hc3RlciwKIAkJCSAgICAgICB2b2lkICpkYXRhKQpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY29tcG9zaXRvci5oIGIvZHJpdmVycy9n cHUvZHJtL3N0aS9zdGlfY29tcG9zaXRvci5oCmluZGV4IGFjNGJiMzgzNDgxMC4uZWI4YjIzM2U2 OGEyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9jb21wb3NpdG9yLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY29tcG9zaXRvci5oCkBAIC03OSw3ICs3OSw0IEBA IHN0cnVjdCBzdGlfY29tcG9zaXRvciB7CiAJc3RydWN0IG5vdGlmaWVyX2Jsb2NrIHZ0Z192Ymxh bmtfbmJbU1RJX01BWF9NSVhFUl07CiB9OwogCi1pbnQgc3RpX2NvbXBvc2l0b3JfZGVidWdmc19p bml0KHN0cnVjdCBzdGlfY29tcG9zaXRvciAqY29tcG8sCi0JCQkJc3RydWN0IGRybV9taW5vciAq bWlub3IpOwotCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2Ny dGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2NydGMuYwppbmRleCA1ODI0ZTZhY2E4ZjQu LjRlMTM3OTMyZmZlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfY3J0Yy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX2NydGMuYwpAQCAtMzE2LDE1ICszMTYsMjAg QEAgdm9pZCBzdGlfY3J0Y19kaXNhYmxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2Rl diwgdW5zaWduZWQgaW50IHBpcGUpCiAJCURSTV9ERUJVR19EUklWRVIoIldhcm5pbmc6IGNhbm5v dCB1bnJlZ2lzdGVyIFZURyBub3RpZmllclxuIik7CiB9CiAKLXN0YXRpYyBpbnQgc3RpX2NydGNf bGF0ZV9yZWdpc3RlcihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCitzdGF0aWMgdm9pZCBzdGlfY3J0 Y19wcmludF9zdGF0ZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsCisJCQkJIGNvbnN0IHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IHN0aV9taXhlciAqbWl4ZXIgPSB0b19z dGlfbWl4ZXIoY3J0Yyk7CisJc3RydWN0IHN0aV9taXhlciAqbWl4ZXIgPSB0b19zdGlfbWl4ZXIo c3RhdGUtPmNydGMpOwogCXN0cnVjdCBzdGlfY29tcG9zaXRvciAqY29tcG8gPSBkZXZfZ2V0X2Ry dmRhdGEobWl4ZXItPmRldik7CisJdW5zaWduZWQgaW50IGk7CiAKLQlpZiAoZHJtX2NydGNfaW5k ZXgoY3J0YykgPT0gMCkKLQkJcmV0dXJuIHN0aV9jb21wb3NpdG9yX2RlYnVnZnNfaW5pdChjb21w bywgY3J0Yy0+ZGV2LT5wcmltYXJ5KTsKKwlmb3IgKGkgPSAwOyBpIDwgU1RJX01BWF9WSUQ7IGkr KykKKwkJaWYgKGNvbXBvLT52aWRbaV0pCisJCQlzdGlfdmlkX3ByaW50X3N0YXRlKHAsIGNvbXBv LT52aWRbaV0pOwogCi0JcmV0dXJuIDA7CisJZm9yIChpID0gMDsgaSA8IFNUSV9NQVhfTUlYRVI7 IGkrKykKKwkJaWYgKGNvbXBvLT5taXhlcltpXSkKKwkJCXN0aV9taXhlcl9wcmludF9zdGF0ZShw LCBjb21wby0+bWl4ZXJbaV0pOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1 bmNzIHN0aV9jcnRjX2Z1bmNzID0gewpAQCAtMzM1LDcgKzM0MCw3IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2NydGNfZnVuY3Mgc3RpX2NydGNfZnVuY3MgPSB7CiAJLnJlc2V0ID0gZHJtX2F0 b21pY19oZWxwZXJfY3J0Y19yZXNldCwKIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9h dG9taWNfaGVscGVyX2NydGNfZHVwbGljYXRlX3N0YXRlLAogCS5hdG9taWNfZGVzdHJveV9zdGF0 ZSA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZSwKLQkubGF0ZV9yZWdpc3Rl ciA9IHN0aV9jcnRjX2xhdGVfcmVnaXN0ZXIsCisJLmF0b21pY19wcmludF9zdGF0ZSA9IHN0aV9j cnRjX3ByaW50X3N0YXRlLAogfTsKIAogYm9vbCBzdGlfY3J0Y19pc19tYWluKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YykKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX21peGVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5jCmluZGV4IGE0ZjQ1Yzc0ZDY3OC4uMjI1 MjUxMzlkMzE1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX21peGVyLmMKQEAgLTcwLDIwICs3MCwyMCBAQCBz dGF0aWMgaW5saW5lIHZvaWQgc3RpX21peGVyX3JlZ193cml0ZShzdHJ1Y3Qgc3RpX21peGVyICpt aXhlciwKIAl3cml0ZWwodmFsLCBtaXhlci0+cmVncyArIHJlZ19pZCk7CiB9CiAKLSNkZWZpbmUg REJHRlNfRFVNUChyZWcpIHNlcV9wcmludGYocywgIlxuICAlLTI1cyAweCUwOFgiLCAjcmVnLCBc CisjZGVmaW5lIERCR0ZTX0RVTVAocmVnKSBkcm1fcHJpbnRmKHAsICJcblx0XHQlLTI1cyAweCUw OFgiLCAjcmVnLCBcCiAJCQkJICAgc3RpX21peGVyX3JlZ19yZWFkKG1peGVyLCByZWcpKQogCi1z dGF0aWMgdm9pZCBtaXhlcl9kYmdfY3RsKHN0cnVjdCBzZXFfZmlsZSAqcywgaW50IHZhbCkKK3N0 YXRpYyB2b2lkIG1peGVyX2RiZ19jdGwoc3RydWN0IGRybV9wcmludGVyICpwLCBpbnQgdmFsKQog ewogCXVuc2lnbmVkIGludCBpOwogCWludCBjb3VudCA9IDA7CiAJY2hhciAqY29uc3QgZGlzcF9s YXllcltdID0geyJCS0ciLCAiVklEMCIsICJWSUQxIiwgIkdEUDAiLAogCQkJCSAgICAiR0RQMSIs ICJHRFAyIiwgIkdEUDMifTsKIAotCXNlcV9wdXRzKHMsICJcdEVuYWJsZWQ6ICIpOworCWRybV9w cmludGYocCwgIlx0RW5hYmxlZDogIik7CiAJZm9yIChpID0gMDsgaSA8IDc7IGkrKykgewogCQlp ZiAodmFsICYgMSkgewotCQkJc2VxX3ByaW50ZihzLCAiJXMgIiwgZGlzcF9sYXllcltpXSk7CisJ CQlkcm1fcHJpbnRmKHAsICIlcyAiLCBkaXNwX2xheWVyW2ldKTsKIAkJCWNvdW50Kys7CiAJCX0K IAkJdmFsID0gdmFsID4+IDE7CkBAIC05MSwxMTQgKzkxLDc1IEBAIHN0YXRpYyB2b2lkIG1peGVy X2RiZ19jdGwoc3RydWN0IHNlcV9maWxlICpzLCBpbnQgdmFsKQogCiAJdmFsID0gdmFsID4+IDI7 CiAJaWYgKHZhbCAmIDEpIHsKLQkJc2VxX3B1dHMocywgIkNVUlMgIik7CisJCWRybV9wcmludGYo cCwgIkNVUlMgIik7CiAJCWNvdW50Kys7CiAJfQogCWlmICghY291bnQpCi0JCXNlcV9wdXRzKHMs ICJOb3RoaW5nIik7CisJCWRybV9wcmludGYocCwgIk5vdGhpbmciKTsKIH0KIAotc3RhdGljIHZv aWQgbWl4ZXJfZGJnX2NyYihzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIGludCB2YWwpCitzdGF0aWMgdm9p ZCBtaXhlcl9kYmdfY3JiKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgaW50IHZhbCkKIHsKIAlpbnQg aTsKIAotCXNlcV9wdXRzKHMsICJcdERlcHRoOiAiKTsKKwlkcm1fcHJpbnRmKHAsICJcdERlcHRo OiAiKTsKIAlmb3IgKGkgPSAwOyBpIDwgR0FNX01JWEVSX05CX0RFUFRIX0xFVkVMOyBpKyspIHsK IAkJc3dpdGNoICh2YWwgJiBHQU1fREVQVEhfTUFTS19JRCkgewogCQljYXNlIEdBTV9ERVBUSF9W SUQwX0lEOgotCQkJc2VxX3B1dHMocywgIlZJRDAiKTsKKwkJCWRybV9wcmludGYocCwgIlZJRDAi KTsKIAkJCWJyZWFrOwogCQljYXNlIEdBTV9ERVBUSF9WSUQxX0lEOgotCQkJc2VxX3B1dHMocywg IlZJRDEiKTsKKwkJCWRybV9wcmludGYocCwgIlZJRDEiKTsKIAkJCWJyZWFrOwogCQljYXNlIEdB TV9ERVBUSF9HRFAwX0lEOgotCQkJc2VxX3B1dHMocywgIkdEUDAiKTsKKwkJCWRybV9wcmludGYo cCwgIkdEUDAiKTsKIAkJCWJyZWFrOwogCQljYXNlIEdBTV9ERVBUSF9HRFAxX0lEOgotCQkJc2Vx X3B1dHMocywgIkdEUDEiKTsKKwkJCWRybV9wcmludGYocCwgIkdEUDEiKTsKIAkJCWJyZWFrOwog CQljYXNlIEdBTV9ERVBUSF9HRFAyX0lEOgotCQkJc2VxX3B1dHMocywgIkdEUDIiKTsKKwkJCWRy bV9wcmludGYocCwgIkdEUDIiKTsKIAkJCWJyZWFrOwogCQljYXNlIEdBTV9ERVBUSF9HRFAzX0lE OgotCQkJc2VxX3B1dHMocywgIkdEUDMiKTsKKwkJCWRybV9wcmludGYocCwgIkdEUDMiKTsKIAkJ CWJyZWFrOwogCQlkZWZhdWx0OgotCQkJc2VxX3B1dHMocywgIi0tLSIpOworCQkJZHJtX3ByaW50 ZihwLCAiLS0tIik7CiAJCX0KIAogCQlpZiAoaSA8IEdBTV9NSVhFUl9OQl9ERVBUSF9MRVZFTCAt IDEpCi0JCQlzZXFfcHV0cyhzLCAiIDwgIik7CisJCQlkcm1fcHJpbnRmKHAsICIgPCAiKTsKIAkJ dmFsID0gdmFsID4+IDM7CiAJfQogfQogCi1zdGF0aWMgdm9pZCBtaXhlcl9kYmdfbXhuKHN0cnVj dCBzZXFfZmlsZSAqcywgdm9pZCAqYWRkcikKK3N0YXRpYyB2b2lkIG1peGVyX2RiZ19teG4oc3Ry dWN0IGRybV9wcmludGVyICpwLCB2b2lkICphZGRyKQogewogCWludCBpOwogCiAJZm9yIChpID0g MTsgaSA8IDg7IGkrKykKLQkJc2VxX3ByaW50ZihzLCAiLTB4JTA4WCIsIChpbnQpcmVhZGwoYWRk ciArIGkgKiA0KSk7CisJCWRybV9wcmludGYocCwgIi0weCUwOFgiLCAoaW50KXJlYWRsKGFkZHIg KyBpICogNCkpOwogfQogCi1zdGF0aWMgaW50IG1peGVyX2RiZ19zaG93KHN0cnVjdCBzZXFfZmls ZSAqcywgdm9pZCAqYXJnKQordm9pZCBzdGlfbWl4ZXJfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9w cmludGVyICpwLCBzdHJ1Y3Qgc3RpX21peGVyICptaXhlcikKIHsKLQlzdHJ1Y3QgZHJtX2luZm9f bm9kZSAqbm9kZSA9IHMtPnByaXZhdGU7Ci0Jc3RydWN0IHN0aV9taXhlciAqbWl4ZXIgPSAoc3Ry dWN0IHN0aV9taXhlciAqKW5vZGUtPmluZm9fZW50LT5kYXRhOwotCi0Jc2VxX3ByaW50ZihzLCAi JXM6ICh2YWRkciA9IDB4JXApIiwKKwlkcm1fcHJpbnRmKHAsICJcdCVzOiAodmFkZHIgPSAweCVw SykiLAogCQkgICBzdGlfbWl4ZXJfdG9fc3RyKG1peGVyKSwgbWl4ZXItPnJlZ3MpOwogCiAJREJH RlNfRFVNUChHQU1fTUlYRVJfQ1RMKTsKLQltaXhlcl9kYmdfY3RsKHMsIHN0aV9taXhlcl9yZWdf cmVhZChtaXhlciwgR0FNX01JWEVSX0NUTCkpOworCW1peGVyX2RiZ19jdGwocCwgc3RpX21peGVy X3JlZ19yZWFkKG1peGVyLCBHQU1fTUlYRVJfQ1RMKSk7CiAJREJHRlNfRFVNUChHQU1fTUlYRVJf QktDKTsKIAlEQkdGU19EVU1QKEdBTV9NSVhFUl9CQ08pOwogCURCR0ZTX0RVTVAoR0FNX01JWEVS X0JDUyk7CiAJREJHRlNfRFVNUChHQU1fTUlYRVJfQVZPKTsKIAlEQkdGU19EVU1QKEdBTV9NSVhF Ul9BVlMpOwogCURCR0ZTX0RVTVAoR0FNX01JWEVSX0NSQik7Ci0JbWl4ZXJfZGJnX2NyYihzLCBz dGlfbWl4ZXJfcmVnX3JlYWQobWl4ZXIsIEdBTV9NSVhFUl9DUkIpKTsKKwltaXhlcl9kYmdfY3Ji KHAsIHN0aV9taXhlcl9yZWdfcmVhZChtaXhlciwgR0FNX01JWEVSX0NSQikpOwogCURCR0ZTX0RV TVAoR0FNX01JWEVSX0FDVCk7CiAJREJHRlNfRFVNUChHQU1fTUlYRVJfTUJQKTsKIAlEQkdGU19E VU1QKEdBTV9NSVhFUl9NWDApOwotCW1peGVyX2RiZ19teG4ocywgbWl4ZXItPnJlZ3MgKyBHQU1f TUlYRVJfTVgwKTsKLQlzZXFfcHV0YyhzLCAnXG4nKTsKLQlyZXR1cm4gMDsKLX0KLQotc3RhdGlj IHN0cnVjdCBkcm1faW5mb19saXN0IG1peGVyMF9kZWJ1Z2ZzX2ZpbGVzW10gPSB7Ci0JeyAibWl4 ZXJfbWFpbiIsIG1peGVyX2RiZ19zaG93LCAwLCBOVUxMIH0sCi19OwotCi1zdGF0aWMgc3RydWN0 IGRybV9pbmZvX2xpc3QgbWl4ZXIxX2RlYnVnZnNfZmlsZXNbXSA9IHsKLQl7ICJtaXhlcl9hdXgi LCBtaXhlcl9kYmdfc2hvdywgMCwgTlVMTCB9LAotfTsKLQotaW50IHN0aV9taXhlcl9kZWJ1Z2Zz X2luaXQoc3RydWN0IHN0aV9taXhlciAqbWl4ZXIsIHN0cnVjdCBkcm1fbWlub3IgKm1pbm9yKQot ewotCXVuc2lnbmVkIGludCBpOwotCXN0cnVjdCBkcm1faW5mb19saXN0ICptaXhlcl9kZWJ1Z2Zz X2ZpbGVzOwotCWludCBuYl9maWxlczsKLQotCXN3aXRjaCAobWl4ZXItPmlkKSB7Ci0JY2FzZSBT VElfTUlYRVJfTUFJTjoKLQkJbWl4ZXJfZGVidWdmc19maWxlcyA9IG1peGVyMF9kZWJ1Z2ZzX2Zp bGVzOwotCQluYl9maWxlcyA9IEFSUkFZX1NJWkUobWl4ZXIwX2RlYnVnZnNfZmlsZXMpOwotCQli cmVhazsKLQljYXNlIFNUSV9NSVhFUl9BVVg6Ci0JCW1peGVyX2RlYnVnZnNfZmlsZXMgPSBtaXhl cjFfZGVidWdmc19maWxlczsKLQkJbmJfZmlsZXMgPSBBUlJBWV9TSVpFKG1peGVyMV9kZWJ1Z2Zz X2ZpbGVzKTsKLQkJYnJlYWs7Ci0JZGVmYXVsdDoKLQkJcmV0dXJuIC1FSU5WQUw7Ci0JfQotCi0J Zm9yIChpID0gMDsgaSA8IG5iX2ZpbGVzOyBpKyspCi0JCW1peGVyX2RlYnVnZnNfZmlsZXNbaV0u ZGF0YSA9IG1peGVyOwotCi0JcmV0dXJuIGRybV9kZWJ1Z2ZzX2NyZWF0ZV9maWxlcyhtaXhlcl9k ZWJ1Z2ZzX2ZpbGVzLAotCQkJCQluYl9maWxlcywKLQkJCQkJbWlub3ItPmRlYnVnZnNfcm9vdCwg bWlub3IpOworCW1peGVyX2RiZ19teG4ocCwgbWl4ZXItPnJlZ3MgKyBHQU1fTUlYRVJfTVgwKTsK Kwlkcm1fcHJpbnRmKHAsICJcbiIpOwogfQogCiB2b2lkIHN0aV9taXhlcl9zZXRfYmFja2dyb3Vu ZF9zdGF0dXMoc3RydWN0IHN0aV9taXhlciAqbWl4ZXIsIGJvb2wgZW5hYmxlKQpAQCAtMzY3LDcg KzMyOCw3IEBAIHN0cnVjdCBzdGlfbWl4ZXIgKnN0aV9taXhlcl9jcmVhdGUoc3RydWN0IGRldmlj ZSAqZGV2LAogCW1peGVyLT5kZXYgPSBkZXY7CiAJbWl4ZXItPmlkID0gaWQ7CiAKLQlEUk1fREVC VUdfRFJJVkVSKCIlcyBjcmVhdGVkLiBSZWdzPSVwXG4iLAorCURSTV9ERUJVR19EUklWRVIoIiVz IGNyZWF0ZWQuIFJlZ3M9JXBLXG4iLAogCQkJIHN0aV9taXhlcl90b19zdHIobWl4ZXIpLCBtaXhl ci0+cmVncyk7CiAKIAlyZXR1cm4gbWl4ZXI7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v c3RpL3N0aV9taXhlci5oIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfbWl4ZXIuaAppbmRleCA0 Y2IzY2ZkZGMwM2EuLjA2NzA5MzI3MGJiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3N0 aS9zdGlfbWl4ZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV9taXhlci5oCkBAIC01 Myw3ICs1Myw4IEBAIGludCBzdGlfbWl4ZXJfYWN0aXZlX3ZpZGVvX2FyZWEoc3RydWN0IHN0aV9t aXhlciAqbWl4ZXIsCiAKIHZvaWQgc3RpX21peGVyX3NldF9iYWNrZ3JvdW5kX3N0YXR1cyhzdHJ1 Y3Qgc3RpX21peGVyICptaXhlciwgYm9vbCBlbmFibGUpOwogCi1pbnQgc3RpX21peGVyX2RlYnVn ZnNfaW5pdChzdHJ1Y3Qgc3RpX21peGVyICptaXhlciwgc3RydWN0IGRybV9taW5vciAqbWlub3Ip Owordm9pZCBzdGlfbWl4ZXJfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLCBzdHJ1 Y3Qgc3RpX21peGVyICptaXhlcik7CisKIAogLyogZGVwdGggaW4gQ3Jvc3MtYmFyIGNvbnRyb2wg PSB6IG9yZGVyICovCiAjZGVmaW5lIEdBTV9NSVhFUl9OQl9ERVBUSF9MRVZFTCA2CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0aV92aWQuYyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX3ZpZC5jCmluZGV4IDJhYWMzNmM5NTgzNS4uOTczMGU5Y2YyYTg3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vc3RpL3N0aV92aWQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vc3RpL3N0 aV92aWQuYwpAQCAtNTUsNTQgKzU1LDUxIEBACiAKICNkZWZpbmUgVklEX01JTl9IRF9IRUlHSFQg ICAgICAgNzIwCiAKLSNkZWZpbmUgREJHRlNfRFVNUChyZWcpIHNlcV9wcmludGYocywgIlxuICAl LTI1cyAweCUwOFgiLCAjcmVnLCBcCisjZGVmaW5lIERCR0ZTX0RVTVAocmVnKSBkcm1fcHJpbnRm KHAsICJcblx0XHQlLTI1cyAweCUwOFgiLCAjcmVnLCBcCiAJCQkJICAgcmVhZGwodmlkLT5yZWdz ICsgcmVnKSkKIAotc3RhdGljIHZvaWQgdmlkX2RiZ19jdGwoc3RydWN0IHNlcV9maWxlICpzLCBp bnQgdmFsKQorc3RhdGljIHZvaWQgdmlkX2RiZ19jdGwoc3RydWN0IGRybV9wcmludGVyICpwLCBp bnQgdmFsKQogewogCXZhbCA9IHZhbCA+PiAzMDsKLQlzZXFfcHV0YyhzLCAnXHQnKTsKKwlkcm1f cHJpbnRmKHAsICJcdCIpOwogCiAJaWYgKCEodmFsICYgMSkpCi0JCXNlcV9wdXRzKHMsICJOT1Qg Iik7Ci0Jc2VxX3B1dHMocywgImlnbm9yZWQgb24gbWFpbiBtaXhlciAtICIpOworCQlkcm1fcHJp bnRmKHAsICJOT1QgIik7CisJZHJtX3ByaW50ZihwLCAiaWdub3JlZCBvbiBtYWluIG1peGVyIC0g Iik7CiAKIAlpZiAoISh2YWwgJiAyKSkKLQkJc2VxX3B1dHMocywgIk5PVCAiKTsKLQlzZXFfcHV0 cyhzLCAiaWdub3JlZCBvbiBhdXggbWl4ZXIiKTsKKwkJZHJtX3ByaW50ZihwLCAiTk9UICIpOwor CWRybV9wcmludGYocCwgImlnbm9yZWQgb24gYXV4IG1peGVyIik7CiB9CiAKLXN0YXRpYyB2b2lk IHZpZF9kYmdfdnBvKHN0cnVjdCBzZXFfZmlsZSAqcywgaW50IHZhbCkKK3N0YXRpYyB2b2lkIHZp ZF9kYmdfdnBvKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgaW50IHZhbCkKIHsKLQlzZXFfcHJpbnRm KHMsICJcdHhkbzolNGRcdHlkbzolNGQiLCB2YWwgJiAweDBGRkYsICh2YWwgPj4gMTYpICYgMHgw RkZGKTsKKwlkcm1fcHJpbnRmKHAsICJcdHhkbzolNGRcdHlkbzolNGQiLCB2YWwgJiAweDBGRkYs ICh2YWwgPj4gMTYpICYgMHgwRkZGKTsKIH0KIAotc3RhdGljIHZvaWQgdmlkX2RiZ192cHMoc3Ry dWN0IHNlcV9maWxlICpzLCBpbnQgdmFsKQorc3RhdGljIHZvaWQgdmlkX2RiZ192cHMoc3RydWN0 IGRybV9wcmludGVyICpwLCBpbnQgdmFsKQogewotCXNlcV9wcmludGYocywgIlx0eGRzOiU0ZFx0 eWRzOiU0ZCIsIHZhbCAmIDB4MEZGRiwgKHZhbCA+PiAxNikgJiAweDBGRkYpOworCWRybV9wcmlu dGYocCwgIlx0eGRzOiU0ZFx0eWRzOiU0ZCIsIHZhbCAmIDB4MEZGRiwgKHZhbCA+PiAxNikgJiAw eDBGRkYpOwogfQogCi1zdGF0aWMgdm9pZCB2aWRfZGJnX21zdChzdHJ1Y3Qgc2VxX2ZpbGUgKnMs IGludCB2YWwpCitzdGF0aWMgdm9pZCB2aWRfZGJnX21zdChzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAs IGludCB2YWwpCiB7CiAJaWYgKHZhbCAmIDEpCi0JCXNlcV9wdXRzKHMsICJcdEJVRkZFUiBVTkRF UkZMT1chIik7CisJCWRybV9wcmludGYocCwgIlx0QlVGRkVSIFVOREVSRkxPVyEiKTsKIH0KIAot c3RhdGljIGludCB2aWRfZGJnX3Nob3coc3RydWN0IHNlcV9maWxlICpzLCB2b2lkICphcmcpCit2 b2lkIHN0aV92aWRfcHJpbnRfc3RhdGUoc3RydWN0IGRybV9wcmludGVyICpwLCBzdHJ1Y3Qgc3Rp X3ZpZCAqdmlkKQogewotCXN0cnVjdCBkcm1faW5mb19ub2RlICpub2RlID0gcy0+cHJpdmF0ZTsK LQlzdHJ1Y3Qgc3RpX3ZpZCAqdmlkID0gKHN0cnVjdCBzdGlfdmlkICopbm9kZS0+aW5mb19lbnQt PmRhdGE7Ci0KLQlzZXFfcHJpbnRmKHMsICJWSUQ6ICh2YWRkcj0gMHglcCkiLCB2aWQtPnJlZ3Mp OworCWRybV9wcmludGYocCwgIlx0VklEOiAodmFkZHI9IDB4JXBLKSIsIHZpZC0+cmVncyk7CiAK IAlEQkdGU19EVU1QKFZJRF9DVEwpOwotCXZpZF9kYmdfY3RsKHMsIHJlYWRsKHZpZC0+cmVncyAr IFZJRF9DVEwpKTsKKwl2aWRfZGJnX2N0bChwLCByZWFkbCh2aWQtPnJlZ3MgKyBWSURfQ1RMKSk7 CiAJREJHRlNfRFVNUChWSURfQUxQKTsKIAlEQkdGU19EVU1QKFZJRF9DTEYpOwogCURCR0ZTX0RV TVAoVklEX1ZQTyk7Ci0JdmlkX2RiZ192cG8ocywgcmVhZGwodmlkLT5yZWdzICsgVklEX1ZQTykp OworCXZpZF9kYmdfdnBvKHAsIHJlYWRsKHZpZC0+cmVncyArIFZJRF9WUE8pKTsKIAlEQkdGU19E VU1QKFZJRF9WUFMpOwotCXZpZF9kYmdfdnBzKHMsIHJlYWRsKHZpZC0+cmVncyArIFZJRF9WUFMp KTsKKwl2aWRfZGJnX3ZwcyhwLCByZWFkbCh2aWQtPnJlZ3MgKyBWSURfVlBTKSk7CiAJREJHRlNf RFVNUChWSURfS0VZMSk7CiAJREJHRlNfRFVNUChWSURfS0VZMik7CiAJREJHRlNfRFVNUChWSURf TVBSMCk7CkBAIC0xMTAsMjggKzEwNywxMSBAQCBzdGF0aWMgaW50IHZpZF9kYmdfc2hvdyhzdHJ1 Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmFyZykKIAlEQkdGU19EVU1QKFZJRF9NUFIyKTsKIAlEQkdG U19EVU1QKFZJRF9NUFIzKTsKIAlEQkdGU19EVU1QKFZJRF9NU1QpOwotCXZpZF9kYmdfbXN0KHMs IHJlYWRsKHZpZC0+cmVncyArIFZJRF9NU1QpKTsKKwl2aWRfZGJnX21zdChwLCByZWFkbCh2aWQt PnJlZ3MgKyBWSURfTVNUKSk7CiAJREJHRlNfRFVNUChWSURfQkMpOwogCURCR0ZTX0RVTVAoVklE X1RJTlQpOwogCURCR0ZTX0RVTVAoVklEX0NTQVQpOwotCXNlcV9wdXRjKHMsICdcbicpOwotCXJl dHVybiAwOwotfQotCi1zdGF0aWMgc3RydWN0IGRybV9pbmZvX2xpc3QgdmlkX2RlYnVnZnNfZmls ZXNbXSA9IHsKLQl7ICJ2aWQiLCB2aWRfZGJnX3Nob3csIDAsIE5VTEwgfSwKLX07Ci0KLWludCB2 aWRfZGVidWdmc19pbml0KHN0cnVjdCBzdGlfdmlkICp2aWQsIHN0cnVjdCBkcm1fbWlub3IgKm1p bm9yKQotewotCXVuc2lnbmVkIGludCBpOwotCi0JZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUo dmlkX2RlYnVnZnNfZmlsZXMpOyBpKyspCi0JCXZpZF9kZWJ1Z2ZzX2ZpbGVzW2ldLmRhdGEgPSB2 aWQ7Ci0KLQlyZXR1cm4gZHJtX2RlYnVnZnNfY3JlYXRlX2ZpbGVzKHZpZF9kZWJ1Z2ZzX2ZpbGVz LAotCQkJCQlBUlJBWV9TSVpFKHZpZF9kZWJ1Z2ZzX2ZpbGVzKSwKLQkJCQkJbWlub3ItPmRlYnVn ZnNfcm9vdCwgbWlub3IpOworCWRybV9wcmludGYocCwgIlxuIik7CiB9CiAKIHZvaWQgc3RpX3Zp ZF9jb21taXQoc3RydWN0IHN0aV92aWQgKnZpZCwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9zdGkvc3RpX3ZpZC5oIGIvZHJpdmVycy9ncHUvZHJtL3N0aS9zdGlfdmlkLmgKaW5kZXggOWRi ZDc4NDYxZGUxLi4yNzY1NmRiYmQyYmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdGkv c3RpX3ZpZC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdGkvc3RpX3ZpZC5oCkBAIC0yNiw2ICsy Niw2IEBAIHZvaWQgc3RpX3ZpZF9kaXNhYmxlKHN0cnVjdCBzdGlfdmlkICp2aWQpOwogc3RydWN0 IHN0aV92aWQgKnN0aV92aWRfY3JlYXRlKHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0IGRybV9k ZXZpY2UgKmRybV9kZXYsCiAJCQkgICAgICAgaW50IGlkLCB2b2lkIF9faW9tZW0gKmJhc2VhZGRy KTsKIAotaW50IHZpZF9kZWJ1Z2ZzX2luaXQoc3RydWN0IHN0aV92aWQgKnZpZCwgc3RydWN0IGRy bV9taW5vciAqbWlub3IpOwordm9pZCBzdGlfdmlkX3ByaW50X3N0YXRlKHN0cnVjdCBkcm1fcHJp bnRlciAqcCwgc3RydWN0IHN0aV92aWQgKnZpZCk7CiAKICNlbmRpZgotLSAKMi4xNS4wCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFp bGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK