From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH 02/21] drm/i915: introduce simple gemfs Date: Mon, 3 Jul 2017 15:14:44 +0100 Message-ID: <20170703141503.12609-3-matthew.auld@intel.com> References: <20170703141503.12609-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 501126E269 for ; Mon, 3 Jul 2017 14:15:09 +0000 (UTC) In-Reply-To: <20170703141503.12609-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 Cc: Dave Hansen , Hugh Dickins , linux-mm@kvack.org, "Kirill A . Shutemov" List-Id: intel-gfx@lists.freedesktop.org Tm90IGEgZnVsbHkgYmxvd24gZ2VtZnMsIGp1c3Qgb3VyIHZlcnkgb3duIHRtcGZzIGtlcm5lbCBt b3VudC4gRG9pbmcgc28KbW92ZXMgdXMgYXdheSBmcm9tIHRoZSBzaG1lbWZzIHNobV9tbnQsIGFu ZCBnaXZlcyB1cyB0aGUgbXVjaCBuZWVkZWQKZmxleGliaWxpdHkgdG8gZG8gdGhpbmdzIGxpa2Ug c2V0IG91ciBvd24gbW91bnQgb3B0aW9ucywgbmFtZWx5IGh1Z2U9CndoaWNoIHNob3VsZCBhbGxv dyB1cyB0byBlbmFibGUgdGhlIHVzZSBvZiB0cmFuc3BhcmVudC1odWdlLXBhZ2VzIGZvcgpvdXIg c2htZW0gYmFja2VkIG9iamVjdHMuCgp2MjogdmFyaW91cyBpbXByb3ZlbWVudHMgc3VnZ2VzdGVk IGJ5IEpvb25hcwoKdjM6IG1vdmUgZ2VtZnMgaW5zdGFuY2UgdG8gaTkxNS5tbSBhbmQgc2ltcGxp Znkgbm93IHRoYXQgd2UgaGF2ZQpmaWxlX3NldHVwX3dpdGhfbW50CgpTaWduZWQtb2ZmLWJ5OiBN YXR0aGV3IEF1bGQgPG1hdHRoZXcuYXVsZEBpbnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4g PGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlz QGNocmlzLXdpbHNvbi5jby51az4KQ2M6IERhdmUgSGFuc2VuIDxkYXZlLmhhbnNlbkBpbnRlbC5j b20+CkNjOiBLaXJpbGwgQS4gU2h1dGVtb3YgPGtpcmlsbEBzaHV0ZW1vdi5uYW1lPgpDYzogSHVn aCBEaWNraW5zIDxodWdoZEBnb29nbGUuY29tPgpDYzogbGludXgtbW1Aa3ZhY2sub3JnCi0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICAgICAgICAgICAgICAgIHwgIDEgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgICAgICAgIHwgIDMgKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICAgICAgICB8IDM0ICsr KysrKysrKysrKysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuYyAgICAgICAg ICAgICAgICB8IDUyICsrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1mcy5oICAgICAgICAgICAgICAgIHwgMzQgKysrKysrKysrKysrKysrKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIHwgMTAgKysrKy0K IDYgZmlsZXMgY2hhbmdlZCwgMTMxIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCiBjcmVh dGUgbW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1mcy5jCiBjcmVhdGUg bW9kZSAxMDA2NDQgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1mcy5oCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZQppbmRleCBmODIyNzMxOGRjYWYuLjI5ZTNjZmRmNTZjZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFr ZWZpbGUKQEAgLTQ2LDYgKzQ2LDcgQEAgaTkxNS15ICs9IGk5MTVfY21kX3BhcnNlci5vIFwKIAkg IGk5MTVfZ2VtX3RpbGluZy5vIFwKIAkgIGk5MTVfZ2VtX3RpbWVsaW5lLm8gXAogCSAgaTkxNV9n ZW1fdXNlcnB0ci5vIFwKKwkgIGk5MTVfZ2VtZnMubyBcCiAJICBpOTE1X3RyYWNlX3BvaW50cy5v IFwKIAkgIGk5MTVfdm1hLm8gXAogCSAgaW50ZWxfYnJlYWRjcnVtYnMubyBcCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCAwMDI5YmI5NDllOTAuLmYzNmViZDJlMWU1YSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2Rydi5oCkBAIC0xNDQyLDYgKzE0NDIsOSBAQCBzdHJ1Y3QgaTkxNV9nZW1fbW0gewog CS8qKiBVc2FibGUgcG9ydGlvbiBvZiB0aGUgR1RUIGZvciBHRU0gKi8KIAlkbWFfYWRkcl90IHN0 b2xlbl9iYXNlOyAvKiBsaW1pdGVkIHRvIGxvdyBtZW1vcnkgKDMyLWJpdCkgKi8KIAorCS8qKiB0 bXBmcyBpbnN0YW5jZSB1c2VkIGZvciBzaG1lbSBiYWNrZWQgb2JqZWN0cyAqLworCXN0cnVjdCB2 ZnNtb3VudCAqZ2VtZnM7CisKIAkvKiogUFBHVFQgdXNlZCBmb3IgYWxpYXNpbmcgdGhlIFBQR1RU IHdpdGggdGhlIEdUVCAqLwogCXN0cnVjdCBpOTE1X2h3X3BwZ3R0ICphbGlhc2luZ19wcGd0dDsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggMWIyZGZhOGJkZWVmLi41MDllNWZjNGFmNTYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgImlu dGVsX2Rydi5oIgogI2luY2x1ZGUgImludGVsX2Zyb250YnVmZmVyLmgiCiAjaW5jbHVkZSAiaW50 ZWxfbW9jcy5oIgorI2luY2x1ZGUgImk5MTVfZ2VtZnMuaCIKICNpbmNsdWRlIDxsaW51eC9kbWEt ZmVuY2UtYXJyYXkuaD4KICNpbmNsdWRlIDxsaW51eC9rdGhyZWFkLmg+CiAjaW5jbHVkZSA8bGlu dXgvcmVzZXJ2YXRpb24uaD4KQEAgLTQyODksNiArNDI5MCwyNSBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX29iamVjdF9vcHMgPSB7CiAJLnB3 cml0ZSA9IGk5MTVfZ2VtX29iamVjdF9wd3JpdGVfZ3R0LAogfTsKIAorc3RhdGljIGludCBpOTE1 X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkJCXN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqLAorCQkJCQlzaXplX3Qgc2l6ZSkKK3sKKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IHRvX2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZmlsZSAqZmls cDsKKworCWRybV9nZW1fcHJpdmF0ZV9vYmplY3RfaW5pdChkZXYsIG9iaiwgc2l6ZSk7CisKKwlm aWxwID0gc2htZW1fZmlsZV9zZXR1cF93aXRoX21udChpOTE1LT5tbS5nZW1mcywgImk5MTUiLCBz aXplLAorCQkJCQkgVk1fTk9SRVNFUlZFKTsKKwlpZiAoSVNfRVJSKGZpbHApKQorCQlyZXR1cm4g UFRSX0VSUihmaWxwKTsKKworCW9iai0+ZmlscCA9IGZpbHA7CisKKwlyZXR1cm4gMDsKK30KKwog c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgogaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU2NCBzaXplKQogewpAQCAtNDMxMiw3ICs0 MzMyLDcgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsIHU2NCBzaXplKQogCWlmIChvYmogPT0gTlVMTCkKIAkJcmV0dXJuIEVSUl9QVFIo LUVOT01FTSk7CiAKLQlyZXQgPSBkcm1fZ2VtX29iamVjdF9pbml0KCZkZXZfcHJpdi0+ZHJtLCAm b2JqLT5iYXNlLCBzaXplKTsKKwlyZXQgPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKCZk ZXZfcHJpdi0+ZHJtLCAmb2JqLT5iYXNlLCBzaXplKTsKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7 CiAKQEAgLTQ4ODgsNyArNDkwOCwxMyBAQCBpOTE1X2dlbV9sb2FkX2luaXRfZmVuY2VzKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIGludAogaTkxNV9nZW1fbG9hZF9pbml0KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQlpbnQgZXJyID0gLUVOT01FTTsK KwlpbnQgZXJyOworCisJZXJyID0gaTkxNV9nZW1mc19pbml0KGRldl9wcml2KTsKKwlpZiAoZXJy KQorCQlyZXR1cm4gZXJyOworCisJZXJyID0gLUVOT01FTTsKIAogCWRldl9wcml2LT5vYmplY3Rz ID0gS01FTV9DQUNIRShkcm1faTkxNV9nZW1fb2JqZWN0LCBTTEFCX0hXQ0FDSEVfQUxJR04pOwog CWlmICghZGV2X3ByaXYtPm9iamVjdHMpCkBAIC00OTU0LDYgKzQ5ODAsOCBAQCBpOTE1X2dlbV9s b2FkX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogZXJyX29iamVjdHM6 CiAJa21lbV9jYWNoZV9kZXN0cm95KGRldl9wcml2LT5vYmplY3RzKTsKIGVycl9vdXQ6CisJaTkx NV9nZW1mc19maW5pKGRldl9wcml2KTsKKwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTQ5NzYsNiAr NTAwNCw4IEBAIHZvaWQgaTkxNV9nZW1fbG9hZF9jbGVhbnVwKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKIAogCS8qIEFuZCBlbnN1cmUgdGhhdCBvdXIgREVTVFJPWV9CWV9SQ1Ug c2xhYnMgYXJlIHRydWx5IGRlc3Ryb3llZCAqLwogCXJjdV9iYXJyaWVyKCk7CisKKwlpOTE1X2dl bWZzX2ZpbmkoZGV2X3ByaXYpOwogfQogCiBpbnQgaTkxNV9nZW1fZnJlZXplKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuYwpuZXcgZmls ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLjE2OGQwYmQ5OGY2MAotLS0gL2Rldi9u dWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuYwpAQCAtMCwwICsxLDUy IEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTcgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBQ ZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55IHBlcnNv biBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lhdGVkIGRv Y3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4gdGhlIFNv ZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0YXRpb24K KyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNoLCBkaXN0 cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBTb2Z0d2Fy ZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBpcyBmdXJu aXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOgorICoK KyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24gbm90aWNl IChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVkZWQgaW4g YWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3YXJlLgor ICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdBUlJBTlRZ IE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVUIE5PVCBM SU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJVE5FU1Mg Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBOTyBFVkVO VCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElBQkxFIEZP UiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhFUiBJTiBB TiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisgKiBGUk9N LCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUgVVNFIE9S IE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisKKyNpbmNsdWRl IDxsaW51eC9mcy5oPgorI2luY2x1ZGUgPGxpbnV4L21vdW50Lmg+CisKKyNpbmNsdWRlICJpOTE1 X2Rydi5oIgorI2luY2x1ZGUgImk5MTVfZ2VtZnMuaCIKKworaW50IGk5MTVfZ2VtZnNfaW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3sKKwlzdHJ1Y3QgZmlsZV9zeXN0ZW1fdHlw ZSAqdHlwZTsKKwlzdHJ1Y3QgdmZzbW91bnQgKmdlbWZzOworCisJdHlwZSA9IGdldF9mc190eXBl KCJ0bXBmcyIpOworCWlmICghdHlwZSkKKwkJcmV0dXJuIC1FTk9ERVY7CisKKwlnZW1mcyA9IGtl cm5fbW91bnQodHlwZSk7CisJaWYgKElTX0VSUihnZW1mcykpCisJCXJldHVybiBQVFJfRVJSKGdl bWZzKTsKKworCWk5MTUtPm1tLmdlbWZzID0gZ2VtZnM7CisKKwlyZXR1cm4gMDsKK30KKwordm9p ZCBpOTE1X2dlbWZzX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit7CisJa2Vy bl91bm1vdW50KGk5MTUtPm1tLmdlbWZzKTsKK30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtZnMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuaApu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAuLmNjYThiZGM1YjkzZQotLS0g L2Rldi9udWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtZnMuaApAQCAtMCww ICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IMKpIDIwMTcgSW50ZWwgQ29ycG9yYXRpb24KKyAq CisgKiBQZXJtaXNzaW9uIGlzIGhlcmVieSBncmFudGVkLCBmcmVlIG9mIGNoYXJnZSwgdG8gYW55 IHBlcnNvbiBvYnRhaW5pbmcgYQorICogY29weSBvZiB0aGlzIHNvZnR3YXJlIGFuZCBhc3NvY2lh dGVkIGRvY3VtZW50YXRpb24gZmlsZXMgKHRoZSAiU29mdHdhcmUiKSwKKyAqIHRvIGRlYWwgaW4g dGhlIFNvZnR3YXJlIHdpdGhvdXQgcmVzdHJpY3Rpb24sIGluY2x1ZGluZyB3aXRob3V0IGxpbWl0 YXRpb24KKyAqIHRoZSByaWdodHMgdG8gdXNlLCBjb3B5LCBtb2RpZnksIG1lcmdlLCBwdWJsaXNo LCBkaXN0cmlidXRlLCBzdWJsaWNlbnNlLAorICogYW5kL29yIHNlbGwgY29waWVzIG9mIHRoZSBT b2Z0d2FyZSwgYW5kIHRvIHBlcm1pdCBwZXJzb25zIHRvIHdob20gdGhlCisgKiBTb2Z0d2FyZSBp cyBmdXJuaXNoZWQgdG8gZG8gc28sIHN1YmplY3QgdG8gdGhlIGZvbGxvd2luZyBjb25kaXRpb25z OgorICoKKyAqIFRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlIGFuZCB0aGlzIHBlcm1pc3Npb24g bm90aWNlIChpbmNsdWRpbmcgdGhlIG5leHQKKyAqIHBhcmFncmFwaCkgc2hhbGwgYmUgaW5jbHVk ZWQgaW4gYWxsIGNvcGllcyBvciBzdWJzdGFudGlhbCBwb3J0aW9ucyBvZiB0aGUKKyAqIFNvZnR3 YXJlLgorICoKKyAqIFRIRSBTT0ZUV0FSRSBJUyBQUk9WSURFRCAiQVMgSVMiLCBXSVRIT1VUIFdB UlJBTlRZIE9GIEFOWSBLSU5ELCBFWFBSRVNTIE9SCisgKiBJTVBMSUVELCBJTkNMVURJTkcgQlVU IE5PVCBMSU1JVEVEIFRPIFRIRSBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSwKKyAqIEZJ VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFORCBOT05JTkZSSU5HRU1FTlQuICBJTiBO TyBFVkVOVCBTSEFMTAorICogVEhFIEFVVEhPUlMgT1IgQ09QWVJJR0hUIEhPTERFUlMgQkUgTElB QkxFIEZPUiBBTlkgQ0xBSU0sIERBTUFHRVMgT1IgT1RIRVIKKyAqIExJQUJJTElUWSwgV0hFVEhF UiBJTiBBTiBBQ1RJT04gT0YgQ09OVFJBQ1QsIFRPUlQgT1IgT1RIRVJXSVNFLCBBUklTSU5HCisg KiBGUk9NLCBPVVQgT0YgT1IgSU4gQ09OTkVDVElPTiBXSVRIIFRIRSBTT0ZUV0FSRSBPUiBUSEUg VVNFIE9SIE9USEVSIERFQUxJTkdTCisgKiBJTiBUSEUgU09GVFdBUkUuCisgKgorICovCisKKyNp Zm5kZWYgX19JOTE1X0dFTUZTX0hfXworI2RlZmluZSBfX0k5MTVfR0VNRlNfSF9fCisKK3N0cnVj dCBkcm1faTkxNV9wcml2YXRlOworCitpbnQgaTkxNV9nZW1mc19pbml0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICppOTE1KTsKKwordm9pZCBpOTE1X2dlbWZzX2Zpbmkoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpOworCisjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3Nl bGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYwppbmRleCA0NzYxM2QyMGJiYTguLjBhYzRlZmQ1Yzdh MiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2Rl dmljZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZp Y2UuYwpAQCAtODEsNiArODEsOCBAQCBzdGF0aWMgdm9pZCBtb2NrX2RldmljZV9yZWxlYXNlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJa21lbV9jYWNoZV9kZXN0cm95KGk5MTUtPnZtYXMpOwog CWttZW1fY2FjaGVfZGVzdHJveShpOTE1LT5vYmplY3RzKTsKIAorCWk5MTVfZ2VtZnNfZmluaShp OTE1KTsKKwogCWRybV9kZXZfZmluaSgmaTkxNS0+ZHJtKTsKIAlwdXRfZGV2aWNlKCZpOTE1LT5k cm0ucGRldi0+ZGV2KTsKIH0KQEAgLTE2OCw5ICsxNzAsMTMgQEAgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2b2lkKQogCiAJaTkxNS0+Z3QuYXdha2UgPSB0cnVlOwog CisJZXJyID0gaTkxNV9nZW1mc19pbml0KGk5MTUpOworCWlmIChlcnIpCisJCWdvdG8gZXJyX3dx OworCiAJaTkxNS0+b2JqZWN0cyA9IEtNRU1fQ0FDSEUobW9ja19vYmplY3QsIFNMQUJfSFdDQUNI RV9BTElHTik7CiAJaWYgKCFpOTE1LT5vYmplY3RzKQotCQlnb3RvIGVycl93cTsKKwkJZ290byBl cnJfZ2VtZnM7CiAKIAlpOTE1LT52bWFzID0gS01FTV9DQUNIRShpOTE1X3ZtYSwgU0xBQl9IV0NB Q0hFX0FMSUdOKTsKIAlpZiAoIWk5MTUtPnZtYXMpCkBAIC0yMjgsNiArMjM0LDggQEAgc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKm1vY2tfZ2VtX2RldmljZSh2b2lkKQogCWttZW1fY2FjaGVfZGVz dHJveShpOTE1LT52bWFzKTsKIGVycl9vYmplY3RzOgogCWttZW1fY2FjaGVfZGVzdHJveShpOTE1 LT5vYmplY3RzKTsKK2Vycl9nZW1mczoKKwlpOTE1X2dlbWZzX2ZpbmkoaTkxNSk7CiBlcnJfd3E6 CiAJZGVzdHJveV93b3JrcXVldWUoaTkxNS0+d3EpOwogcHV0X2RldmljZToKLS0gCjIuOS40Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK