From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [PATCH 1/3] drm/i915/gtt: pde entry encoding is identical Date: Tue, 18 Jun 2019 19:17:29 +0300 Message-ID: <20190618161731.15607-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 mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 28C476E202 for ; Tue, 18 Jun 2019 16:17:39 +0000 (UTC) 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 cyBvZiBkb2luZyB0aGUgc2FtZSB0aGluZy4gV2UgY2hlY2sgdGhlIGV4aXN0ZW5jZSBvZgpwaHlz aWNhbCBwYWdlIGJlZm9yZSB3cml0aW5nIHRoZSBlbnRyeSBpbnRvIGl0LiBUaGlzIGZ1cnRoZXIK Z2VuZXJhbGl6ZXMgdGhlIHBkIHNvIHRoYXQgbWFuaXB1bGF0aW9uIGluIGNhbGxzaXRlcyB3aWxs IGJlCmlkZW50aWNhbCwgcmVtb3ZpbmcgdGhlIG5lZWQgdG8gaGFuZGxlIHBkcHMgZGlmZmVyZW50 bHkgZm9yIGdlbjguCgp2Mjogc3F1YXNoCgpTaWduZWQtb2ZmLWJ5OiBNaWthIEt1b3BwYWxhIDxt aWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYyB8IDExNCArKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCB8ICAgMyAtCiAyIGZpbGVzIGNoYW5nZWQsIDQw IGluc2VydGlvbnMoKyksIDc3IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Z3R0LmMKaW5kZXggOGFiODIwMTQ1ZWE2Li41ZGYxN2RiNjg4NzUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jCkBAIC0yMTUsMTAgKzIxNSwxMCBAQCBzdGF0aWMgdTY0IGdlbjhfcHRl X2VuY29kZShkbWFfYWRkcl90IGFkZHIsCiAJcmV0dXJuIHB0ZTsKIH0KIAotc3RhdGljIGdlbjhf cGRlX3QgZ2VuOF9wZGVfZW5jb2RlKGNvbnN0IGRtYV9hZGRyX3QgYWRkciwKLQkJCQkgIGNvbnN0 IGVudW0gaTkxNV9jYWNoZV9sZXZlbCBsZXZlbCkKK3N0YXRpYyB1NjQgZ2VuOF9wZGVfZW5jb2Rl KGNvbnN0IGRtYV9hZGRyX3QgYWRkciwKKwkJCSAgIGNvbnN0IGVudW0gaTkxNV9jYWNoZV9sZXZl bCBsZXZlbCkKIHsKLQlnZW44X3BkZV90IHBkZSA9IF9QQUdFX1BSRVNFTlQgfCBfUEFHRV9SVzsK Kwl1NjQgcGRlID0gX1BBR0VfUFJFU0VOVCB8IF9QQUdFX1JXOwogCXBkZSB8PSBhZGRyOwogCWlm IChsZXZlbCAhPSBJOTE1X0NBQ0hFX05PTkUpCiAJCXBkZSB8PSBQUEFUX0NBQ0hFRF9QREU7CkBA IC0yMjcsOSArMjI3LDYgQEAgc3RhdGljIGdlbjhfcGRlX3QgZ2VuOF9wZGVfZW5jb2RlKGNvbnN0 IGRtYV9hZGRyX3QgYWRkciwKIAlyZXR1cm4gcGRlOwogfQogCi0jZGVmaW5lIGdlbjhfcGRwZV9l bmNvZGUgZ2VuOF9wZGVfZW5jb2RlCi0jZGVmaW5lIGdlbjhfcG1sNGVfZW5jb2RlIGdlbjhfcGRl X2VuY29kZQotCiBzdGF0aWMgdTY0IHNuYl9wdGVfZW5jb2RlKGRtYV9hZGRyX3QgYWRkciwKIAkJ CSAgZW51bSBpOTE1X2NhY2hlX2xldmVsIGxldmVsLAogCQkJICB1MzIgZmxhZ3MpCkBAIC03MzQs MjQgKzczMSwzNiBAQCBzdGF0aWMgdm9pZCBmcmVlX3BkKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgKnZtLAogCWtmcmVlKHBkKTsKIH0KIAotc3RhdGljIHZvaWQgaW5pdF9wZF93aXRoX3BhZ2Uo c3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCi0JCQkgICAgICBzdHJ1Y3QgaTkxNV9wYWdl X2RpcmVjdG9yeSAqIGNvbnN0IHBkLAotCQkJICAgICAgc3RydWN0IGk5MTVfcGFnZV90YWJsZSAq cHQpCi17Ci0JZmlsbF9weCh2bSwgcGQsIGdlbjhfcGRlX2VuY29kZShweF9kbWEocHQpLCBJOTE1 X0NBQ0hFX0xMQykpOwotCW1lbXNldF9wKHBkLT5lbnRyeSwgcHQsIDUxMik7CisjZGVmaW5lIGlu aXRfcGQodm0sIHBkLCB0bykgewkJCQkJXAorCUdFTV9ERUJVR19CVUdfT04oIXBkX2hhc19waHlz X3BhZ2UocGQpKTsJCVwKKwlmaWxsX3B4KCh2bSksIChwZCksIGdlbjhfcGRlX2VuY29kZShweF9k bWEodG8pLCBJOTE1X0NBQ0hFX0xMQykpOyBcCisJbWVtc2V0X3AoKHBkKS0+ZW50cnksICh0byks IDUxMik7CQkJCVwKIH0KIAotc3RhdGljIHZvaWQgaW5pdF9wZChzdHJ1Y3QgaTkxNV9hZGRyZXNz X3NwYWNlICp2bSwKLQkJICAgIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5ICogY29uc3QgcGQs Ci0JCSAgICBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqIGNvbnN0IHRvKQorc3RhdGljIHZv aWQgX193cml0ZV9kbWFfZW50cnkoc3RydWN0IGk5MTVfcGFnZV9kbWEgKiBjb25zdCBwZG1hLAor CQkJICAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgcGRlLAorCQkJICAgICAgY29uc3QgdTY0IGVu Y29kZWRfZW50cnkpCiB7Ci0JR0VNX0RFQlVHX0JVR19PTighcGRfaGFzX3BoeXNfcGFnZShwZCkp OworCXU2NCAqdmFkZHI7CiAKLQlmaWxsX3B4KHZtLCBwZCwgZ2VuOF9wZHBlX2VuY29kZShweF9k bWEodG8pLCBJOTE1X0NBQ0hFX0xMQykpOwotCW1lbXNldF9wKHBkLT5lbnRyeSwgdG8sIDUxMik7 CisJdmFkZHIgPSBrbWFwX2F0b21pYyhwZG1hLT5wYWdlKTsKKwl2YWRkcltwZGVdID0gZW5jb2Rl ZF9lbnRyeTsKKwlrdW5tYXBfYXRvbWljKHZhZGRyKTsKIH0KIAorc3RhdGljIGlubGluZSB2b2lk CitfX3NldF9wZF9lbnRyeShzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqIGNvbnN0IHBkLAor CSAgICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBwZGUsCisJICAgICAgIHN0cnVjdCBpOTE1X3Bh Z2VfZG1hICogY29uc3QgdG8sCisJICAgICAgIHU2NCAoKmVuY29kZSkoY29uc3QgZG1hX2FkZHJf dCwgY29uc3QgZW51bSBpOTE1X2NhY2hlX2xldmVsKSkKK3sKKwlwZC0+ZW50cnlbcGRlXSA9IHRv OworCV9fd3JpdGVfZG1hX2VudHJ5KHB4X2Jhc2UocGQpLCBwZGUsIGVuY29kZSh0by0+ZGFkZHIs IEk5MTVfQ0FDSEVfTExDKSk7Cit9CisKKyNkZWZpbmUgc2V0X3BkX2VudHJ5KHBkLCBwZGUsIHRv KSBcCisJX19zZXRfcGRfZW50cnkoKHBkKSwgKHBkZSksIHB4X2Jhc2UodG8pLCBnZW44X3BkZV9l bmNvZGUpCisKIC8qCiAgKiBQREUgVExCcyBhcmUgYSBwYWluIHRvIGludmFsaWRhdGUgb24gR0VO OCsuIFdoZW4gd2UgbW9kaWZ5CiAgKiB0aGUgcGFnZSB0YWJsZSBzdHJ1Y3R1cmVzLCB3ZSBtYXJr IHRoZW0gZGlydHkgc28gdGhhdApAQCAtNzgxLDE4ICs3OTAsNiBAQCBzdGF0aWMgYm9vbCBnZW44 X3BwZ3R0X2NsZWFyX3B0KGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCXJl dHVybiAhYXRvbWljX3N1Yl9yZXR1cm4obnVtX2VudHJpZXMsICZwdC0+dXNlZCk7CiB9CiAKLXN0 YXRpYyB2b2lkIGdlbjhfcHBndHRfc2V0X3BkZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2 bSwKLQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcGQsCi0JCQkgICAgICAg c3RydWN0IGk5MTVfcGFnZV90YWJsZSAqcHQsCi0JCQkgICAgICAgdW5zaWduZWQgaW50IHBkZSkK LXsKLQlnZW44X3BkZV90ICp2YWRkcjsKLQotCXZhZGRyID0ga21hcF9hdG9taWNfcHgocGQpOwot CXZhZGRyW3BkZV0gPSBnZW44X3BkZV9lbmNvZGUocHhfZG1hKHB0KSwgSTkxNV9DQUNIRV9MTEMp OwotCWt1bm1hcF9hdG9taWModmFkZHIpOwotfQotCiBzdGF0aWMgYm9vbCBnZW44X3BwZ3R0X2Ns ZWFyX3BkKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJCXN0cnVjdCBpOTE1X3Bh Z2VfZGlyZWN0b3J5ICpwZCwKIAkJCQl1NjQgc3RhcnQsIHU2NCBsZW5ndGgpCkBAIC04MTAsOCAr ODA3LDcgQEAgc3RhdGljIGJvb2wgZ2VuOF9wcGd0dF9jbGVhcl9wZChzdHJ1Y3QgaTkxNV9hZGRy ZXNzX3NwYWNlICp2bSwKIAogCQlzcGluX2xvY2soJnBkLT5sb2NrKTsKIAkJaWYgKCFhdG9taWNf cmVhZCgmcHQtPnVzZWQpKSB7Ci0JCQlnZW44X3BwZ3R0X3NldF9wZGUodm0sIHBkLCB2bS0+c2Ny YXRjaF9wdCwgcGRlKTsKLQkJCXBkLT5lbnRyeVtwZGVdID0gdm0tPnNjcmF0Y2hfcHQ7CisJCQlz ZXRfcGRfZW50cnkocGQsIHBkZSwgdm0tPnNjcmF0Y2hfcHQpOwogCiAJCQlHRU1fQlVHX09OKCFh dG9taWNfcmVhZCgmcGQtPnVzZWQpKTsKIAkJCWF0b21pY19kZWMoJnBkLT51c2VkKTsKQEAgLTgy NSwyMCArODIxLDYgQEAgc3RhdGljIGJvb2wgZ2VuOF9wcGd0dF9jbGVhcl9wZChzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKIAlyZXR1cm4gIWF0b21pY19yZWFkKCZwZC0+dXNlZCk7CiB9 CiAKLXN0YXRpYyB2b2lkIGdlbjhfcHBndHRfc2V0X3BkcGUoc3RydWN0IGk5MTVfcGFnZV9kaXJl Y3RvcnkgKnBkcCwKLQkJCQlzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcGQsCi0JCQkJdW5z aWduZWQgaW50IHBkcGUpCi17Ci0JZ2VuOF9wcGd0dF9wZHBlX3QgKnZhZGRyOwotCi0JaWYgKCFw ZF9oYXNfcGh5c19wYWdlKHBkcCkpCi0JCXJldHVybjsKLQotCXZhZGRyID0ga21hcF9hdG9taWNf cHgocGRwKTsKLQl2YWRkcltwZHBlXSA9IGdlbjhfcGRwZV9lbmNvZGUocHhfZG1hKHBkKSwgSTkx NV9DQUNIRV9MTEMpOwotCWt1bm1hcF9hdG9taWModmFkZHIpOwotfQotCiAvKiBSZW1vdmVzIGVu dHJpZXMgZnJvbSBhIHNpbmdsZSBwYWdlIGRpciBwb2ludGVyLCByZWxlYXNpbmcgaXQgaWYgaXQn cyBlbXB0eS4KICAqIENhbGxlciBjYW4gdXNlIHRoZSByZXR1cm4gdmFsdWUgdG8gdXBkYXRlIGhp Z2hlci1sZXZlbCBlbnRyaWVzCiAgKi8KQEAgLTg1OSw4ICs4NDEsNyBAQCBzdGF0aWMgYm9vbCBn ZW44X3BwZ3R0X2NsZWFyX3BkcChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAogCQlz cGluX2xvY2soJnBkcC0+bG9jayk7CiAJCWlmICghYXRvbWljX3JlYWQoJnBkLT51c2VkKSkgewot CQkJZ2VuOF9wcGd0dF9zZXRfcGRwZShwZHAsIHZtLT5zY3JhdGNoX3BkLCBwZHBlKTsKLQkJCXBk cC0+ZW50cnlbcGRwZV0gPSB2bS0+c2NyYXRjaF9wZDsKKwkJCXNldF9wZF9lbnRyeShwZHAsIHBk cGUsIHZtLT5zY3JhdGNoX3BkKTsKIAogCQkJR0VNX0JVR19PTighYXRvbWljX3JlYWQoJnBkcC0+ dXNlZCkpOwogCQkJYXRvbWljX2RlYygmcGRwLT51c2VkKTsKQEAgLTg4MCwxNyArODYxLDYgQEAg c3RhdGljIHZvaWQgZ2VuOF9wcGd0dF9jbGVhcl8zbHZsKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgKnZtLAogCWdlbjhfcHBndHRfY2xlYXJfcGRwKHZtLCBpOTE1X3ZtX3RvX3BwZ3R0KHZtKS0+ cGQsIHN0YXJ0LCBsZW5ndGgpOwogfQogCi1zdGF0aWMgdm9pZCBnZW44X3BwZ3R0X3NldF9wbWw0 ZShzdHJ1Y3QgaTkxNV9wYWdlX2RpcmVjdG9yeSAqcG1sNCwKLQkJCQkgc3RydWN0IGk5MTVfcGFn ZV9kaXJlY3RvcnkgKnBkcCwKLQkJCQkgdW5zaWduZWQgaW50IHBtbDRlKQotewotCWdlbjhfcHBn dHRfcG1sNGVfdCAqdmFkZHI7Ci0KLQl2YWRkciA9IGttYXBfYXRvbWljX3B4KHBtbDQpOwotCXZh ZGRyW3BtbDRlXSA9IGdlbjhfcG1sNGVfZW5jb2RlKHB4X2RtYShwZHApLCBJOTE1X0NBQ0hFX0xM Qyk7Ci0Ja3VubWFwX2F0b21pYyh2YWRkcik7Ci19Ci0KIC8qIFJlbW92ZXMgZW50cmllcyBmcm9t IGEgc2luZ2xlIHBtbDQuCiAgKiBUaGlzIGlzIHRoZSB0b3AtbGV2ZWwgc3RydWN0dXJlIGluIDQt bGV2ZWwgcGFnZSB0YWJsZXMgdXNlZCBvbiBnZW44Ky4KICAqIEVtcHR5IGVudHJpZXMgYXJlIGFs d2F5cyBzY3JhdGNoIHBtbDRlLgpAQCAtOTE0LDggKzg4NCw3IEBAIHN0YXRpYyB2b2lkIGdlbjhf cHBndHRfY2xlYXJfNGx2bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAogCQlzcGlu X2xvY2soJnBtbDQtPmxvY2spOwogCQlpZiAoIWF0b21pY19yZWFkKCZwZHAtPnVzZWQpKSB7Ci0J CQlnZW44X3BwZ3R0X3NldF9wbWw0ZShwbWw0LCB2bS0+c2NyYXRjaF9wZHAsIHBtbDRlKTsKLQkJ CXBtbDQtPmVudHJ5W3BtbDRlXSA9IHZtLT5zY3JhdGNoX3BkcDsKKwkJCXNldF9wZF9lbnRyeShw bWw0LCBwbWw0ZSwgdm0tPnNjcmF0Y2hfcGRwKTsKIAkJCWZyZWUgPSB0cnVlOwogCQl9CiAJCXNw aW5fdW5sb2NrKCZwbWw0LT5sb2NrKTsKQEAgLTEyMzIsNyArMTIwMSw3IEBAIHN0YXRpYyBpbnQg Z2VuOF9pbml0X3NjcmF0Y2goc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0pCiAJfQogCiAJ Z2VuOF9pbml0aWFsaXplX3B0KHZtLCB2bS0+c2NyYXRjaF9wdCk7Ci0JaW5pdF9wZF93aXRoX3Bh Z2Uodm0sIHZtLT5zY3JhdGNoX3BkLCB2bS0+c2NyYXRjaF9wdCk7CisJaW5pdF9wZCh2bSwgdm0t PnNjcmF0Y2hfcGQsIHZtLT5zY3JhdGNoX3B0KTsKIAlpZiAoaTkxNV92bV9pc180bHZsKHZtKSkK IAkJaW5pdF9wZCh2bSwgdm0tPnNjcmF0Y2hfcGRwLCB2bS0+c2NyYXRjaF9wZCk7CiAKQEAgLTEz NzEsOCArMTM0MCw3IEBAIHN0YXRpYyBpbnQgZ2VuOF9wcGd0dF9hbGxvY19wZChzdHJ1Y3QgaTkx NV9hZGRyZXNzX3NwYWNlICp2bSwKIAogCQkJc3Bpbl9sb2NrKCZwZC0+bG9jayk7CiAJCQlpZiAo cGQtPmVudHJ5W3BkZV0gPT0gdm0tPnNjcmF0Y2hfcHQpIHsKLQkJCQlnZW44X3BwZ3R0X3NldF9w ZGUodm0sIHBkLCBwdCwgcGRlKTsKLQkJCQlwZC0+ZW50cnlbcGRlXSA9IHB0OworCQkJCXNldF9w ZF9lbnRyeShwZCwgcGRlLCBwdCk7CiAJCQkJYXRvbWljX2luYygmcGQtPnVzZWQpOwogCQkJfSBl bHNlIHsKIAkJCQlhbGxvYyA9IHB0OwpAQCAtMTQxNSwxMiArMTM4MywxMSBAQCBzdGF0aWMgaW50 IGdlbjhfcHBndHRfYWxsb2NfcGRwKHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogCQkJ CWdvdG8gdW53aW5kOwogCQkJfQogCi0JCQlpbml0X3BkX3dpdGhfcGFnZSh2bSwgcGQsIHZtLT5z Y3JhdGNoX3B0KTsKKwkJCWluaXRfcGQodm0sIHBkLCB2bS0+c2NyYXRjaF9wdCk7CiAKIAkJCXNw aW5fbG9jaygmcGRwLT5sb2NrKTsKIAkJCWlmIChwZHAtPmVudHJ5W3BkcGVdID09IHZtLT5zY3Jh dGNoX3BkKSB7Ci0JCQkJZ2VuOF9wcGd0dF9zZXRfcGRwZShwZHAsIHBkLCBwZHBlKTsKLQkJCQlw ZHAtPmVudHJ5W3BkcGVdID0gcGQ7CisJCQkJc2V0X3BkX2VudHJ5KHBkcCwgcGRwZSwgcGQpOwog CQkJCWF0b21pY19pbmMoJnBkcC0+dXNlZCk7CiAJCQl9IGVsc2UgewogCQkJCWFsbG9jID0gcGQ7 CkBAIC0xNDQzLDcgKzE0MTAsNyBAQCBzdGF0aWMgaW50IGdlbjhfcHBndHRfYWxsb2NfcGRwKHN0 cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtLAogdW53aW5kX3BkOgogCXNwaW5fbG9jaygmcGRw LT5sb2NrKTsKIAlpZiAoYXRvbWljX2RlY19hbmRfdGVzdCgmcGQtPnVzZWQpKSB7Ci0JCWdlbjhf cHBndHRfc2V0X3BkcGUocGRwLCB2bS0+c2NyYXRjaF9wZCwgcGRwZSk7CisJCXNldF9wZF9lbnRy eShwZHAsIHBkcGUsIHZtLT5zY3JhdGNoX3BkKTsKIAkJR0VNX0JVR19PTighYXRvbWljX3JlYWQo JnBkcC0+dXNlZCkpOwogCQlhdG9taWNfZGVjKCZwZHAtPnVzZWQpOwogCQlmcmVlX3BkKHZtLCBw ZCk7CkBAIC0xNDkxLDggKzE0NTgsNyBAQCBzdGF0aWMgaW50IGdlbjhfcHBndHRfYWxsb2NfNGx2 bChzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKIAogCQkJc3Bpbl9sb2NrKCZwbWw0LT5s b2NrKTsKIAkJCWlmIChwbWw0LT5lbnRyeVtwbWw0ZV0gPT0gdm0tPnNjcmF0Y2hfcGRwKSB7Ci0J CQkJZ2VuOF9wcGd0dF9zZXRfcG1sNGUocG1sNCwgcGRwLCBwbWw0ZSk7Ci0JCQkJcG1sNC0+ZW50 cnlbcG1sNGVdID0gcGRwOworCQkJCXNldF9wZF9lbnRyeShwbWw0LCBwbWw0ZSwgcGRwKTsKIAkJ CX0gZWxzZSB7CiAJCQkJYWxsb2MgPSBwZHA7CiAJCQkJcGRwID0gcG1sNC0+ZW50cnlbcG1sNGVd OwpAQCAtMTUxNCw3ICsxNDgwLDcgQEAgc3RhdGljIGludCBnZW44X3BwZ3R0X2FsbG9jXzRsdmwo c3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm0sCiB1bndpbmRfcGRwOgogCXNwaW5fbG9jaygm cG1sNC0+bG9jayk7CiAJaWYgKGF0b21pY19kZWNfYW5kX3Rlc3QoJnBkcC0+dXNlZCkpIHsKLQkJ Z2VuOF9wcGd0dF9zZXRfcG1sNGUocG1sNCwgdm0tPnNjcmF0Y2hfcGRwLCBwbWw0ZSk7CisJCXNl dF9wZF9lbnRyeShwbWw0LCBwbWw0ZSwgdm0tPnNjcmF0Y2hfcGRwKTsKIAkJZnJlZV9wZCh2bSwg cGRwKTsKIAl9CiAJc3Bpbl91bmxvY2soJnBtbDQtPmxvY2spOwpAQCAtMTU0MCw4ICsxNTA2LDgg QEAgc3RhdGljIGludCBnZW44X3ByZWFsbG9jYXRlX3RvcF9sZXZlbF9wZHAoc3RydWN0IGk5MTVf cHBndHQgKnBwZ3R0KQogCQlpZiAoSVNfRVJSKHBkKSkKIAkJCWdvdG8gdW53aW5kOwogCi0JCWlu aXRfcGRfd2l0aF9wYWdlKHZtLCBwZCwgdm0tPnNjcmF0Y2hfcHQpOwotCQlnZW44X3BwZ3R0X3Nl dF9wZHBlKHBkcCwgcGQsIHBkcGUpOworCQlpbml0X3BkKHZtLCBwZCwgdm0tPnNjcmF0Y2hfcHQp OworCQlzZXRfcGRfZW50cnkocGRwLCBwZHBlLCBwZCk7CiAKIAkJYXRvbWljX2luYygmcGRwLT51 c2VkKTsKIAl9CkBAIC0xNTUzLDcgKzE1MTksNyBAQCBzdGF0aWMgaW50IGdlbjhfcHJlYWxsb2Nh dGVfdG9wX2xldmVsX3BkcChzdHJ1Y3QgaTkxNV9wcGd0dCAqcHBndHQpCiB1bndpbmQ6CiAJc3Rh cnQgLT0gZnJvbTsKIAlnZW44X2Zvcl9lYWNoX3BkcGUocGQsIHBkcCwgZnJvbSwgc3RhcnQsIHBk cGUpIHsKLQkJZ2VuOF9wcGd0dF9zZXRfcGRwZShwZHAsIHZtLT5zY3JhdGNoX3BkLCBwZHBlKTsK KwkJc2V0X3BkX2VudHJ5KHBkcCwgcGRwZSwgdm0tPnNjcmF0Y2hfcGQpOwogCQlmcmVlX3BkKHZt LCBwZCk7CiAJfQogCWF0b21pY19zZXQoJnBkcC0+dXNlZCwgMCk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2d0dC5oCmluZGV4IDgxMjcxN2NjYzY5Yi4uNmEwMTRkMDUyOTUyIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuaApAQCAtNjcsOSArNjcsNiBAQCBzdHJ1Y3QgaTkxNV92bWE7 CiAKIHR5cGVkZWYgdTMyIGdlbjZfcHRlX3Q7CiB0eXBlZGVmIHU2NCBnZW44X3B0ZV90OwotdHlw ZWRlZiB1NjQgZ2VuOF9wZGVfdDsKLXR5cGVkZWYgdTY0IGdlbjhfcHBndHRfcGRwZV90OwotdHlw ZWRlZiB1NjQgZ2VuOF9wcGd0dF9wbWw0ZV90OwogCiAjZGVmaW5lIGdndHRfdG90YWxfZW50cmll cyhnZ3R0KSAoKGdndHQpLT52bS50b3RhbCA+PiBQQUdFX1NISUZUKQogCi0tIAoyLjE3LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==