From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH 07/12] drm/msm/dsi: Set up link clocks for DSIv2 Date: Wed, 14 Oct 2015 18:28:59 +0530 Message-ID: <1444827544-25656-8-git-send-email-architt@codeaurora.org> References: <1444827544-25656-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1444827544-25656-1-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, robdclark@gmail.com, hali@codeaurora.org Cc: linux-arm-msm@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org RFNJdjIgKERTSSBvbiBvbGRlciBBIGZhbWlseSBjaGlwcykgaGFzIHNsaWdodGx5IGRpZmZlcmVu dCBsaW5rIGNsb2NrCnJlcXVpcmVtZW50cy4KCkZpcnN0LCB3ZSBoYXZlIGFuIGV4dHJhIGNsb2Nr IGNhbGxlZCBzcmNfY2xrICh3aXRoIGEgZGVkaWNhdGVkIFJDRykuClRoaXMgaXMgcmVxdWlyZWQg YnkgdGhlIERTSSBjb250cm9sbGVyIHRvIHByb2Nlc3MgdGhlIHBpeGVsIGRhdGEKY29taW5nIGZy b20gTURQLiBJdCBuZWVkcyB0byBiZSBzZXQgYXQgdGhlIHJhdGUgInBjbGsgKiBieXRlc19wZXJf cGl4ZWwiLgoKV2UgYWxzbyBuZWVkIHRvIGV4cGxpY2l0bHkgY29uZmlndXJlIGVzY19jbGsuIE9u IERTSTZHIGNoaXBzLCB3ZSBkb24ndApuZWVkIHRvIHNldCBhIHJhdGUgdG8gZXNjX2NsayBiZWNh dXNlIGl0cyBSQ0cgaXMgYWx3YXlzIHNvdXJjZWQgZnJvbQpjcnlzdGFsIGNsb2NrICgxOS4yIE1o eiBpbiBhbGwgY2FzZXMpLCB3aGljaCBpcyB3aXRoaW4gdGhlIGVzY2FwZSBjbG9jawpmcmVxdWVu Y3kgcmFuZ2UgaW4gdGhlIG1pcGkgRFNJIHNwZWMuIEZvciBjaGlwcyB3aXRoIERTSXYyLCB0aGUg Y3J5c3RhbApjbG9jayByYXRlIG1heSBub3QgYmUgd2l0aGluIHRoZSByZXF1aXJlZCByYW5nZSAo MjdNaHogb24gQVBRODA2NCkuClRoZXJlZm9yZSwgd2UgZGVyaXZlIGl0IGZyb20gdGhlIERTSSBi eXRlIGNsb2NrLiBXZSBjYWxjdWxhdGUgYW4gZXNjX2NsY2sKcmF0ZSB0aGF0IGlzIHdpdGhpbiB0 aGUgbWlwaSBzcGVjIGFuZCBhbHNvIGRpdmlzaWJsZSBieSB0aGUgYnl0ZSBjbG9jawpyYXRlLgoK V2hlbiBzZXR0aW5nIHJhdGUgYW5kIGVuYWJsaW5nIHRoZSBsaW5rIGNsb2Nrcywgd2UgbWFrZSBz dXJlIHRoYXQgYnl0ZV9jbGsKaXMgY29uZmlndXJlZCBiZWZvcmUgZXNjX2NsaywgYW5kIHNyY19j bGsgYmVmb3JlIHBpeGVsX2Nsay4gV2UgY3JlYXRlIHR3bwpkaWZmZXJlbnQgbGlua19lbmFibGUg ZnVuY3MgZm9yIERTSTZHIGFuZCBEU0l2MiBzaW5jZSB0aGUgc2VxdWVuY2VzIGFyZQpkaWZmZXJl bnQuCgpXZSBhbHNvIG9idGFpbiB0d28gZXh0cmEgc291cmNlIGNsb2NrcyAoZHNpX3NyY19jbGsg YW5kIGVzY19zcmNfY2xrKSBhbmQKc2V0IHRoZWlyIHBhcmVudCB0byB0aGUgY2xvY2tzIHByb3Zp ZGVkIGJ5IERTSSBQTEwuCgpTaWduZWQtb2ZmLWJ5OiBBcmNoaXQgVGFuZWphIDxhcmNoaXR0QGNv ZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpL2RzaV9ob3N0LmMgfCAx OTMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrLQogMSBmaWxlIGNoYW5nZWQs IDE4OCBpbnNlcnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZHNpL2RzaV9ob3N0LmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS9kc2lf aG9zdC5jCmluZGV4IDAwODcyNmYuLjE2YzVjZmIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZHNpL2RzaV9ob3N0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2kvZHNpX2hv c3QuYwpAQCAtMTEzLDYgKzExMywxNCBAQCBzdHJ1Y3QgbXNtX2RzaV9ob3N0IHsKIAlzdHJ1Y3Qg Y2xrICpwaXhlbF9jbGtfc3JjOwogCiAJdTMyIGJ5dGVfY2xrX3JhdGU7CisJdTMyIGVzY19jbGtf cmF0ZTsKKworCS8qIERTSSB2MiBzcGVjaWZpYyBjbG9ja3MgKi8KKwlzdHJ1Y3QgY2xrICpzcmNf Y2xrOworCXN0cnVjdCBjbGsgKmVzY19jbGtfc3JjOworCXN0cnVjdCBjbGsgKmRzaV9jbGtfc3Jj OworCisJdTMyIHNyY19jbGtfcmF0ZTsKIAogCXN0cnVjdCBncGlvX2Rlc2MgKmRpc3BfZW5fZ3Bp bzsKIAlzdHJ1Y3QgZ3Bpb19kZXNjICp0ZV9ncGlvOwpAQCAtMzE4LDcgKzMyNiw4IEBAIHN0YXRp YyBpbnQgZHNpX3JlZ3VsYXRvcl9pbml0KHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0KQog c3RhdGljIGludCBkc2lfY2xrX2luaXQoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiB7 CiAJc3RydWN0IGRldmljZSAqZGV2ID0gJm1zbV9ob3N0LT5wZGV2LT5kZXY7Ci0JY29uc3Qgc3Ry dWN0IG1zbV9kc2lfY29uZmlnICpjZmcgPSBtc21faG9zdC0+Y2ZnX2huZC0+Y2ZnOworCWNvbnN0 IHN0cnVjdCBtc21fZHNpX2NmZ19oYW5kbGVyICpjZmdfaG5kID0gbXNtX2hvc3QtPmNmZ19obmQ7 CisJY29uc3Qgc3RydWN0IG1zbV9kc2lfY29uZmlnICpjZmcgPSBjZmdfaG5kLT5jZmc7CiAJaW50 IGksIHJldCA9IDA7CiAKIAkvKiBnZXQgYnVzIGNsb2NrcyAqLwpAQCAtMzc3LDYgKzM4NiwzNCBA QCBzdGF0aWMgaW50IGRzaV9jbGtfaW5pdChzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkK IAkJZ290byBleGl0OwogCX0KIAorCWlmIChjZmdfaG5kLT5tYWpvciA9PSBNU01fRFNJX1ZFUl9N QUpPUl9WMikgeworCQltc21faG9zdC0+c3JjX2NsayA9IGRldm1fY2xrX2dldChkZXYsICJzcmNf Y2xrIik7CisJCWlmIChJU19FUlIobXNtX2hvc3QtPnNyY19jbGspKSB7CisJCQlyZXQgPSBQVFJf RVJSKG1zbV9ob3N0LT5zcmNfY2xrKTsKKwkJCXByX2VycigiJXM6IGNhbid0IGZpbmQgZHNpX3Ny Y19jbGsuIHJldD0lZFxuIiwKKwkJCQlfX2Z1bmNfXywgcmV0KTsKKwkJCW1zbV9ob3N0LT5zcmNf Y2xrID0gTlVMTDsKKwkJCWdvdG8gZXhpdDsKKwkJfQorCisJCW1zbV9ob3N0LT5lc2NfY2xrX3Ny YyA9IGRldm1fY2xrX2dldChkZXYsICJlc2NfY2xrX3NyYyIpOworCQlpZiAoSVNfRVJSKG1zbV9o b3N0LT5lc2NfY2xrX3NyYykpIHsKKwkJCXJldCA9IFBUUl9FUlIobXNtX2hvc3QtPmVzY19jbGtf c3JjKTsKKwkJCXByX2VycigiJXM6IGNhbid0IGZpbmQgZXNjX2Nsa19zcmMuIHJldD0lZFxuIiwK KwkJCQlfX2Z1bmNfXywgcmV0KTsKKwkJCW1zbV9ob3N0LT5lc2NfY2xrX3NyYyA9IE5VTEw7CisJ CQlnb3RvIGV4aXQ7CisJCX0KKworCQltc21faG9zdC0+ZHNpX2Nsa19zcmMgPSBkZXZtX2Nsa19n ZXQoZGV2LCAiZHNpX2Nsa19zcmMiKTsKKwkJaWYgKElTX0VSUihtc21faG9zdC0+ZHNpX2Nsa19z cmMpKSB7CisJCQlyZXQgPSBQVFJfRVJSKG1zbV9ob3N0LT5kc2lfY2xrX3NyYyk7CisJCQlwcl9l cnIoIiVzOiBjYW4ndCBmaW5kIGRzaV9jbGtfc3JjLiByZXQ9JWRcbiIsCisJCQkJX19mdW5jX18s IHJldCk7CisJCQltc21faG9zdC0+ZHNpX2Nsa19zcmMgPSBOVUxMOworCQkJZ290byBleGl0Owor CQl9CisJfQogZXhpdDoKIAlyZXR1cm4gcmV0OwogfQpAQCAtNDE2LDcgKzQ1Myw3IEBAIHN0YXRp YyB2b2lkIGRzaV9idXNfY2xrX2Rpc2FibGUoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3Qp CiAJCWNsa19kaXNhYmxlX3VucHJlcGFyZShtc21faG9zdC0+YnVzX2Nsa3NbaV0pOwogfQogCi1z dGF0aWMgaW50IGRzaV9saW5rX2Nsa19lbmFibGUoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hv c3QpCitzdGF0aWMgaW50IGRzaV9saW5rX2Nsa19lbmFibGVfNmcoc3RydWN0IG1zbV9kc2lfaG9z dCAqbXNtX2hvc3QpCiB7CiAJaW50IHJldDsKIApAQCAtNDYzLDExICs1MDAsOTggQEAgZXJyb3I6 CiAJcmV0dXJuIHJldDsKIH0KIAotc3RhdGljIHZvaWQgZHNpX2xpbmtfY2xrX2Rpc2FibGUoc3Ry dWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCitzdGF0aWMgaW50IGRzaV9saW5rX2Nsa19lbmFi bGVfdjIoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiB7CisJaW50IHJldDsKKworCURC RygiU2V0IGNsayByYXRlczogcGNsaz0lZCwgYnl0ZWNsaz0lZCwgZXNjX2Nsaz0lZCwgZHNpX3Ny Y19jbGs9JWQiLAorCQltc21faG9zdC0+bW9kZS0+Y2xvY2ssIG1zbV9ob3N0LT5ieXRlX2Nsa19y YXRlLAorCQltc21faG9zdC0+ZXNjX2Nsa19yYXRlLCBtc21faG9zdC0+c3JjX2Nsa19yYXRlKTsK KworCXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+Ynl0ZV9jbGssIG1zbV9ob3N0LT5ieXRl X2Nsa19yYXRlKTsKKwlpZiAocmV0KSB7CisJCXByX2VycigiJXM6IEZhaWxlZCB0byBzZXQgcmF0 ZSBieXRlIGNsaywgJWRcbiIsIF9fZnVuY19fLCByZXQpOworCQlnb3RvIGVycm9yOworCX0KKwor CXJldCA9IGNsa19zZXRfcmF0ZShtc21faG9zdC0+ZXNjX2NsaywgbXNtX2hvc3QtPmVzY19jbGtf cmF0ZSk7CisJaWYgKHJldCkgeworCQlwcl9lcnIoIiVzOiBGYWlsZWQgdG8gc2V0IHJhdGUgZXNj IGNsaywgJWRcbiIsIF9fZnVuY19fLCByZXQpOworCQlnb3RvIGVycm9yOworCX0KKworCXJldCA9 IGNsa19zZXRfcmF0ZShtc21faG9zdC0+c3JjX2NsaywgbXNtX2hvc3QtPnNyY19jbGtfcmF0ZSk7 CisJaWYgKHJldCkgeworCQlwcl9lcnIoIiVzOiBGYWlsZWQgdG8gc2V0IHJhdGUgc3JjIGNsaywg JWRcbiIsIF9fZnVuY19fLCByZXQpOworCQlnb3RvIGVycm9yOworCX0KKworCXJldCA9IGNsa19z ZXRfcmF0ZShtc21faG9zdC0+cGl4ZWxfY2xrLCBtc21faG9zdC0+bW9kZS0+Y2xvY2sgKiAxMDAw KTsKKwlpZiAocmV0KSB7CisJCXByX2VycigiJXM6IEZhaWxlZCB0byBzZXQgcmF0ZSBwaXhlbCBj bGssICVkXG4iLCBfX2Z1bmNfXywgcmV0KTsKKwkJZ290byBlcnJvcjsKKwl9CisKKwlyZXQgPSBj bGtfcHJlcGFyZV9lbmFibGUobXNtX2hvc3QtPmJ5dGVfY2xrKTsKKwlpZiAocmV0KSB7CisJCXBy X2VycigiJXM6IEZhaWxlZCB0byBlbmFibGUgZHNpIGJ5dGUgY2xrXG4iLCBfX2Z1bmNfXyk7CisJ CWdvdG8gZXJyb3I7CisJfQorCisJcmV0ID0gY2xrX3ByZXBhcmVfZW5hYmxlKG1zbV9ob3N0LT5l c2NfY2xrKTsKKwlpZiAocmV0KSB7CisJCXByX2VycigiJXM6IEZhaWxlZCB0byBlbmFibGUgZHNp IGVzYyBjbGtcbiIsIF9fZnVuY19fKTsKKwkJZ290byBlc2NfY2xrX2VycjsKKwl9CisKKwlyZXQg PSBjbGtfcHJlcGFyZV9lbmFibGUobXNtX2hvc3QtPnNyY19jbGspOworCWlmIChyZXQpIHsKKwkJ cHJfZXJyKCIlczogRmFpbGVkIHRvIGVuYWJsZSBkc2kgc3JjIGNsa1xuIiwgX19mdW5jX18pOwor CQlnb3RvIHNyY19jbGtfZXJyOworCX0KKworCXJldCA9IGNsa19wcmVwYXJlX2VuYWJsZShtc21f aG9zdC0+cGl4ZWxfY2xrKTsKKwlpZiAocmV0KSB7CisJCXByX2VycigiJXM6IEZhaWxlZCB0byBl bmFibGUgZHNpIHBpeGVsIGNsa1xuIiwgX19mdW5jX18pOworCQlnb3RvIHBpeGVsX2Nsa19lcnI7 CisJfQorCisJcmV0dXJuIDA7CisKK3BpeGVsX2Nsa19lcnI6CisJY2xrX2Rpc2FibGVfdW5wcmVw YXJlKG1zbV9ob3N0LT5zcmNfY2xrKTsKK3NyY19jbGtfZXJyOgogCWNsa19kaXNhYmxlX3VucHJl cGFyZShtc21faG9zdC0+ZXNjX2Nsayk7Ci0JY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9ob3N0 LT5waXhlbF9jbGspOworZXNjX2Nsa19lcnI6CiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9o b3N0LT5ieXRlX2Nsayk7CitlcnJvcjoKKwlyZXR1cm4gcmV0OworfQorCitzdGF0aWMgaW50IGRz aV9saW5rX2Nsa19lbmFibGUoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCit7CisJY29u c3Qgc3RydWN0IG1zbV9kc2lfY2ZnX2hhbmRsZXIgKmNmZ19obmQgPSBtc21faG9zdC0+Y2ZnX2hu ZDsKKworCWlmIChjZmdfaG5kLT5tYWpvciA9PSBNU01fRFNJX1ZFUl9NQUpPUl82RykKKwkJcmV0 dXJuIGRzaV9saW5rX2Nsa19lbmFibGVfNmcobXNtX2hvc3QpOworCWVsc2UKKwkJcmV0dXJuIGRz aV9saW5rX2Nsa19lbmFibGVfdjIobXNtX2hvc3QpOworfQorCitzdGF0aWMgdm9pZCBkc2lfbGlu a19jbGtfZGlzYWJsZShzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKK3sKKwljb25zdCBz dHJ1Y3QgbXNtX2RzaV9jZmdfaGFuZGxlciAqY2ZnX2huZCA9IG1zbV9ob3N0LT5jZmdfaG5kOwor CisJaWYgKGNmZ19obmQtPm1ham9yID09IE1TTV9EU0lfVkVSX01BSk9SXzZHKSB7CisJCWNsa19k aXNhYmxlX3VucHJlcGFyZShtc21faG9zdC0+ZXNjX2Nsayk7CisJCWNsa19kaXNhYmxlX3VucHJl cGFyZShtc21faG9zdC0+cGl4ZWxfY2xrKTsKKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9o b3N0LT5ieXRlX2Nsayk7CisJfSBlbHNlIHsKKwkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKG1zbV9o b3N0LT5waXhlbF9jbGspOworCQljbGtfZGlzYWJsZV91bnByZXBhcmUobXNtX2hvc3QtPnNyY19j bGspOworCQljbGtfZGlzYWJsZV91bnByZXBhcmUobXNtX2hvc3QtPmVzY19jbGspOworCQljbGtf ZGlzYWJsZV91bnByZXBhcmUobXNtX2hvc3QtPmJ5dGVfY2xrKTsKKwl9CiB9CiAKIHN0YXRpYyBp bnQgZHNpX2Nsa19jdHJsKHN0cnVjdCBtc21fZHNpX2hvc3QgKm1zbV9ob3N0LCBib29sIGVuYWJs ZSkKQEAgLTUwMiw2ICs2MjYsNyBAQCB1bmxvY2tfcmV0Ogogc3RhdGljIGludCBkc2lfY2FsY19j bGtfcmF0ZShzdHJ1Y3QgbXNtX2RzaV9ob3N0ICptc21faG9zdCkKIHsKIAlzdHJ1Y3QgZHJtX2Rp c3BsYXlfbW9kZSAqbW9kZSA9IG1zbV9ob3N0LT5tb2RlOworCWNvbnN0IHN0cnVjdCBtc21fZHNp X2NmZ19oYW5kbGVyICpjZmdfaG5kID0gbXNtX2hvc3QtPmNmZ19obmQ7CiAJdTggbGFuZXMgPSBt c21faG9zdC0+bGFuZXM7CiAJdTMyIGJwcCA9IGRzaV9nZXRfYnBwKG1zbV9ob3N0LT5mb3JtYXQp OwogCXUzMiBwY2xrX3JhdGU7CkBAIC01MjEsNiArNjQ2LDQ3IEBAIHN0YXRpYyBpbnQgZHNpX2Nh bGNfY2xrX3JhdGUoc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QpCiAKIAlEQkcoInBjbGs9 JWQsIGJjbGs9JWQiLCBwY2xrX3JhdGUsIG1zbV9ob3N0LT5ieXRlX2Nsa19yYXRlKTsKIAorCW1z bV9ob3N0LT5lc2NfY2xrX3JhdGUgPSBjbGtfZ2V0X3JhdGUobXNtX2hvc3QtPmVzY19jbGspOwor CisJaWYgKGNmZ19obmQtPm1ham9yID09IE1TTV9EU0lfVkVSX01BSk9SX1YyKSB7CisJCXVuc2ln bmVkIGludCBlc2NfbWh6LCBlc2NfZGl2OworCQl1bnNpZ25lZCBsb25nIGJ5dGVfbWh6OworCisJ CW1zbV9ob3N0LT5zcmNfY2xrX3JhdGUgPSAocGNsa19yYXRlICogYnBwKSAvIDg7CisKKwkJLyoK KwkJICogZXNjIGNsb2NrIGlzIGJ5dGUgY2xvY2sgZm9sbG93ZWQgYnkgYSA0IGJpdCBkaXZpZGVy LAorCQkgKiB3ZSBuZWVkIHRvIGZpbmQgYW4gZXNjYXBlIGNsb2NrIGZyZXF1ZW5jeSB3aXRoaW4g dGhlCisJCSAqIG1pcGkgRFNJIHNwZWMgcmFuZ2Ugd2l0aGluIHRoZSBtYXhpbXVtIGRpdmlkZXIg bGltaXQKKwkJICogV2UgaXRlcmF0ZSBoZXJlIGJldHdlZW4gYW4gZXNjYXBlIGNsb2NrIGZyZXF1 ZW5jZXkKKwkJICogYmV0d2VlbiAyMCBNaHogdG8gNSBNaHogYW5kIHBpY2sgdXAgdGhlIGZpcnN0 IG9uZQorCQkgKiB0aGF0IGNhbiBiZSBzdXBwb3J0ZWQgYnkgb3VyIGRpdmlkZXIKKwkJICovCisK KwkJYnl0ZV9taHogPSBtc21faG9zdC0+Ynl0ZV9jbGtfcmF0ZSAvIDEwMDAwMDA7CisKKwkJZm9y IChlc2NfbWh6ID0gMjA7IGVzY19taHogPj0gNTsgZXNjX21oei0tKSB7CisJCQllc2NfZGl2ID0g RElWX1JPVU5EX1VQKGJ5dGVfbWh6LCBlc2NfbWh6KTsKKworCQkJLyoKKwkJCSAqIFRPRE86IElk ZWFsbHksIHdlIHNob3VsZG4ndCBrbm93IHdoYXQgc29ydCBvZiBkaXZpZGVyCisJCQkgKiBpcyBh dmFpbGFibGUgaW4gbW1zc19jYywgd2UncmUganVzdCBhc3N1bWluZyB0aGF0CisJCQkgKiBpdCds bCBhbHdheXMgYmUgYSA0IGJpdCBkaXZpZGVyLiBOZWVkIHRvIGNvbWUgdXAgd2l0aAorCQkJICog YSBiZXR0ZXIgd2F5IGhlcmUuCisJCQkgKi8KKwkJCWlmIChlc2NfZGl2ID49IDEgJiYgZXNjX2Rp diA8PSAxNikKKwkJCQlicmVhazsKKwkJfQorCisJCWlmIChlc2NfbWh6IDwgNSkKKwkJCXJldHVy biAtRUlOVkFMOworCisJCW1zbV9ob3N0LT5lc2NfY2xrX3JhdGUgPSBtc21faG9zdC0+Ynl0ZV9j bGtfcmF0ZSAvIGVzY19kaXY7CisKKwkJREJHKCJlc2M9JWQsIHNyYz0lZCIsIG1zbV9ob3N0LT5l c2NfY2xrX3JhdGUsCisJCQltc21faG9zdC0+c3JjX2Nsa19yYXRlKTsKKwl9CisKIAlyZXR1cm4g MDsKIH0KIApAQCAtMTc1Myw2ICsxOTE5LDcgQEAgaW50IG1zbV9kc2lfaG9zdF9zZXRfc3JjX3Bs bChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKIAlzdHJ1Y3QgbXNtX2RzaV9wbGwgKnNyY19w bGwpCiB7CiAJc3RydWN0IG1zbV9kc2lfaG9zdCAqbXNtX2hvc3QgPSB0b19tc21fZHNpX2hvc3Qo aG9zdCk7CisJY29uc3Qgc3RydWN0IG1zbV9kc2lfY2ZnX2hhbmRsZXIgKmNmZ19obmQgPSBtc21f aG9zdC0+Y2ZnX2huZDsKIAlzdHJ1Y3QgY2xrICpieXRlX2Nsa19wcm92aWRlciwgKnBpeGVsX2Ns a19wcm92aWRlcjsKIAlpbnQgcmV0OwogCkBAIC0xNzc4LDYgKzE5NDUsMjIgQEAgaW50IG1zbV9k c2lfaG9zdF9zZXRfc3JjX3BsbChzdHJ1Y3QgbWlwaV9kc2lfaG9zdCAqaG9zdCwKIAkJZ290byBl eGl0OwogCX0KIAorCWlmIChjZmdfaG5kLT5tYWpvciA9PSBNU01fRFNJX1ZFUl9NQUpPUl9WMikg eworCQlyZXQgPSBjbGtfc2V0X3BhcmVudChtc21faG9zdC0+ZHNpX2Nsa19zcmMsIHBpeGVsX2Ns a19wcm92aWRlcik7CisJCWlmIChyZXQpIHsKKwkJCXByX2VycigiJXM6IGNhbid0IHNldCBwYXJl bnQgdG8gZHNpX2Nsa19zcmMuIHJldD0lZFxuIiwKKwkJCQlfX2Z1bmNfXywgcmV0KTsKKwkJCWdv dG8gZXhpdDsKKwkJfQorCisJCXJldCA9IGNsa19zZXRfcGFyZW50KG1zbV9ob3N0LT5lc2NfY2xr X3NyYywgYnl0ZV9jbGtfcHJvdmlkZXIpOworCQlpZiAocmV0KSB7CisJCQlwcl9lcnIoIiVzOiBj YW4ndCBzZXQgcGFyZW50IHRvIGVzY19jbGtfc3JjLiByZXQ9JWRcbiIsCisJCQkJX19mdW5jX18s IHJldCk7CisJCQlnb3RvIGV4aXQ7CisJCX0KKwl9CisKIGV4aXQ6CiAJcmV0dXJuIHJldDsKIH0K QEAgLTE4NDksNyArMjAzMiw3IEBAIGludCBtc21fZHNpX2hvc3RfcG93ZXJfb24oc3RydWN0IG1p cGlfZHNpX2hvc3QgKmhvc3QpCiAJZHNpX3BoeV9zd19yZXNldChtc21faG9zdCk7CiAJcmV0ID0g bXNtX2RzaV9tYW5hZ2VyX3BoeV9lbmFibGUobXNtX2hvc3QtPmlkLAogCQkJCQltc21faG9zdC0+ Ynl0ZV9jbGtfcmF0ZSAqIDgsCi0JCQkJCWNsa19nZXRfcmF0ZShtc21faG9zdC0+ZXNjX2Nsayks CisJCQkJCW1zbV9ob3N0LT5lc2NfY2xrX3JhdGUsCiAJCQkJCSZjbGtfcHJlLCAmY2xrX3Bvc3Qp OwogCWRzaV9idXNfY2xrX2Rpc2FibGUobXNtX2hvc3QpOwogCWlmIChyZXQpIHsKLS0gClRoZSBR dWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJlciBvZiB0aGUgQ29kZSBB dXJvcmEgRm9ydW0sCmhvc3RlZCBieSBUaGUgTGludXggRm91bmRhdGlvbgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlz dApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK