From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matthew Auld Subject: [PATCH v2 04/22] drm/i915/region: support volatile objects Date: Thu, 3 Oct 2019 20:24:26 +0100 Message-ID: <20191003192444.10113-5-matthew.auld@intel.com> References: <20191003192444.10113-1-matthew.auld@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 53F296EA55 for ; Thu, 3 Oct 2019 19:24:57 +0000 (UTC) In-Reply-To: <20191003192444.10113-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 Vm9sYXRpbGUgb2JqZWN0cyBhcmUgbWFya2VkIGFzIERPTlRORUVEIHdoaWxlIHBpbm5lZCwgdGhl cmVmb3JlIG9uY2UKdW5waW5uZWQgdGhlIGJhY2tpbmcgc3RvcmUgY2FuIGJlIGRpc2NhcmRlZC4g VGhpcyBpcyBsaW1pdGVkIHRvIGtlcm5lbAppbnRlcm5hbCBvYmplY3RzLgoKU2lnbmVkLW9mZi1i eTogTWF0dGhldyBBdWxkIDxtYXR0aGV3LmF1bGRAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBD USBUYW5nIDxjcS50YW5nQGludGVsLmNvbT4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxh aHRpbmVuQGxpbnV4LmludGVsLmNvbT4KQ2M6IEFiZGllbCBKYW51bGd1ZSA8YWJkaWVsLmphbnVs Z3VlQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1faW50ZXJuYWwuYyAgICB8IDE3ICsrKysrKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0LmggICAgICB8ICA2ICsrKysrKwogLi4uL2dwdS9kcm0v aTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmggICAgfCAgOSArKysrKysrKy0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wYWdlcy5jICAgICAgIHwgIDYgKysrKysrCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcmVnaW9uLmMgICAgICB8IDEzICsrKysr KysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5j IHwgMTIgKysrKy0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVn aW9uLmMgICAgICB8ICA0ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX21lbW9yeV9y ZWdpb24uaCAgICAgIHwgIDUgKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9p OTE1X2dlbV9ndHQuYyAgIHwgIDUgKystLS0KIDkgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9u cygrKSwgMjAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z2VtL2k5MTVfZ2VtX2ludGVybmFsLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9n ZW1faW50ZXJuYWwuYwppbmRleCAwYzQxZTA0YWI4ZmEuLjVlNzJjYjFjYzJkMyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2ludGVybmFsLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2ludGVybmFsLmMKQEAgLTExNywxMyArMTE3 LDYgQEAgc3RhdGljIGludCBpOTE1X2dlbV9vYmplY3RfZ2V0X3BhZ2VzX2ludGVybmFsKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCWdvdG8gZXJyOwogCX0KIAotCS8qIE1hcmsg dGhlIHBhZ2VzIGFzIGRvbnRuZWVkIHdoaWxzdCB0aGV5IGFyZSBzdGlsbCBwaW5uZWQuIEFzIHNv b24KLQkgKiBhcyB0aGV5IGFyZSB1bnBpbm5lZCB0aGV5IGFyZSBhbGxvd2VkIHRvIGJlIHJlYXBl ZCBieSB0aGUgc2hyaW5rZXIsCi0JICogYW5kIHRoZSBjYWxsZXIgaXMgZXhwZWN0ZWQgdG8gcmVw b3B1bGF0ZSAtIHRoZSBjb250ZW50cyBvZiB0aGlzCi0JICogb2JqZWN0IGFyZSBvbmx5IHZhbGlk IHdoaWxzdCBhY3RpdmUgYW5kIHBpbm5lZC4KLQkgKi8KLQlvYmotPm1tLm1hZHYgPSBJOTE1X01B RFZfRE9OVE5FRUQ7Ci0KIAlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMob2JqLCBzdCwgc2df cGFnZV9zaXplcyk7CiAKIAlyZXR1cm4gMDsKQEAgLTE0Myw3ICsxMzYsNiBAQCBzdGF0aWMgdm9p ZCBpOTE1X2dlbV9vYmplY3RfcHV0X3BhZ2VzX2ludGVybmFsKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCiAJaW50ZXJuYWxfZnJlZV9wYWdlcyhwYWdlcyk7CiAKIAlvYmotPm1tLmRp cnR5ID0gZmFsc2U7Ci0Jb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURWX1dJTExORUVEOwogfQogCiBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX29iamVj dF9pbnRlcm5hbF9vcHMgPSB7CkBAIC0xODgsNiArMTgwLDE1IEBAIGk5MTVfZ2VtX29iamVjdF9j cmVhdGVfaW50ZXJuYWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJZHJtX2dlbV9w cml2YXRlX29iamVjdF9pbml0KCZpOTE1LT5kcm0sICZvYmotPmJhc2UsIHNpemUpOwogCWk5MTVf Z2VtX29iamVjdF9pbml0KG9iaiwgJmk5MTVfZ2VtX29iamVjdF9pbnRlcm5hbF9vcHMpOwogCisJ LyoKKwkgKiBNYXJrIHRoZSBvYmplY3QgYXMgdm9sYXRpbGUsIHN1Y2ggdGhhdCB0aGUgcGFnZXMg YXJlIG1hcmtlZCBhcworCSAqIGRvbnRuZWVkIHdoaWxzdCB0aGV5IGFyZSBzdGlsbCBwaW5uZWQu IEFzIHNvb24gYXMgdGhleSBhcmUgdW5waW5uZWQKKwkgKiB0aGV5IGFyZSBhbGxvd2VkIHRvIGJl IHJlYXBlZCBieSB0aGUgc2hyaW5rZXIsIGFuZCB0aGUgY2FsbGVyIGlzCisJICogZXhwZWN0ZWQg dG8gcmVwb3B1bGF0ZSAtIHRoZSBjb250ZW50cyBvZiB0aGlzIG9iamVjdCBhcmUgb25seSB2YWxp ZAorCSAqIHdoaWxzdCBhY3RpdmUgYW5kIHBpbm5lZC4KKwkgKi8KKwlvYmotPmZsYWdzID0gSTkx NV9CT19BTExPQ19WT0xBVElMRTsKKwogCW9iai0+cmVhZF9kb21haW5zID0gSTkxNV9HRU1fRE9N QUlOX0NQVTsKIAlvYmotPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaCBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3QuaAppbmRleCA1M2M3MDY5YmEz ZTguLjBjMjQ0MzYwNDllNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX29iamVjdC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9v YmplY3QuaApAQCAtMTIyLDYgKzEyMiwxMiBAQCBpOTE1X2dlbV9vYmplY3RfbG9ja19mZW5jZShz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKTsKIHZvaWQgaTkxNV9nZW1fb2JqZWN0X3Vu bG9ja19mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgc3RydWN0 IGRtYV9mZW5jZSAqZmVuY2UpOwogCitzdGF0aWMgaW5saW5lIGJvb2wKK2k5MTVfZ2VtX29iamVj dF9pc192b2xhdGlsZShjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQorewor CXJldHVybiBvYmotPmZsYWdzICYgSTkxNV9CT19BTExPQ19WT0xBVElMRTsKK30KKwogc3RhdGlj IGlubGluZSB2b2lkCiBpOTE1X2dlbV9vYmplY3Rfc2V0X3JlYWRvbmx5KHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkx NV9nZW1fb2JqZWN0X3R5cGVzLmgKaW5kZXggMjk2MGFhMGM3OWY0Li45YTg1NzliNjczNTcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9vYmplY3RfdHlwZXMu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fb2JqZWN0X3R5cGVzLmgK QEAgLTEyMCw3ICsxMjAsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAKIAl1bnNp Z25lZCBsb25nIGZsYWdzOwogI2RlZmluZSBJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMgQklUKDAp Ci0jZGVmaW5lIEk5MTVfQk9fQUxMT0NfRkxBR1MgKEk5MTVfQk9fQUxMT0NfQ09OVElHVU9VUykK KyNkZWZpbmUgSTkxNV9CT19BTExPQ19WT0xBVElMRSAgIEJJVCgxKQorI2RlZmluZSBJOTE1X0JP X0FMTE9DX0ZMQUdTIChJOTE1X0JPX0FMTE9DX0NPTlRJR1VPVVMgfCBJOTE1X0JPX0FMTE9DX1ZP TEFUSUxFKQogCiAJLyoKIAkgKiBJcyB0aGUgb2JqZWN0IHRvIGJlIG1hcHBlZCBhcyByZWFkLW9u bHkgdG8gdGhlIEdQVQpAQCAtMTcxLDYgKzE3MiwxMiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCB7CiAJCSAqIExpc3Qgb2YgbWVtb3J5IHJlZ2lvbiBibG9ja3MgYWxsb2NhdGVkIGZvciB0 aGlzIG9iamVjdC4KIAkJICovCiAJCXN0cnVjdCBsaXN0X2hlYWQgYmxvY2tzOworCQkvKioKKwkJ ICogRWxlbWVudCB3aXRoaW4gbWVtb3J5X3JlZ2lvbi0+b2JqZWN0cyBvciByZWdpb24tPnB1cmdl YWJsZQorCQkgKiBpZiB0aGUgb2JqZWN0IGlzIG1hcmtlZCBhcyBET05UTkVFRC4gQWNjZXNzIGlz IHByb3RlY3RlZCBieQorCQkgKiByZWdpb24tPm9ial9sb2NrLgorCQkgKi8KKwkJc3RydWN0IGxp c3RfaGVhZCByZWdpb25fbGluazsKIAogCQlzdHJ1Y3Qgc2dfdGFibGUgKnBhZ2VzOwogCQl2b2lk ICptYXBwaW5nOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X3BhZ2VzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcGFnZXMuYwppbmRl eCAyZTk0MWYwOTNhMjAuLmIwZWMwOTU5YzEzZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ2VtL2k5MTVfZ2VtX3BhZ2VzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2Vt L2k5MTVfZ2VtX3BhZ2VzLmMKQEAgLTE4LDYgKzE4LDkgQEAgdm9pZCBfX2k5MTVfZ2VtX29iamVj dF9zZXRfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAogCWxvY2tkZXBf YXNzZXJ0X2hlbGQoJm9iai0+bW0ubG9jayk7CiAKKwlpZiAoaTkxNV9nZW1fb2JqZWN0X2lzX3Zv bGF0aWxlKG9iaikpCisJCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9ET05UTkVFRDsKKwogCS8q IE1ha2UgdGhlIHBhZ2VzIGNvaGVyZW50IHdpdGggdGhlIEdQVSAoZmx1c2hpbmcgYW55IHN3YXBp bikuICovCiAJaWYgKG9iai0+Y2FjaGVfZGlydHkpIHsKIAkJb2JqLT53cml0ZV9kb21haW4gPSAw OwpAQCAtMTYwLDYgKzE2Myw5IEBAIF9faTkxNV9nZW1fb2JqZWN0X3Vuc2V0X3BhZ2VzKHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJaWYgKElTX0VSUl9PUl9OVUxMKHBhZ2VzKSkK IAkJcmV0dXJuIHBhZ2VzOwogCisJaWYgKGk5MTVfZ2VtX29iamVjdF9pc192b2xhdGlsZShvYmop KQorCQlvYmotPm1tLm1hZHYgPSBJOTE1X01BRFZfV0lMTE5FRUQ7CisKIAlpOTE1X2dlbV9vYmpl Y3RfbWFrZV91bnNocmlua2FibGUob2JqKTsKIAogCWlmIChvYmotPm1tLm1hcHBpbmcpIHsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9yZWdpb24uYwppbmRleCAwNGNiOWY3Mjk0 NWUuLjY2MzI1NGIzZGEyMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5 MTVfZ2VtX3JlZ2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9y ZWdpb24uYwpAQCAtMTA5LDEwICsxMDksMjMgQEAgdm9pZCBpOTE1X2dlbV9vYmplY3RfaW5pdF9t ZW1vcnlfcmVnaW9uKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJSU5JVF9MSVNU X0hFQUQoJm9iai0+bW0uYmxvY2tzKTsKIAlvYmotPm1tLnJlZ2lvbiA9IGludGVsX21lbW9yeV9y ZWdpb25fZ2V0KG1lbSk7CiAJb2JqLT5mbGFncyA9IGZsYWdzOworCisJbXV0ZXhfbG9jaygmbWVt LT5vYmpfbG9jayk7CisKKwlpZiAob2JqLT5mbGFncyAmIEk5MTVfQk9fQUxMT0NfVk9MQVRJTEUp CisJCWxpc3RfYWRkKCZvYmotPm1tLnJlZ2lvbl9saW5rLCAmbWVtLT5wdXJnZWFibGUpOworCWVs c2UKKwkJbGlzdF9hZGQoJm9iai0+bW0ucmVnaW9uX2xpbmssICZtZW0tPm9iamVjdHMpOworCisJ bXV0ZXhfdW5sb2NrKCZtZW0tPm9ial9sb2NrKTsKIH0KIAogdm9pZCBpOTE1X2dlbV9vYmplY3Rf cmVsZWFzZV9tZW1vcnlfcmVnaW9uKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiB7 CisJbXV0ZXhfbG9jaygmb2JqLT5tbS5yZWdpb24tPm9ial9sb2NrKTsKKwlsaXN0X2RlbCgmb2Jq LT5tbS5yZWdpb25fbGluayk7CisJbXV0ZXhfdW5sb2NrKCZvYmotPm1tLnJlZ2lvbi0+b2JqX2xv Y2spOworCiAJaW50ZWxfbWVtb3J5X3JlZ2lvbl9wdXQob2JqLT5tbS5yZWdpb24pOwogfQogCmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9zZWxmdGVzdHMvaHVnZV9wYWdlcy5jCmluZGV4 IDI1NDljMjMzNDY1Yy4uMTc3MmQ0Y2JmM2QyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9nZW0vc2VsZnRlc3RzL2h1Z2VfcGFnZXMuYwpAQCAtMTE1LDggKzExNSw2IEBAIHN0YXRpYyBp bnQgZ2V0X2h1Z2VfcGFnZXMoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAlpZiAo aTkxNV9nZW1fZ3R0X3ByZXBhcmVfcGFnZXMob2JqLCBzdCkpCiAJCWdvdG8gZXJyOwogCi0Jb2Jq LT5tbS5tYWR2ID0gSTkxNV9NQURWX0RPTlRORUVEOwotCiAJR0VNX0JVR19PTihzZ19wYWdlX3Np emVzICE9IG9iai0+bW0ucGFnZV9tYXNrKTsKIAlfX2k5MTVfZ2VtX29iamVjdF9zZXRfcGFnZXMo b2JqLCBzdCwgc2dfcGFnZV9zaXplcyk7CiAKQEAgLTEzNyw3ICsxMzUsNiBAQCBzdGF0aWMgdm9p ZCBwdXRfaHVnZV9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCWh1Z2Vf cGFnZXNfZnJlZV9wYWdlcyhwYWdlcyk7CiAKIAlvYmotPm1tLmRpcnR5ID0gZmFsc2U7Ci0Jb2Jq LT5tbS5tYWR2ID0gSTkxNV9NQURWX1dJTExORUVEOwogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3Rfb3BzIGh1Z2VfcGFnZV9vcHMgPSB7CkBAIC0xNzAsNiArMTY3 LDggQEAgaHVnZV9wYWdlc19vYmplY3Qoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJ ZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KCZpOTE1LT5kcm0sICZvYmotPmJhc2UsIHNpemUp OwogCWk5MTVfZ2VtX29iamVjdF9pbml0KG9iaiwgJmh1Z2VfcGFnZV9vcHMpOwogCisJb2JqLT5m bGFncyA9IEk5MTVfQk9fQUxMT0NfVk9MQVRJTEU7CisKIAlvYmotPndyaXRlX2RvbWFpbiA9IEk5 MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5f Q1BVOwogCW9iai0+Y2FjaGVfbGV2ZWwgPSBJOTE1X0NBQ0hFX05PTkU7CkBAIC0yMjksOCArMjI4 LDYgQEAgc3RhdGljIGludCBmYWtlX2dldF9odWdlX3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopCiAKIAlpOTE1X3NnX3RyaW0oc3QpOwogCi0Jb2JqLT5tbS5tYWR2ID0gSTkx NV9NQURWX0RPTlRORUVEOwotCiAJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3Qs IHNnX3BhZ2Vfc2l6ZXMpOwogCiAJcmV0dXJuIDA7CkBAIC0yNjMsOCArMjYwLDYgQEAgc3RhdGlj IGludCBmYWtlX2dldF9odWdlX3BhZ2VzX3NpbmdsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqb2JqKQogCXNnX2RtYV9sZW4oc2cpID0gb2JqLT5iYXNlLnNpemU7CiAJc2dfZG1hX2FkZHJl c3Moc2cpID0gcGFnZV9zaXplOwogCi0Jb2JqLT5tbS5tYWR2ID0gSTkxNV9NQURWX0RPTlRORUVE OwotCiAJX19pOTE1X2dlbV9vYmplY3Rfc2V0X3BhZ2VzKG9iaiwgc3QsIHNnLT5sZW5ndGgpOwog CiAJcmV0dXJuIDA7CkBAIC0yODMsNyArMjc4LDYgQEAgc3RhdGljIHZvaWQgZmFrZV9wdXRfaHVn ZV9wYWdlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogewogCWZha2VfZnJlZV9o dWdlX3BhZ2VzKG9iaiwgcGFnZXMpOwogCW9iai0+bW0uZGlydHkgPSBmYWxzZTsKLQlvYmotPm1t Lm1hZHYgPSBJOTE1X01BRFZfV0lMTE5FRUQ7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdF9vcHMgZmFrZV9vcHMgPSB7CkBAIC0zMjMsNiArMzE3LDggQEAgZmFr ZV9odWdlX3BhZ2VzX29iamVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgdTY0IHNp emUsIGJvb2wgc2luZ2xlKQogCWVsc2UKIAkJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAmZmFr ZV9vcHMpOwogCisJb2JqLT5mbGFncyA9IEk5MTVfQk9fQUxMT0NfVk9MQVRJTEU7CisKIAlvYmot PndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9DUFU7CiAJb2JqLT5yZWFkX2RvbWFpbnMg PSBJOTE1X0dFTV9ET01BSU5fQ1BVOwogCW9iai0+Y2FjaGVfbGV2ZWwgPSBJOTE1X0NBQ0hFX05P TkU7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9u LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmMKaW5kZXggOTgw MDY2MThlODcxLi5mZTgwODg5OWNiZjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX21lbW9yeV9yZWdpb24uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9t ZW1vcnlfcmVnaW9uLmMKQEAgLTE1Miw2ICsxNTIsMTAgQEAgaW50ZWxfbWVtb3J5X3JlZ2lvbl9j cmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJbWVtLT5taW5fcGFnZV9zaXpl ID0gbWluX3BhZ2Vfc2l6ZTsKIAltZW0tPm9wcyA9IG9wczsKIAorCW11dGV4X2luaXQoJm1lbS0+ b2JqX2xvY2spOworCUlOSVRfTElTVF9IRUFEKCZtZW0tPm9iamVjdHMpOworCUlOSVRfTElTVF9I RUFEKCZtZW0tPnB1cmdlYWJsZSk7CisKIAltdXRleF9pbml0KCZtZW0tPm1tX2xvY2spOwogCiAJ aWYgKG9wcy0+aW5pdCkgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bWVtb3J5X3JlZ2lvbi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lv bi5oCmluZGV4IDA1ZjI4OTk1M2M4Yi4uYTU5ZjYzODA4ZTQ0IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9tZW1vcnlfcmVnaW9uLmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfbWVtb3J5X3JlZ2lvbi5oCkBAIC01Miw2ICs1MiwxMSBAQCBzdHJ1Y3QgaW50 ZWxfbWVtb3J5X3JlZ2lvbiB7CiAJdW5zaWduZWQgaW50IHR5cGU7CiAJdW5zaWduZWQgaW50IGlu c3RhbmNlOwogCXVuc2lnbmVkIGludCBpZDsKKworCS8qIFByb3RlY3RzIGFjY2VzcyB0byBvYmpl Y3RzIGFuZCBwdXJnZWFibGUgKi8KKwlzdHJ1Y3QgbXV0ZXggb2JqX2xvY2s7CisJc3RydWN0IGxp c3RfaGVhZCBvYmplY3RzOworCXN0cnVjdCBsaXN0X2hlYWQgcHVyZ2VhYmxlOwogfTsKIAogaW50 IGludGVsX21lbW9yeV9yZWdpb25faW5pdF9idWRkeShzdHJ1Y3QgaW50ZWxfbWVtb3J5X3JlZ2lv biAqbWVtKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1 X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQu YwppbmRleCBmOTAxYmJiOTU4NmUuLjNhODRkMTA4MzI4OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL2k5MTVfZ2VtX2d0dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L3NlbGZ0ZXN0cy9pOTE1X2dlbV9ndHQuYwpAQCAtOTEsOCArOTEsNiBAQCBzdGF0aWMg aW50IGZha2VfZ2V0X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJfQog CUdFTV9CVUdfT04ocmVtKTsKIAotCW9iai0+bW0ubWFkdiA9IEk5MTVfTUFEVl9ET05UTkVFRDsK LQogCV9faTkxNV9nZW1fb2JqZWN0X3NldF9wYWdlcyhvYmosIHBhZ2VzLCBzZ19wYWdlX3NpemVz KTsKIAogCXJldHVybiAwOwpAQCAtMTA0LDcgKzEwMiw2IEBAIHN0YXRpYyB2b2lkIGZha2VfcHV0 X3BhZ2VzKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiB7CiAJZmFrZV9mcmVlX3Bh Z2VzKG9iaiwgcGFnZXMpOwogCW9iai0+bW0uZGlydHkgPSBmYWxzZTsKLQlvYmotPm1tLm1hZHYg PSBJOTE1X01BRFZfV0lMTE5FRUQ7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdF9vcHMgZmFrZV9vcHMgPSB7CkBAIC0xMzEsNiArMTI4LDggQEAgZmFrZV9kbWFf b2JqZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCB1NjQgc2l6ZSkKIAlkcm1fZ2Vt X3ByaXZhdGVfb2JqZWN0X2luaXQoJmk5MTUtPmRybSwgJm9iai0+YmFzZSwgc2l6ZSk7CiAJaTkx NV9nZW1fb2JqZWN0X2luaXQob2JqLCAmZmFrZV9vcHMpOwogCisJb2JqLT5mbGFncyA9IEk5MTVf Qk9fQUxMT0NfVk9MQVRJTEU7CisKIAlvYmotPndyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJ Tl9DUFU7CiAJb2JqLT5yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9ET01BSU5fQ1BVOwogCW9iai0+ Y2FjaGVfbGV2ZWwgPSBJOTE1X0NBQ0hFX05PTkU7Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==