From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 01/15] drm/i915: really simple gemfs Date: Wed, 31 May 2017 19:51:56 +0100 Message-ID: <20170531185210.29189-2-matthew.auld@intel.com> References: <20170531185210.29189-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id B4DCD6E2D3 for ; Wed, 31 May 2017 18:52:13 +0000 (UTC) In-Reply-To: <20170531185210.29189-1-matthew.auld@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 Tm90IGEgZnVsbHkgYmxvd24gZ2VtZnMsIGp1c3Qgb3VyIHZlcnkgb3duIHRtcGZzIGtlcm5lbCBt b3VudC4gRG9pbmcgc28KbW92ZXMgdXMgYXdheSBmcm9tIHRoZSBzaG1lbWZzIHNobV9tbnQsIGFu ZCBnaXZlcyB1cyB0aGUgbXVjaCBuZWVkZWQKZmxleGliaWxpdHkgdG8gZG8gdGhpbmdzIGxpa2Ug c2V0IG91ciBvd24gbW91bnQgb3B0aW9ucywgbmFtZWx5IGh1Z2U9CndoaWNoIHNob3VsZCBhbGxv dyB1cyB0byBlbmFibGUgdGhlIHVzZSBvZiB0cmFuc3BhcmVudC1odWdlLXBhZ2VzIGZvcgpvdXIg c2htZW0gYmFja2VkIG9iamVjdHMuCgpTaWduZWQtb2ZmLWJ5OiBNYXR0aGV3IEF1bGQgPG1hdHRo ZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBs aW51eC5pbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAg fCAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgICAg IHwgIDEzICsrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAg ICAgIHwgIDMwICsrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuYyAgICAg ICAgICAgICAgICB8IDEwNSArKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIHwgIDEyICsrLQogNSBmaWxlcyBjaGFu Z2VkLCAxNTkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0 NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbWZzLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9NYWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCmlu ZGV4IDE2ZGNjZjU1MDQxMi4uMWE3MGFmN2Q1MWVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9NYWtlZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAt NDYsNiArNDYsNyBAQCBpOTE1LXkgKz0gaTkxNV9jbWRfcGFyc2VyLm8gXAogCSAgaTkxNV9nZW1f dGlsaW5nLm8gXAogCSAgaTkxNV9nZW1fdGltZWxpbmUubyBcCiAJICBpOTE1X2dlbV91c2VycHRy Lm8gXAorCSAgaTkxNV9nZW1mcy5vIFwKIAkgIGk5MTVfdHJhY2VfcG9pbnRzLm8gXAogCSAgaTkx NV92bWEubyBcCiAJICBpbnRlbF9icmVhZGNydW1icy5vIFwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CmluZGV4IGQyYTU3NDkzYWMyZS4uY2EzMTk2ZTI1NjZmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKQEAgLTIyMjcsNiArMjIyNyw5IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlIHsKIAlERUNM QVJFX0hBU0hUQUJMRShtbV9zdHJ1Y3RzLCA3KTsKIAlzdHJ1Y3QgbXV0ZXggbW1fbG9jazsKIAor CS8qIE91ciB0bXBmcyBpbnN0YW5jZSB1c2VkIGZvciBzaG1lbSBiYWNrZWQgb2JqZWN0cyAqLwor CXN0cnVjdCB2ZnNtb3VudCAqZ2VtZnNfbW50OworCiAJLyogVGhlIGh3IHdhbnRzIHRvIGhhdmUg YSBzdGFibGUgY29udGV4dCBpZGVudGlmaWVyIGZvciB0aGUgbGlmZXRpbWUKIAkgKiBvZiB0aGUg Y29udGV4dCAoZm9yIE9BLCBQQVNJRCwgZmF1bHRzLCBldGMpLiBUaGlzIGlzIGxpbWl0ZWQKIAkg KiBpbiBleGVjbGlzdHMgdG8gMjEgYml0cy4KQEAgLTQxNjksNCArNDE3MiwxNCBAQCBzdGF0aWMg aW5saW5lIGJvb2wgaTkxNV9nZW1fb2JqZWN0X2lzX2NvaGVyZW50KHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopCiAJCUhBU19MTEModG9faTkxNShvYmotPmJhc2UuZGV2KSkpOwogfQog CisvKiBpOTE1X2dlbWZzLmMgKi8KK3N0cnVjdCB2ZnNtb3VudCAqaTkxNV9nZW1mc19jcmVhdGUo dm9pZCk7CisKK3ZvaWQgaTkxNV9nZW1mc19kZXN0cm95KHN0cnVjdCB2ZnNtb3VudCAqZ2VtZnNf bW50KTsKKworc3RydWN0IGZpbGUgKmk5MTVfZ2VtZnNfZmlsZV9zZXR1cChzdHJ1Y3QgdmZzbW91 bnQgKmdlbWZzX21udCwKKwkJCQkgICBjb25zdCBjaGFyICpuYW1lLCBzaXplX3Qgc2l6ZSk7CisK K2ludCBpOTE1X2dlbWZzX3VubGluayhzdHJ1Y3QgZmlsZSAqZmlscCk7CisKICNlbmRpZgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggN2FiNDdhODQ2NzFmLi4zMGY5YWY1OTA5NjkgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNDI0NSw2ICs0MjQ1LDI0IEBAIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdF9vcHMgaTkxNV9nZW1fb2JqZWN0X29wcyA9IHsKIAku cHdyaXRlID0gaTkxNV9nZW1fb2JqZWN0X3B3cml0ZV9ndHQsCiB9OwogCitzdGF0aWMgaW50IGk5 MTVfZHJtX2dlbV9vYmplY3RfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSAgICBz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwKKwkJCQkgICAgc2l6ZV90IHNpemUpCit7CisJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSB0b19pOTE1KGRldik7CisJc3RydWN0IGZpbGUg KmZpbHA7CisKKwlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoZGV2LCBvYmosIHNpemUpOwor CisJZmlscCA9IGk5MTVfZ2VtZnNfZmlsZV9zZXR1cChpOTE1LT5nZW1mc19tbnQsICJpOTE1IG1t IG9iamVjdCIsIHNpemUpOworCWlmIChJU19FUlIoZmlscCkpCisJCXJldHVybiBQVFJfRVJSKGZp bHApOworCisJb2JqLT5maWxwID0gZmlscDsKKworCXJldHVybiAwOworfQorCiBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqCiBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgdTY0IHNpemUpCiB7CkBAIC00MjY4LDcgKzQyODYsNyBAQCBp OTE1X2dlbV9vYmplY3RfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwg dTY0IHNpemUpCiAJaWYgKG9iaiA9PSBOVUxMKQogCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsK IAotCXJldCA9IGRybV9nZW1fb2JqZWN0X2luaXQoJmRldl9wcml2LT5kcm0sICZvYmotPmJhc2Us IHNpemUpOworCXJldCA9IGk5MTVfZHJtX2dlbV9vYmplY3RfaW5pdCgmZGV2X3ByaXYtPmRybSwg Jm9iai0+YmFzZSwgc2l6ZSk7CiAJaWYgKHJldCkKIAkJZ290byBmYWlsOwogCkBAIC00MzgzLDYg KzQ0MDEsOSBAQCBzdGF0aWMgdm9pZCBfX2k5MTVfZ2VtX2ZyZWVfb2JqZWN0cyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCWRybV9wcmltZV9nZW1fZGVzdHJveSgmb2JqLT5iYXNl LCBOVUxMKTsKIAogCQlyZXNlcnZhdGlvbl9vYmplY3RfZmluaSgmb2JqLT5fX2J1aWx0aW5fcmVz dik7CisKKwkJaWYgKG9iai0+YmFzZS5maWxwKQorCQkJaTkxNV9nZW1mc191bmxpbmsob2JqLT5i YXNlLmZpbHApOwogCQlkcm1fZ2VtX29iamVjdF9yZWxlYXNlKCZvYmotPmJhc2UpOwogCQlpOTE1 X2dlbV9pbmZvX3JlbW92ZV9vYmooaTkxNSwgb2JqLT5iYXNlLnNpemUpOwogCkBAIC00ODQzLDYg KzQ4NjQsMTAgQEAgaTkxNV9nZW1fbG9hZF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIHsKIAlpbnQgZXJyID0gLUVOT01FTTsKIAorCWRldl9wcml2LT5nZW1mc19tbnQg PSBpOTE1X2dlbWZzX2NyZWF0ZSgpOworCWlmIChJU19FUlIoZGV2X3ByaXYtPmdlbWZzX21udCkp CisJCXJldHVybiBQVFJfRVJSKGRldl9wcml2LT5nZW1mc19tbnQpOworCiAJZGV2X3ByaXYtPm9i amVjdHMgPSBLTUVNX0NBQ0hFKGRybV9pOTE1X2dlbV9vYmplY3QsIFNMQUJfSFdDQUNIRV9BTElH Tik7CiAJaWYgKCFkZXZfcHJpdi0+b2JqZWN0cykKIAkJZ290byBlcnJfb3V0OwpAQCAtNDkwOCw2 ICs0OTMzLDcgQEAgaTkxNV9nZW1fbG9hZF9pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIGVycl9vYmplY3RzOgogCWttZW1fY2FjaGVfZGVzdHJveShkZXZfcHJpdi0+b2Jq ZWN0cyk7CiBlcnJfb3V0OgorCWk5MTVfZ2VtZnNfZGVzdHJveShkZXZfcHJpdi0+Z2VtZnNfbW50 KTsKIAlyZXR1cm4gZXJyOwogfQogCkBAIC00OTMwLDYgKzQ5NTYsOCBAQCB2b2lkIGk5MTVfZ2Vt X2xvYWRfY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAkvKiBB bmQgZW5zdXJlIHRoYXQgb3VyIERFU1RST1lfQllfUkNVIHNsYWJzIGFyZSB0cnVseSBkZXN0cm95 ZWQgKi8KIAlyY3VfYmFycmllcigpOworCisJaTkxNV9nZW1mc19kZXN0cm95KGRldl9wcml2LT5n ZW1mc19tbnQpOwogfQogCiBpbnQgaTkxNV9nZW1fZnJlZXplKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt ZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmUxYjJhZjFkOTk0NgotLS0gL2Rldi9udWxsCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuYwpAQCAtMCwwICsxLDEwNSBAQAorLyoK KyAqIENvcHlyaWdodCDCqSAyMDE3IEludGVsIENvcnBvcmF0aW9uCisgKgorICogUGVybWlzc2lv biBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFueSBwZXJzb24gb2J0YWlu aW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2NpYXRlZCBkb2N1bWVudGF0 aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGluIHRoZSBTb2Z0d2FyZSB3 aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1pdGF0aW9uCisgKiB0aGUg cmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlzaCwgZGlzdHJpYnV0ZSwg c3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUgU29mdHdhcmUsIGFuZCB0 byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUgaXMgZnVybmlzaGVkIHRv IGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9uczoKKyAqCisgKiBUaGUg YWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9uIG5vdGljZSAoaW5jbHVk aW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1ZGVkIGluIGFsbCBjb3Bp ZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0d2FyZS4KKyAqCisgKiBU SEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBXQVJSQU5UWSBPRiBBTlkg S0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJVVCBOT1QgTElNSVRFRCBU TyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBGSVRORVNTIEZPUiBBIFBB UlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4gTk8gRVZFTlQgU0hBTEwK KyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJQUJMRSBGT1IgQU5ZIENM QUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQU4gQUNUSU9O IE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORworICogRlJPTSwgT1VUIE9G IE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhFIFVTRSBPUiBPVEhFUiBE RUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqLworCisjaW5jbHVkZSA8bGludXgv ZnMuaD4KKyNpbmNsdWRlIDxsaW51eC9maWxlLmg+CisjaW5jbHVkZSA8bGludXgvbW91bnQuaD4K Kworc3RhdGljIGNvbnN0IHN0cnVjdCBkZW50cnlfb3BlcmF0aW9ucyBhbm9uX29wcyA9IHsKKwku ZF9kbmFtZSA9IHNpbXBsZV9kbmFtZQorfTsKKworc3RydWN0IHZmc21vdW50ICppOTE1X2dlbWZz X2NyZWF0ZSh2b2lkKQoreworCXN0cnVjdCBmaWxlX3N5c3RlbV90eXBlICp0eXBlOworCXN0cnVj dCB2ZnNtb3VudCAqZ2VtZnNfbW50OworCisJdHlwZSA9IGdldF9mc190eXBlKCJ0bXBmcyIpOwor CWlmICghdHlwZSkKKwkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CisKKwlnZW1mc19tbnQgPSBr ZXJuX21vdW50KHR5cGUpOworCisJcmV0dXJuIGdlbWZzX21udDsKK30KKwordm9pZCBpOTE1X2dl bWZzX2Rlc3Ryb3koc3RydWN0IHZmc21vdW50ICpnZW1mc19tbnQpCit7CisJa2Vybl91bm1vdW50 KGdlbWZzX21udCk7Cit9CisKK3N0cnVjdCBmaWxlICppOTE1X2dlbWZzX2ZpbGVfc2V0dXAoc3Ry dWN0IHZmc21vdW50ICpnZW1mc19tbnQsCisJCQkJICAgY29uc3QgY2hhciAqbmFtZSwgc2l6ZV90 IHNpemUpCit7CisJc3RydWN0IHN1cGVyX2Jsb2NrICpzYiA9IGdlbWZzX21udC0+bW50X3NiOwor CXN0cnVjdCBpbm9kZSAqZGlyID0gZF9pbm9kZShzYi0+c19yb290KTsKKwlzdHJ1Y3QgaW5vZGUg Kmlub2RlOworCXN0cnVjdCBwYXRoIHBhdGg7CisJc3RydWN0IHFzdHIgdGhpczsKKwlzdHJ1Y3Qg ZmlsZSAqcmVzOworCWludCByZXQ7CisKKwlpZiAoc2l6ZSA8IDAgfHwgc2l6ZSA+IE1BWF9MRlNf RklMRVNJWkUpCisJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOworCisJdGhpcy5uYW1lID0gbmFt ZTsKKwl0aGlzLmxlbiA9IHN0cmxlbihuYW1lKTsKKwl0aGlzLmhhc2ggPSAwOworCisJcGF0aC5t bnQgPSBtbnRnZXQoZ2VtZnNfbW50KTsKKwlwYXRoLmRlbnRyeSA9IGRfYWxsb2NfcHNldWRvKHNi LCAmdGhpcyk7CisJaWYgKCFwYXRoLmRlbnRyeSkgeworCQlyZXMgPSBFUlJfUFRSKC1FTk9NRU0p OworCQlnb3RvIHB1dF9wYXRoOworCX0KKwlkX3NldF9kX29wKHBhdGguZGVudHJ5LCAmYW5vbl9v cHMpOworCisJcmV0ID0gZGlyLT5pX29wLT5jcmVhdGUoZGlyLCBwYXRoLmRlbnRyeSwgU19JRlJF RyB8IFNfSVJXWFVHTywgZmFsc2UpOworCWlmIChyZXQpIHsKKwkJcmVzID0gRVJSX1BUUihyZXQp OworCQlnb3RvIHB1dF9wYXRoOworCX0KKworCWlub2RlID0gZF9pbm9kZShwYXRoLmRlbnRyeSk7 CisJaW5vZGUtPmlfc2l6ZSA9IHNpemU7CisKKwlyZXMgPSBhbGxvY19maWxlKCZwYXRoLCBGTU9E RV9XUklURSB8IEZNT0RFX1JFQUQsIGlub2RlLT5pX2ZvcCk7CisJaWYgKElTX0VSUihyZXMpKQor CQlnb3RvIHVubGluazsKKworCXJldHVybiByZXM7CisKK3VubGluazoKKwlkaXItPmlfb3AtPnVu bGluayhkaXIsIHBhdGguZGVudHJ5KTsKK3B1dF9wYXRoOgorCXBhdGhfcHV0KCZwYXRoKTsKKwly ZXR1cm4gcmVzOworfQorCitpbnQgaTkxNV9nZW1mc191bmxpbmsoc3RydWN0IGZpbGUgKmZpbHAp Cit7CisJc3RydWN0IGlub2RlICpkaXIgPSBkX2lub2RlKGZpbHAtPmZfaW5vZGUtPmlfc2ItPnNf cm9vdCk7CisKKwlyZXR1cm4gZGlyLT5pX29wLT51bmxpbmsoZGlyLCBmaWxwLT5mX3BhdGguZGVu dHJ5KTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2Nr X2dlbV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9k ZXZpY2UuYwppbmRleCA2MjdlMmFhMDk3NjYuLjdmMDM4ZWExNWVmNSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYwpAQCAtODAsNiArODAs OCBAQCBzdGF0aWMgdm9pZCBtb2NrX2RldmljZV9yZWxlYXNlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAJa21lbV9jYWNoZV9kZXN0cm95KGk5MTUtPnZtYXMpOwogCWttZW1fY2FjaGVfZGVzdHJv eShpOTE1LT5vYmplY3RzKTsKIAorCWk5MTVfZ2VtZnNfZGVzdHJveShpOTE1LT5nZW1mc19tbnQp OworCiAJZHJtX2Rldl9maW5pKCZpOTE1LT5kcm0pOwogCXB1dF9kZXZpY2UoJmk5MTUtPmRybS5w ZGV2LT5kZXYpOwogfQpAQCAtMTY3LDkgKzE2OSwxNSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqbW9ja19nZW1fZGV2aWNlKHZvaWQpCiAKIAlpOTE1LT5ndC5hd2FrZSA9IHRydWU7CiAKKwlp OTE1LT5nZW1mc19tbnQgPSBpOTE1X2dlbWZzX2NyZWF0ZSgpOworCWlmIChJU19FUlIoaTkxNS0+ Z2VtZnNfbW50KSkgeworCQllcnIgPSBQVFJfRVJSKGk5MTUtPmdlbWZzX21udCk7CisJCWdvdG8g ZXJyX3dxOworCX0KKwogCWk5MTUtPm9iamVjdHMgPSBLTUVNX0NBQ0hFKG1vY2tfb2JqZWN0LCBT TEFCX0hXQ0FDSEVfQUxJR04pOwogCWlmICghaTkxNS0+b2JqZWN0cykKLQkJZ290byBlcnJfd3E7 CisJCWdvdG8gZXJyX2dlbWZzOwogCiAJaTkxNS0+dm1hcyA9IEtNRU1fQ0FDSEUoaTkxNV92bWEs IFNMQUJfSFdDQUNIRV9BTElHTik7CiAJaWYgKCFpOTE1LT52bWFzKQpAQCAtMjI3LDYgKzIzNSw4 IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAlrbWVt X2NhY2hlX2Rlc3Ryb3koaTkxNS0+dm1hcyk7CiBlcnJfb2JqZWN0czoKIAlrbWVtX2NhY2hlX2Rl c3Ryb3koaTkxNS0+b2JqZWN0cyk7CitlcnJfZ2VtZnM6CisJaTkxNV9nZW1mc19kZXN0cm95KGk5 MTUtPmdlbWZzX21udCk7CiBlcnJfd3E6CiAJZGVzdHJveV93b3JrcXVldWUoaTkxNS0+d3EpOwog cHV0X2RldmljZToKLS0gCjIuOS40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK