From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ramalingam C Subject: [PATCH v3 19/40] drm/i915: wrapping all hdcp var into intel_hdcp Date: Tue, 3 Apr 2018 19:27:32 +0530 Message-ID: <1522763873-23041-20-git-send-email-ramalingam.c@intel.com> References: <1522763873-23041-1-git-send-email-ramalingam.c@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1522763873-23041-1-git-send-email-ramalingam.c@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, seanpaul@chromium.org, daniel@ffwll.ch, chris@chris-wilson.co.uk, jani.nikula@linux.intel.com, tomas.winkler@intel.com, alexander.usyskin@intel.com Cc: rodrigo.vivi@intel.com List-Id: dri-devel@lists.freedesktop.org Q29uc2lkZXJpbmcgdGhlIHVwY29taW5nIHNpZ25pZmljYW50IG5vIEhEQ1AyLjIgdmFyaWFibGVz LCBpdCB3aWxsCmJlIGNsZWFuIHRvIGhhdmUgc2VwYXJhdGUgc3RydWN0IGZvIEhEQ1AuCgpOZXcg c3RydWN0dXJlIGNhbGxlZCBpbnRlbF9oZGNwIGlzIGludHJvZHVjZWQuCgp2MjoKICBzdHJ1Y3Qg aGRjcCBzdGF0aWNhbGx5IGFsbG9jYXRlZC4gW1NlYW4gUGF1bF0KICBlbmFibGUgYW5kIGRpc2Fi bGUgZnVuY3Rpb24gcGFyYW1ldGVycyBhcmUgcmV0YWluZWQuW1NlYW4gUGF1bF0KdjM6CiAgTm8g Q2hhbmdlcy4KClNpZ25lZC1vZmYtYnk6IFJhbWFsaW5nYW0gQyA8cmFtYWxpbmdhbS5jQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgNyArLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8IDE0ICsrKystLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jICAgIHwgOTQgKysrKysrKysrKysrKysrKysrKyst LS0tLS0tLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDY2IGluc2VydGlvbnMoKyksIDQ5IGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCAzMzEwODQw ODI1NDUuLjJkN2M0NzEzNWUxYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpA QCAtMTUzOTUsOSArMTUzOTUsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfaHBkX3BvbGxfZmluaShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWZvcl9lYWNoX2ludGVsX2Nvbm5lY3Rvcl9pdGVyKGNv bm5lY3RvciwgJmNvbm5faXRlcikgewogCQlpZiAoY29ubmVjdG9yLT5tb2Rlc2V0X3JldHJ5X3dv cmsuZnVuYykKIAkJCWNhbmNlbF93b3JrX3N5bmMoJmNvbm5lY3Rvci0+bW9kZXNldF9yZXRyeV93 b3JrKTsKLQkJaWYgKGNvbm5lY3Rvci0+aGRjcF9zaGltKSB7Ci0JCQljYW5jZWxfZGVsYXllZF93 b3JrX3N5bmMoJmNvbm5lY3Rvci0+aGRjcF9jaGVja193b3JrKTsKLQkJCWNhbmNlbF93b3JrX3N5 bmMoJmNvbm5lY3Rvci0+aGRjcF9wcm9wX3dvcmspOworCQlpZiAoY29ubmVjdG9yLT5oZGNwLmhk Y3Bfc2hpbSkgeworCQkJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKAorCQkJCQkmY29ubmVjdG9y LT5oZGNwLmhkY3BfY2hlY2tfd29yayk7CisJCQljYW5jZWxfd29ya19zeW5jKCZjb25uZWN0b3It PmhkY3AuaGRjcF9wcm9wX3dvcmspOwogCQl9CiAJfQogCWRybV9jb25uZWN0b3JfbGlzdF9pdGVy X2VuZCgmY29ubl9pdGVyKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKaW5kZXggZDQzNjg1ODli MzU1Li5mZGZmY2I4MzNjZDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCkBAIC0zNzcsNiAr Mzc3LDE0IEBAIHN0cnVjdCBpbnRlbF9oZGNwX3NoaW0gewogCQkJICAgIGJvb2wgKmhkY3BfY2Fw YWJsZSk7CiB9OwogCitzdHJ1Y3QgaW50ZWxfaGRjcCB7CisJY29uc3Qgc3RydWN0IGludGVsX2hk Y3Bfc2hpbSAqaGRjcF9zaGltOworCXN0cnVjdCBtdXRleCBoZGNwX211dGV4OworCXVpbnQ2NF90 IGhkY3BfdmFsdWU7IC8qIHByb3RlY3RlZCBieSBoZGNwX211dGV4ICovCisJc3RydWN0IGRlbGF5 ZWRfd29yayBoZGNwX2NoZWNrX3dvcms7CisJc3RydWN0IHdvcmtfc3RydWN0IGhkY3BfcHJvcF93 b3JrOworfTsKKwogc3RydWN0IGludGVsX2Nvbm5lY3RvciB7CiAJc3RydWN0IGRybV9jb25uZWN0 b3IgYmFzZTsKIAkvKgpAQCAtNDA5LDExICs0MTcsNyBAQCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y IHsKIAkvKiBXb3JrIHN0cnVjdCB0byBzY2hlZHVsZSBhIHVldmVudCBvbiBsaW5rIHRyYWluIGZh aWx1cmUgKi8KIAlzdHJ1Y3Qgd29ya19zdHJ1Y3QgbW9kZXNldF9yZXRyeV93b3JrOwogCi0JY29u c3Qgc3RydWN0IGludGVsX2hkY3Bfc2hpbSAqaGRjcF9zaGltOwotCXN0cnVjdCBtdXRleCBoZGNw X211dGV4OwotCXVpbnQ2NF90IGhkY3BfdmFsdWU7IC8qIHByb3RlY3RlZCBieSBoZGNwX211dGV4 ICovCi0Jc3RydWN0IGRlbGF5ZWRfd29yayBoZGNwX2NoZWNrX3dvcms7Ci0Jc3RydWN0IHdvcmtf c3RydWN0IGhkY3BfcHJvcF93b3JrOworCXN0cnVjdCBpbnRlbF9oZGNwIGhkY3A7CiB9OwogCiBz dHJ1Y3QgaW50ZWxfZGlnaXRhbF9jb25uZWN0b3Jfc3RhdGUgewpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRjcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRjcC5jCmluZGV4IDE0Y2E1ZDMwNTdhNy4uMWNjYTRmMzQ5MDY0IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZGNwLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRjcC5jCkBAIC01NDcsNiArNTQ3LDcgQEAgc3RydWN0IGludGVsX2RpZ2l0YWxfcG9y dCAqY29ubl90b19kaWdfcG9ydChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAK IHN0YXRpYyBpbnQgX2ludGVsX2hkY3BfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IpCiB7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNw OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+YmFzZS5k ZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19w b3J0ID0gY29ubl90b19kaWdfcG9ydChjb25uZWN0b3IpOwogCWVudW0gcG9ydCBwb3J0ID0gaW50 ZWxfZGlnX3BvcnQtPmJhc2UucG9ydDsKQEAgLTU2Miw3ICs1NjMsNyBAQCBzdGF0aWMgaW50IF9p bnRlbF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCQly ZXR1cm4gLUVUSU1FRE9VVDsKIAl9CiAKLQlyZXQgPSBjb25uZWN0b3ItPmhkY3Bfc2hpbS0+dG9n Z2xlX3NpZ25hbGxpbmcoaW50ZWxfZGlnX3BvcnQsIGZhbHNlKTsKKwlyZXQgPSBoZGNwLT5oZGNw X3NoaW0tPnRvZ2dsZV9zaWduYWxsaW5nKGludGVsX2RpZ19wb3J0LCBmYWxzZSk7CiAJaWYgKHJl dCkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkaXNhYmxlIEhEQ1Agc2lnbmFsbGluZ1xuIik7 CiAJCXJldHVybiByZXQ7CkBAIC01NzQsNiArNTc1LDcgQEAgc3RhdGljIGludCBfaW50ZWxfaGRj cF9kaXNhYmxlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAogc3RhdGljIGlu dCBfaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQog eworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0b3ItPmJhc2UuZGV2LT5kZXZfcHJp dmF0ZTsKIAlpbnQgaSwgcmV0LCB0cmllcyA9IDM7CiAKQEAgLTU5OSw3ICs2MDEsNyBAQCBzdGF0 aWMgaW50IF9pbnRlbF9oZGNwX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0 b3IpCiAJLyogSW5jYXNlIG9mIGF1dGhlbnRpY2F0aW9uIGZhaWx1cmVzLCBIRENQIHNwZWMgZXhw ZWN0cyByZWF1dGguICovCiAJZm9yIChpID0gMDsgaSA8IHRyaWVzOyBpKyspIHsKIAkJcmV0ID0g aW50ZWxfaGRjcF9hdXRoKGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKSwKLQkJCQkgICAgICBj b25uZWN0b3ItPmhkY3Bfc2hpbSk7CisJCQkJICAgICAgaGRjcC0+aGRjcF9zaGltKTsKIAkJaWYg KCFyZXQpCiAJCQlyZXR1cm4gMDsKIApAQCAtNjE1LDM2ICs2MTcsNDIgQEAgc3RhdGljIGludCBf aW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBz dGF0aWMgdm9pZCBpbnRlbF9oZGNwX2NoZWNrX3dvcmsoc3RydWN0IHdvcmtfc3RydWN0ICp3b3Jr KQogewotCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciA9IGNvbnRhaW5lcl9vZih0 b19kZWxheWVkX3dvcmsod29yayksCisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSBjb250YWlu ZXJfb2YodG9fZGVsYXllZF93b3JrKHdvcmspLAorCQkJCQkgICAgICAgc3RydWN0IGludGVsX2hk Y3AsCisJCQkJCSAgICAgICBoZGNwX2NoZWNrX3dvcmspOworCXN0cnVjdCBpbnRlbF9jb25uZWN0 b3IgKmNvbm5lY3RvciA9IGNvbnRhaW5lcl9vZihoZGNwLAogCQkJCQkJCSBzdHJ1Y3QgaW50ZWxf Y29ubmVjdG9yLAotCQkJCQkJCSBoZGNwX2NoZWNrX3dvcmspOworCQkJCQkJCSBoZGNwKTsKKwog CWlmICghaW50ZWxfaGRjcF9jaGVja19saW5rKGNvbm5lY3RvcikpCi0JCXNjaGVkdWxlX2RlbGF5 ZWRfd29yaygmY29ubmVjdG9yLT5oZGNwX2NoZWNrX3dvcmssCisJCXNjaGVkdWxlX2RlbGF5ZWRf d29yaygmaGRjcC0+aGRjcF9jaGVja193b3JrLAogCQkJCSAgICAgIERSTV9IRENQX0NIRUNLX1BF UklPRF9NUyk7CiB9CiAKIHN0YXRpYyB2b2lkIGludGVsX2hkY3BfcHJvcF93b3JrKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKIHsKLQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3Ig PSBjb250YWluZXJfb2Yod29yaywKKwlzdHJ1Y3QgaW50ZWxfaGRjcCAqaGRjcCA9IGNvbnRhaW5l cl9vZih3b3JrLCBzdHJ1Y3QgaW50ZWxfaGRjcCwKKwkJCQkJICAgICAgIGhkY3BfcHJvcF93b3Jr KTsKKwlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IgPSBjb250YWluZXJfb2YoaGRj cCwKIAkJCQkJCQkgc3RydWN0IGludGVsX2Nvbm5lY3RvciwKLQkJCQkJCQkgaGRjcF9wcm9wX3dv cmspOworCQkJCQkJCSBoZGNwKTsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY29ubmVjdG9y LT5iYXNlLmRldjsKIAlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqc3RhdGU7CiAKIAlkcm1f bW9kZXNldF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsIE5VTEwpOwot CW11dGV4X2xvY2soJmNvbm5lY3Rvci0+aGRjcF9tdXRleCk7CisJbXV0ZXhfbG9jaygmaGRjcC0+ aGRjcF9tdXRleCk7CiAKIAkvKgogCSAqIFRoaXMgd29ya2VyIGlzIG9ubHkgdXNlZCB0byBmbGlw IGJldHdlZW4gRU5BQkxFRC9ERVNJUkVELiBFaXRoZXIgb2YKIAkgKiB0aG9zZSB0byBVTkRFU0lS RUQgaXMgaGFuZGxlZCBieSBjb3JlLiBJZiBoZGNwX3ZhbHVlID09IFVOREVTSVJFRCwKIAkgKiB3 ZSdyZSBydW5uaW5nIGp1c3QgYWZ0ZXIgaGRjcCBoYXMgYmVlbiBkaXNhYmxlZCwgc28ganVzdCBl eGl0CiAJICovCi0JaWYgKGNvbm5lY3Rvci0+aGRjcF92YWx1ZSAhPSBEUk1fTU9ERV9DT05URU5U X1BST1RFQ1RJT05fVU5ERVNJUkVEKSB7CisJaWYgKGhkY3AtPmhkY3BfdmFsdWUgIT0gRFJNX01P REVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkgewogCQlzdGF0ZSA9IGNvbm5lY3Rvci0+ YmFzZS5zdGF0ZTsKLQkJc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9IGNvbm5lY3Rvci0+aGRj cF92YWx1ZTsKKwkJc3RhdGUtPmNvbnRlbnRfcHJvdGVjdGlvbiA9IGhkY3AtPmhkY3BfdmFsdWU7 CiAJfQogCi0JbXV0ZXhfdW5sb2NrKCZjb25uZWN0b3ItPmhkY3BfbXV0ZXgpOworCW11dGV4X3Vu bG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CiAJZHJtX21vZGVzZXRfdW5sb2NrKCZkZXYtPm1vZGVf Y29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgpOwogfQogCkBAIC02NTgsNiArNjY2LDcgQEAgYm9vbCBp c19oZGNwX3N1cHBvcnRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGVudW0g cG9ydCBwb3J0KQogaW50IGludGVsX2hkY3BfaW5pdChzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpj b25uZWN0b3IsCiAJCSAgICBjb25zdCBzdHJ1Y3QgaW50ZWxfaGRjcF9zaGltICpoZGNwX3NoaW0p CiB7CisJc3RydWN0IGludGVsX2hkY3AgKmhkY3AgPSAmY29ubmVjdG9yLT5oZGNwOwogCWludCBy ZXQ7CiAKIAlyZXQgPSBkcm1fY29ubmVjdG9yX2F0dGFjaF9jb250ZW50X3Byb3RlY3Rpb25fcHJv cGVydHkoCkBAIC02NjUsNTEgKzY3NCw1MyBAQCBpbnQgaW50ZWxfaGRjcF9pbml0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0J Y29ubmVjdG9yLT5oZGNwX3NoaW0gPSBoZGNwX3NoaW07Ci0JbXV0ZXhfaW5pdCgmY29ubmVjdG9y LT5oZGNwX211dGV4KTsKLQlJTklUX0RFTEFZRURfV09SSygmY29ubmVjdG9yLT5oZGNwX2NoZWNr X3dvcmssIGludGVsX2hkY3BfY2hlY2tfd29yayk7Ci0JSU5JVF9XT1JLKCZjb25uZWN0b3ItPmhk Y3BfcHJvcF93b3JrLCBpbnRlbF9oZGNwX3Byb3Bfd29yayk7CisJaGRjcC0+aGRjcF9zaGltID0g aGRjcF9zaGltOworCW11dGV4X2luaXQoJmhkY3AtPmhkY3BfbXV0ZXgpOworCUlOSVRfREVMQVlF RF9XT1JLKCZoZGNwLT5oZGNwX2NoZWNrX3dvcmssIGludGVsX2hkY3BfY2hlY2tfd29yayk7CisJ SU5JVF9XT1JLKCZoZGNwLT5oZGNwX3Byb3Bfd29yaywgaW50ZWxfaGRjcF9wcm9wX3dvcmspOwog CXJldHVybiAwOwogfQogCiBpbnQgaW50ZWxfaGRjcF9lbmFibGUoc3RydWN0IGludGVsX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQogeworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rv ci0+aGRjcDsKIAlpbnQgcmV0OwogCi0JaWYgKCFjb25uZWN0b3ItPmhkY3Bfc2hpbSkKKwlpZiAo IWhkY3AtPmhkY3Bfc2hpbSkKIAkJcmV0dXJuIC1FTk9FTlQ7CiAKLQltdXRleF9sb2NrKCZjb25u ZWN0b3ItPmhkY3BfbXV0ZXgpOworCW11dGV4X2xvY2soJmhkY3AtPmhkY3BfbXV0ZXgpOwogCiAJ cmV0ID0gX2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rvcik7CiAJaWYgKHJldCkKIAkJZ290byBv dXQ7CiAKLQljb25uZWN0b3ItPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJ T05fRU5BQkxFRDsKLQlzY2hlZHVsZV93b3JrKCZjb25uZWN0b3ItPmhkY3BfcHJvcF93b3JrKTsK LQlzY2hlZHVsZV9kZWxheWVkX3dvcmsoJmNvbm5lY3Rvci0+aGRjcF9jaGVja193b3JrLAorCWhk Y3AtPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fRU5BQkxFRDsKKwlz Y2hlZHVsZV93b3JrKCZoZGNwLT5oZGNwX3Byb3Bfd29yayk7CisJc2NoZWR1bGVfZGVsYXllZF93 b3JrKCZoZGNwLT5oZGNwX2NoZWNrX3dvcmssCiAJCQkgICAgICBEUk1fSERDUF9DSEVDS19QRVJJ T0RfTVMpOwogb3V0OgotCW11dGV4X3VubG9jaygmY29ubmVjdG9yLT5oZGNwX211dGV4KTsKKwlt dXRleF91bmxvY2soJmhkY3AtPmhkY3BfbXV0ZXgpOwogCXJldHVybiByZXQ7CiB9CiAKIGludCBp bnRlbF9oZGNwX2Rpc2FibGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogewor CXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5lY3Rvci0+aGRjcDsKIAlpbnQgcmV0ID0g MDsKIAotCWlmICghY29ubmVjdG9yLT5oZGNwX3NoaW0pCisJaWYgKCFoZGNwLT5oZGNwX3NoaW0p CiAJCXJldHVybiAtRU5PRU5UOwogCi0JbXV0ZXhfbG9jaygmY29ubmVjdG9yLT5oZGNwX211dGV4 KTsKKwltdXRleF9sb2NrKCZoZGNwLT5oZGNwX211dGV4KTsKIAotCWlmIChjb25uZWN0b3ItPmhk Y3BfdmFsdWUgIT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkgewotCQlj b25uZWN0b3ItPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05fVU5ERVNJ UkVEOworCWlmIChoZGNwLT5oZGNwX3ZhbHVlICE9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElP Tl9VTkRFU0lSRUQpIHsKKwkJaGRjcC0+aGRjcF92YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJP VEVDVElPTl9VTkRFU0lSRUQ7CiAJCXJldCA9IF9pbnRlbF9oZGNwX2Rpc2FibGUoY29ubmVjdG9y KTsKIAl9CiAKLQltdXRleF91bmxvY2soJmNvbm5lY3Rvci0+aGRjcF9tdXRleCk7Ci0JY2FuY2Vs X2RlbGF5ZWRfd29ya19zeW5jKCZjb25uZWN0b3ItPmhkY3BfY2hlY2tfd29yayk7CisJbXV0ZXhf dW5sb2NrKCZoZGNwLT5oZGNwX211dGV4KTsKKwljYW5jZWxfZGVsYXllZF93b3JrX3N5bmMoJmhk Y3AtPmhkY3BfY2hlY2tfd29yayk7CiAJcmV0dXJuIHJldDsKIH0KIApAQCAtNzQ5LDE3ICs3NjAs MTggQEAgdm9pZCBpbnRlbF9oZGNwX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq Y29ubmVjdG9yLAogLyogSW1wbGVtZW50cyBQYXJ0IDMgb2YgdGhlIEhEQ1AgYXV0aG9yaXphdGlv biBwcm9jZWR1cmUgKi8KIGludCBpbnRlbF9oZGNwX2NoZWNrX2xpbmsoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqY29ubmVjdG9yKQogeworCXN0cnVjdCBpbnRlbF9oZGNwICpoZGNwID0gJmNvbm5l Y3Rvci0+aGRjcDsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0 b3ItPmJhc2UuZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCA9IGNvbm5fdG9fZGlnX3BvcnQoY29ubmVjdG9yKTsKIAllbnVtIHBvcnQg cG9ydCA9IGludGVsX2RpZ19wb3J0LT5iYXNlLnBvcnQ7CiAJaW50IHJldCA9IDA7CiAKLQlpZiAo IWNvbm5lY3Rvci0+aGRjcF9zaGltKQorCWlmICghaGRjcC0+aGRjcF9zaGltKQogCQlyZXR1cm4g LUVOT0VOVDsKIAotCW11dGV4X2xvY2soJmNvbm5lY3Rvci0+aGRjcF9tdXRleCk7CisJbXV0ZXhf bG9jaygmaGRjcC0+aGRjcF9tdXRleCk7CiAKLQlpZiAoY29ubmVjdG9yLT5oZGNwX3ZhbHVlID09 IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9VTkRFU0lSRUQpCisJaWYgKGhkY3AtPmhkY3Bf dmFsdWUgPT0gRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX1VOREVTSVJFRCkKIAkJZ290byBv dXQ7CiAKIAlpZiAoIShJOTE1X1JFQUQoUE9SVF9IRENQX1NUQVRVUyhwb3J0KSkgJiBIRENQX1NU QVRVU19FTkMpKSB7CkBAIC03NjcsMTcgKzc3OSwxNyBAQCBpbnQgaW50ZWxfaGRjcF9jaGVja19s aW5rKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJCSAgY29ubmVjdG9yLT5i YXNlLm5hbWUsIGNvbm5lY3Rvci0+YmFzZS5iYXNlLmlkLAogCQkJICBJOTE1X1JFQUQoUE9SVF9I RENQX1NUQVRVUyhwb3J0KSkpOwogCQlyZXQgPSAtRU5YSU87Ci0JCWNvbm5lY3Rvci0+aGRjcF92 YWx1ZSA9IERSTV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOwotCQlzY2hlZHVsZV93 b3JrKCZjb25uZWN0b3ItPmhkY3BfcHJvcF93b3JrKTsKKwkJaGRjcC0+aGRjcF92YWx1ZSA9IERS TV9NT0RFX0NPTlRFTlRfUFJPVEVDVElPTl9ERVNJUkVEOworCQlzY2hlZHVsZV93b3JrKCZoZGNw LT5oZGNwX3Byb3Bfd29yayk7CiAJCWdvdG8gb3V0OwogCX0KIAotCWlmIChjb25uZWN0b3ItPmhk Y3Bfc2hpbS0+Y2hlY2tfbGluayhpbnRlbF9kaWdfcG9ydCkpIHsKLQkJaWYgKGNvbm5lY3Rvci0+ aGRjcF92YWx1ZSAhPQorCWlmIChoZGNwLT5oZGNwX3NoaW0tPmNoZWNrX2xpbmsoaW50ZWxfZGln X3BvcnQpKSB7CisJCWlmIChoZGNwLT5oZGNwX3ZhbHVlICE9CiAJCSAgICBEUk1fTU9ERV9DT05U RU5UX1BST1RFQ1RJT05fVU5ERVNJUkVEKSB7Ci0JCQljb25uZWN0b3ItPmhkY3BfdmFsdWUgPQor CQkJaGRjcC0+aGRjcF92YWx1ZSA9CiAJCQkJRFJNX01PREVfQ09OVEVOVF9QUk9URUNUSU9OX0VO QUJMRUQ7Ci0JCQlzY2hlZHVsZV93b3JrKCZjb25uZWN0b3ItPmhkY3BfcHJvcF93b3JrKTsKKwkJ CXNjaGVkdWxlX3dvcmsoJmhkY3AtPmhkY3BfcHJvcF93b3JrKTsKIAkJfQogCQlnb3RvIG91dDsK IAl9CkBAIC03ODgsMjAgKzgwMCwyMCBAQCBpbnQgaW50ZWxfaGRjcF9jaGVja19saW5rKHN0cnVj dCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlyZXQgPSBfaW50ZWxfaGRjcF9kaXNhYmxl KGNvbm5lY3Rvcik7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBkaXNhYmxl IGhkY3AgKCVkKVxuIiwgcmV0KTsKLQkJY29ubmVjdG9yLT5oZGNwX3ZhbHVlID0gRFJNX01PREVf Q09OVEVOVF9QUk9URUNUSU9OX0RFU0lSRUQ7Ci0JCXNjaGVkdWxlX3dvcmsoJmNvbm5lY3Rvci0+ aGRjcF9wcm9wX3dvcmspOworCQloZGNwLT5oZGNwX3ZhbHVlID0gRFJNX01PREVfQ09OVEVOVF9Q Uk9URUNUSU9OX0RFU0lSRUQ7CisJCXNjaGVkdWxlX3dvcmsoJmhkY3AtPmhkY3BfcHJvcF93b3Jr KTsKIAkJZ290byBvdXQ7CiAJfQogCiAJcmV0ID0gX2ludGVsX2hkY3BfZW5hYmxlKGNvbm5lY3Rv cik7CiAJaWYgKHJldCkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBlbmFibGUgaGRjcCAoJWQp XG4iLCByZXQpOwotCQljb25uZWN0b3ItPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BS T1RFQ1RJT05fREVTSVJFRDsKLQkJc2NoZWR1bGVfd29yaygmY29ubmVjdG9yLT5oZGNwX3Byb3Bf d29yayk7CisJCWhkY3AtPmhkY3BfdmFsdWUgPSBEUk1fTU9ERV9DT05URU5UX1BST1RFQ1RJT05f REVTSVJFRDsKKwkJc2NoZWR1bGVfd29yaygmaGRjcC0+aGRjcF9wcm9wX3dvcmspOwogCQlnb3Rv IG91dDsKIAl9CiAKIG91dDoKLQltdXRleF91bmxvY2soJmNvbm5lY3Rvci0+aGRjcF9tdXRleCk7 CisJbXV0ZXhfdW5sb2NrKCZoZGNwLT5oZGNwX211dGV4KTsKIAlyZXR1cm4gcmV0OwogfQotLSAK Mi43LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRy aS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=