From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 1/5] drm/i915: Move flags describing VMA mappings into the VMA Date: Thu, 30 Oct 2014 16:39:34 +0000 Message-ID: <1414687178-18562-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1414687178-18562-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 1AA6C6E0B0 for ; Thu, 30 Oct 2014 09:40:02 -0700 (PDT) In-Reply-To: <1414687178-18562-1-git-send-email-tvrtko.ursulin@linux.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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCklmIHRoZXNl IGZsYWdzIGFyZSBvbiB0aGUgb2JqZWN0IGxldmVsIGl0IHdpbGwgYmUgbW9yZSBkaWZmaWN1bHQg dG8gYWxsb3cKZm9yIG11bHRpcGxlIFZNQXMgcGVyIG9iamVjdC4KCnYyOiBTaW1wbGlmaWNhdGlv biBhbmQgY2xlYW51cCBhZnRlciBjb2RlIHJldmlldyBjb21tZW50cyAoQ2hyaXMgV2lsc29uKS4K ClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgfCAgMiArLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICAgIHwgIDIgLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICB8IDEwICsrKysrLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICA5ICsrKy0tLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMgICAgICAgIHwgMjQgKysrKysrKysrKysrLS0t LS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuaCAgICAgICAgfCAg OCArKysrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMgICAgIHwg IDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMgICAgICB8IDEwICsr KysrKy0tLS0KIDkgZmlsZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRleCBkOGQwOGZjLi42YTE1ZmI2 IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtMTE4LDcgKzExOCw3IEBAIHN0 YXRpYyBjb25zdCBjaGFyICpnZXRfdGlsaW5nX2ZsYWcoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaikKIAogc3RhdGljIGlubGluZSBjb25zdCBjaGFyICpnZXRfZ2xvYmFsX2ZsYWcoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIHsKLQlyZXR1cm4gb2JqLT5oYXNfZ2xvYmFs X2d0dF9tYXBwaW5nID8gImciIDogIiAiOworCXJldHVybiBpOTE1X2dlbV9vYmpfdG9fZ2d0dChv YmopID8gImciIDogIiAiOwogfQogCiBzdGF0aWMgdm9pZApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK aW5kZXggY2UzZjAxZi4uYTgzMGI4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xOTY1 LDggKzE5NjUsNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7CiAJdW5zaWduZWQgbG9u ZyBndF9ybzoxOwogCXVuc2lnbmVkIGludCBjYWNoZV9sZXZlbDozOwogCi0JdW5zaWduZWQgaW50 IGhhc19hbGlhc2luZ19wcGd0dF9tYXBwaW5nOjE7Ci0JdW5zaWduZWQgaW50IGhhc19nbG9iYWxf Z3R0X21hcHBpbmc6MTsKIAl1bnNpZ25lZCBpbnQgaGFzX2RtYV9tYXBwaW5nOjE7CiAKIAl1bnNp Z25lZCBpbnQgZnJvbnRidWZmZXJfYml0czpJTlRFTF9GUk9OVEJVRkZFUl9CSVRTOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKaW5kZXggZWRhYjhmMS4uMjU1YTQzMSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCkBAIC0zNzAwLDcgKzM3MDAsNyBAQCBpbnQgaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNo ZV9sZXZlbChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQlsaXN0X2Zvcl9lYWNo X2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKQogCQkJaWYgKGRybV9tbV9ub2Rl X2FsbG9jYXRlZCgmdm1hLT5ub2RlKSkKIAkJCQl2bWEtPmJpbmRfdm1hKHZtYSwgY2FjaGVfbGV2 ZWwsCi0JCQkJCSAgICAgIG9iai0+aGFzX2dsb2JhbF9ndHRfbWFwcGluZyA/IEdMT0JBTF9CSU5E IDogMCk7CisJCQkJCQl2bWEtPmJvdW5kICYgR0xPQkFMX0JJTkQpOwogCX0KIAogCWxpc3RfZm9y X2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspCkBAIC00MDk2LDcgKzQw OTYsNyBAQCBpOTE1X2dlbV9vYmplY3RfcGluKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpv YmosCiAJCQlyZXR1cm4gUFRSX0VSUih2bWEpOwogCX0KIAotCWlmIChmbGFncyAmIFBJTl9HTE9C QUwgJiYgIW9iai0+aGFzX2dsb2JhbF9ndHRfbWFwcGluZykKKwlpZiAoZmxhZ3MgJiBQSU5fR0xP QkFMICYmICEodm1hLT5ib3VuZCAmIEdMT0JBTF9CSU5EKSkKIAkJdm1hLT5iaW5kX3ZtYSh2bWEs IG9iai0+Y2FjaGVfbGV2ZWwsIEdMT0JBTF9CSU5EKTsKIAogCXZtYS0+cGluX2NvdW50Kys7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggYmY0MWY0MS4uNWZmNmU5 NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtNTI1LDYgKzUy NSw3IEBAIHN0YXRpYyBpbnQgZG9fc3dpdGNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcs CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmZyb20gPSByaW5nLT5sYXN0X2NvbnRleHQ7CiAJdTMy IGh3X2ZsYWdzID0gMDsKIAlib29sIHVuaW5pdGlhbGl6ZWQgPSBmYWxzZTsKKwlzdHJ1Y3QgaTkx NV92bWEgKnZtYTsKIAlpbnQgcmV0LCBpOwogCiAJaWYgKGZyb20gIT0gTlVMTCAmJiByaW5nID09 ICZkZXZfcHJpdi0+cmluZ1tSQ1NdKSB7CkBAIC01NzQsMTEgKzU3NSwxMCBAQCBzdGF0aWMgaW50 IGRvX3N3aXRjaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCWlmIChyZXQpCiAJCWdv dG8gdW5waW5fb3V0OwogCi0JaWYgKCF0by0+bGVnYWN5X2h3X2N0eC5yY3Nfc3RhdGUtPmhhc19n bG9iYWxfZ3R0X21hcHBpbmcpIHsKLQkJc3RydWN0IGk5MTVfdm1hICp2bWEgPSBpOTE1X2dlbV9v YmpfdG9fdm1hKHRvLT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSwKLQkJCQkJCQkgICAmZGV2X3By aXYtPmd0dC5iYXNlKTsKLQkJdm1hLT5iaW5kX3ZtYSh2bWEsIHRvLT5sZWdhY3lfaHdfY3R4LnJj c19zdGF0ZS0+Y2FjaGVfbGV2ZWwsIEdMT0JBTF9CSU5EKTsKLQl9CisJdm1hID0gaTkxNV9nZW1f b2JqX3RvX2dndHQodG8tPmxlZ2FjeV9od19jdHgucmNzX3N0YXRlKTsKKwlpZiAoISh2bWEtPmJv dW5kICYgR0xPQkFMX0JJTkQpKQorCQl2bWEtPmJpbmRfdm1hKHZtYSwgdG8tPmxlZ2FjeV9od19j dHgucmNzX3N0YXRlLT5jYWNoZV9sZXZlbCwKKwkJCQlHTE9CQUxfQklORCk7CiAKIAlpZiAoIXRv LT5sZWdhY3lfaHdfY3R4LmluaXRpYWxpemVkIHx8IGk5MTVfZ2VtX2NvbnRleHRfaXNfZGVmYXVs dCh0bykpCiAJCWh3X2ZsYWdzIHw9IE1JX1JFU1RPUkVfSU5ISUJJVDsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCBmOGNjOTM1Li44ZDU2ZDViIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0zNTcsMTIgKzM1 Nyw5IEBAIGk5MTVfZ2VtX2V4ZWNidWZmZXJfcmVsb2NhdGVfZW50cnkoc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iaiwKIAkgKiB0aHJvdWdoIHRoZSBwcGd0dCBmb3Igbm9uX3NlY3VyZSBi YXRjaGJ1ZmZlcnMuICovCiAJaWYgKHVubGlrZWx5KElTX0dFTjYoZGV2KSAmJgogCSAgICByZWxv Yy0+d3JpdGVfZG9tYWluID09IEk5MTVfR0VNX0RPTUFJTl9JTlNUUlVDVElPTiAmJgotCSAgICAh dGFyZ2V0X2k5MTVfb2JqLT5oYXNfZ2xvYmFsX2d0dF9tYXBwaW5nKSkgewotCQlzdHJ1Y3QgaTkx NV92bWEgKnZtYSA9Ci0JCQlsaXN0X2ZpcnN0X2VudHJ5KCZ0YXJnZXRfaTkxNV9vYmotPnZtYV9s aXN0LAotCQkJCQkgdHlwZW9mKCp2bWEpLCB2bWFfbGluayk7Ci0JCXZtYS0+YmluZF92bWEodm1h LCB0YXJnZXRfaTkxNV9vYmotPmNhY2hlX2xldmVsLCBHTE9CQUxfQklORCk7Ci0JfQorCSAgICAh KHRhcmdldF92bWEtPmJvdW5kICYgR0xPQkFMX0JJTkQpKSkKKwkJdGFyZ2V0X3ZtYS0+YmluZF92 bWEodGFyZ2V0X3ZtYSwgdGFyZ2V0X2k5MTVfb2JqLT5jYWNoZV9sZXZlbCwKKwkJCQlHTE9CQUxf QklORCk7CiAKIAkvKiBWYWxpZGF0ZSB0aGF0IHRoZSB0YXJnZXQgaXMgaW4gYSB2YWxpZCByL3cg R1BVIGRvbWFpbiAqLwogCWlmICh1bmxpa2VseShyZWxvYy0+d3JpdGVfZG9tYWluICYgKHJlbG9j LT53cml0ZV9kb21haW4gLSAxKSkpIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5k ZXggYjgwYWI4Ni4uODE0YTgwNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fZ3R0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKQEAg LTEzMjQsNyArMTMyNCw3IEBAIHZvaWQgaTkxNV9nZW1fcmVzdG9yZV9ndHRfbWFwcGluZ3Moc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIAkJICogVW5mb3J0dW5hdGVseSBhYm92ZSwgd2UndmUganVz dCB3aXBlZCBvdXQgdGhlIG1hcHBpbmdzCiAJCSAqIHdpdGhvdXQgdGVsbGluZyBvdXIgb2JqZWN0 IGFib3V0IGl0LiBTbyB3ZSBuZWVkIHRvIGZha2UgaXQuCiAJCSAqLwotCQlvYmotPmhhc19nbG9i YWxfZ3R0X21hcHBpbmcgPSAwOworCQl2bWEtPmJvdW5kICY9IH5HTE9CQUxfQklORDsKIAkJdm1h LT5iaW5kX3ZtYSh2bWEsIG9iai0+Y2FjaGVfbGV2ZWwsIEdMT0JBTF9CSU5EKTsKIAl9CiAKQEAg LTE1MjEsNyArMTUyMSw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2d0dF9iaW5kX3ZtYShzdHJ1Y3Qg aTkxNV92bWEgKnZtYSwKIAogCUJVR19PTighaTkxNV9pc19nZ3R0KHZtYS0+dm0pKTsKIAlpbnRl bF9ndHRfaW5zZXJ0X3NnX2VudHJpZXModm1hLT5vYmotPnBhZ2VzLCBlbnRyeSwgZmxhZ3MpOwot CXZtYS0+b2JqLT5oYXNfZ2xvYmFsX2d0dF9tYXBwaW5nID0gMTsKKwl2bWEtPmJvdW5kID0gR0xP QkFMX0JJTkQ7CiB9CiAKIHN0YXRpYyB2b2lkIGk5MTVfZ2d0dF9jbGVhcl9yYW5nZShzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSwKQEAgLTE1NDAsNyArMTU0MCw3IEBAIHN0YXRpYyB2b2lk IGk5MTVfZ2d0dF91bmJpbmRfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKQogCWNvbnN0IHVuc2ln bmVkIGludCBzaXplID0gdm1hLT5vYmotPmJhc2Uuc2l6ZSA+PiBQQUdFX1NISUZUOwogCiAJQlVH X09OKCFpOTE1X2lzX2dndHQodm1hLT52bSkpOwotCXZtYS0+b2JqLT5oYXNfZ2xvYmFsX2d0dF9t YXBwaW5nID0gMDsKKwl2bWEtPmJvdW5kID0gMDsKIAlpbnRlbF9ndHRfY2xlYXJfcmFuZ2UoZmly c3QsIHNpemUpOwogfQogCkBAIC0xNTY4LDI0ICsxNTY4LDI0IEBAIHN0YXRpYyB2b2lkIGdndHRf YmluZF92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJICogZmxhZ3MuIEF0IGFsbCBvdGhlciB0 aW1lcywgdGhlIEdQVSB3aWxsIHVzZSB0aGUgYWxpYXNpbmcgUFBHVFQuCiAJICovCiAJaWYgKCFk ZXZfcHJpdi0+bW0uYWxpYXNpbmdfcHBndHQgfHwgZmxhZ3MgJiBHTE9CQUxfQklORCkgewotCQlp ZiAoIW9iai0+aGFzX2dsb2JhbF9ndHRfbWFwcGluZyB8fAorCQlpZiAoISh2bWEtPmJvdW5kICYg R0xPQkFMX0JJTkQpIHx8CiAJCSAgICAoY2FjaGVfbGV2ZWwgIT0gb2JqLT5jYWNoZV9sZXZlbCkp IHsKIAkJCXZtYS0+dm0tPmluc2VydF9lbnRyaWVzKHZtYS0+dm0sIG9iai0+cGFnZXMsCiAJCQkJ CQl2bWEtPm5vZGUuc3RhcnQsCiAJCQkJCQljYWNoZV9sZXZlbCwgZmxhZ3MpOwotCQkJb2JqLT5o YXNfZ2xvYmFsX2d0dF9tYXBwaW5nID0gMTsKKwkJCXZtYS0+Ym91bmQgfD0gR0xPQkFMX0JJTkQ7 CiAJCX0KIAl9CiAKIAlpZiAoZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0ICYmCi0JICAgICgh b2JqLT5oYXNfYWxpYXNpbmdfcHBndHRfbWFwcGluZyB8fAorCSAgICAoISh2bWEtPmJvdW5kICYg TE9DQUxfQklORCkgfHwKIAkgICAgIChjYWNoZV9sZXZlbCAhPSBvYmotPmNhY2hlX2xldmVsKSkp IHsKIAkJc3RydWN0IGk5MTVfaHdfcHBndHQgKmFwcGd0dCA9IGRldl9wcml2LT5tbS5hbGlhc2lu Z19wcGd0dDsKIAkJYXBwZ3R0LT5iYXNlLmluc2VydF9lbnRyaWVzKCZhcHBndHQtPmJhc2UsCiAJ CQkJCSAgICB2bWEtPm9iai0+cGFnZXMsCiAJCQkJCSAgICB2bWEtPm5vZGUuc3RhcnQsCiAJCQkJ CSAgICBjYWNoZV9sZXZlbCwgZmxhZ3MpOwotCQl2bWEtPm9iai0+aGFzX2FsaWFzaW5nX3BwZ3R0 X21hcHBpbmcgPSAxOworCQl2bWEtPmJvdW5kIHw9IExPQ0FMX0JJTkQ7CiAJfQogfQogCkBAIC0x NTk1LDIxICsxNTk1LDIxIEBAIHN0YXRpYyB2b2lkIGdndHRfdW5iaW5kX3ZtYShzdHJ1Y3QgaTkx NV92bWEgKnZtYSkKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSB2bWEtPm9iajsK IAotCWlmIChvYmotPmhhc19nbG9iYWxfZ3R0X21hcHBpbmcpIHsKKwlpZiAodm1hLT5ib3VuZCAm IEdMT0JBTF9CSU5EKSB7CiAJCXZtYS0+dm0tPmNsZWFyX3JhbmdlKHZtYS0+dm0sCiAJCQkJICAg ICB2bWEtPm5vZGUuc3RhcnQsCiAJCQkJICAgICBvYmotPmJhc2Uuc2l6ZSwKIAkJCQkgICAgIHRy dWUpOwotCQlvYmotPmhhc19nbG9iYWxfZ3R0X21hcHBpbmcgPSAwOworCQl2bWEtPmJvdW5kICY9 IH5HTE9CQUxfQklORDsKIAl9CiAKLQlpZiAob2JqLT5oYXNfYWxpYXNpbmdfcHBndHRfbWFwcGlu ZykgeworCWlmICh2bWEtPmJvdW5kICYgTE9DQUxfQklORCkgewogCQlzdHJ1Y3QgaTkxNV9od19w cGd0dCAqYXBwZ3R0ID0gZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0OwogCQlhcHBndHQtPmJh c2UuY2xlYXJfcmFuZ2UoJmFwcGd0dC0+YmFzZSwKIAkJCQkJIHZtYS0+bm9kZS5zdGFydCwKIAkJ CQkJIG9iai0+YmFzZS5zaXplLAogCQkJCQkgdHJ1ZSk7Ci0JCW9iai0+aGFzX2FsaWFzaW5nX3Bw Z3R0X21hcHBpbmcgPSAwOworCQl2bWEtPmJvdW5kICY9IH5MT0NBTF9CSU5EOwogCX0KIH0KIApA QCAtMTY4Nyw3ICsxNjg3LDcgQEAgaW50IGk5MTVfZ2VtX3NldHVwX2dsb2JhbF9ndHQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKIAkJCURSTV9ERUJVR19LTVMoIlJlc2VydmF0aW9uIGZhaWxlZDog JWlcbiIsIHJldCk7CiAJCQlyZXR1cm4gcmV0OwogCQl9Ci0JCW9iai0+aGFzX2dsb2JhbF9ndHRf bWFwcGluZyA9IDE7CisJCXZtYS0+Ym91bmQgfD0gR0xPQkFMX0JJTkQ7CiAJfQogCiAJZGV2X3By aXYtPmd0dC5iYXNlLnN0YXJ0ID0gc3RhcnQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9ndHQuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5o CmluZGV4IGQ1YzE0YWYuLmQwNTYyZDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2d0dC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5o CkBAIC0xMjMsNiArMTIzLDEyIEBAIHN0cnVjdCBpOTE1X3ZtYSB7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bTsKIAorCS8q KiBGbGFncyBhbmQgYWRkcmVzcyBzcGFjZSB0aGlzIFZNQSBpcyBib3VuZCB0byAqLworI2RlZmlu ZSBHTE9CQUxfQklORAkoMTw8MCkKKyNkZWZpbmUgTE9DQUxfQklORAkoMTw8MSkKKyNkZWZpbmUg UFRFX1JFQURfT05MWQkoMTw8MikKKwl1bnNpZ25lZCBpbnQgYm91bmQgOiA0OworCiAJLyoqIFRo aXMgb2JqZWN0J3MgcGxhY2Ugb24gdGhlIGFjdGl2ZS9pbmFjdGl2ZSBsaXN0cyAqLwogCXN0cnVj dCBsaXN0X2hlYWQgbW1fbGlzdDsKIApAQCAtMTU1LDggKzE2MSw2IEBAIHN0cnVjdCBpOTE1X3Zt YSB7CiAJICogc2V0dGluZyB0aGUgdmFsaWQgUFRFIGVudHJpZXMgdG8gYSByZXNlcnZlZCBzY3Jh dGNoIHBhZ2UuICovCiAJdm9pZCAoKnVuYmluZF92bWEpKHN0cnVjdCBpOTE1X3ZtYSAqdm1hKTsK IAkvKiBNYXAgYW4gb2JqZWN0IGludG8gYW4gYWRkcmVzcyBzcGFjZSB3aXRoIHRoZSBnaXZlbiBj YWNoZSBmbGFncy4gKi8KLSNkZWZpbmUgR0xPQkFMX0JJTkQgKDE8PDApCi0jZGVmaW5lIFBURV9S RUFEX09OTFkgKDE8PDEpCiAJdm9pZCAoKmJpbmRfdm1hKShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwK IAkJCSBlbnVtIGk5MTVfY2FjaGVfbGV2ZWwgY2FjaGVfbGV2ZWwsCiAJCQkgdTMyIGZsYWdzKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0b2xlbi5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKaW5kZXggODVmZGE2Yi4uYzM4ODkx OCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKQEAgLTUzMyw3ICs1MzMs NyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJCX0KIAl9CiAKLQlvYmotPmhhc19nbG9iYWxfZ3R0X21hcHBp bmcgPSAxOworCXZtYS0+Ym91bmQgfD0gR0xPQkFMX0JJTkQ7CiAKIAlsaXN0X2FkZF90YWlsKCZv YmotPmdsb2JhbF9saXN0LCAmZGV2X3ByaXYtPm1tLmJvdW5kX2xpc3QpOwogCWxpc3RfYWRkX3Rh aWwoJnZtYS0+bW1fbGlzdCwgJmdndHQtPmluYWN0aXZlX2xpc3QpOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ3B1X2Vycm9yLmMKaW5kZXggMDUzZDk5ZS4uODBmMGM4MCAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dwdV9lcnJvci5jCkBAIC01NjcsNiArNTY3LDcgQEAgaTkxNV9lcnJvcl9vYmpl Y3RfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSBzdHJ1Y3Qg aTkxNV9hZGRyZXNzX3NwYWNlICp2bSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfb2JqZWN0 ICpkc3Q7CisJc3RydWN0IGk5MTVfdm1hICp2bWEgPSBOVUxMOwogCWludCBudW1fcGFnZXM7CiAJ Ym9vbCB1c2VfZ2d0dDsKIAlpbnQgaSA9IDA7CkBAIC01ODcsMTYgKzU4OCwxNyBAQCBpOTE1X2Vy cm9yX29iamVjdF9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQlk c3QtPmd0dF9vZmZzZXQgPSAtMTsKIAogCXJlbG9jX29mZnNldCA9IGRzdC0+Z3R0X29mZnNldDsK KwlpZiAoaTkxNV9pc19nZ3R0KHZtKSkKKwkJdm1hID0gaTkxNV9nZW1fb2JqX3RvX2dndHQoc3Jj KTsKIAl1c2VfZ2d0dCA9IChzcmMtPmNhY2hlX2xldmVsID09IEk5MTVfQ0FDSEVfTk9ORSAmJgot CQkgICAgaTkxNV9pc19nZ3R0KHZtKSAmJgotCQkgICAgc3JjLT5oYXNfZ2xvYmFsX2d0dF9tYXBw aW5nICYmCi0JCSAgICByZWxvY19vZmZzZXQgKyBudW1fcGFnZXMgKiBQQUdFX1NJWkUgPD0gZGV2 X3ByaXYtPmd0dC5tYXBwYWJsZV9lbmQpOworCQkgICB2bWEgJiYgKHZtYS0+Ym91bmQgJiBHTE9C QUxfQklORCkgJiYKKwkJICAgcmVsb2Nfb2Zmc2V0ICsgbnVtX3BhZ2VzICogUEFHRV9TSVpFIDw9 IGRldl9wcml2LT5ndHQubWFwcGFibGVfZW5kKTsKIAogCS8qIENhbm5vdCBhY2Nlc3Mgc3RvbGVu IGFkZHJlc3MgZGlyZWN0bHksIHRyeSB0byB1c2UgdGhlIGFwZXJ0dXJlICovCiAJaWYgKHNyYy0+ c3RvbGVuKSB7CiAJCXVzZV9nZ3R0ID0gdHJ1ZTsKIAotCQlpZiAoIXNyYy0+aGFzX2dsb2JhbF9n dHRfbWFwcGluZykKKwkJaWYgKCEodm1hICYmIHZtYS0+Ym91bmQgJiBHTE9CQUxfQklORCkpCiAJ CQlnb3RvIHVud2luZDsKIAogCQlyZWxvY19vZmZzZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZz ZXQoc3JjKTsKLS0gCjIuMS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2lu dGVsLWdmeAo=