From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 19/37] drm/i915: treat shmem as a region Date: Thu, 27 Jun 2019 21:56:15 +0100 Message-ID: <20190627205633.1143-20-matthew.auld@intel.com> References: <20190627205633.1143-1-matthew.auld@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 C5C646E84E for ; Thu, 27 Jun 2019 20:56:58 +0000 (UTC) In-Reply-To: <20190627205633.1143-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 U2lnbmVkLW9mZi1ieTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpDYzog Sm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFodGluZW5AbGludXguaW50ZWwuY29tPgpDYzogQWJk aWVsIEphbnVsZ3VlIDxhYmRpZWwuamFudWxndWVAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaG1lbS5jICAgICB8IDY3ICsrKysrKysrKysr KysrLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICAgICAgICB8 ICA1ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgICAgfCAg NCArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgICAgIHwgMTMg Ky0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgICAgIHwgMTEg KystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMgICAgfCAgOSAr KysKIC4uLi9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jICB8ICA0IC0t CiA3IGZpbGVzIGNoYW5nZWQsIDY4IGluc2VydGlvbnMoKyksIDQ1IGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaG1lbS5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3NobWVtLmMKaW5kZXggMTlkOWVjZGIyODk0 Li4xMWM3ZWJkYTllMGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1 X2dlbV9zaG1lbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9zaG1l bS5jCkBAIC04LDYgKzgsNyBAQAogI2luY2x1ZGUgPGxpbnV4L3N3YXAuaD4KIAogI2luY2x1ZGUg Imk5MTVfZHJ2LmgiCisjaW5jbHVkZSAiaTkxNV9nZW1mcy5oIgogI2luY2x1ZGUgImk5MTVfZ2Vt X29iamVjdC5oIgogI2luY2x1ZGUgImk5MTVfc2NhdHRlcmxpc3QuaCIKIApAQCAtMjUsNiArMjYs NyBAQCBzdGF0aWMgdm9pZCBjaGVja19yZWxlYXNlX3BhZ2V2ZWMoc3RydWN0IHBhZ2V2ZWMgKnB2 ZWMpCiBzdGF0aWMgaW50IHNobWVtX2dldF9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gdG9faTkxNShvYmot PmJhc2UuZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtID0gb2JqLT5tZW1v cnlfcmVnaW9uOwogCWNvbnN0IHVuc2lnbmVkIGxvbmcgcGFnZV9jb3VudCA9IG9iai0+YmFzZS5z aXplIC8gUEFHRV9TSVpFOwogCXVuc2lnbmVkIGxvbmcgaTsKIAlzdHJ1Y3QgYWRkcmVzc19zcGFj ZSAqbWFwcGluZzsKQEAgLTUxLDcgKzUzLDcgQEAgc3RhdGljIGludCBzaG1lbV9nZXRfcGFnZXMo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAkgKiBJZiB0aGVyZSdzIG5vIGNoYW5j ZSBvZiBhbGxvY2F0aW5nIGVub3VnaCBwYWdlcyBmb3IgdGhlIHdob2xlCiAJICogb2JqZWN0LCBi YWlsIGVhcmx5LgogCSAqLwotCWlmIChwYWdlX2NvdW50ID4gdG90YWxyYW1fcGFnZXMoKSkKKwlp ZiAob2JqLT5iYXNlLnNpemUgPiByZXNvdXJjZV9zaXplKCZtZW0tPnJlZ2lvbikpCiAJCXJldHVy biAtRU5PTUVNOwogCiAJc3QgPSBrbWFsbG9jKHNpemVvZigqc3QpLCBHRlBfS0VSTkVMKTsKQEAg LTQyNCw5ICs0MjYsMTEgQEAgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5 MTVfZ2VtX3NobWVtX29wcyA9IHsKIAkud3JpdGViYWNrID0gc2htZW1fd3JpdGViYWNrLAogCiAJ LnB3cml0ZSA9IHNobWVtX3B3cml0ZSwKKworCS5yZWxlYXNlID0gaTkxNV9nZW1fb2JqZWN0X3Jl bGVhc2VfbWVtb3J5X3JlZ2lvbiwKIH07CiAKLXN0YXRpYyBpbnQgY3JlYXRlX3NobWVtKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorc3RhdGljIGludCBfX2NyZWF0ZV9zaG1lbShzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkJCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2Jq LAogCQkJc2l6ZV90IHNpemUpCiB7CkBAIC00NDcsMzEgKzQ1MSwyMyBAQCBzdGF0aWMgaW50IGNy ZWF0ZV9zaG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAlyZXR1cm4gMDsKIH0K IAotc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9z aG1lbShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0IHNpemUpCitzdGF0aWMgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgorY3JlYXRlX3NobWVtKHN0cnVjdCBpbnRlbF9tZW1v cnlfcmVnaW9uICptZW0sCisJICAgICByZXNvdXJjZV9zaXplX3Qgc2l6ZSwKKwkgICAgIHVuc2ln bmVkIGZsYWdzKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gbWVtLT5pOTE1 OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGFkZHJlc3Nfc3Bh Y2UgKm1hcHBpbmc7CiAJdW5zaWduZWQgaW50IGNhY2hlX2xldmVsOwogCWdmcF90IG1hc2s7CiAJ aW50IHJldDsKIAotCS8qIFRoZXJlIGlzIGEgcHJldmFsZW5jZSBvZiB0aGUgYXNzdW1wdGlvbiB0 aGF0IHdlIGZpdCB0aGUgb2JqZWN0J3MKLQkgKiBwYWdlIGNvdW50IGluc2lkZSBhIDMyYml0IF9z aWduZWRfIHZhcmlhYmxlLiBMZXQncyBkb2N1bWVudCB0aGlzIGFuZAotCSAqIGNhdGNoIGlmIHdl IGV2ZXIgbmVlZCB0byBmaXggaXQuIEluIHRoZSBtZWFudGltZSwgaWYgeW91IGRvIHNwb3QKLQkg KiBzdWNoIGEgbG9jYWwgdmFyaWFibGUsIHBsZWFzZSBjb25zaWRlciBmaXhpbmchCi0JICovCi0J aWYgKHNpemUgPj4gUEFHRV9TSElGVCA+IElOVF9NQVgpCi0JCXJldHVybiBFUlJfUFRSKC1FMkJJ Ryk7Ci0KLQlpZiAob3ZlcmZsb3dzX3R5cGUoc2l6ZSwgb2JqLT5iYXNlLnNpemUpKQotCQlyZXR1 cm4gRVJSX1BUUigtRTJCSUcpOwotCiAJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKCk7CiAJ aWYgKCFvYmopCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCi0JcmV0ID0gY3JlYXRlX3No bWVtKGk5MTUsICZvYmotPmJhc2UsIHNpemUpOworCXJldCA9IF9fY3JlYXRlX3NobWVtKGk5MTUs ICZvYmotPmJhc2UsIHNpemUpOwogCWlmIChyZXQpCiAJCWdvdG8gZmFpbDsKIApAQCAtNTEwLDgg KzUwNiw2IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc2htZW0oc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsIHU2NCBzaXplKQogCiAJaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNoZV9jb2hl cmVuY3kob2JqLCBjYWNoZV9sZXZlbCk7CiAKLQl0cmFjZV9pOTE1X2dlbV9vYmplY3RfY3JlYXRl KG9iaik7Ci0KIAlyZXR1cm4gb2JqOwogCiBmYWlsOgpAQCAtNTE5LDYgKzUxMywxMyBAQCBpOTE1 X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1 NjQgc2l6ZSkKIAlyZXR1cm4gRVJSX1BUUihyZXQpOwogfQogCitzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqCitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3NobWVtKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICppOTE1LCB1NjQgc2l6ZSkKK3sKKwlyZXR1cm4gaTkxNV9nZW1fb2JqZWN0X2NyZWF0 ZV9yZWdpb24oaTkxNS0+cmVnaW9uc1tJTlRFTF9NRU1PUllfU01FTV0sCisJCQkJCSAgICAgc2l6 ZSwgMCk7Cit9CisKIC8qIEFsbG9jYXRlIGEgbmV3IEdFTSBvYmplY3QgYW5kIGZpbGwgaXQgd2l0 aCB0aGUgc3VwcGxpZWQgZGF0YSAqLwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgogaTkx NV9nZW1fb2JqZWN0X2NyZWF0ZV9zaG1lbV9mcm9tX2RhdGEoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LApAQCAtNTY5LDMgKzU3MCwzMyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRl X3NobWVtX2Zyb21fZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaTkx NV9nZW1fb2JqZWN0X3B1dChvYmopOwogCXJldHVybiBFUlJfUFRSKGVycik7CiB9CisKK3N0YXRp YyBpbnQgaW5pdF9zaG1lbShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbiAqbWVtKQoreworCWlu dCBlcnI7CisKKwllcnIgPSBpOTE1X2dlbWZzX2luaXQobWVtLT5pOTE1KTsKKwlpZiAoZXJyKQor CQkgRFJNX05PVEUoIlVuYWJsZSB0byBjcmVhdGUgYSBwcml2YXRlIHRtcGZzIG1vdW50LCBodWdl cGFnZSBzdXBwb3J0IHdpbGwgYmUgZGlzYWJsZWQoJWQpLlxuIiwgZXJyKTsKKworCXJldHVybiAw OyAvKiBEb24ndCBlcnJvciwgd2UgY2FuIHNpbXBseSBmYWxsYmFjayB0byB0aGUga2VybmVsIG1u dCAqLworfQorCitzdGF0aWMgdm9pZCByZWxlYXNlX3NobWVtKHN0cnVjdCBpbnRlbF9tZW1vcnlf cmVnaW9uICptZW0pCit7CisJaTkxNV9nZW1mc19maW5pKG1lbS0+aTkxNSk7Cit9CisKK3N0YXRp YyBjb25zdCBzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lvbl9vcHMgc2htZW1fcmVnaW9uX29wcyA9 IHsKKwkuaW5pdCA9IGluaXRfc2htZW0sCisJLnJlbGVhc2UgPSByZWxlYXNlX3NobWVtLAorCS5j cmVhdGVfb2JqZWN0ID0gY3JlYXRlX3NobWVtLAorfTsKKworc3RydWN0IGludGVsX21lbW9yeV9y ZWdpb24gKmk5MTVfZ2VtX3NobWVtX3NldHVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 KQoreworCXJldHVybiBpbnRlbF9tZW1vcnlfcmVnaW9uX2NyZWF0ZShpOTE1LCAwLAorCQkJCQkg IHRvdGFscmFtX3BhZ2VzKCkgPDwgUEFHRV9TSElGVCwKKwkJCQkJICBJOTE1X0dUVF9QQUdFX1NJ WkVfNEssIDAsCisJCQkJCSAgJnNobWVtX3JlZ2lvbl9vcHMpOworfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmMKaW5kZXggNzk0YzY4MTRhNmQwLi5hYzhmYmFkYTA0MDYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYwpAQCAtOTI2LDkgKzkyNiw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9l YXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlpbnRlbF9ndF9pbml0 X2Vhcmx5KCZkZXZfcHJpdi0+Z3QsIGRldl9wcml2KTsKIAotCXJldCA9IGk5MTVfZ2VtX2luaXRf ZWFybHkoZGV2X3ByaXYpOwotCWlmIChyZXQgPCAwKQotCQlnb3RvIGVycl93b3JrcXVldWVzOwor CWk5MTVfZ2VtX2luaXRfZWFybHkoZGV2X3ByaXYpOwogCiAJLyogVGhpcyBtdXN0IGJlIGNhbGxl ZCBiZWZvcmUgYW55IGNhbGxzIHRvIEhBU19QQ0hfKiAqLwogCWludGVsX2RldGVjdF9wY2goZGV2 X3ByaXYpOwpAQCAtOTU0LDcgKzk1Miw2IEBAIHN0YXRpYyBpbnQgaTkxNV9kcml2ZXJfaW5pdF9l YXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiBlcnJfdWM6CiAJaW50ZWxf dWNfY2xlYW51cF9lYXJseShkZXZfcHJpdik7CiAJaTkxNV9nZW1fY2xlYW51cF9lYXJseShkZXZf cHJpdik7Ci1lcnJfd29ya3F1ZXVlczoKIAlpOTE1X3dvcmtxdWV1ZXNfY2xlYW51cChkZXZfcHJp dik7CiBlcnJfZW5naW5lczoKIAlpOTE1X2VuZ2luZXNfY2xlYW51cChkZXZfcHJpdik7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAppbmRleCA0MjY3NGE0MWU0NjkuLmU4ZjQxYzIzNWU3MCAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yNDQ3LDExICsyNDQ3LDEzIEBAIHN0YXRpYyBpbmxpbmUg Ym9vbCBpbnRlbF92Z3B1X2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp CiBpbnQgaTkxNV9nZW1faW5pdF91c2VycHRyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdik7CiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfdXNlcnB0cihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBpOTE1X2dlbV9zYW5pdGl6ZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSk7Ci1pbnQgaTkxNV9nZW1faW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpOwordm9pZCBpOTE1X2dlbV9pbml0X2Vhcmx5KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfZWFybHkoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1X2dlbV9mcmVlemUoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1X2dlbV9mcmVlemVfbGF0 ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCitzdHJ1Y3QgaW50ZWxfbWVt b3J5X3JlZ2lvbiAqaTkxNV9nZW1fc2htZW1fc2V0dXAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg Kmk5MTUpOworCiBzdGF0aWMgaW5saW5lIHZvaWQgaTkxNV9nZW1fZHJhaW5fZnJlZWRfb2JqZWN0 cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKIAlpZiAoIWF0b21pY19yZWFkKCZp OTE1LT5tbS5mcmVlX2NvdW50KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDRiYTM4NmFi MzVlNy4uMDA5ZTcxOTliZWE2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTQ1LDcgKzQ1 LDYgQEAKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1fY29udGV4dC5oIgogI2luY2x1ZGUgImdlbS9p OTE1X2dlbV9pb2N0bHMuaCIKICNpbmNsdWRlICJnZW0vaTkxNV9nZW1fcG0uaCIKLSNpbmNsdWRl ICJnZW0vaTkxNV9nZW1mcy5oIgogI2luY2x1ZGUgImd0L2ludGVsX2d0LmgiCiAjaW5jbHVkZSAi Z3QvaW50ZWxfZ3RfcG0uaCIKICNpbmNsdWRlICJndC9pbnRlbF9tb2NzLmgiCkBAIC0xNjc3LDEw ICsxNjc2LDggQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1faW5pdF9fbW0oc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmk5MTUpCiAJaTkxNV9nZW1faW5pdF9fb2JqZWN0cyhpOTE1KTsKIH0KIAotaW50 IGk5MTVfZ2VtX2luaXRfZWFybHkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQor dm9pZCBpOTE1X2dlbV9pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp dikKIHsKLQlpbnQgZXJyOwotCiAJaTkxNV9nZW1faW5pdF9fbW0oZGV2X3ByaXYpOwogCWk5MTVf Z2VtX2luaXRfX3BtKGRldl9wcml2KTsKIApAQCAtMTY5MiwxMiArMTY4OSw2IEBAIGludCBpOTE1 X2dlbV9pbml0X2Vhcmx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlhdG9t aWNfc2V0KCZkZXZfcHJpdi0+bW0uYnNkX2VuZ2luZV9kaXNwYXRjaF9pbmRleCwgMCk7CiAKIAlz cGluX2xvY2tfaW5pdCgmZGV2X3ByaXYtPmZiX3RyYWNraW5nLmxvY2spOwotCi0JZXJyID0gaTkx NV9nZW1mc19pbml0KGRldl9wcml2KTsKLQlpZiAoZXJyKQotCQlEUk1fTk9URSgiVW5hYmxlIHRv IGNyZWF0ZSBhIHByaXZhdGUgdG1wZnMgbW91bnQsIGh1Z2VwYWdlIHN1cHBvcnQgd2lsbCBiZSBk aXNhYmxlZCglZCkuXG4iLCBlcnIpOwotCi0JcmV0dXJuIDA7CiB9CiAKIHZvaWQgaTkxNV9nZW1f Y2xlYW51cF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCkBAIC0xNzA4 LDggKzE2OTksNiBAQCB2b2lkIGk5MTVfZ2VtX2NsZWFudXBfZWFybHkoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2KQogCVdBUk5fT04oZGV2X3ByaXYtPm1tLnNocmlua19jb3VudCk7 CiAKIAljbGVhbnVwX3NyY3Vfc3RydWN0KCZkZXZfcHJpdi0+Z3B1X2Vycm9yLnJlc2V0X2JhY2tv ZmZfc3JjdSk7Ci0KLQlpOTE1X2dlbWZzX2ZpbmkoZGV2X3ByaXYpOwogfQogCiBpbnQgaTkxNV9n ZW1fZnJlZXplKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggZTRmODExZmRhZWRjLi45NThjNjFlODgyMDAgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0yOTQxLDcgKzI5NDEsOCBAQCBpbnQgaTkx NV9nZW1faW5pdF9tZW1vcnlfcmVnaW9ucyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK IAogCQl0eXBlID0gTUVNT1JZX1RZUEVfRlJPTV9SRUdJT04oaW50ZWxfcmVnaW9uX21hcFtpXSk7 CiAJCXN3aXRjaCAodHlwZSkgewotCQlkZWZhdWx0OgorCQljYXNlIElOVEVMX1NNRU06CisJCQlt ZW0gPSBpOTE1X2dlbV9zaG1lbV9zZXR1cChpOTE1KTsKIAkJCWJyZWFrOwogCQl9CiAKQEAgLTI5 NTEsMTEgKzI5NTIsOSBAQCBpbnQgaTkxNV9nZW1faW5pdF9tZW1vcnlfcmVnaW9ucyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkJCWdvdG8gb3V0X2NsZWFudXA7CiAJCX0KIAotCQlp ZiAobWVtKSB7Ci0JCQltZW0tPmlkID0gaW50ZWxfcmVnaW9uX21hcFtpXTsKLQkJCW1lbS0+dHlw ZSA9IHR5cGU7Ci0JCQltZW0tPmluc3RhbmNlID0gTUVNT1JZX0lOU1RBTkNFX0ZST01fUkVHSU9O KGludGVsX3JlZ2lvbl9tYXBbaV0pOwotCQl9CisJCW1lbS0+aWQgPSBpbnRlbF9yZWdpb25fbWFw W2ldOworCQltZW0tPnR5cGUgPSB0eXBlOworCQltZW0tPmluc3RhbmNlID0gTUVNT1JZX0lOU1RB TkNFX0ZST01fUkVHSU9OKGludGVsX3JlZ2lvbl9tYXBbaV0pOwogCiAJCWk5MTUtPnJlZ2lvbnNb aV0gPSBtZW07CiAJfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVt b3J5X3JlZ2lvbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5j CmluZGV4IGNkNDFjMjEyYmMzNS4uZTZiZjRiYzEyMmJkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5jCkBAIC0yMzQsNiArMjM0LDEzIEBAIGk5MTVfZ2VtX29i amVjdF9jcmVhdGVfcmVnaW9uKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAJR0VN X0JVR19PTighc2l6ZSk7CiAJR0VNX0JVR19PTighSVNfQUxJR05FRChzaXplLCBJOTE1X0dUVF9N SU5fQUxJR05NRU5UKSk7CiAKKwkvKgorCSAqIFRoZXJlIGlzIGEgcHJldmFsZW5jZSBvZiB0aGUg YXNzdW1wdGlvbiB0aGF0IHdlIGZpdCB0aGUgb2JqZWN0J3MKKwkgKiBwYWdlIGNvdW50IGluc2lk ZSBhIDMyYml0IF9zaWduZWRfIHZhcmlhYmxlLiBMZXQncyBkb2N1bWVudCB0aGlzIGFuZAorCSAq IGNhdGNoIGlmIHdlIGV2ZXIgbmVlZCB0byBmaXggaXQuIEluIHRoZSBtZWFudGltZSwgaWYgeW91 IGRvIHNwb3QKKwkgKiBzdWNoIGEgbG9jYWwgdmFyaWFibGUsIHBsZWFzZSBjb25zaWRlciBmaXhp bmchCisJICovCisKIAlpZiAoc2l6ZSA+PiBQQUdFX1NISUZUID4gSU5UX01BWCkKIAkJcmV0dXJu IEVSUl9QVFIoLUUyQklHKTsKIApAQCAtMjU3LDYgKzI2NCw4IEBAIGk5MTVfZ2VtX29iamVjdF9j cmVhdGVfcmVnaW9uKHN0cnVjdCBpbnRlbF9tZW1vcnlfcmVnaW9uICptZW0sCiAKIAltdXRleF91 bmxvY2soJm1lbS0+b2JqX2xvY2spOwogCisJdHJhY2VfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZShv YmopOworCiAJcmV0dXJuIG9iajsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2Vs ZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCmluZGV4IGRmMDdhMGJkMDg5ZC4uMDA3MTA4ZDI2YWNi IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvbW9ja19nZW1fZGV2 aWNlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2Rldmlj ZS5jCkBAIC04MCw4ICs4MCw2IEBAIHN0YXRpYyB2b2lkIG1vY2tfZGV2aWNlX3JlbGVhc2Uoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAogCWRlc3Ryb3lfd29ya3F1ZXVlKGk5MTUtPndxKTsKIAot CWk5MTVfZ2VtZnNfZmluaShpOTE1KTsKLQogCWk5MTVfZ2VtX2NsZWFudXBfbWVtb3J5X3JlZ2lv bnMoaTkxNSk7CiAKIAlkcm1fbW9kZV9jb25maWdfY2xlYW51cCgmaTkxNS0+ZHJtKTsKQEAgLTIy NSw4ICsyMjMsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqbW9ja19nZW1fZGV2aWNlKHZv aWQpCiAKIAltdXRleF91bmxvY2soJmk5MTUtPmRybS5zdHJ1Y3RfbXV0ZXgpOwogCi0JV0FSTl9P TihpOTE1X2dlbWZzX2luaXQoaTkxNSkpOwotCiAJZXJyID0gaTkxNV9nZW1faW5pdF9tZW1vcnlf cmVnaW9ucyhpOTE1KTsKIAlpZiAoZXJyKQogCQlnb3RvIGVycl9jb250ZXh0OwotLSAKMi4yMC4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=