From mboxrd@z Thu Jan 1 00:00:00 1970 From: Bob Paauwe Subject: [PATCH] drm/i915: Make 48bit full ppgtt configuration generic (v3) Date: Mon, 10 Sep 2018 10:12:25 -0700 Message-ID: <20180910171225.30872-1-bob.j.paauwe@intel.com> References: <20180906200409.4069910-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 mga07.intel.com (mga07.intel.com [134.134.136.100]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0DF2789D61 for ; Mon, 10 Sep 2018 17:12:59 +0000 (UTC) In-Reply-To: <20180906200409.4069910-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: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org NDggYml0IHBwZ3R0IGRldmljZSBjb25maWd1cmF0aW9uIGlzIHJlYWxseSBqdXN0IGV4dGVuZGVk IGFkZHJlc3MKcmFuZ2UgZnVsbCBwcGd0dCBhbmQgbWF5IGFjdHVhbGx5IGJlIHNvbWV0aGluZyBv dGhlciB0aGFuIDQ4IGJpdHMuCgpDaGFuZ2UgVVNFU19GVUxMXzQ4QklUX1BQR1RUKCkgdG8gVVNF U19GVUxMXzRMVkxfUFBHVFQoKSB0byBiZXR0ZXIKZGVzY3JpYmUgdGhhdCBhIDQgbGV2ZWwgd2Fs ayB0YWJsZSBleHRlbmRlZCByYW5nZSBQUEdUVCBpcyBiZWluZwp1c2VkLiBBZGQgYSBuZXcgZGV2 aWNlIGluZm8gZmllbGQgdGhhdCBzcGVjaWZpZXMgdGhlIG51bWJlciBvZgpiaXRzIHRvIHByZXBh cmUgZm9yIGNhc2VzIHdoZXJlIHRoZSByYW5nZSBpcyBub3QgMzIgb3IgNDggYml0cy4KCnYyOiBr ZWVwIFVTRVNfRlVMTF9QUEdUVCgpIHVuY2hhbmdlZCAoQ2hyaXMpCnYzOiBTaW1wbGlmeSBjb25k aXRpb24gaW4gZ2VuOF9wcGd0dF9jcmVhdGUoKSAoQ2hyaXMpCiAgICBSZW1vdmUgdW5lY2Vzc2Fy eSBsaW5lIGNvbmludWF0aW9ucyAoQm9iKQogICAgUmVuYW1lIGZ1bmN0aW9ucy9kZWZpbmVzL2Nv bW1lbnRzIGZyb20gNDhiaXQgdG8gNGx2bCAoUm9kcmlnby9Cb2IpCgpTaWduZWQtb2ZmLWJ5OiBC b2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgpDQzogUm9kcmlnbyBWaXZpIDxyb2Ry aWdvLnZpdmlAaW50ZWwuY29tPgpDQzogTWljaGVsIFRoaWVycnkgPG1pY2hlbC50aGllcnJ5QGlu dGVsLmNvbT4KQ0M6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgoKQWRk aXRpb25hbCB3b3JrIHRvIHJlbmFtZSA0OGJpdCB0byA0IGxldmVsCgpTaWduZWQtb2ZmLWJ5OiBC b2IgUGFhdXdlIDxib2Iuai5wYWF1d2VAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC92Z3B1LmMgICAgICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5jICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2d0dC5jICAgICAgICAgICAgICB8IDI0ICsrKysrKysrKysrKy0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmggICAgICAgICAgICAg IHwgIDQgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wY2kuYyAgICAgICAgICAgICAg ICAgIHwgIDcgKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9wdmluZm8uaCAgICAg ICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jICAgICAg ICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5oICAg ICAgICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2Vf aW5mby5oICAgICAgICAgfCAgNCArKystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMu YyAgICAgICAgICAgICAgICAgfCAgOCArKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL2h1Z2VfcGFnZXMuYyAgICAgIHwgIDggKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyB8ICAyICsrCiAxMyBmaWxlcyBjaGFuZ2Vk LCAzOSBpbnNlcnRpb25zKCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9ndnQvdmdwdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L3ZncHUu YwppbmRleCBhNGU4ZTNjZjc0ZmQuLjUyYmViZDY3MTczYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3Z0L3ZncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvdmdw dS5jCkBAIC00NCw3ICs0NCw3IEBAIHZvaWQgcG9wdWxhdGVfcHZpbmZvX3BhZ2Uoc3RydWN0IGlu dGVsX3ZncHUgKnZncHUpCiAJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZfcmVnKGRpc3BsYXlfcmVh ZHkpKSA9IDA7CiAJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZfcmVnKHZndF9pZCkpID0gdmdwdS0+ aWQ7CiAKLQl2Z3B1X3ZyZWdfdCh2Z3B1LCB2Z3RpZl9yZWcodmd0X2NhcHMpKSA9IFZHVF9DQVBT X0ZVTExfNDhCSVRfUFBHVFQ7CisJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZfcmVnKHZndF9jYXBz KSkgPSBWR1RfQ0FQU19GVUxMXzRMVkxfUFBHVFQ7CiAJdmdwdV92cmVnX3QodmdwdSwgdmd0aWZf cmVnKHZndF9jYXBzKSkgfD0gVkdUX0NBUFNfSFdTUF9FTVVMQVRJT047CiAJdmdwdV92cmVnX3Qo dmdwdSwgdmd0aWZfcmVnKHZndF9jYXBzKSkgfD0gVkdUX0NBUFNfSFVHRV9HVFQ7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCmluZGV4IDVhNGRhNWI3MjNmZC4uYTM2NzY4NmZkNzM1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI1NjksNyArMjU2OSw3IEBAIGludGVsX2luZm8oY29uc3Qg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCiAjZGVmaW5lIFVTRVNfUFBHVFQo ZGV2X3ByaXYpCQkoaTkxNV9tb2RwYXJhbXMuZW5hYmxlX3BwZ3R0KQogI2RlZmluZSBVU0VTX0ZV TExfUFBHVFQoZGV2X3ByaXYpCShpOTE1X21vZHBhcmFtcy5lbmFibGVfcHBndHQgPj0gMikKLSNk ZWZpbmUgVVNFU19GVUxMXzQ4QklUX1BQR1RUKGRldl9wcml2KQkoaTkxNV9tb2RwYXJhbXMuZW5h YmxlX3BwZ3R0ID09IDMpCisjZGVmaW5lIFVTRVNfRlVMTF80TFZMX1BQR1RUKGRldl9wcml2KQko KGRldl9wcml2KS0+aW5mby5mdWxsX3BwZ3R0X2JpdHMgPiAzMikKICNkZWZpbmUgSEFTX1BBR0Vf U0laRVMoZGV2X3ByaXYsIHNpemVzKSAoeyBcCiAJR0VNX0JVR19PTigoc2l6ZXMpID09IDApOyBc CiAJKChzaXplcykgJiB+KGRldl9wcml2KS0+aW5mby5wYWdlX3NpemVzKSA9PSAwOyBcCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggZjE1YTAzOTc3MmRiLi4xYWRk MzM5Y2E2YmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRl eHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTI0 OSw3ICsyNDksNyBAQCBzdGF0aWMgdTMyIGRlZmF1bHRfZGVzY190ZW1wbGF0ZShjb25zdCBzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlkZXNjID0gR0VOOF9DVFhfVkFMSUQgfCBHRU44 X0NUWF9QUklWSUxFR0U7CiAKIAlhZGRyZXNzX21vZGUgPSBJTlRFTF9MRUdBQ1lfMzJCX0NPTlRF WFQ7Ci0JaWYgKHBwZ3R0ICYmIGk5MTVfdm1faXNfNDhiaXQoJnBwZ3R0LT52bSkpCisJaWYgKHBw Z3R0ICYmIGk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkKIAkJYWRkcmVzc19tb2RlID0gSU5U RUxfTEVHQUNZXzY0Ql9DT05URVhUOwogCWRlc2MgfD0gYWRkcmVzc19tb2RlIDw8IEdFTjhfQ1RY X0FERFJFU1NJTkdfTU9ERV9TSElGVDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYwpp bmRleCBlYjBlNDQ2ZDY0ODIuLmM2NmJiZjQwOTc5MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmMKQEAgLTEzNywxOCArMTM3LDE4IEBAIGludCBpbnRlbF9zYW5pdGl6ZV9lbmFibGVf cHBndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgICAgIAlpbnQg ZW5hYmxlX3BwZ3R0KQogewogCWJvb2wgaGFzX2Z1bGxfcHBndHQ7Ci0JYm9vbCBoYXNfZnVsbF80 OGJpdF9wcGd0dDsKKwlib29sIGhhc19mdWxsXzRsdmxfcHBndHQ7CiAKIAlpZiAoIWRldl9wcml2 LT5pbmZvLmhhc19hbGlhc2luZ19wcGd0dCkKIAkJcmV0dXJuIDA7CiAKIAloYXNfZnVsbF9wcGd0 dCA9IGRldl9wcml2LT5pbmZvLmhhc19mdWxsX3BwZ3R0OwotCWhhc19mdWxsXzQ4Yml0X3BwZ3R0 ID0gZGV2X3ByaXYtPmluZm8uaGFzX2Z1bGxfNDhiaXRfcHBndHQ7CisJaGFzX2Z1bGxfNGx2bF9w cGd0dCA9IFVTRVNfRlVMTF80TFZMX1BQR1RUKGRldl9wcml2KTsKIAogCWlmIChpbnRlbF92Z3B1 X2FjdGl2ZShkZXZfcHJpdikpIHsKIAkJLyogR1ZULWcgaGFzIG5vIHN1cHBvcnQgZm9yIDMyYml0 IHBwZ3R0ICovCiAJCWhhc19mdWxsX3BwZ3R0ID0gZmFsc2U7Ci0JCWhhc19mdWxsXzQ4Yml0X3Bw Z3R0ID0gaW50ZWxfdmdwdV9oYXNfZnVsbF80OGJpdF9wcGd0dChkZXZfcHJpdik7CisJCWhhc19m dWxsXzRsdmxfcHBndHQgPSBpbnRlbF92Z3B1X2hhc19mdWxsXzRsdmxfcHBndHQoZGV2X3ByaXYp OwogCX0KIAogCS8qCkBAIC0xNjQsNyArMTY0LDcgQEAgaW50IGludGVsX3Nhbml0aXplX2VuYWJs ZV9wcGd0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKGVuYWJsZV9w cGd0dCA9PSAyICYmIGhhc19mdWxsX3BwZ3R0KQogCQlyZXR1cm4gMjsKIAotCWlmIChlbmFibGVf cHBndHQgPT0gMyAmJiBoYXNfZnVsbF80OGJpdF9wcGd0dCkKKwlpZiAoZW5hYmxlX3BwZ3R0ID09 IDMgJiYgaGFzX2Z1bGxfNGx2bF9wcGd0dCkKIAkJcmV0dXJuIDM7CiAKIAkvKiBEaXNhYmxlIHBw Z3R0IG9uIFNOQiBpZiBWVC1kIGlzIG9uLiAqLwpAQCAtMTczLDcgKzE3Myw3IEBAIGludCBpbnRl bF9zYW5pdGl6ZV9lbmFibGVfcHBndHQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQlyZXR1cm4gMDsKIAl9CiAKLQlpZiAoaGFzX2Z1bGxfNDhiaXRfcHBndHQpCisJaWYgKGhh c19mdWxsXzRsdmxfcHBndHQpCiAJCXJldHVybiAzOwogCiAJaWYgKGhhc19mdWxsX3BwZ3R0KQpA QCAtNjI4LDE0ICs2MjgsMTQgQEAgc2V0dXBfc2NyYXRjaF9wYWdlKHN0cnVjdCBpOTE1X2FkZHJl c3Nfc3BhY2UgKnZtLCBnZnBfdCBnZnApCiAJICogcGFnZS10YWJsZSBvcGVyYXRpbmcgaW4gNjRL IG1vZGUgbXVzdCBwb2ludCB0byBhIHByb3Blcmx5IGFsaWduZWQgNjRLCiAJICogcmVnaW9uLCBp bmNsdWRpbmcgYW55IFBURXMgd2hpY2ggaGFwcGVuIHRvIHBvaW50IHRvIHNjcmF0Y2guCiAJICoK LQkgKiBUaGlzIGlzIG9ubHkgcmVsZXZhbnQgZm9yIHRoZSA0OGIgUFBHVFQgd2hlcmUgd2Ugc3Vw cG9ydAorCSAqIFRoaXMgaXMgb25seSByZWxldmFudCBmb3IgdGhlIDQtbGV2ZWwgUFBHVFQgd2hl cmUgd2Ugc3VwcG9ydAogCSAqIGh1Z2UtZ3R0LXBhZ2VzLCBzZWUgYWxzbyBpOTE1X3ZtYV9pbnNl cnQoKS4KIAkgKgogCSAqIFRPRE86IHdlIHNob3VsZCByZWFsbHkgY29uc2lkZXIgd3JpdGUtcHJv dGVjdGluZyB0aGUgc2NyYXRjaC1wYWdlIGFuZAogCSAqIHNoYXJpbmcgYmV0d2VlbiBwcGd0dAog CSAqLwogCXNpemUgPSBJOTE1X0dUVF9QQUdFX1NJWkVfNEs7Ci0JaWYgKGk5MTVfdm1faXNfNDhi aXQodm0pICYmCisJaWYgKGk5MTVfdm1faXNfNGx2bCh2bSkgJiYKIAkgICAgSEFTX1BBR0VfU0la RVModm0tPmk5MTUsIEk5MTVfR1RUX1BBR0VfU0laRV82NEspKSB7CiAJCXNpemUgPSBJOTE1X0dU VF9QQUdFX1NJWkVfNjRLOwogCQlnZnAgfD0gX19HRlBfTk9XQVJOOwpAQCAtNzgwLDcgKzc4MCw3 IEBAIHN0YXRpYyB2b2lkIF9fcGRwX2Zpbmkoc3RydWN0IGk5MTVfcGFnZV9kaXJlY3RvcnlfcG9p bnRlciAqcGRwKQogCiBzdGF0aWMgaW5saW5lIGJvb2wgdXNlXzRsdmwoY29uc3Qgc3RydWN0IGk5 MTVfYWRkcmVzc19zcGFjZSAqdm0pCiB7Ci0JcmV0dXJuIGk5MTVfdm1faXNfNDhiaXQodm0pOwor CXJldHVybiBpOTE1X3ZtX2lzXzRsdmwodm0pOwogfQogCiBzdGF0aWMgc3RydWN0IGk5MTVfcGFn ZV9kaXJlY3RvcnlfcG9pbnRlciAqCkBAIC0xNjQ3LDkgKzE2NDcsOSBAQCBzdGF0aWMgc3RydWN0 IGk5MTVfaHdfcHBndHQgKmdlbjhfcHBndHRfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KQogCXBwZ3R0LT52bS5pOTE1ID0gaTkxNTsKIAlwcGd0dC0+dm0uZG1hID0gJmk5MTUt PmRybS5wZGV2LT5kZXY7CiAKLQlwcGd0dC0+dm0udG90YWwgPSBVU0VTX0ZVTExfNDhCSVRfUFBH VFQoaTkxNSkgPwotCQkxVUxMIDw8IDQ4IDoKLQkJMVVMTCA8PCAzMjsKKwlwcGd0dC0+dm0udG90 YWwgPSBCSVRfVUxMKGk5MTUtPmluZm8uZnVsbF9wcGd0dF9iaXRzKTsKKwlpZiAoaTkxNV9tb2Rw YXJhbXMuZW5hYmxlX3BwZ3R0IDwgMykKKwkJcHBndHQtPnZtLnRvdGFsID0gbWluKHBwZ3R0LT52 bS50b3RhbCwgU1pfNEcpOwogCiAJLyoKIAkgKiBGcm9tIGJkdywgdGhlcmUgaXMgc3VwcG9ydCBm b3IgcmVhZC1vbmx5IHBhZ2VzIGluIHRoZSBQUEdUVC4KQEAgLTE3ODgsNyArMTc4OCw3IEBAIHN0 YXRpYyB2b2lkIGdlbjhfcHBndHRfZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAllbnVtIGludGVsX2VuZ2luZV9pZCBpZDsKIAogCWZvcl9lYWNoX2VuZ2luZShlbmdp bmUsIGRldl9wcml2LCBpZCkgewotCQl1MzIgZm91cl9sZXZlbCA9IFVTRVNfRlVMTF80OEJJVF9Q UEdUVChkZXZfcHJpdikgPworCQl1MzIgZm91cl9sZXZlbCA9IFVTRVNfRlVMTF80TFZMX1BQR1RU KGRldl9wcml2KSA/CiAJCQkJIEdFTjhfR0ZYX1BQR1RUXzQ4QiA6IDA7CiAJCUk5MTVfV1JJVEUo UklOR19NT0RFX0dFTjcoZW5naW5lKSwKIAkJCSAgIF9NQVNLRURfQklUX0VOQUJMRShHRlhfUFBH VFRfRU5BQkxFIHwgZm91cl9sZXZlbCkpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaApp bmRleCA3ZTJhZjVmNGYzOWIuLmIyYTcwOWEyN2NiOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZ3R0LmgKQEAgLTM2Myw3ICszNjMsNyBAQCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlIHsK ICNkZWZpbmUgaTkxNV9pc19nZ3R0KHZtKSAoKHZtKS0+aXNfZ2d0dCkKIAogc3RhdGljIGlubGlu ZSBib29sCi1pOTE1X3ZtX2lzXzQ4Yml0KGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtKQoraTkxNV92bV9pc180bHZsKGNvbnN0IHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZt KQogewogCXJldHVybiAodm0tPnRvdGFsIC0gMSkgPj4gMzI7CiB9CkBAIC01MDYsNyArNTA2LDcg QEAgc3RhdGljIGlubGluZSB1MzIgZ2VuNl9wZGVfaW5kZXgodTMyIGFkZHIpCiBzdGF0aWMgaW5s aW5lIHVuc2lnbmVkIGludAogaTkxNV9wZHBlc19wZXJfcGRwKGNvbnN0IHN0cnVjdCBpOTE1X2Fk ZHJlc3Nfc3BhY2UgKnZtKQogewotCWlmIChpOTE1X3ZtX2lzXzQ4Yml0KHZtKSkKKwlpZiAoaTkx NV92bV9pc180bHZsKHZtKSkKIAkJcmV0dXJuIEdFTjhfUE1MNEVTX1BFUl9QTUw0OwogCiAJcmV0 dXJuIEdFTjhfM0xWTF9QRFBFUzsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BjaS5jCmluZGV4IGQ2ZjdiOWZl MWQyNi4uZTA2MTk5NTJmZjUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3BjaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcGNpLmMKQEAgLTI5OSw2ICsy OTksNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3NhbmR5 YnJpZGdlX21fZ3QyX2luZm8gPSB7CiAJLmhhc19yYzZwID0gMSwgXAogCS5oYXNfYWxpYXNpbmdf cHBndHQgPSAxLCBcCiAJLmhhc19mdWxsX3BwZ3R0ID0gMSwgXAorCS5mdWxsX3BwZ3R0X2JpdHMg PSAzMiwgXAogCUdFTl9ERUZBVUxUX1BJUEVPRkZTRVRTLCBcCiAJR0VOX0RFRkFVTFRfUEFHRV9T SVpFUywgXAogCUlWQl9DVVJTT1JfT0ZGU0VUUwpAQCAtMzUzLDYgKzM1NCw3IEBAIHN0YXRpYyBj b25zdCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gaW50ZWxfdmFsbGV5dmlld19pbmZvID0gewog CS5oYXNfaG90cGx1ZyA9IDEsCiAJLmhhc19hbGlhc2luZ19wcGd0dCA9IDEsCiAJLmhhc19mdWxs X3BwZ3R0ID0gMSwKKwkuZnVsbF9wcGd0dF9iaXRzID0gMzIsCiAJLmhhc19zbm9vcCA9IHRydWUs CiAJLmhhc19jb2hlcmVudF9nZ3R0ID0gZmFsc2UsCiAJLnJpbmdfbWFzayA9IFJFTkRFUl9SSU5H IHwgQlNEX1JJTkcgfCBCTFRfUklORywKQEAgLTM5OSw3ICs0MDEsNyBAQCBzdGF0aWMgY29uc3Qg c3RydWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX2hhc3dlbGxfZ3QzX2luZm8gPSB7CiAJLnBh Z2Vfc2l6ZXMgPSBJOTE1X0dUVF9QQUdFX1NJWkVfNEsgfCBcCiAJCSAgICAgIEk5MTVfR1RUX1BB R0VfU0laRV8yTSwgXAogCS5oYXNfbG9naWNhbF9yaW5nX2NvbnRleHRzID0gMSwgXAotCS5oYXNf ZnVsbF80OGJpdF9wcGd0dCA9IDEsIFwKKwkuZnVsbF9wcGd0dF9iaXRzID0gNDgsIFwKIAkuaGFz XzY0Yml0X3JlbG9jID0gMSwgXAogCS5oYXNfcmVzZXRfZW5naW5lID0gMQogCkBAIC00NDUsNiAr NDQ3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBpbnRlbF9kZXZpY2VfaW5mbyBpbnRlbF9jaGVy cnl2aWV3X2luZm8gPSB7CiAJLmhhc19nbWNoX2Rpc3BsYXkgPSAxLAogCS5oYXNfYWxpYXNpbmdf cHBndHQgPSAxLAogCS5oYXNfZnVsbF9wcGd0dCA9IDEsCisJLmZ1bGxfcHBndHRfYml0cyA9IDMy LAogCS5oYXNfcmVzZXRfZW5naW5lID0gMSwKIAkuaGFzX3Nub29wID0gdHJ1ZSwKIAkuaGFzX2Nv aGVyZW50X2dndHQgPSBmYWxzZSwKQEAgLTUyMCw3ICs1MjMsNyBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGludGVsX2RldmljZV9pbmZvIGludGVsX3NreWxha2VfZ3Q0X2luZm8gPSB7CiAJLmhhc19n dWMgPSAxLCBcCiAJLmhhc19hbGlhc2luZ19wcGd0dCA9IDEsIFwKIAkuaGFzX2Z1bGxfcHBndHQg PSAxLCBcCi0JLmhhc19mdWxsXzQ4Yml0X3BwZ3R0ID0gMSwgXAorCS5mdWxsX3BwZ3R0X2JpdHMg PSA0OCwgXAogCS5oYXNfcmVzZXRfZW5naW5lID0gMSwgXAogCS5oYXNfc25vb3AgPSB0cnVlLCBc CiAJLmhhc19jb2hlcmVudF9nZ3R0ID0gZmFsc2UsIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcHZpbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3B2aW5m by5oCmluZGV4IGVlYWEzZDUwNmQ5NS4uNmQyZjlmMDZhYjU3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3B2aW5mby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcHZpbmZvLmgKQEAgLTUyLDcgKzUyLDcgQEAgZW51bSB2Z3RfZzJ2X3R5cGUgewogLyoKICAq IFZHVCBjYXBhYmlsaXRpZXMgdHlwZQogICovCi0jZGVmaW5lIFZHVF9DQVBTX0ZVTExfNDhCSVRf UFBHVFQJQklUKDIpCisjZGVmaW5lIFZHVF9DQVBTX0ZVTExfNExWTF9QUEdUVAlCSVQoMikKICNk ZWZpbmUgVkdUX0NBUFNfSFdTUF9FTVVMQVRJT04JCUJJVCgzKQogI2RlZmluZSBWR1RfQ0FQU19I VUdFX0dUVAkJQklUKDQpCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dmdwdS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmMKaW5kZXggODY5Y2Y0YTNi NmRlLi4xODBmMmRjYTEyMjMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf dmdwdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdmdwdS5jCkBAIC04MSw5ICs4 MSw5IEBAIHZvaWQgaTkxNV9jaGVja192Z3B1KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIAlEUk1fSU5GTygiVmlydHVhbCBHUFUgZm9yIEludGVsIEdWVC1nIGRldGVjdGVkLlxu Iik7CiB9CiAKLWJvb2wgaW50ZWxfdmdwdV9oYXNfZnVsbF80OGJpdF9wcGd0dChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCitib29sIGludGVsX3ZncHVfaGFzX2Z1bGxfNGx2bF9w cGd0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7Ci0JcmV0dXJuIGRldl9w cml2LT52Z3B1LmNhcHMgJiBWR1RfQ0FQU19GVUxMXzQ4QklUX1BQR1RUOworCXJldHVybiBkZXZf cHJpdi0+dmdwdS5jYXBzICYgVkdUX0NBUFNfRlVMTF80TFZMX1BQR1RUOwogfQogCiBzdHJ1Y3Qg X2JhbGxvb25faW5mb18gewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 Z3B1LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3ZncHUuaAppbmRleCA1NTFhY2MzOTAw NDYuLmI4MzBhN2I1MDY0ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92 Z3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV92Z3B1LmgKQEAgLTI4LDcgKzI4 LDcgQEAKIAogdm9pZCBpOTE1X2NoZWNrX3ZncHUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2KTsKIAotYm9vbCBpbnRlbF92Z3B1X2hhc19mdWxsXzQ4Yml0X3BwZ3R0KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7Citib29sIGludGVsX3ZncHVfaGFzX2Z1bGxfNGx2 bF9wcGd0dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCiBzdGF0aWMgaW5s aW5lIGJvb2wKIGludGVsX3ZncHVfaGFzX2h3c3BfZW11bGF0aW9uKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RldmljZV9pbmZvLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5o CmluZGV4IDZlZWNkNjQ3MzRkNS4uNTBhY2IwNDYzZTlhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2RldmljZV9pbmZvLmgKQEAgLTg4LDcgKzg4LDYgQEAgZW51bSBpbnRlbF9wbGF0Zm9y bSB7CiAJZnVuYyhoYXNfZmJjKTsgXAogCWZ1bmMoaGFzX2ZwZ2FfZGJnKTsgXAogCWZ1bmMoaGFz X2Z1bGxfcHBndHQpOyBcCi0JZnVuYyhoYXNfZnVsbF80OGJpdF9wcGd0dCk7IFwKIAlmdW5jKGhh c19nbWNoX2Rpc3BsYXkpOyBcCiAJZnVuYyhoYXNfZ3VjKTsgXAogCWZ1bmMoaGFzX2d1Y19jdCk7 IFwKQEAgLTE4Miw2ICsxODEsOSBAQCBzdHJ1Y3QgaW50ZWxfZGV2aWNlX2luZm8gewogCQl1MTYg ZGVnYW1tYV9sdXRfc2l6ZTsKIAkJdTE2IGdhbW1hX2x1dF9zaXplOwogCX0gY29sb3I7CisKKwkv KiBQUEdUVCBiaXQgc2l6ZSAqLworCWludCBmdWxsX3BwZ3R0X2JpdHM7CiB9OwogCiBzdHJ1Y3Qg aW50ZWxfZHJpdmVyX2NhcHMgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBkZWY0Njdj MjQ1MWIuLjUyYTg2YThjMDZiNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTQyOSw3 ICs0MjksNyBAQCBzdGF0aWMgdTY0IGV4ZWNsaXN0c191cGRhdGVfY29udGV4dChzdHJ1Y3QgaTkx NV9yZXF1ZXN0ICpycSkKIAkgKiBQTUw0IGlzIGFsbG9jYXRlZCBkdXJpbmcgcHBndHQgaW5pdCwg c28gdGhpcyBpcyBub3QgbmVlZGVkCiAJICogaW4gNDgtYml0IG1vZGUuCiAJICovCi0JaWYgKHBw Z3R0ICYmICFpOTE1X3ZtX2lzXzQ4Yml0KCZwcGd0dC0+dm0pKQorCWlmIChwcGd0dCAmJiAhaTkx NV92bV9pc180bHZsKCZwcGd0dC0+dm0pKQogCQlleGVjbGlzdHNfdXBkYXRlX2NvbnRleHRfcGRw cyhwcGd0dCwgcmVnX3N0YXRlKTsKIAogCXJldHVybiBjZS0+bHJjX2Rlc2M7CkBAIC0yMDE5LDcg KzIwMTksNyBAQCBzdGF0aWMgaW50IGdlbjhfZW1pdF9iYl9zdGFydChzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICpycSwKIAkgKiBub3QgbmVlZGVkIGluIDQ4LWJpdC4qLwogCWlmIChycS0+Z2VtX2NvbnRl eHQtPnBwZ3R0ICYmCiAJICAgIChpbnRlbF9lbmdpbmVfZmxhZyhycS0+ZW5naW5lKSAmIHJxLT5n ZW1fY29udGV4dC0+cHBndHQtPnBkX2RpcnR5X3JpbmdzKSAmJgotCSAgICAhaTkxNV92bV9pc180 OGJpdCgmcnEtPmdlbV9jb250ZXh0LT5wcGd0dC0+dm0pICYmCisJICAgICFpOTE1X3ZtX2lzXzRs dmwoJnJxLT5nZW1fY29udGV4dC0+cHBndHQtPnZtKSAmJgogCSAgICAhaW50ZWxfdmdwdV9hY3Rp dmUocnEtPmk5MTUpKSB7CiAJCXJldCA9IGludGVsX2xvZ2ljYWxfcmluZ19lbWl0X3BkcHMocnEp OwogCQlpZiAocmV0KQpAQCAtMjY4OCw4ICsyNjg4LDggQEAgc3RhdGljIHZvaWQgZXhlY2xpc3Rz X2luaXRfcmVnX3N0YXRlKHUzMiAqcmVncywKIAlDVFhfUkVHKHJlZ3MsIENUWF9QRFAwX1VEVywg R0VOOF9SSU5HX1BEUF9VRFcoZW5naW5lLCAwKSwgMCk7CiAJQ1RYX1JFRyhyZWdzLCBDVFhfUERQ MF9MRFcsIEdFTjhfUklOR19QRFBfTERXKGVuZ2luZSwgMCksIDApOwogCi0JaWYgKHBwZ3R0ICYm IGk5MTVfdm1faXNfNDhiaXQoJnBwZ3R0LT52bSkpIHsKLQkJLyogNjRiIFBQR1RUICg0OGJpdCBj YW5vbmljYWwpCisJaWYgKHBwZ3R0ICYmIGk5MTVfdm1faXNfNGx2bCgmcHBndHQtPnZtKSkgewor CQkvKiA+IDMyYiBQUEdUVAogCQkgKiBQRFAwX0RFU0NSSVBUT1IgY29udGFpbnMgdGhlIGJhc2Ug YWRkcmVzcyB0byBQTUw0IGFuZAogCQkgKiBvdGhlciBQRFAgRGVzY3JpcHRvcnMgYXJlIGlnbm9y ZWQuCiAJCSAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2h1 Z2VfcGFnZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMK aW5kZXggZTI3MjEyNzc4M2ZlLi5iMDY1NjMwYmY2NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9odWdlX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAtMTQzNCw4ICsxNDM0LDggQEAgc3RhdGljIGlu dCBpZ3RfcHBndHRfcGluX3VwZGF0ZSh2b2lkICphcmcpCiAJICogaHVnZS1ndHQtcGFnZXMuCiAJ ICovCiAKLQlpZiAoIVVTRVNfRlVMTF80OEJJVF9QUEdUVChkZXZfcHJpdikpIHsKLQkJcHJfaW5m bygiNDhiIFBQR1RUIG5vdCBzdXBwb3J0ZWQsIHNraXBwaW5nXG4iKTsKKwlpZiAoIVVTRVNfRlVM TF80TFZMX1BQR1RUKGRldl9wcml2KSkgeworCQlwcl9pbmZvKCJFeHRlbmRlZCByYW5nZSBQUEdU VCBub3Qgc3VwcG9ydGVkLCBza2lwcGluZ1xuIik7CiAJCXJldHVybiAwOwogCX0KIApAQCAtMTcw OCw4ICsxNzA4LDggQEAgaW50IGk5MTVfZ2VtX2h1Z2VfcGFnZV9tb2NrX3NlbGZ0ZXN0cyh2b2lk KQogCQlnb3RvIG91dF91bmxvY2s7CiAJfQogCi0JaWYgKCFpOTE1X3ZtX2lzXzQ4Yml0KCZwcGd0 dC0+dm0pKSB7Ci0JCXByX2VycigiZmFpbGVkIHRvIGNyZWF0ZSA0OGIgUFBHVFRcbiIpOworCWlm ICghaTkxNV92bV9pc180bHZsKCZwcGd0dC0+dm0pKSB7CisJCXByX2VycigiZmFpbGVkIHRvIGNy ZWF0ZSBleHRlbmRlZCBQUEdUVFxuIik7CiAJCWVyciA9IC1FSU5WQUw7CiAJCWdvdG8gb3V0X2Ns b3NlOwogCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2Nr X2dlbV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9k ZXZpY2UuYwppbmRleCA0M2VkOGIyOGFlYWEuLjMzZDcyMjVlZGJiYiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYwpAQCAtMTgxLDYgKzE4 MSw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAkJ STkxNV9HVFRfUEFHRV9TSVpFXzY0SyB8CiAJCUk5MTVfR1RUX1BBR0VfU0laRV8yTTsKIAorCW1r d3JpdGVfZGV2aWNlX2luZm8oaTkxNSktPmZ1bGxfcHBndHRfYml0cyA9IDQ4OworCiAJbW9ja191 bmNvcmVfaW5pdChpOTE1KTsKIAlpOTE1X2dlbV9pbml0X19tbShpOTE1KTsKIAotLSAKMi4xNC40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK