From mboxrd@z Thu Jan 1 00:00:00 1970 From: Shashank Sharma Subject: [PATCH v10 5/6] drm/i915: enable scrambling Date: Mon, 13 Mar 2017 16:54:03 +0530 Message-ID: <1489404244-16608-6-git-send-email-shashank.sharma@intel.com> References: <1489404244-16608-1-git-send-email-shashank.sharma@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1489404244-16608-1-git-send-email-shashank.sharma@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: ville.syrjala@linux.intel.com, ander.conselvan.de.oliveira@intel.com Cc: daniel.vetter@intel.com, intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org R2VtaW5pbGFrZSBwbGF0Zm9ybSBzcG9ydHMgYSBuYXRpdmUgSERNSSAyLjAgY29udHJvbGxlciwg YW5kIGlzCmNhcGFibGUgb2YgZHJpdmluZyBwaXhlbC1jbG9ja3MgdXB0byA1OTRNaHouIEhETUkg Mi4wIHNwZWMKbWVuZGF0ZXMgc2NyYW1ibGluZyBmb3IgdGhlc2UgaGlnaGVyIGNsb2NrcywgZm9y IHJlZHVjZWQgUkYgZm9vdHByaW50LgoKVGhpcyBwYXRjaCBjaGVja3MgaWYgdGhlIG1vbml0b3Ig c3VwcG9ydHMgc2NyYW1ibGluZywgYW5kIGlmIHJlcXVpcmVkLAplbmFibGVzIGl0IGR1cmluZyB0 aGUgbW9kZXNldC4KClYyOiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGU6CiAt IERvIG5vdCB0cmFjayBzY3JhbWJsaW5nIHN0YXR1cyBpbiBEUk0gbGF5ZXIsIHRyYWNrIHNvbWV3 aGVyZSBpbgogICBkcml2ZXIgbGlrZSBpbiBpbnRlbF9jcnRjX3N0YXRlLgogLSBEb24ndCB0YWxr IHRvIG1vbml0b3IgYXQgc3VjaCBhIGxvdyBsYXllciwgc2V0IG1vbml0b3Igc2NyYW1ibGluZwog ICBpbiBpbnRlbF9lbmFibGVfZGRpKCkgYmVmb3JlIGVuYWJsaW5nIHRoZSBwb3J0LgoKVjM6IEFk ZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJvbSBKYW5pCiAtIEluIGNvbW1lbnRzLCBmdW5jdGlv biBuYW1lcywgdXNlICJzaW5rIiBpbnN0ZWFkIG9mICJtb25pdG9yIiwKICAgc28gdGhhdCB0aGUg aW1wbGVtZW50YXRpb24gY291bGQgYmUgY2xvc2UgdG8gdGhlIGxhbmd1YWdlIG9mCiAgIEhETUkg c3BlYy4KClY0OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnQgZnJvbSBNYWFydGVuCiAtIHNjcmFt YmxpbmcgLT4gaGRtaV9zY3JhbWJsaW5nCiAtIGhpZ2hfdG1kc19jbG9ja19yYXRpbyAtPiBoZG1p X2hpZ2hfdG1kc19jbG9ja19yYXRpbwoKVjU6IEFkZHJlc3NlZCByZXZpZXcgY29tbWVudHMgZnJv bSBWaWxsZSBhbmQgQW5kZXIKIC0gRG8gbm90IG1vZGlmaXkgdGhlIGNydGNfc3RhdGUgYWZ0ZXIg Y29tcHV0ZV9jb25maWcuIE1vdmUgYWxsCiAgIHNjcmFtYmxpbmcgYW5kIHRtZHNfY2xvY2tfcmF0 aW8gY2FsY3V0YXRpb25zIHRvIGNvbXB1dGVfY29uZmlnLgogLSBXaGlsZSBzZXR0aW5nIHNjcmFt YmxpbmcgZm9yIHNvdXJjZS9zaW5rLCBkbyBub3QgY2hlY2sgdGhlCiAgIGNvbmRpdGlvbnMgYWdh aW4sIGp1c3QgZ28gYnkgdGhlIGNydGNfc3RhdGUgZmxhZ3MuIFRoaXMgd2lsbAogICBzaW1wbHlm eSB0aGUgY29uZGl0aW9uIGNoZWNrcy4KClY2OiBBZGRyZXNzZWQgcmV2aWV3IGNvbW1lbnRzIGZy b20gVmlsbGUKIC0gRG8gbm90IGFkZCBJU19HTEsgY2hlY2sgaW4gZGlzYWJsZS9lbmFibGUgZnVu Y3Rpb24sIGluc3RlYWQgYWRkIGl0CiAgIGluIGNvbXB1dGVfY29uZmlnLCB3aGlsZSBzZXR0aW5n IHN0YXRlIGZsYWdzLgogLSBSZW1vdmUgdW5uZWNlc3NhcnkgcGFyYW50aGVzaXMuCiAtIFNpbXBs eWZ5IGhhbmRsZV9zaW5rX3NjcmFtYmxpbmcgZnVuY3Rpb24gYXMgc3VnZ2VzdGVkLgogLSBBZGQg cmVhZG91dCBjb2RlIGZvciBzY3JhbWJsaW5nIHN0YXR1cyBpbiBnZXRfZGRpX2NvbmZpZyBhbmQg YWRkIGEKICAgY2hlY2sgZm9yIHRoZSBzYW1lIGluIHBpcGVfY29uZmlnX2NvbXBhcmUuCgpWNzog QWRkcmVzc2VkIHJldmlldyBjb21tZW50cyBmcm9tIEFuZGVyL1ZpbGxlCiAtIE5vIHNlcGFyYXRl IGZ1bmN0aW9uIGZvciBzb3VyY2Ugc2NyYW1ibGluZywgbWFrZSBpdCBpbmxpbmUKIC0gQWxpZ24g dGhlIGxhc3QgbGluZSBvZiB0aGUgbWFjcm8gVFJBTlNfRERJX0hETUlfU0NSQU1CTElOR19NQVNL CiAtIERvIG5vdCBhZGQgcGxhdGZvcm0gY2hlY2sgd2hpbGUgc2V0dGluZyBzb3VyY2Ugc2NyYW1i bGluZwogLSBVc2UgcGlwZV9jb25maWcgaW5zdGVhZCBvZiBjcnRjLT5jb25maWcgdG8gc2V0IHNp bmsgc2NyYW1ibGluZwogLSBUbyByZWFkb3V0IHNjcmFtYmxpbmcgc3RhdHVzLCBDb21wYXJlIHdp dGggU0NSQU1CTElOR19NQVNLCiAgIG5vdCBhbnkgb2YgaXRzIGJpdHMKIC0gUmVtb3ZlIHBsYXRm b3JtIGNoZWNrIGluIGludGVsX3BpcGVfY29uZmlnX2NvbXBhcmUgd2hpbGUgY2hlY2tpbmcKICAg c2NyYW1ibGluZyBzdGF0dXMKClY4OiBGaXhlZCBtZWdlIGNvbmZsaWN0LCBBZGRyZXNzZWQgcmV2 aWV3IGNvbW1lbnRzIGZyb20gQW5kZXIKIC0gUmVtb3ZlIHRoZSBkZXNjaXB0aW9uL2NvbW1lbnQg YWJvdXQgc2NyYW1ibGluZyBmb20gdGhlIGNhbGxlciwgbW92ZQogICBpdCB0byB0aGUgZnVuY3Rp b24KIC0gTW92ZSB0aGUgSVNfR0xLIGNoZWNrIGludG8gc2NyYW1ibGluZyBmdW5jdGlvbgogLSBG aXggYWxpZ25tZW50CgpWOTogRml4ZWQgcmV2aWV3IGNvbW1lbnRzIGZyb20gVmlsbGUsIEFuZGVy CiAtIFBhc3MgdGhlIHNjcmFtYmxpbmcgc3RhdGUgdmFyaWFibGVzIGFzIGJvb2wgaW5wdXQgdG8g dGhlIHNpbmtfc2NyYW1ibGluZwogICBmdW5jdGlvbiBhbmQgbGV0IHRoZSBkaXNhYmxlIGNhbGwg YmUgdW5jb25kaXRpb25hbC4KIC0gRml4IGFsaWdubWVudHMgaW4gZnVuY3Rpb24gY2FsbHMgYW5k IGRlYnVnIG1lc3NhZ2VzLgogLSBBZGQga2VybmVsIGRvYyBmb3IgZnVuY3Rpb24gaW50ZWxfaGRt aV9oYW5kbGVfc2lua19zY3JhbWJsaW5nCgpWMTA6IFJlYmFzZQpTaWduZWQtb2ZmLWJ5OiBTaGFz aGFuayBTaGFybWEgPHNoYXNoYW5rLnNoYXJtYUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaCAgICAgIHwgIDcgKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMgICAgIHwgMjMgKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jIHwgIDMgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o ICAgICB8IDEwICsrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwg NjMgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA1IGZpbGVzIGNoYW5nZWQs IDEwNiBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggMTlkNDJlOC4u YTFhYWU3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC03ODMxLDcgKzc4MzEsMTQgQEAg ZW51bSB7CiAjZGVmaW5lICBUUkFOU19ERElfRURQX0lOUFVUX0JfT05PRkYJKDU8PDEyKQogI2Rl ZmluZSAgVFJBTlNfRERJX0VEUF9JTlBVVF9DX09OT0ZGCSg2PDwxMikKICNkZWZpbmUgIFRSQU5T X0RESV9EUF9WQ19QQVlMT0FEX0FMTE9DCSgxPDw4KQorI2RlZmluZSAgVFJBTlNfRERJX0hETUlf U0NSQU1CTEVSX0NUU19FTkFCTEUgKDE8PDcpCisjZGVmaW5lICBUUkFOU19ERElfSERNSV9TQ1JB TUJMRVJfUkVTRVRfRlJFUSAoMTw8NikKICNkZWZpbmUgIFRSQU5TX0RESV9CRklfRU5BQkxFCQko MTw8NCkKKyNkZWZpbmUgIFRSQU5TX0RESV9ISUdIX1RNRFNfQ0hBUl9SQVRFCSgxPDw0KQorI2Rl ZmluZSAgVFJBTlNfRERJX0hETUlfU0NSQU1CTElORwkoMTw8MCkKKyNkZWZpbmUgIFRSQU5TX0RE SV9IRE1JX1NDUkFNQkxJTkdfTUFTSyAoVFJBTlNfRERJX0hETUlfU0NSQU1CTEVSX0NUU19FTkFC TEUgXAorCQkJCQl8IFRSQU5TX0RESV9IRE1JX1NDUkFNQkxFUl9SRVNFVF9GUkVRIFwKKwkJCQkJ fCBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HKQogCiAvKiBEaXNwbGF5UG9ydCBUcmFuc3BvcnQg Q29udHJvbCAqLwogI2RlZmluZSBfRFBfVFBfQ1RMX0EJCQkweDY0MDQwCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2RkaS5jCmluZGV4IGVlMzQxZWYuLjE2OWQyYjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCkBAIC0xMzA5LDYgKzEzMDksMTEgQEAgdm9pZCBpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29k ZXJfZnVuYyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKIAkJCXRl bXAgfD0gVFJBTlNfRERJX01PREVfU0VMRUNUX0hETUk7CiAJCWVsc2UKIAkJCXRlbXAgfD0gVFJB TlNfRERJX01PREVfU0VMRUNUX0RWSTsKKworCQlpZiAoY3J0Y19zdGF0ZS0+aGRtaV9zY3JhbWJs aW5nKQorCQkJdGVtcCB8PSBUUkFOU19ERElfSERNSV9TQ1JBTUJMSU5HX01BU0s7CisJCWlmIChj cnRjX3N0YXRlLT5oZG1pX2hpZ2hfdG1kc19jbG9ja19yYXRpbykKKwkJCXRlbXAgfD0gVFJBTlNf RERJX0hJR0hfVE1EU19DSEFSX1JBVEU7CiAJfSBlbHNlIGlmICh0eXBlID09IElOVEVMX09VVFBV VF9BTkFMT0cpIHsKIAkJdGVtcCB8PSBUUkFOU19ERElfTU9ERV9TRUxFQ1RfRkRJOwogCQl0ZW1w IHw9IChjcnRjX3N0YXRlLT5mZGlfbGFuZXMgLSAxKSA8PCAxOwpAQCAtMTg4MSw2ICsxODg2LDEy IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmlu dGVsX2VuY29kZXIsCiAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkpIHsKIAkJc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPQogCQkJZW5jX3RvX2RpZ19wb3J0 KGVuY29kZXIpOworCQlib29sIGNsb2NrX3JhdGlvID0gcGlwZV9jb25maWctPmhkbWlfaGlnaF90 bWRzX2Nsb2NrX3JhdGlvOworCQlib29sIHNjcmFtYmxpbmcgPSBwaXBlX2NvbmZpZy0+aGRtaV9z Y3JhbWJsaW5nOworCisJCWludGVsX2hkbWlfaGFuZGxlX3Npbmtfc2NyYW1ibGluZyhpbnRlbF9l bmNvZGVyLAorCQkJCQkJICBjb25uX3N0YXRlLT5jb25uZWN0b3IsCisJCQkJCQkgIGNsb2NrX3Jh dGlvLCBzY3JhbWJsaW5nKTsKIAogCQkvKiBJbiBIRE1JL0RWSSBtb2RlLCB0aGUgcG9ydCB3aWR0 aCwgYW5kIHN3aW5nL2VtcGhhc2lzIHZhbHVlcwogCQkgKiBhcmUgaWdub3JlZCBzbyBub3RoaW5n IHNwZWNpYWwgbmVlZHMgdG8gYmUgZG9uZSBiZXNpZGVzCkBAIC0xOTE0LDYgKzE5MjUsMTIgQEAg c3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9kZGkoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVs X2VuY29kZXIsCiAJaWYgKG9sZF9jcnRjX3N0YXRlLT5oYXNfYXVkaW8pCiAJCWludGVsX2F1ZGlv X2NvZGVjX2Rpc2FibGUoaW50ZWxfZW5jb2Rlcik7CiAKKwlpZiAodHlwZSA9PSBJTlRFTF9PVVRQ VVRfSERNSSkgeworCQlpbnRlbF9oZG1pX2hhbmRsZV9zaW5rX3NjcmFtYmxpbmcoaW50ZWxfZW5j b2RlciwKKwkJCQkJCSAgb2xkX2Nvbm5fc3RhdGUtPmNvbm5lY3RvciwKKwkJCQkJCSAgZmFsc2Us IGZhbHNlKTsKKwl9CisKIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7CiAJCXN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAKQEAgLTIw NDAsNiArMjA1NywxMiBAQCB2b2lkIGludGVsX2RkaV9nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyLAogCiAJCWlmIChpbnRlbF9oZG1pLT5pbmZvZnJhbWVfZW5hYmxlZCgm ZW5jb2Rlci0+YmFzZSwgcGlwZV9jb25maWcpKQogCQkJcGlwZV9jb25maWctPmhhc19pbmZvZnJh bWUgPSB0cnVlOworCisJCWlmICgodGVtcCAmIFRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFT SykgPT0KKwkJCVRSQU5TX0RESV9IRE1JX1NDUkFNQkxJTkdfTUFTSykKKwkJCXBpcGVfY29uZmln LT5oZG1pX3NjcmFtYmxpbmcgPSB0cnVlOworCQlpZiAodGVtcCAmIFRSQU5TX0RESV9ISUdIX1RN RFNfQ0hBUl9SQVRFKQorCQkJcGlwZV9jb25maWctPmhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlv ID0gdHJ1ZTsKIAkJLyogZmFsbCB0aHJvdWdoICovCiAJY2FzZSBUUkFOU19ERElfTU9ERV9TRUxF Q1RfRFZJOgogCQlwaXBlX2NvbmZpZy0+bGFuZV9jb3VudCA9IDQ7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKaW5kZXggNTUyNmExOS4uNTg2MGVhMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTE2NzQsNiArMTE2NzQsOSBAQCBzdGF0aWMgdm9pZCBfX3By aW50ZigzLCA0KQogCWlmICgoSU5URUxfR0VOKGRldl9wcml2KSA8IDggJiYgIUlTX0hBU1dFTEwo ZGV2X3ByaXYpKSB8fAogCSAgICBJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllW SUVXKGRldl9wcml2KSkKIAkJUElQRV9DT05GX0NIRUNLX0kobGltaXRlZF9jb2xvcl9yYW5nZSk7 CisKKwlQSVBFX0NPTkZfQ0hFQ0tfSShoZG1pX3NjcmFtYmxpbmcpOworCVBJUEVfQ09ORl9DSEVD S19JKGhkbWlfaGlnaF90bWRzX2Nsb2NrX3JhdGlvKTsKIAlQSVBFX0NPTkZfQ0hFQ0tfSShoYXNf aW5mb2ZyYW1lKTsKIAogCVBJUEVfQ09ORl9DSEVDS19JKGhhc19hdWRpbyk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCmluZGV4IDU3OGY3ZDIuLjYyZDc2N2UgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCkBAIC03MjksNiArNzI5LDEyIEBAIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlIHsKIAog CS8qIGJpdG1hc2sgb2YgdmlzaWJsZSBwbGFuZXMgKGVudW0gcGxhbmVfaWQpICovCiAJdTggYWN0 aXZlX3BsYW5lczsKKworCS8qIEhETUkgc2NyYW1ibGluZyBzdGF0dXMgKi8KKwlib29sIGhkbWlf c2NyYW1ibGluZzsKKworCS8qIEhETUkgSGlnaCBUTURTIGNoYXIgcmF0ZSByYXRpbyAqLworCWJv b2wgaGRtaV9oaWdoX3RtZHNfY2xvY2tfcmF0aW87CiB9OwogCiBzdHJ1Y3QgaW50ZWxfY3J0YyB7 CkBAIC0xNjE2LDYgKzE2MjIsMTAgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXRfY29ubmVjdG9yKHN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0LAogYm9vbCBpbnRlbF9oZG1p X2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCQkJICAgICAg IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAkJCSAgICAgICBzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZSk7Cit2b2lkIGludGVsX2hkbWlfaGFuZGxl X3Npbmtfc2NyYW1ibGluZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciwKKwkJ CQkgICAgICAgc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKKwkJCQkgICAgICAgYm9v bCBoaWdoX3RtZHNfY2xvY2tfcmF0aW8sCisJCQkJICAgICAgIGJvb2wgc2NyYW1ibGluZyk7CiB2 b2lkIGludGVsX2RwX2R1YWxfbW9kZV9zZXRfdG1kc19vdXRwdXQoc3RydWN0IGludGVsX2hkbWkg KmhkbWksIGJvb2wgZW5hYmxlKTsKIAogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9oZG1pLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKaW5kZXgg YzIxODRmNy4uMjNiMzM4NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf aGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwpAQCAtMzQsNiAr MzQsNyBAQAogI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgogI2luY2x1ZGUgPGRy bS9kcm1fY3J0Yy5oPgogI2luY2x1ZGUgPGRybS9kcm1fZWRpZC5oPgorI2luY2x1ZGUgPGRybS9k cm1fc2NkY19oZWxwZXIuaD4KICNpbmNsdWRlICJpbnRlbF9kcnYuaCIKICNpbmNsdWRlIDxkcm0v aTkxNV9kcm0uaD4KICNpbmNsdWRlIDxkcm0vaW50ZWxfbHBlX2F1ZGlvLmg+CkBAIC0xMzE2LDYg KzEzMTcsNyBAQCBib29sIGludGVsX2hkbWlfY29tcHV0ZV9jb25maWcoc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXIsCiAJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkgPSBlbmNfdG9f aW50ZWxfaGRtaSgmZW5jb2Rlci0+YmFzZSk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gdG9faTkxNShlbmNvZGVyLT5iYXNlLmRldik7CiAJc3RydWN0IGRybV9kaXNwbGF5 X21vZGUgKmFkanVzdGVkX21vZGUgPSAmcGlwZV9jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsK KwlzdHJ1Y3QgZHJtX3NjZGMgKnNjZGMgPSAmY29ubl9zdGF0ZS0+Y29ubmVjdG9yLT5kaXNwbGF5 X2luZm8uaGRtaS5zY2RjOwogCWludCBjbG9ja184YnBjID0gcGlwZV9jb25maWctPmJhc2UuYWRq dXN0ZWRfbW9kZS5jcnRjX2Nsb2NrOwogCWludCBjbG9ja18xMmJwYyA9IGNsb2NrXzhicGMgKiAz IC8gMjsKIAlpbnQgZGVzaXJlZF9icHA7CkBAIC0xMzg1LDYgKzEzODcsMTYgQEAgYm9vbCBpbnRl bF9oZG1pX2NvbXB1dGVfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLAogCiAJ cGlwZV9jb25maWctPmxhbmVfY291bnQgPSA0OwogCisJaWYgKHNjZGMtPnNjcmFtYmxpbmcuc3Vw cG9ydGVkICYmIElTX0dFTUlOSUxBS0UoZGV2X3ByaXYpKSB7CisJCWlmIChzY2RjLT5zY3JhbWJs aW5nLmxvd19yYXRlcykKKwkJCXBpcGVfY29uZmlnLT5oZG1pX3NjcmFtYmxpbmcgPSB0cnVlOwor CisJCWlmIChwaXBlX2NvbmZpZy0+cG9ydF9jbG9jayA+IDM0MDAwMCkgeworCQkJcGlwZV9jb25m aWctPmhkbWlfc2NyYW1ibGluZyA9IHRydWU7CisJCQlwaXBlX2NvbmZpZy0+aGRtaV9oaWdoX3Rt ZHNfY2xvY2tfcmF0aW8gPSB0cnVlOworCQl9CisJfQorCiAJcmV0dXJuIHRydWU7CiB9CiAKQEAg LTE3OTQsNiArMTgwNiw1NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2Rlc3Ryb3koc3RydWN0 IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAlpbnRlbF9oZG1pLT5hc3BlY3RfcmF0aW8gPSBI RE1JX1BJQ1RVUkVfQVNQRUNUX05PTkU7CiB9CiAKKy8qCisgKiBpbnRlbF9oZG1pX2hhbmRsZV9z aW5rX3NjcmFtYmxpbmc6IGhhbmRsZSBzaW5rIHNjcmFtYmxpbmcvY2xvY2sgcmF0aW8gc2V0dXAK KyAqIEBlbmNvZGVyOiBpbnRlbF9lbmNvZGVyCisgKiBAY29ubmVjdG9yOiBkcm1fY29ubmVjdG9y CisgKiBAaGlnaF90bWRzX2Nsb2NrX3JhdGlvID0gYm9vbCB0byBpbmRpY2F0ZSBpZiB0aGUgZnVu Y3Rpb24gbmVlZHMgdG8gc2V0CisgKiAgb3IgcmVzZXQgdGhlIGhpZ2ggdG1kcyBjbG9jayByYXRp byBmb3Igc2NyYW1ibGluZworICogQHNjcmFtYmxpbmc6IGJvb2wgdG8gSW5kaWNhdGUgaWYgdGhl IGZ1bmN0aW9uIG5lZWRzIHRvIHNldCBvciByZXNldAorICogIHNpbmsgc2NyYW1ibGluZworICoK KyAqIFRoaXMgZnVuY3Rpb24gaGFuZGxlcyBzY3JhbWJsaW5nIG9uIEhETUkgMi4wIGNhcGFibGUg c2lua3MuCisgKiBJZiByZXF1aXJlZCBjbG9jayByYXRlIGlzID4gMzQwIE1oeiAmJiBzY3JhbWJs aW5nIGlzIHN1cHBvcnRlZCBieSBzaW5rCisgKiBpdCBlbmFibGVzIHNjcmFtYmxpbmcuIFRoaXMg c2hvdWxkIGJlIGNhbGxlZCBiZWZvcmUgZW5hYmxpbmcgdGhlIEhETUkKKyAqIDIuMCBwb3J0LCBh cyB0aGUgc2luayBjYW4gY2hvb3NlIHRvIGRpc2FibGUgdGhlIHNjcmFtYmxpbmcgaWYgaXQgZG9l c24ndAorICogZGV0ZWN0IGEgc2NyYW1ibGVkIGNsb2NrIHdpdGhpbiAxMDAgbXMuCisgKi8KK3Zv aWQgaW50ZWxfaGRtaV9oYW5kbGVfc2lua19zY3JhbWJsaW5nKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyLAorCQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAor CQkJCSAgICAgICBib29sIGhpZ2hfdG1kc19jbG9ja19yYXRpbywKKwkJCQkgICAgICAgYm9vbCBz Y3JhbWJsaW5nKQoreworCXN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pID0gZW5jX3RvX2lu dGVsX2hkbWkoJmVuY29kZXItPmJhc2UpOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGNvbm5lY3Rvci0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX3NjcmFtYmxp bmcgKnNpbmtfc2NyYW1ibGluZyA9CisJCQkJJmNvbm5lY3Rvci0+ZGlzcGxheV9pbmZvLmhkbWku c2NkYy5zY3JhbWJsaW5nOworCXN0cnVjdCBpMmNfYWRhcHRlciAqYWRwdHIgPSBpbnRlbF9nbWJ1 c19nZXRfYWRhcHRlcihkZXZfcHJpdiwKKwkJCQkJCQkgICBpbnRlbF9oZG1pLT5kZGNfYnVzKTsK Kwlib29sIHJldDsKKworCWlmICghc2lua19zY3JhbWJsaW5nLT5zdXBwb3J0ZWQpCisJCXJldHVy bjsKKworCURSTV9ERUJVR19LTVMoIlNldHRpbmcgc2luayBzY3JhbWJsaW5nIGZvciBlbmM6JXMg Y29ubmVjdG9yOiVzXG4iLAorCQkgICAgICBlbmNvZGVyLT5iYXNlLm5hbWUsIGNvbm5lY3Rvci0+ bmFtZSk7CisKKwkvKiBTZXQgVE1EUyBiaXQgY2xvY2sgcmF0aW8gdG8gMS80MCBvciAxLzEwICov CisJcmV0ID0gZHJtX3NjZGNfc2V0X2hpZ2hfdG1kc19jbG9ja19yYXRpbyhhZHB0ciwgaGlnaF90 bWRzX2Nsb2NrX3JhdGlvKTsKKwlpZiAoIXJldCkgeworCQlEUk1fRVJST1IoIlNldCBUTURTIHJh dGlvIGZhaWxlZFxuIik7CisJCXJldHVybjsKKwl9CisKKwkvKiBFbmFibGUvZGlzYWJsZSBzaW5r IHNjcmFtYmxpbmcgKi8KKwlyZXQgPSBkcm1fc2NkY19zZXRfc2NyYW1ibGluZyhhZHB0ciwgc2Ny YW1ibGluZyk7CisJaWYgKCFyZXQpIHsKKwkJRFJNX0VSUk9SKCJTZXQgc2luayBzY3JhbWJsaW5n IGZhaWxlZFxuIik7CisJCXJldHVybjsKKwl9CisKKwlEUk1fREVCVUdfS01TKCJzaW5rIHNjcmFt YmxpbmcgaGFuZGxlZFxuIik7Cit9CisKIHN0YXRpYyB1OCBpbnRlbF9oZG1pX2RkY19waW4oc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgICBlbnVtIHBvcnQgcG9ydCkK IHsKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK