From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 06/10] drm/i915/gtt: pde entry encoding is identical Date: Fri, 14 Jun 2019 19:43:46 +0300 Message-ID: <20190614164350.30415-6-mika.kuoppala@linux.intel.com> References: <20190614164350.30415-1-mika.kuoppala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga18.intel.com (mga18.intel.com [134.134.136.126]) by gabe.freedesktop.org (Postfix) with ESMTPS id EDDB289B12 for ; Fri, 14 Jun 2019 16:43:56 +0000 (UTC) In-Reply-To: <20190614164350.30415-1-mika.kuoppala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org Rm9yIGFsbCBwYWdlIGRpcmVjdG9yeSBlbnRyaWVzLCB0aGUgcGRlIGVuY29kaW5nIGlzCmlkZW50 aWNhbC4gRG9uJ3QgY29tcGlsaWNhdGUgY2FsbCBzaXRlcyB3aXRoIGRpZmZlcmVudAp2ZXJzaW9u cyBvZiBkb2luZyB0aGUgc2FtZSB0aGluZy4KCk9ubHkgd2FydCB0aGF0IHJlbWFpbnMgaXMgYSA0 IGVudHJ5IGdlbjgvYnN3IHBkcCwgZm9yIHdoaWNoCndlIG5lZWQgdG8gY2hlY2sgdGhlIGJhY2tp bmcgcGh5cyBwYWdlLgoKU2lnbmVkLW9mZi1ieTogTWlrYSBLdW9wcGFsYSA8bWlrYS5rdW9wcGFs YUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0 LmMgfCAxMTEgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmggfCAgIDMgLQogMiBmaWxlcyBjaGFuZ2VkLCA0MCBpbnNlcnRpb25z KCspLCA3NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCmluZGV4 IGRlMjY0YjNhMDEwNS4uYTYxZmEyNGI2Mjk0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYwpAQCAtMjE0LDEwICsyMTQsMTAgQEAgc3RhdGljIHU2NCBnZW44X3B0ZV9lbmNvZGUoZG1h X2FkZHJfdCBhZGRyLAogCXJldHVybiBwdGU7CiB9CiAKLXN0YXRpYyBnZW44X3BkZV90IGdlbjhf cGRlX2VuY29kZShjb25zdCBkbWFfYWRkcl90IGFkZHIsCi0JCQkJICBjb25zdCBlbnVtIGk5MTVf Y2FjaGVfbGV2ZWwgbGV2ZWwpCitzdGF0aWMgdTY0IGdlbjhfcGRlX2VuY29kZShjb25zdCBkbWFf YWRkcl90IGFkZHIsCisJCQkgICBjb25zdCBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgbGV2ZWwpCiB7 Ci0JZ2VuOF9wZGVfdCBwZGUgPSBfUEFHRV9QUkVTRU5UIHwgX1BBR0VfUlc7CisJdTY0IHBkZSA9 IF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9SVzsKIAlwZGUgfD0gYWRkcjsKIAlpZiAobGV2ZWwgIT0g STkxNV9DQUNIRV9OT05FKQogCQlwZGUgfD0gUFBBVF9DQUNIRURfUERFOwpAQCAtMjI2LDkgKzIy Niw2IEBAIHN0YXRpYyBnZW44X3BkZV90IGdlbjhfcGRlX2VuY29kZShjb25zdCBkbWFfYWRkcl90 IGFkZHIsCiAJcmV0dXJuIHBkZTsKIH0KIAotI2RlZmluZSBnZW44X3BkcGVfZW5jb2RlIGdlbjhf cGRlX2VuY29kZQotI2RlZmluZSBnZW44X3BtbDRlX2VuY29kZSBnZW44X3BkZV9lbmNvZGUKLQog c3RhdGljIHU2NCBzbmJfcHRlX2VuY29kZShkbWFfYWRkcl90IGFkZHIsCiAJCQkgIGVudW0gaTkx NV9jYWNoZV9sZXZlbCBsZXZlbCwKIAkJCSAgdTMyIGZsYWdzKQpAQCAtNzMzLDI0ICs3MzAsMzYg QEAgc3RhdGljIHZvaWQgZnJlZV9wZChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAlr ZnJlZShwZCk7CiB9CiAKLXN0YXRpYyB2b2lkIGluaXRfcGRfd2l0aF9wYWdlKHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtLAotCQkJICAgICAgc3RydWN0IGk5MTVfcGFnZV9kaXJlY3Rvcnkg KiBjb25zdCBwZCwKLQkJCSAgICAgIHN0cnVjdCBpOTE1X3BhZ2VfdGFibGUgKnB0KQotewotCWZp bGxfcHgodm0sIHBkLCBnZW44X3BkZV9lbmNvZGUocHhfZG1hKHB0KSwgSTkxNV9DQUNIRV9MTEMp KTsKLQltZW1zZXRfcChwZC0+ZW50cnksIHB0LCA1MTIpOworI2RlZmluZSBpbml0X3BkKHZtLCBw ZCwgdG8pIHsJCQkJCVwKKwlHRU1fREVCVUdfQlVHX09OKCFwZF9oYXNfcGh5c19wYWdlKHBkKSk7 CQlcCisJZmlsbF9weCgodm0pLCAocGQpLCBnZW44X3BkZV9lbmNvZGUocHhfZG1hKHRvKSwgSTkx NV9DQUNIRV9MTEMpKTsgXAorCW1lbXNldF9wKChwZCktPmVudHJ5LCAodG8pLCA1MTIpOwkJCQlc CiB9CiAKLXN0YXRpYyB2b2lkIGluaXRfcGQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0s Ci0JCSAgICBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqIGNvbnN0IHBkLAotCQkgICAgc3Ry dWN0IGk5MTVfcGFnZV9kaXJlY3RvcnkgKiBjb25zdCB0bykKK3N0YXRpYyB2b2lkIF9fc2V0X3Bk X2VudHJ5KHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICogY29uc3QgcGQsCisJCQkgICBjb25z dCB1bnNpZ25lZCBzaG9ydCBwZGUsCisJCQkgICBjb25zdCB1NjQgZW5jb2RlZF9lbnRyeSkKIHsK LQlHRU1fREVCVUdfQlVHX09OKCFwZF9oYXNfcGh5c19wYWdlKHBkKSk7CisJdTY0ICp2YWRkcjsK IAotCWZpbGxfcHgodm0sIHBkLCBnZW44X3BkcGVfZW5jb2RlKHB4X2RtYSh0byksIEk5MTVfQ0FD SEVfTExDKSk7Ci0JbWVtc2V0X3AocGQtPmVudHJ5LCB0bywgNTEyKTsKKwl2YWRkciA9IGttYXBf YXRvbWljKHBkLT5iYXNlLnBhZ2UpOworCXZhZGRyW3BkZV0gPSBlbmNvZGVkX2VudHJ5OworCWt1 bm1hcF9hdG9taWModmFkZHIpOwogfQogCisjZGVmaW5lIHNldF9wZF9lbnRyeShwZCwgcGRlLCB0 bykgKHsJCQkJCVwKKwkocGQpLT5lbnRyeVsocGRlKV0gPSAodG8pOwkJCQkJXAorCV9fc2V0X3Bk X2VudHJ5KChwZCksIChwZGUpLAkJCQkJXAorCQkgICAgICAgZ2VuOF9wZGVfZW5jb2RlKHB4X2Rt YSh0byksIEk5MTVfQ0FDSEVfTExDKSk7CVwKK30pCisKKyNkZWZpbmUgc2V0X3BkcF9lbnRyeShw ZHAsIHBkcGUsIHRvKSAoewkJXAorCShwZHApLT5lbnRyeVsocGRwZSldID0gKHRvKTsJCVwKKwlp ZiAocGRfaGFzX3BoeXNfcGFnZShwZHApKQkJCQkJXAorCQlfX3NldF9wZF9lbnRyeSgocGRwKSwg KHBkcGUpLAkJCQlcCisJCQkgICAgICAgZ2VuOF9wZGVfZW5jb2RlKHB4X2RtYSh0byksIEk5MTVf Q0FDSEVfTExDKSk7XAorfSkKKwogLyoKICAqIFBERSBUTEJzIGFyZSBhIHBhaW4gdG8gaW52YWxp ZGF0ZSBvbiBHRU44Ky4gV2hlbiB3ZSBtb2RpZnkKICAqIHRoZSBwYWdlIHRhYmxlIHN0cnVjdHVy ZXMsIHdlIG1hcmsgdGhlbSBkaXJ0eSBzbyB0aGF0CkBAIC03ODAsMTggKzc4OSw2IEBAIHN0YXRp YyBib29sIGdlbjhfcHBndHRfY2xlYXJfcHQoY29uc3Qgc3RydWN0IGk5MTVfYWRkcmVzc19zcGFj ZSAqdm0sCiAJcmV0dXJuICFhdG9taWNfc3ViX3JldHVybihudW1fZW50cmllcywgJnB0LT51c2Vk KTsKIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9zZXRfcGRlKHN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtLAotCQkJICAgICAgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpwZCwK LQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9wYWdlX3RhYmxlICpwdCwKLQkJCSAgICAgICB1bnNpZ25l ZCBpbnQgcGRlKQotewotCWdlbjhfcGRlX3QgKnZhZGRyOwotCi0JdmFkZHIgPSBrbWFwX2F0b21p Y19weChwZCk7Ci0JdmFkZHJbcGRlXSA9IGdlbjhfcGRlX2VuY29kZShweF9kbWEocHQpLCBJOTE1 X0NBQ0hFX0xMQyk7Ci0Ja3VubWFwX2F0b21pYyh2YWRkcik7Ci19Ci0KIHN0YXRpYyBib29sIGdl bjhfcHBndHRfY2xlYXJfcGQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiAJCQkJc3Ry dWN0IGk5MTVfcGFnZV9kaXJlY3RvcnkgKnBkLAogCQkJCXU2NCBzdGFydCwgdTY0IGxlbmd0aCkK QEAgLTgwOSw4ICs4MDYsNyBAQCBzdGF0aWMgYm9vbCBnZW44X3BwZ3R0X2NsZWFyX3BkKHN0cnVj dCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCiAJCXNwaW5fbG9jaygmcGQtPmxvY2spOwogCQlp ZiAoIWF0b21pY19yZWFkKCZwdC0+dXNlZCkpIHsKLQkJCWdlbjhfcHBndHRfc2V0X3BkZSh2bSwg cGQsIHZtLT5zY3JhdGNoX3B0LCBwZGUpOwotCQkJcGQtPmVudHJ5W3BkZV0gPSB2bS0+c2NyYXRj aF9wdDsKKwkJCXNldF9wZF9lbnRyeShwZCwgcGRlLCB2bS0+c2NyYXRjaF9wdCk7CiAKIAkJCUdF TV9CVUdfT04oIWF0b21pY19yZWFkKCZwZC0+dXNlZCkpOwogCQkJYXRvbWljX2RlYygmcGQtPnVz ZWQpOwpAQCAtODI0LDIwICs4MjAsNiBAQCBzdGF0aWMgYm9vbCBnZW44X3BwZ3R0X2NsZWFyX3Bk KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCXJldHVybiAhYXRvbWljX3JlYWQoJnBk LT51c2VkKTsKIH0KIAotc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9zZXRfcGRwZShzdHJ1Y3QgaTkx NV9wYWdlX2RpcmVjdG9yeSAqcGRwLAotCQkJCXN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICpw ZCwKLQkJCQl1bnNpZ25lZCBpbnQgcGRwZSkKLXsKLQlnZW44X3BwZ3R0X3BkcGVfdCAqdmFkZHI7 Ci0KLQlpZiAoIXBkX2hhc19waHlzX3BhZ2UocGRwKSkKLQkJcmV0dXJuOwotCi0JdmFkZHIgPSBr bWFwX2F0b21pY19weChwZHApOwotCXZhZGRyW3BkcGVdID0gZ2VuOF9wZHBlX2VuY29kZShweF9k bWEocGQpLCBJOTE1X0NBQ0hFX0xMQyk7Ci0Ja3VubWFwX2F0b21pYyh2YWRkcik7Ci19Ci0KIC8q IFJlbW92ZXMgZW50cmllcyBmcm9tIGEgc2luZ2xlIHBhZ2UgZGlyIHBvaW50ZXIsIHJlbGVhc2lu ZyBpdCBpZiBpdCdzIGVtcHR5LgogICogQ2FsbGVyIGNhbiB1c2UgdGhlIHJldHVybiB2YWx1ZSB0 byB1cGRhdGUgaGlnaGVyLWxldmVsIGVudHJpZXMKICAqLwpAQCAtODU4LDggKzg0MCw3IEBAIHN0 YXRpYyBib29sIGdlbjhfcHBndHRfY2xlYXJfcGRwKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtLAogCiAJCXNwaW5fbG9jaygmcGRwLT5sb2NrKTsKIAkJaWYgKCFhdG9taWNfcmVhZCgmcGQt PnVzZWQpKSB7Ci0JCQlnZW44X3BwZ3R0X3NldF9wZHBlKHBkcCwgdm0tPnNjcmF0Y2hfcGQsIHBk cGUpOwotCQkJcGRwLT5lbnRyeVtwZHBlXSA9IHZtLT5zY3JhdGNoX3BkOworCQkJc2V0X3BkcF9l bnRyeShwZHAsIHBkcGUsIHZtLT5zY3JhdGNoX3BkKTsKIAogCQkJR0VNX0JVR19PTighYXRvbWlj X3JlYWQoJnBkcC0+dXNlZCkpOwogCQkJYXRvbWljX2RlYygmcGRwLT51c2VkKTsKQEAgLTg3OSwx NyArODYwLDYgQEAgc3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl8zbHZsKHN0cnVjdCBpOTE1 X2FkZHJlc3Nfc3BhY2UgKnZtLAogCWdlbjhfcHBndHRfY2xlYXJfcGRwKHZtLCBpOTE1X3ZtX3Rv X3BwZ3R0KHZtKS0+cGQsIHN0YXJ0LCBsZW5ndGgpOwogfQogCi1zdGF0aWMgdm9pZCBnZW44X3Bw Z3R0X3NldF9wbWw0ZShzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcG1sNCwKLQkJCQkgc3Ry dWN0IGk5MTVfcGFnZV9kaXJlY3RvcnkgKnBkcCwKLQkJCQkgdW5zaWduZWQgaW50IHBtbDRlKQot ewotCWdlbjhfcHBndHRfcG1sNGVfdCAqdmFkZHI7Ci0KLQl2YWRkciA9IGttYXBfYXRvbWljX3B4 KHBtbDQpOwotCXZhZGRyW3BtbDRlXSA9IGdlbjhfcG1sNGVfZW5jb2RlKHB4X2RtYShwZHApLCBJ OTE1X0NBQ0hFX0xMQyk7Ci0Ja3VubWFwX2F0b21pYyh2YWRkcik7Ci19Ci0KIC8qIFJlbW92ZXMg ZW50cmllcyBmcm9tIGEgc2luZ2xlIHBtbDQuCiAgKiBUaGlzIGlzIHRoZSB0b3AtbGV2ZWwgc3Ry dWN0dXJlIGluIDQtbGV2ZWwgcGFnZSB0YWJsZXMgdXNlZCBvbiBnZW44Ky4KICAqIEVtcHR5IGVu dHJpZXMgYXJlIGFsd2F5cyBzY3JhdGNoIHBtbDRlLgpAQCAtOTEzLDggKzg4Myw3IEBAIHN0YXRp YyB2b2lkIGdlbjhfcHBndHRfY2xlYXJfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSwKIAogCQlzcGluX2xvY2soJnBtbDQtPmxvY2spOwogCQlpZiAoIWF0b21pY19yZWFkKCZwZHAt PnVzZWQpKSB7Ci0JCQlnZW44X3BwZ3R0X3NldF9wbWw0ZShwbWw0LCB2bS0+c2NyYXRjaF9wZHAs IHBtbDRlKTsKLQkJCXBtbDQtPmVudHJ5W3BtbDRlXSA9IHZtLT5zY3JhdGNoX3BkcDsKKwkJCXNl dF9wZF9lbnRyeShwbWw0LCBwbWw0ZSwgdm0tPnNjcmF0Y2hfcGRwKTsKIAkJCWZyZWUgPSB0cnVl OwogCQl9CiAJCXNwaW5fdW5sb2NrKCZwbWw0LT5sb2NrKTsKQEAgLTEyMzEsNyArMTIwMCw3IEBA IHN0YXRpYyBpbnQgZ2VuOF9pbml0X3NjcmF0Y2goc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAq dm0pCiAJfQogCiAJZ2VuOF9pbml0aWFsaXplX3B0KHZtLCB2bS0+c2NyYXRjaF9wdCk7Ci0JaW5p dF9wZF93aXRoX3BhZ2Uodm0sIHZtLT5zY3JhdGNoX3BkLCB2bS0+c2NyYXRjaF9wdCk7CisJaW5p dF9wZCh2bSwgdm0tPnNjcmF0Y2hfcGQsIHZtLT5zY3JhdGNoX3B0KTsKIAlpZiAoaTkxNV92bV9p c180bHZsKHZtKSkKIAkJaW5pdF9wZCh2bSwgdm0tPnNjcmF0Y2hfcGRwLCB2bS0+c2NyYXRjaF9w ZCk7CiAKQEAgLTEzNjcsNyArMTMzNiw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9wcGd0dF9hbGxvY19w ZChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAogCQkJb2xkID0gY21weGNoZygmcGQt PmVudHJ5W3BkZV0sIHZtLT5zY3JhdGNoX3B0LCBwdCk7CiAJCQlpZiAob2xkID09IHZtLT5zY3Jh dGNoX3B0KSB7Ci0JCQkJZ2VuOF9wcGd0dF9zZXRfcGRlKHZtLCBwZCwgcHQsIHBkZSk7CisJCQkJ c2V0X3BkX2VudHJ5KHBkLCBwZGUsIHB0KTsKIAkJCQlhdG9taWNfaW5jKCZwZC0+dXNlZCk7CiAJ CQl9IGVsc2UgewogCQkJCWZyZWVfcHQodm0sIHB0KTsKQEAgLTE0MDgsMTEgKzEzNzcsMTEgQEAg c3RhdGljIGludCBnZW44X3BwZ3R0X2FsbG9jX3BkcChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSwKIAkJCWlmIChJU19FUlIocGQpKQogCQkJCWdvdG8gdW53aW5kOwogCi0JCQlpbml0X3Bk X3dpdGhfcGFnZSh2bSwgcGQsIHZtLT5zY3JhdGNoX3B0KTsKKwkJCWluaXRfcGQodm0sIHBkLCB2 bS0+c2NyYXRjaF9wdCk7CiAKIAkJCW9sZCA9IGNtcHhjaGcoJnBkcC0+ZW50cnlbcGRwZV0sIHZt LT5zY3JhdGNoX3BkLCBwZCk7CiAJCQlpZiAob2xkID09IHZtLT5zY3JhdGNoX3BkKSB7Ci0JCQkJ Z2VuOF9wcGd0dF9zZXRfcGRwZShwZHAsIHBkLCBwZHBlKTsKKwkJCQlzZXRfcGRwX2VudHJ5KHBk cCwgcGRwZSwgcGQpOwogCQkJCWF0b21pY19pbmMoJnBkcC0+dXNlZCk7CiAJCQl9IGVsc2Ugewog CQkJCWZyZWVfcGQodm0sIHBkKTsKQEAgLTE0MzgsNyArMTQwNyw3IEBAIHN0YXRpYyBpbnQgZ2Vu OF9wcGd0dF9hbGxvY19wZHAoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiB1bndpbmRf cGQ6CiAJc3Bpbl9sb2NrKCZwZHAtPmxvY2spOwogCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZw ZC0+dXNlZCkpIHsKLQkJZ2VuOF9wcGd0dF9zZXRfcGRwZShwZHAsIHZtLT5zY3JhdGNoX3BkLCBw ZHBlKTsKKwkJc2V0X3BkcF9lbnRyeShwZHAsIHBkcGUsIHZtLT5zY3JhdGNoX3BkKTsKIAkJR0VN X0JVR19PTighYXRvbWljX3JlYWQoJnBkcC0+dXNlZCkpOwogCQlhdG9taWNfZGVjKCZwZHAtPnVz ZWQpOwogCQlmcmVlX3BkKHZtLCBwZCk7CkBAIC0xNDgxLDcgKzE0NTAsNyBAQCBzdGF0aWMgaW50 IGdlbjhfcHBndHRfYWxsb2NfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAog CQkJb2xkID0gY21weGNoZygmcG1sNC0+ZW50cnlbcG1sNGVdLCB2bS0+c2NyYXRjaF9wZHAsIHBk cCk7CiAJCQlpZiAob2xkID09IHZtLT5zY3JhdGNoX3BkcCkgewotCQkJCWdlbjhfcHBndHRfc2V0 X3BtbDRlKHBtbDQsIHBkcCwgcG1sNGUpOworCQkJCXNldF9wZF9lbnRyeShwbWw0LCBwbWw0ZSwg cGRwKTsKIAkJCX0gZWxzZSB7CiAJCQkJZnJlZV9wZCh2bSwgcGRwKTsKIAkJCQlwZHAgPSBvbGQ7 CkBAIC0xNTA2LDcgKzE0NzUsNyBAQCBzdGF0aWMgaW50IGdlbjhfcHBndHRfYWxsb2NfNGx2bChz dHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIHVud2luZF9wZHA6CiAJc3Bpbl9sb2NrKCZw bWw0LT5sb2NrKTsKIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmcGRwLT51c2VkKSkgewotCQln ZW44X3BwZ3R0X3NldF9wbWw0ZShwbWw0LCB2bS0+c2NyYXRjaF9wZHAsIHBtbDRlKTsKKwkJc2V0 X3BkX2VudHJ5KHBtbDQsIHBtbDRlLCB2bS0+c2NyYXRjaF9wZHApOwogCQlmcmVlX3BkKHZtLCBw ZHApOwogCX0KIAlzcGluX3VubG9jaygmcG1sNC0+bG9jayk7CkBAIC0xNTI5LDggKzE0OTgsOCBA QCBzdGF0aWMgaW50IGdlbjhfcHJlYWxsb2NhdGVfdG9wX2xldmVsX3BkcChzdHJ1Y3QgaTkxNV9w cGd0dCAqcHBndHQpCiAJCWlmIChJU19FUlIocGQpKQogCQkJZ290byB1bndpbmQ7CiAKLQkJaW5p dF9wZF93aXRoX3BhZ2Uodm0sIHBkLCB2bS0+c2NyYXRjaF9wdCk7Ci0JCWdlbjhfcHBndHRfc2V0 X3BkcGUocGRwLCBwZCwgcGRwZSk7CisJCWluaXRfcGQodm0sIHBkLCB2bS0+c2NyYXRjaF9wdCk7 CisJCXNldF9wZHBfZW50cnkocGRwLCBwZHBlLCBwZCk7CiAKIAkJYXRvbWljX2luYygmcGRwLT51 c2VkKTsKIAl9CkBAIC0xNTQyLDcgKzE1MTEsNyBAQCBzdGF0aWMgaW50IGdlbjhfcHJlYWxsb2Nh dGVfdG9wX2xldmVsX3BkcChzdHJ1Y3QgaTkxNV9wcGd0dCAqcHBndHQpCiB1bndpbmQ6CiAJc3Rh cnQgLT0gZnJvbTsKIAlnZW44X2Zvcl9lYWNoX3BkcGUocGQsIHBkcCwgZnJvbSwgc3RhcnQsIHBk cGUpIHsKLQkJZ2VuOF9wcGd0dF9zZXRfcGRwZShwZHAsIHZtLT5zY3JhdGNoX3BkLCBwZHBlKTsK KwkJc2V0X3BkcF9lbnRyeShwZHAsIHBkcGUsIHZtLT5zY3JhdGNoX3BkKTsKIAkJZnJlZV9wZCh2 bSwgcGQpOwogCX0KIAlhdG9taWNfc2V0KCZwZHAtPnVzZWQsIDApOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuaAppbmRleCA4MTI3MTdjY2M2OWIuLjZhMDE0ZDA1Mjk1MiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKQEAgLTY3LDkgKzY3LDYgQEAgc3RydWN0IGk5MTVfdm1h OwogCiB0eXBlZGVmIHUzMiBnZW42X3B0ZV90OwogdHlwZWRlZiB1NjQgZ2VuOF9wdGVfdDsKLXR5 cGVkZWYgdTY0IGdlbjhfcGRlX3Q7Ci10eXBlZGVmIHU2NCBnZW44X3BwZ3R0X3BkcGVfdDsKLXR5 cGVkZWYgdTY0IGdlbjhfcHBndHRfcG1sNGVfdDsKIAogI2RlZmluZSBnZ3R0X3RvdGFsX2VudHJp ZXMoZ2d0dCkgKChnZ3R0KS0+dm0udG90YWwgPj4gUEFHRV9TSElGVCkKIAotLSAKMi4xNy4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=