From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Paauwe Subject: [PATCH] drm/i915: Make 48bit full ppgtt configuration generic (v6) Date: Tue, 2 Oct 2018 10:39:14 -0700 Message-ID: <20181002173914.1011414-1-bob.j.paauwe@intel.com> References: <20180912160430.167261-1-bob.j.paauwe@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id B5D5B6E03C for ; Tue, 2 Oct 2018 17:39:14 +0000 (UTC) In-Reply-To: <20180912160430.167261-1-bob.j.paauwe@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 Cc: Michel Thierry , Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org NDggYml0IHBwZ3R0IGRldmljZSBjb25maWd1cmF0aW9uIGlzIHJlYWxseSBqdXN0IGV4dGVuZGVk IGFkZHJlc3MKcmFuZ2UgZnVsbCBwcGd0dCBhbmQgbWF5IGFjdHVhbGx5IGJlIHNvbWV0aGluZyBv dGhlciB0aGFuIDQ4IGJpdHMuCgpDaGFuZ2UgSEFTX0ZVTExfNDhCSVRfUFBHVFQoKSB0byBIQVNf NExWTF9QUEdUVCgpIHRvIGJldHRlcgpkZXNjcmliZSB0aGF0IGEgNCBsZXZlbCB3YWxrIHRhYmxl IGV4dGVuZGVkIHJhbmdlIFBQR1RUIGlzIGJlaW5nCnVzZWQuIEFkZCBhIG5ldyBkZXZpY2UgaW5m byBmaWVsZCB0aGF0IHNwZWNpZmllcyB0aGUgbnVtYmVyIG9mCmJpdHMgdG8gcHJlcGFyZSBmb3Ig Y2FzZXMgd2hlcmUgdGhlIHJhbmdlIGlzIG5vdCAzMiBvciA0OCBiaXRzLgpBbHNvIHJlbmFtZSBv dGhlciBmdW5jdGlvbnMgYW5kIGNvbW1lbnRzIGZyb20gNDhiaXQgdG8gNC1sZXZlbC4KCnYyOiBr ZWVwIEhBU19GVUxMX1BQR1RUKCkgdW5jaGFuZ2VkIChDaHJpcykKdjM6IFNpbXBsaWZ5IGNvbmRp dGlvbiBpbiBnZW44X3BwZ3R0X2NyZWF0ZSgpIChDaHJpcykKICAgIFJlbW92ZSB1bm5lY2Vzc2Fy eSBsaW5lIGNvbmludWF0aW9ucyAoQm9iKQogICAgUmVuYW1lIGZ1bmN0aW9ucy9kZWZpbmVzL2Nv bW1lbnRzIGZyb20gNDhiaXQgdG8gNGx2bCAoUm9kcmlnby9Cb2IpCnY0OiBSZW5hbWUgRlVMTF80 TFZMX1BQR1RUIHRvIHNpbXBseSA0TFZMX1BQR1RUIChSb2RyaWdvKQogICAgQmUgZXhwbGlzZWQg aW4gc2V0dGluZyB2bS50b3RhbCB0byAxVUxMIDw8IDMyIChSb2RyaWdvKQogICAgR2VuIDcgaXMg MzEgYml0cywgbm90IDMyIChDaHJpcykKdjU6IG1vY2sgZGV2aWNlIGlzIDY0Yig2M2IpIG5vdCA0 OGIgKENocmlzKQp2NjogcmViYXNlIHRvIGxhdGVzdCBkcm0tdGlwIChCb2IpCgpTaWduZWQtb2Zm LWJ5OiBCb2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgpDQzogUm9kcmlnbyBWaXZp IDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgpDQzogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGll cnJ5QGludGVsLmNvbT4KQ0M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVr PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC92Z3B1LmMgICAgICAgICAgICAgICAgICB8 ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jICAgICAgICAgICAgICAgICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgICAg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICAgICAg ICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYyAgICAgICAgICAg ICAgfCAxMCArKysrLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAg ICAgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jICAg ICAgICAgICAgICAgICAgfCAgNSArKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wdmlu Zm8uaCAgICAgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdw dS5jICAgICAgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dmdwdS5oICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kZXZpY2VfaW5mby5oICAgICAgICAgfCAgMyArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jICAgICAgICAgICAgICAgICB8ICA2ICsrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYyAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyB8ICAyICsrCiAxNCBmaWxlcyBj aGFuZ2VkLCAzMSBpbnNlcnRpb25zKCspLCAyMyBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvdmdwdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L3ZncHUuYwppbmRleCBjNjI4YmUwNWZiZmUuLjYwMDJkZWQwMDQyYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3ZncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dnQvdmdwdS5jCkBAIC00NCw3ICs0NCw3IEBAIHZvaWQgcG9wdWxhdGVfcHZpbmZvX3BhZ2Uoc3Ry dWN0IGludGVsX3ZncHUgKnZncHUpCiAJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZfcmVnKGRpc3Bs YXlfcmVhZHkpKSA9IDA7CiAJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZfcmVnKHZndF9pZCkpID0g dmdwdS0+aWQ7CiAKLQl2Z3B1X3ZyZWdfdCh2Z3B1LCB2Z3RpZl9yZWcodmd0X2NhcHMpKSA9IFZH VF9DQVBTX0ZVTExfNDhCSVRfUFBHVFQ7CisJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZfcmVnKHZn dF9jYXBzKSkgPSBWR1RfQ0FQU180TFZMX1BQR1RUOwogCXZncHVfdnJlZ190KHZncHUsIHZndGlm X3JlZyh2Z3RfY2FwcykpIHw9IFZHVF9DQVBTX0hXU1BfRU1VTEFUSU9OOwogCXZncHVfdnJlZ190 KHZncHUsIHZndGlmX3JlZyh2Z3RfY2FwcykpIHw9IFZHVF9DQVBTX0hVR0VfR1RUOwogCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuYwppbmRleCAxYjAyOGY0MjllOTIuLjNiNDg1MmE4OTQ0MSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5jCkBAIC0xMzY1LDcgKzEzNjUsNyBAQCBzdGF0aWMgaW50IGk5MTVf ZHJpdmVyX2luaXRfaHcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAJaWYg KEhBU19QUEdUVChkZXZfcHJpdikpIHsKIAkJaWYgKGludGVsX3ZncHVfYWN0aXZlKGRldl9wcml2 KSAmJgotCQkgICAgIWludGVsX3ZncHVfaGFzX2Z1bGxfNDhiaXRfcHBndHQoZGV2X3ByaXYpKSB7 CisJCSAgICAhaW50ZWxfdmdwdV9oYXNfNGx2bF9wcGd0dChkZXZfcHJpdikpIHsKIAkJCWk5MTVf cmVwb3J0X2Vycm9yKGRldl9wcml2LAogCQkJCQkgICJpbmNvbXBhdGlibGUgdkdQVSBmb3VuZCwg c3VwcG9ydCBmb3IgaXNvbGF0ZWQgcHBHVFQgcmVxdWlyZWRcbiIpOwogCQkJcmV0dXJuIC1FTlhJ TzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDMwMTkxNTIzYzMwOS4uNTRhNDQyNzBkMzUw IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI2MDIsNyArMjYwMiw3IEBAIGludGVsX2lu Zm8oY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCShJTlRFTF9QUEdU VChkZXZfcHJpdikgIT0gSU5URUxfUFBHVFRfTk9ORSkKICNkZWZpbmUgSEFTX0ZVTExfUFBHVFQo ZGV2X3ByaXYpIFwKIAkoSU5URUxfUFBHVFQoZGV2X3ByaXYpID49IElOVEVMX1BQR1RUX0ZVTEwp Ci0jZGVmaW5lIEhBU19GVUxMXzQ4QklUX1BQR1RUKGRldl9wcml2KQlcCisjZGVmaW5lIEhBU180 TFZMX1BQR1RUKGRldl9wcml2KQlcCiAJKElOVEVMX1BQR1RUKGRldl9wcml2KSA+PSBJTlRFTF9Q UEdUVF9GVUxMXzRMVkwpCiAKICNkZWZpbmUgSEFTX1BBR0VfU0laRVMoZGV2X3ByaXYsIHNpemVz KSAoeyBcCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggMTVjOTJm NzViMWI4Li41ZGU1NGFlOTQ5YzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmMKQEAgLTMwNyw3ICszMDcsNyBAQCBzdGF0aWMgdTMyIGRlZmF1bHRfZGVzY190ZW1wbGF0 ZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlkZXNjID0gR0VOOF9DVFhf VkFMSUQgfCBHRU44X0NUWF9QUklWSUxFR0U7CiAKIAlhZGRyZXNzX21vZGUgPSBJTlRFTF9MRUdB Q1lfMzJCX0NPTlRFWFQ7Ci0JaWYgKHBwZ3R0ICYmIGk5MTVfdm1faXNfNDhiaXQoJnBwZ3R0LT52 bSkpCisJaWYgKHBwZ3R0ICYmIGk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkKIAkJYWRkcmVz c19tb2RlID0gSU5URUxfTEVHQUNZXzY0Ql9DT05URVhUOwogCWRlc2MgfD0gYWRkcmVzc19tb2Rl IDw8IEdFTjhfQ1RYX0FERFJFU1NJTkdfTU9ERV9TSElGVDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9ndHQuYwppbmRleCAyOWNhOTAwN2E3MDQuLjA2YTkxZjY3YmMxNCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAgLTU3OSwxNCArNTc5LDE0IEBAIHNldHVwX3NjcmF0Y2hf cGFnZShzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSwgZ2ZwX3QgZ2ZwKQogCSAqIHBhZ2Ut dGFibGUgb3BlcmF0aW5nIGluIDY0SyBtb2RlIG11c3QgcG9pbnQgdG8gYSBwcm9wZXJseSBhbGln bmVkIDY0SwogCSAqIHJlZ2lvbiwgaW5jbHVkaW5nIGFueSBQVEVzIHdoaWNoIGhhcHBlbiB0byBw b2ludCB0byBzY3JhdGNoLgogCSAqCi0JICogVGhpcyBpcyBvbmx5IHJlbGV2YW50IGZvciB0aGUg NDhiIFBQR1RUIHdoZXJlIHdlIHN1cHBvcnQKKwkgKiBUaGlzIGlzIG9ubHkgcmVsZXZhbnQgZm9y IHRoZSA0LWxldmVsIFBQR1RUIHdoZXJlIHdlIHN1cHBvcnQKIAkgKiBodWdlLWd0dC1wYWdlcywg c2VlIGFsc28gaTkxNV92bWFfaW5zZXJ0KCkuCiAJICoKIAkgKiBUT0RPOiB3ZSBzaG91bGQgcmVh bGx5IGNvbnNpZGVyIHdyaXRlLXByb3RlY3RpbmcgdGhlIHNjcmF0Y2gtcGFnZSBhbmQKIAkgKiBz aGFyaW5nIGJldHdlZW4gcHBndHQKIAkgKi8KIAlzaXplID0gSTkxNV9HVFRfUEFHRV9TSVpFXzRL OwotCWlmIChpOTE1X3ZtX2lzXzQ4Yml0KHZtKSAmJgorCWlmIChpOTE1X3ZtX2lzXzRsdmwodm0p ICYmCiAJICAgIEhBU19QQUdFX1NJWkVTKHZtLT5pOTE1LCBJOTE1X0dUVF9QQUdFX1NJWkVfNjRL KSkgewogCQlzaXplID0gSTkxNV9HVFRfUEFHRV9TSVpFXzY0SzsKIAkJZ2ZwIHw9IF9fR0ZQX05P V0FSTjsKQEAgLTczMSw3ICs3MzEsNyBAQCBzdGF0aWMgdm9pZCBfX3BkcF9maW5pKHN0cnVjdCBp OTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKnBkcCkKIAogc3RhdGljIGlubGluZSBib29sIHVz ZV80bHZsKGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQogewotCXJldHVybiBp OTE1X3ZtX2lzXzQ4Yml0KHZtKTsKKwlyZXR1cm4gaTkxNV92bV9pc180bHZsKHZtKTsKIH0KIAog c3RhdGljIHN0cnVjdCBpOTE1X3BhZ2VfZGlyZWN0b3J5X3BvaW50ZXIgKgpAQCAtMTU5OCw5ICsx NTk4LDcgQEAgc3RhdGljIHN0cnVjdCBpOTE1X2h3X3BwZ3R0ICpnZW44X3BwZ3R0X2NyZWF0ZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlwcGd0dC0+dm0uaTkxNSA9IGk5MTU7CiAJ cHBndHQtPnZtLmRtYSA9ICZpOTE1LT5kcm0ucGRldi0+ZGV2OwogCi0JcHBndHQtPnZtLnRvdGFs ID0gSEFTX0ZVTExfNDhCSVRfUFBHVFQoaTkxNSkgPwotCQkxVUxMIDw8IDQ4IDoKLQkJMVVMTCA8 PCAzMjsKKwlwcGd0dC0+dm0udG90YWwgPSBCSVRfVUxMKGk5MTUtPmluZm8ucHBndHRfYml0cyk7 CiAKIAkvKgogCSAqIEZyb20gYmR3LCB0aGVyZSBpcyBzdXBwb3J0IGZvciByZWFkLW9ubHkgcGFn ZXMgaW4gdGhlIFBQR1RULgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaAppbmRleCA3ZTJh ZjVmNGYzOWIuLmIyYTcwOWEyN2NiOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgK QEAgLTM2Myw3ICszNjMsNyBAQCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsKICNkZWZpbmUg aTkxNV9pc19nZ3R0KHZtKSAoKHZtKS0+aXNfZ2d0dCkKIAogc3RhdGljIGlubGluZSBib29sCi1p OTE1X3ZtX2lzXzQ4Yml0KGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQoraTkx NV92bV9pc180bHZsKGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQogewogCXJl dHVybiAodm0tPnRvdGFsIC0gMSkgPj4gMzI7CiB9CkBAIC01MDYsNyArNTA2LDcgQEAgc3RhdGlj IGlubGluZSB1MzIgZ2VuNl9wZGVfaW5kZXgodTMyIGFkZHIpCiBzdGF0aWMgaW5saW5lIHVuc2ln bmVkIGludAogaTkxNV9wZHBlc19wZXJfcGRwKGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3Bh Y2UgKnZtKQogewotCWlmIChpOTE1X3ZtX2lzXzQ4Yml0KHZtKSkKKwlpZiAoaTkxNV92bV9pc180 bHZsKHZtKSkKIAkJcmV0dXJuIEdFTjhfUE1MNEVTX1BFUl9QTUw0OwogCiAJcmV0dXJuIEdFTjhf M0xWTF9QRFBFUzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCmluZGV4IDlkZGQyZGI5MDZjZS4uYWNj MzM1MDRlY2UwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAgLTI5OCw2ICsyOTgsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3NhbmR5YnJpZGdlX21f Z3QyX2luZm8gPSB7CiAJLmhhc19yYzYgPSAxLCBcCiAJLmhhc19yYzZwID0gMSwgXAogCS5wcGd0 dCA9IElOVEVMX1BQR1RUX0ZVTEwsIFwKKwkucHBndHRfYml0cyA9IDMxLCBcCiAJR0VOX0RFRkFV TFRfUElQRU9GRlNFVFMsIFwKIAlHRU5fREVGQVVMVF9QQUdFX1NJWkVTLCBcCiAJSVZCX0NVUlNP Ul9PRkZTRVRTCkBAIC0zNTEsNiArMzUyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9k ZXZpY2VfaW5mbyBpbnRlbF92YWxsZXl2aWV3X2luZm8gPSB7CiAJLmhhc19nbWNoX2Rpc3BsYXkg PSAxLAogCS5oYXNfaG90cGx1ZyA9IDEsCiAJLnBwZ3R0ID0gSU5URUxfUFBHVFRfRlVMTCwKKwku cHBndHRfYml0cyA9IDMxLAogCS5oYXNfc25vb3AgPSB0cnVlLAogCS5oYXNfY29oZXJlbnRfZ2d0 dCA9IGZhbHNlLAogCS5yaW5nX21hc2sgPSBSRU5ERVJfUklORyB8IEJTRF9SSU5HIHwgQkxUX1JJ TkcsCkBAIC0zOTgsNiArNDAwLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2Vf aW5mbyBpbnRlbF9oYXN3ZWxsX2d0M19pbmZvID0gewogCQkgICAgICBJOTE1X0dUVF9QQUdFX1NJ WkVfMk0sIFwKIAkuaGFzX2xvZ2ljYWxfcmluZ19jb250ZXh0cyA9IDEsIFwKIAkucHBndHQgPSBJ TlRFTF9QUEdUVF9GVUxMXzRMVkwsIFwKKwkucHBndHRfYml0cyA9IDQ4LCBcCiAJLmhhc182NGJp dF9yZWxvYyA9IDEsIFwKIAkuaGFzX3Jlc2V0X2VuZ2luZSA9IDEKIApAQCAtNDQyLDYgKzQ0NSw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfY2hlcnJ5dmll d19pbmZvID0gewogCS5oYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzID0gMSwKIAkuaGFzX2dtY2hf ZGlzcGxheSA9IDEsCiAJLnBwZ3R0ID0gSU5URUxfUFBHVFRfRlVMTCwKKwkucHBndHRfYml0cyA9 IDMyLAogCS5oYXNfcmVzZXRfZW5naW5lID0gMSwKIAkuaGFzX3Nub29wID0gdHJ1ZSwKIAkuaGFz X2NvaGVyZW50X2dndHQgPSBmYWxzZSwKQEAgLTUxOCw2ICs1MjIsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3NreWxha2VfZ3Q0X2luZm8gPSB7CiAJLmhh c19sb2dpY2FsX3JpbmdfcHJlZW1wdGlvbiA9IDEsIFwKIAkuaGFzX2d1YyA9IDEsIFwKIAkucHBn dHQgPSBJTlRFTF9QUEdUVF9GVUxMXzRMVkwsIFwKKwkucHBndHRfYml0cyA9IDQ4LCBcCiAJLmhh c19yZXNldF9lbmdpbmUgPSAxLCBcCiAJLmhhc19zbm9vcCA9IHRydWUsIFwKIAkuaGFzX2NvaGVy ZW50X2dndHQgPSBmYWxzZSwgXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9wdmluZm8uaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcHZpbmZvLmgKaW5kZXggZWVh YTNkNTA2ZDk1Li5iYzdjYmRjYTAyYWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcHZpbmZvLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wdmluZm8uaApA QCAtNTIsNyArNTIsNyBAQCBlbnVtIHZndF9nMnZfdHlwZSB7CiAvKgogICogVkdUIGNhcGFiaWxp dGllcyB0eXBlCiAgKi8KLSNkZWZpbmUgVkdUX0NBUFNfRlVMTF80OEJJVF9QUEdUVAlCSVQoMikK KyNkZWZpbmUgVkdUX0NBUFNfNExWTF9QUEdUVAkJQklUKDIpCiAjZGVmaW5lIFZHVF9DQVBTX0hX U1BfRU1VTEFUSU9OCQlCSVQoMykKICNkZWZpbmUgVkdUX0NBUFNfSFVHRV9HVFQJCUJJVCg0KQog CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCmluZGV4IDg2OWNmNGEzYjZkZS4uNGVjYjRkNmU2N2Y4 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuYwpAQCAtODEsOSArODEsOSBAQCB2b2lkIGk5MTVf Y2hlY2tfdmdwdShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJRFJNX0lORk8o IlZpcnR1YWwgR1BVIGZvciBJbnRlbCBHVlQtZyBkZXRlY3RlZC5cbiIpOwogfQogCi1ib29sIGlu dGVsX3ZncHVfaGFzX2Z1bGxfNDhiaXRfcHBndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KQorYm9vbCBpbnRlbF92Z3B1X2hhc180bHZsX3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIHsKLQlyZXR1cm4gZGV2X3ByaXYtPnZncHUuY2FwcyAmIFZHVF9D QVBTX0ZVTExfNDhCSVRfUFBHVFQ7CisJcmV0dXJuIGRldl9wcml2LT52Z3B1LmNhcHMgJiBWR1Rf Q0FQU180TFZMX1BQR1RUOwogfQogCiBzdHJ1Y3QgX2JhbGxvb25faW5mb18gewpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3ZncHUuaAppbmRleCA1NTFhY2MzOTAwNDYuLjUyNjViNjM1N2ZiYSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV92Z3B1LmgKQEAgLTI4LDcgKzI4LDcgQEAKIAogdm9pZCBpOTE1X2NoZWNrX3Zn cHUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIAotYm9vbCBpbnRlbF92Z3B1 X2hhc19mdWxsXzQ4Yml0X3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 Citib29sIGludGVsX3ZncHVfaGFzXzRsdmxfcHBndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKIAogc3RhdGljIGlubGluZSBib29sCiBpbnRlbF92Z3B1X2hhc19od3NwX2Vt dWxhdGlvbihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAppbmRleCBhZjcwMDI2NDBjZGYuLjFiMTRkN2RmMzI0 YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCkBAIC0xODksNiAr MTg5LDkgQEAgc3RydWN0IGludGVsX2RldmljZV9pbmZvIHsKIAkJdTE2IGRlZ2FtbWFfbHV0X3Np emU7CiAJCXUxNiBnYW1tYV9sdXRfc2l6ZTsKIAl9IGNvbG9yOworCisJLyogUFBHVFQgYWRkcmVz cyBsaW1pdCAqLworCWludCBwcGd0dF9iaXRzOwogfTsKIAogc3RydWN0IGludGVsX2RyaXZlcl9j YXBzIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggMTUzNDVlNzRkOGNlLi5iODg5NTE1 OTJiYzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC00MjQsNyArNDI0LDcgQEAgc3Rh dGljIHU2NCBleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEp CiAJICogUE1MNCBpcyBhbGxvY2F0ZWQgZHVyaW5nIHBwZ3R0IGluaXQsIHNvIHRoaXMgaXMgbm90 IG5lZWRlZAogCSAqIGluIDQ4LWJpdCBtb2RlLgogCSAqLwotCWlmICghaTkxNV92bV9pc180OGJp dCgmcHBndHQtPnZtKSkKKwlpZiAoIWk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkKIAkJZXhl Y2xpc3RzX3VwZGF0ZV9jb250ZXh0X3BkcHMocHBndHQsIHJlZ19zdGF0ZSk7CiAKIAlyZXR1cm4g Y2UtPmxyY19kZXNjOwpAQCAtMjA1MCw3ICsyMDUwLDcgQEAgc3RhdGljIGludCBnZW44X2VtaXRf YmJfc3RhcnQoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsCiAJICogbm90IGlkbGUpLiBQTUw0IGlz IGFsbG9jYXRlZCBkdXJpbmcgcHBndHQgaW5pdCBzbyB0aGlzIGlzCiAJICogbm90IG5lZWRlZCBp biA0OC1iaXQuKi8KIAlpZiAoKGludGVsX2VuZ2luZV9mbGFnKHJxLT5lbmdpbmUpICYgcnEtPmdl bV9jb250ZXh0LT5wcGd0dC0+cGRfZGlydHlfcmluZ3MpICYmCi0JICAgICFpOTE1X3ZtX2lzXzQ4 Yml0KCZycS0+Z2VtX2NvbnRleHQtPnBwZ3R0LT52bSkgJiYKKwkgICAgIWk5MTVfdm1faXNfNGx2 bCgmcnEtPmdlbV9jb250ZXh0LT5wcGd0dC0+dm0pICYmCiAJICAgICFpbnRlbF92Z3B1X2FjdGl2 ZShycS0+aTkxNSkpIHsKIAkJcmV0ID0gaW50ZWxfbG9naWNhbF9yaW5nX2VtaXRfcGRwcyhycSk7 CiAJCWlmIChyZXQpCkBAIC0yNzIyLDcgKzI3MjIsNyBAQCBzdGF0aWMgdm9pZCBleGVjbGlzdHNf aW5pdF9yZWdfc3RhdGUodTMyICpyZWdzLAogCUNUWF9SRUcocmVncywgQ1RYX1BEUDBfVURXLCBH RU44X1JJTkdfUERQX1VEVyhlbmdpbmUsIDApLCAwKTsKIAlDVFhfUkVHKHJlZ3MsIENUWF9QRFAw X0xEVywgR0VOOF9SSU5HX1BEUF9MRFcoZW5naW5lLCAwKSwgMCk7CiAKLQlpZiAoaTkxNV92bV9p c180OGJpdCgmY3R4LT5wcGd0dC0+dm0pKSB7CisJaWYgKGk5MTVfdm1faXNfNGx2bCgmY3R4LT5w cGd0dC0+dm0pKSB7CiAJCS8qIDY0YiBQUEdUVCAoNDhiaXQgY2Fub25pY2FsKQogCQkgKiBQRFAw X0RFU0NSSVBUT1IgY29udGFpbnMgdGhlIGJhc2UgYWRkcmVzcyB0byBQTUw0IGFuZAogCQkgKiBv dGhlciBQRFAgRGVzY3JpcHRvcnMgYXJlIGlnbm9yZWQuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv c2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwppbmRleCAwOWVhNjVhMjlkOTguLjYwYjAxMjc4MTAwMiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCkBAIC0xNDM2 LDggKzE0MzYsOCBAQCBzdGF0aWMgaW50IGlndF9wcGd0dF9waW5fdXBkYXRlKHZvaWQgKmFyZykK IAkgKiBodWdlLWd0dC1wYWdlcy4KIAkgKi8KIAotCWlmICghSEFTX0ZVTExfNDhCSVRfUFBHVFQo ZGV2X3ByaXYpKSB7Ci0JCXByX2luZm8oIjQ4YiBQUEdUVCBub3Qgc3VwcG9ydGVkLCBza2lwcGlu Z1xuIik7CisJaWYgKCFIQVNfNExWTF9QUEdUVChkZXZfcHJpdikpIHsKKwkJcHJfaW5mbygiRXh0 ZW5kZWQgcmFuZ2UgUFBHVFQgbm90IHN1cHBvcnRlZCwgc2tpcHBpbmdcbiIpOwogCQlyZXR1cm4g MDsKIAl9CiAKQEAgLTE3MDksOCArMTcwOSw4IEBAIGludCBpOTE1X2dlbV9odWdlX3BhZ2VfbW9j a19zZWxmdGVzdHModm9pZCkKIAkJZ290byBvdXRfdW5sb2NrOwogCX0KIAotCWlmICghaTkxNV92 bV9pc180OGJpdCgmcHBndHQtPnZtKSkgewotCQlwcl9lcnIoImZhaWxlZCB0byBjcmVhdGUgNDhi IFBQR1RUXG4iKTsKKwlpZiAoIWk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkgeworCQlwcl9l cnIoImZhaWxlZCB0byBjcmVhdGUgZXh0ZW5kZWQgUFBHVFRcbiIpOwogCQllcnIgPSAtRUlOVkFM OwogCQlnb3RvIG91dF9jbG9zZTsKIAl9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxm dGVzdHMvbW9ja19nZW1fZGV2aWNlLmMKaW5kZXggNDNlZDhiMjhhZWFhLi43NzE1NWRkNmUyYTkg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZp Y2UuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2aWNl LmMKQEAgLTE4MSw2ICsxODEsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqbW9ja19nZW1f ZGV2aWNlKHZvaWQpCiAJCUk5MTVfR1RUX1BBR0VfU0laRV82NEsgfAogCQlJOTE1X0dUVF9QQUdF X1NJWkVfMk07CiAKKwlta3dyaXRlX2RldmljZV9pbmZvKGk5MTUpLT5wcGd0dF9iaXRzID0gNjM7 CisKIAltb2NrX3VuY29yZV9pbml0KGk5MTUpOwogCWk5MTVfZ2VtX2luaXRfX21tKGk5MTUpOwog Ci0tIAoyLjE0LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eAo=