From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 2/2] drm/i915: Reduce the pointer dance of i915_is_ggtt() Date: Fri, 26 Feb 2016 11:03:20 +0000 Message-ID: <1456484600-11477-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1456484600-11477-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id DB7D36EA97 for ; Fri, 26 Feb 2016 11:03:25 +0000 (UTC) In-Reply-To: <1456484600-11477-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 RnJvbTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CgpUaGUgbXVsdGlw bGUgbGV2ZWxzIG9mIGluZGlyZWN0IGRvIG5vdGhpbmcgYnV0IGhpbmRlciB0aGUgY29tcGlsZXIg YW5kCnRoZSBwb2ludGVyIGNoYXNpbmcgdHVybnMgdG8gYmUgcXVpdGUgcGFpbmZ1bCBidXQgcGFp bmxlc3MgdG8gZml4LgoKU2lnbmVkLW9mZi1ieTogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13 aWxzb24uY28udWs+ClJldmlld2VkLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtvLnVyc3VsaW5A aW50ZWwuY29tPgpSZXZpZXdlZC1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVs LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgfCAx MyArKysrKystLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAg ICAgfCAgNyAtLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAg ICAgfCAxOCArKysrKysrLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2V4ZWNidWZmZXIuYyB8ICA1ICsrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9n dHQuYyAgICAgICAgfCAxMiArKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2d0dC5oICAgICAgICB8ICA1ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Ry YWNlLmggICAgICAgICAgfCAyNyArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDcgZmlsZXMg Y2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgNTQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwppbmRleCBkN2YwM2JjZWVhNTcuLmEwZjFiZDcxMWI1MyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAgLTExOCw3ICsxMTgsNyBAQCBzdGF0aWMgdTY0 IGk5MTVfZ2VtX29ial90b3RhbF9nZ3R0X3NpemUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaikKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkodm1h LCAmb2JqLT52bWFfbGlzdCwgb2JqX2xpbmspIHsKLQkJaWYgKGk5MTVfaXNfZ2d0dCh2bWEtPnZt KSAmJiBkcm1fbW1fbm9kZV9hbGxvY2F0ZWQoJnZtYS0+bm9kZSkpCisJCWlmICh2bWEtPmlzX2dn dHQgJiYgZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQogCQkJc2l6ZSArPSB2bWEt Pm5vZGUuc2l6ZTsKIAl9CiAKQEAgLTE2NSwxMiArMTY1LDExIEBAIGRlc2NyaWJlX29iaihzdHJ1 Y3Qgc2VxX2ZpbGUgKm0sIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCiAJCXNlcV9w cmludGYobSwgIiAoZmVuY2U6ICVkKSIsIG9iai0+ZmVuY2VfcmVnKTsKIAlsaXN0X2Zvcl9lYWNo X2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIG9ial9saW5rKSB7CiAJCXNlcV9wcmludGYobSwg IiAoJXNndHQgb2Zmc2V0OiAlMDhsbHgsIHNpemU6ICUwOGxseCIsCi0JCQkgICBpOTE1X2lzX2dn dHQodm1hLT52bSkgPyAiZyIgOiAicHAiLAorCQkJICAgdm1hLT5pc19nZ3R0ID8gImciIDogInBw IiwKIAkJCSAgIHZtYS0+bm9kZS5zdGFydCwgdm1hLT5ub2RlLnNpemUpOwotCQlpZiAoaTkxNV9p c19nZ3R0KHZtYS0+dm0pKQotCQkJc2VxX3ByaW50ZihtLCAiLCB0eXBlOiAldSkiLCB2bWEtPmdn dHRfdmlldy50eXBlKTsKLQkJZWxzZQotCQkJc2VxX3B1dHMobSwgIikiKTsKKwkJaWYgKHZtYS0+ aXNfZ2d0dCkKKwkJCXNlcV9wcmludGYobSwgIiwgdHlwZTogJXUiLCB2bWEtPmdndHRfdmlldy50 eXBlKTsKKwkJc2VxX3B1dHMobSwgIikiKTsKIAl9CiAJaWYgKG9iai0+c3RvbGVuKQogCQlzZXFf cHJpbnRmKG0sICIgKHN0b2xlbjogJTA4bGx4KSIsIG9iai0+c3RvbGVuLT5zdGFydCk7CkBAIC0z NDcsNyArMzQ2LDcgQEAgc3RhdGljIGludCBwZXJfZmlsZV9zdGF0cyhpbnQgaWQsIHZvaWQgKnB0 ciwgdm9pZCAqZGF0YSkKIAkJCWlmICghZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUp KQogCQkJCWNvbnRpbnVlOwogCi0JCQlpZiAoaTkxNV9pc19nZ3R0KHZtYS0+dm0pKSB7CisJCQlp ZiAodm1hLT5pc19nZ3R0KSB7CiAJCQkJc3RhdHMtPmdsb2JhbCArPSBvYmotPmJhc2Uuc2l6ZTsK IAkJCQljb250aW51ZTsKIAkJCX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDllNzZiZmM3 ZDVhYi4uYTRkY2I3NDRiZmU4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTMxNTYsMTgg KzMxNTYsMTEgQEAgYm9vbCBpOTE1X2dlbV9vYmpfaXNfcGlubmVkKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmopOwogLyogU29tZSBHR1RUIFZNIGhlbHBlcnMgKi8KICNkZWZpbmUgaTkx NV9vYmpfdG9fZ2d0dChvYmopIFwKIAkoJigoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKikob2Jq KS0+YmFzZS5kZXYtPmRldl9wcml2YXRlKS0+Z3R0LmJhc2UpCi1zdGF0aWMgaW5saW5lIGJvb2wg aTkxNV9pc19nZ3R0KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQotewotCXN0cnVjdCBp OTE1X2FkZHJlc3Nfc3BhY2UgKmdndHQgPQotCQkmKChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq KSh2bSktPmRldi0+ZGV2X3ByaXZhdGUpLT5ndHQuYmFzZTsKLQlyZXR1cm4gdm0gPT0gZ2d0dDsK LX0KIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgaTkxNV9od19wcGd0dCAqCiBpOTE1X3ZtX3RvX3Bw Z3R0KHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKnZtKQogewogCVdBUk5fT04oaTkxNV9pc19n Z3R0KHZtKSk7Ci0KIAlyZXR1cm4gY29udGFpbmVyX29mKHZtLCBzdHJ1Y3QgaTkxNV9od19wcGd0 dCwgYmFzZSk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGJjZDJlNDgxZDAxNC4u M2QzMWQzYWM1ODllIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTMzMzYsOCArMzMzNiw3 IEBAIHN0YXRpYyBpbnQgX19pOTE1X3ZtYV91bmJpbmQoc3RydWN0IGk5MTVfdm1hICp2bWEsIGJv b2wgd2FpdCkKIAkJCXJldHVybiByZXQ7CiAJfQogCi0JaWYgKGk5MTVfaXNfZ2d0dCh2bWEtPnZt KSAmJgotCSAgICB2bWEtPmdndHRfdmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVXX05PUk1BTCkg eworCWlmICh2bWEtPmlzX2dndHQgJiYgdm1hLT5nZ3R0X3ZpZXcudHlwZSA9PSBJOTE1X0dHVFRf VklFV19OT1JNQUwpIHsKIAkJaTkxNV9nZW1fb2JqZWN0X2ZpbmlzaF9ndHQob2JqKTsKIAogCQkv KiByZWxlYXNlIHRoZSBmZW5jZSByZWcgX2FmdGVyXyBmbHVzaGluZyAqLwpAQCAtMzM1Miw3ICsz MzUxLDcgQEAgc3RhdGljIGludCBfX2k5MTVfdm1hX3VuYmluZChzdHJ1Y3QgaTkxNV92bWEgKnZt YSwgYm9vbCB3YWl0KQogCXZtYS0+Ym91bmQgPSAwOwogCiAJbGlzdF9kZWxfaW5pdCgmdm1hLT52 bV9saW5rKTsKLQlpZiAoaTkxNV9pc19nZ3R0KHZtYS0+dm0pKSB7CisJaWYgKHZtYS0+aXNfZ2d0 dCkgewogCQlpZiAodm1hLT5nZ3R0X3ZpZXcudHlwZSA9PSBJOTE1X0dHVFRfVklFV19OT1JNQUwp IHsKIAkJCW9iai0+bWFwX2FuZF9mZW5jZWFibGUgPSBmYWxzZTsKIAkJfSBlbHNlIGlmICh2bWEt PmdndHRfdmlldy5wYWdlcykgewpAQCAtNDYzOSwxNyArNDYzOCwxNCBAQCBzdHJ1Y3QgaTkxNV92 bWEgKmk5MTVfZ2VtX29ial90b19nZ3R0X3ZpZXcoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAogdm9pZCBpOTE1X2dlbV92bWFfZGVzdHJveShzdHJ1Y3QgaTkxNV92bWEgKnZtYSkK IHsKLQlzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNlICp2bSA9IE5VTEw7CiAJV0FSTl9PTih2bWEt Pm5vZGUuYWxsb2NhdGVkKTsKIAogCS8qIEtlZXAgdGhlIHZtYSBhcyBhIHBsYWNlaG9sZGVyIGlu IHRoZSBleGVjYnVmZmVyIHJlc2VydmF0aW9uIGxpc3RzICovCiAJaWYgKCFsaXN0X2VtcHR5KCZ2 bWEtPmV4ZWNfbGlzdCkpCiAJCXJldHVybjsKIAotCXZtID0gdm1hLT52bTsKLQotCWlmICghaTkx NV9pc19nZ3R0KHZtKSkKLQkJaTkxNV9wcGd0dF9wdXQoaTkxNV92bV90b19wcGd0dCh2bSkpOwor CWlmICghdm1hLT5pc19nZ3R0KQorCQlpOTE1X3BwZ3R0X3B1dChpOTE1X3ZtX3RvX3BwZ3R0KHZt YS0+dm0pKTsKIAogCWxpc3RfZGVsKCZ2bWEtPm9ial9saW5rKTsKIApAQCAtNTIwMiw3ICs1MTk4 LDcgQEAgdTY0IGk5MTVfZ2VtX29ial9vZmZzZXQoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km8sCiAJV0FSTl9PTih2bSA9PSAmZGV2X3ByaXYtPm1tLmFsaWFzaW5nX3BwZ3R0LT5iYXNlKTsK IAogCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3QsIG9ial9saW5rKSB7Ci0J CWlmIChpOTE1X2lzX2dndHQodm1hLT52bSkgJiYKKwkJaWYgKHZtYS0+aXNfZ2d0dCAmJgogCQkg ICAgdm1hLT5nZ3R0X3ZpZXcudHlwZSAhPSBJOTE1X0dHVFRfVklFV19OT1JNQUwpCiAJCQljb250 aW51ZTsKIAkJaWYgKHZtYS0+dm0gPT0gdm0pCkBAIC01MjM1LDcgKzUyMzEsNyBAQCBib29sIGk5 MTVfZ2VtX29ial9ib3VuZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbywKIAlzdHJ1Y3Qg aTkxNV92bWEgKnZtYTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmby0+dm1hX2xpc3Qs IG9ial9saW5rKSB7Ci0JCWlmIChpOTE1X2lzX2dndHQodm1hLT52bSkgJiYKKwkJaWYgKHZtYS0+ aXNfZ2d0dCAmJgogCQkgICAgdm1hLT5nZ3R0X3ZpZXcudHlwZSAhPSBJOTE1X0dHVFRfVklFV19O T1JNQUwpCiAJCQljb250aW51ZTsKIAkJaWYgKHZtYS0+dm0gPT0gdm0gJiYgZHJtX21tX25vZGVf YWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQpAQCAtNTI4Miw3ICs1Mjc4LDcgQEAgdW5zaWduZWQgbG9u ZyBpOTE1X2dlbV9vYmpfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbywKIAlCVUdf T04obGlzdF9lbXB0eSgmby0+dm1hX2xpc3QpKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50cnkodm1h LCAmby0+dm1hX2xpc3QsIG9ial9saW5rKSB7Ci0JCWlmIChpOTE1X2lzX2dndHQodm1hLT52bSkg JiYKKwkJaWYgKHZtYS0+aXNfZ2d0dCAmJgogCQkgICAgdm1hLT5nZ3R0X3ZpZXcudHlwZSAhPSBJ OTE1X0dHVFRfVklFV19OT1JNQUwpCiAJCQljb250aW51ZTsKIAkJaWYgKHZtYS0+dm0gPT0gdm0p CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggOGZkMDBk Mjc5NDQ3Li4xMzI4YmM1MDIxYjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9l eGVjYnVmZmVyLmMKQEAgLTY2OCw3ICs2NjgsNyBAQCBuZWVkX3JlbG9jX21hcHBhYmxlKHN0cnVj dCBpOTE1X3ZtYSAqdm1hKQogCWlmIChlbnRyeS0+cmVsb2NhdGlvbl9jb3VudCA9PSAwKQogCQly ZXR1cm4gZmFsc2U7CiAKLQlpZiAoIWk5MTVfaXNfZ2d0dCh2bWEtPnZtKSkKKwlpZiAoIXZtYS0+ aXNfZ2d0dCkKIAkJcmV0dXJuIGZhbHNlOwogCiAJLyogU2VlIGFsc28gdXNlX2NwdV9yZWxvYygp ICovCkBAIC02ODcsOCArNjg3LDcgQEAgZWJfdm1hX21pc3BsYWNlZChzdHJ1Y3QgaTkxNV92bWEg KnZtYSkKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNfb2JqZWN0MiAqZW50cnkgPSB2bWEtPmV4 ZWNfZW50cnk7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IHZtYS0+b2JqOwog Ci0JV0FSTl9PTihlbnRyeS0+ZmxhZ3MgJiBfX0VYRUNfT0JKRUNUX05FRURTX01BUCAmJgotCSAg ICAgICAhaTkxNV9pc19nZ3R0KHZtYS0+dm0pKTsKKwlXQVJOX09OKGVudHJ5LT5mbGFncyAmIF9f RVhFQ19PQkpFQ1RfTkVFRFNfTUFQICYmICF2bWEtPmlzX2dndHQpOwogCiAJaWYgKGVudHJ5LT5h bGlnbm1lbnQgJiYKIAkgICAgdm1hLT5ub2RlLnN0YXJ0ICYgKGVudHJ5LT5hbGlnbm1lbnQgLSAx KSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKaW5kZXggNjhkM2FmNjg1NGQxLi40OWU0 ZjI2Yjc5ZDggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jCkBAIC0zMTk4LDYgKzMx OTgsNyBAQCBpbnQgaTkxNV9nZW1fZ3R0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAl9 CiAKIAlndHQtPmJhc2UuZGV2ID0gZGV2OworCWd0dC0+YmFzZS5pc19nZ3R0ID0gdHJ1ZTsKIAog CXJldCA9IGd0dC0+Z3R0X3Byb2JlKGRldiwgJmd0dC0+YmFzZS50b3RhbCwgJmd0dC0+c3RvbGVu X3NpemUsCiAJCQkgICAgICZndHQtPm1hcHBhYmxlX2Jhc2UsICZndHQtPm1hcHBhYmxlX2VuZCk7 CkBAIC0zMzE5LDEzICszMzIwLDE0IEBAIF9faTkxNV9nZW1fdm1hX2NyZWF0ZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCUlOSVRfTElTVF9IRUFEKCZ2bWEtPmV4ZWNfbGlzdCk7 CiAJdm1hLT52bSA9IHZtOwogCXZtYS0+b2JqID0gb2JqOworCXZtYS0+aXNfZ2d0dCA9IGk5MTVf aXNfZ2d0dCh2bSk7CiAKIAlpZiAoaTkxNV9pc19nZ3R0KHZtKSkKIAkJdm1hLT5nZ3R0X3ZpZXcg PSAqZ2d0dF92aWV3OworCWVsc2UKKwkJaTkxNV9wcGd0dF9nZXQoaTkxNV92bV90b19wcGd0dCh2 bSkpOwogCiAJbGlzdF9hZGRfdGFpbCgmdm1hLT5vYmpfbGluaywgJm9iai0+dm1hX2xpc3QpOwot CWlmICghaTkxNV9pc19nZ3R0KHZtKSkKLQkJaTkxNV9wcGd0dF9nZXQoaTkxNV92bV90b19wcGd0 dCh2bSkpOwogCiAJcmV0dXJuIHZtYTsKIH0KQEAgLTM1OTgsMTMgKzM2MDAsOSBAQCBpbnQgaTkx NV92bWFfYmluZChzdHJ1Y3QgaTkxNV92bWEgKnZtYSwgZW51bSBpOTE1X2NhY2hlX2xldmVsIGNh Y2hlX2xldmVsLAogCQlyZXR1cm4gMDsKIAogCWlmICh2bWEtPmJvdW5kID09IDAgJiYgdm1hLT52 bS0+YWxsb2NhdGVfdmFfcmFuZ2UpIHsKLQkJdHJhY2VfaTkxNV92YV9hbGxvYyh2bWEtPnZtLAot CQkJCSAgICB2bWEtPm5vZGUuc3RhcnQsCi0JCQkJICAgIHZtYS0+bm9kZS5zaXplLAotCQkJCSAg ICBWTV9UT19UUkFDRV9OQU1FKHZtYS0+dm0pKTsKLQogCQkvKiBYWFg6IGk5MTVfdm1hX3Bpbigp IHdpbGwgZml4IHRoaXMgKy0gaGFjayAqLwogCQl2bWEtPnBpbl9jb3VudCsrOworCQl0cmFjZV9p OTE1X3ZhX2FsbG9jKHZtYSk7CiAJCXJldCA9IHZtYS0+dm0tPmFsbG9jYXRlX3ZhX3JhbmdlKHZt YS0+dm0sCiAJCQkJCQkgdm1hLT5ub2RlLnN0YXJ0LAogCQkJCQkJIHZtYS0+bm9kZS5zaXplKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmgKaW5kZXggMzFlYjBiMjYxZmJmLi44Nzc0ZjFi YTQ2ZTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5oCkBAIC0xODMsNiArMTgzLDcg QEAgc3RydWN0IGk5MTVfdm1hIHsKICNkZWZpbmUgR0xPQkFMX0JJTkQJKDE8PDApCiAjZGVmaW5l IExPQ0FMX0JJTkQJKDE8PDEpCiAJdW5zaWduZWQgaW50IGJvdW5kIDogNDsKKwlib29sIGlzX2dn dHQgOiAxOwogCiAJLyoqCiAJICogU3VwcG9ydCBkaWZmZXJlbnQgR0dUVCB2aWV3cyBpbnRvIHRo ZSBzYW1lIG9iamVjdC4KQEAgLTI3NSw2ICsyNzYsOCBAQCBzdHJ1Y3QgaTkxNV9hZGRyZXNzX3Nw YWNlIHsKIAl1NjQgc3RhcnQ7CQkvKiBTdGFydCBvZmZzZXQgYWx3YXlzIDAgZm9yIGRyaTIgKi8K IAl1NjQgdG90YWw7CQkvKiBzaXplIGFkZHIgc3BhY2UgbWFwcyAoZXguIDJHQiBmb3IgZ2d0dCkg Ki8KIAorCWJvb2wgaXNfZ2d0dDsKKwogCXN0cnVjdCBpOTE1X3BhZ2Vfc2NyYXRjaCAqc2NyYXRj aF9wYWdlOwogCXN0cnVjdCBpOTE1X3BhZ2VfdGFibGUgKnNjcmF0Y2hfcHQ7CiAJc3RydWN0IGk5 MTVfcGFnZV9kaXJlY3RvcnkgKnNjcmF0Y2hfcGQ7CkBAIC0zMzAsNiArMzMzLDggQEAgc3RydWN0 IGk5MTVfYWRkcmVzc19zcGFjZSB7CiAJCQl1MzIgZmxhZ3MpOwogfTsKIAorI2RlZmluZSBpOTE1 X2lzX2dndHQoVikgKChWKS0+aXNfZ2d0dCkKKwogLyogVGhlIEdyYXBoaWNzIFRyYW5zbGF0aW9u IFRhYmxlIGlzIHRoZSB3YXkgaW4gd2hpY2ggR0VOIGhhcmR3YXJlIHRyYW5zbGF0ZXMgYQogICog R3JhcGhpY3MgVmlydHVhbCBBZGRyZXNzIGludG8gYSBQaHlzaWNhbCBBZGRyZXNzLiBJbiBhZGRp dGlvbiB0byB0aGUgbm9ybWFsCiAgKiBjb2xsYXRlcmFsIGFzc29jaWF0ZWQgd2l0aCBhbnkgdmEt PnBhIHRyYW5zbGF0aW9ucyBHRU4gaGFyZHdhcmUgYWxzbyBoYXMgYQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV90cmFjZS5oCmluZGV4IDUyYjJkNDA5OTQ1ZC4uZmEwOWU1NTgxMTM3IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3RyYWNlLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV90cmFjZS5oCkBAIC0xNzUsMzUgKzE3NSwyNCBAQCBUUkFDRV9FVkVOVChpOTE1X3Zt YV91bmJpbmQsCiAJCSAgICAgIF9fZW50cnktPm9iaiwgX19lbnRyeS0+b2Zmc2V0LCBfX2VudHJ5 LT5zaXplLCBfX2VudHJ5LT52bSkKICk7CiAKLSNkZWZpbmUgVk1fVE9fVFJBQ0VfTkFNRSh2bSkg XAotCShpOTE1X2lzX2dndHQodm0pID8gIkciIDogXAotCQkgICAgICAiUCIpCi0KLURFQ0xBUkVf RVZFTlRfQ0xBU1MoaTkxNV92YSwKLQlUUF9QUk9UTyhzdHJ1Y3QgaTkxNV9hZGRyZXNzX3NwYWNl ICp2bSwgdTY0IHN0YXJ0LCB1NjQgbGVuZ3RoLCBjb25zdCBjaGFyICpuYW1lKSwKLQlUUF9BUkdT KHZtLCBzdGFydCwgbGVuZ3RoLCBuYW1lKSwKK1RSQUNFX0VWRU5UKGk5MTVfdmFfYWxsb2MsCisJ VFBfUFJPVE8oc3RydWN0IGk5MTVfdm1hICp2bWEpLAorCVRQX0FSR1Modm1hKSwKIAogCVRQX1NU UlVDVF9fZW50cnkoCiAJCV9fZmllbGQoc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqLCB2bSkK IAkJX19maWVsZCh1NjQsIHN0YXJ0KQogCQlfX2ZpZWxkKHU2NCwgZW5kKQotCQlfX3N0cmluZyhu YW1lLCBuYW1lKQogCSksCiAKIAlUUF9mYXN0X2Fzc2lnbigKLQkJX19lbnRyeS0+dm0gPSB2bTsK LQkJX19lbnRyeS0+c3RhcnQgPSBzdGFydDsKLQkJX19lbnRyeS0+ZW5kID0gc3RhcnQgKyBsZW5n dGggLSAxOwotCQlfX2Fzc2lnbl9zdHIobmFtZSwgbmFtZSk7CisJCV9fZW50cnktPnZtID0gdm1h LT52bTsKKwkJX19lbnRyeS0+c3RhcnQgPSB2bWEtPm5vZGUuc3RhcnQ7CisJCV9fZW50cnktPmVu ZCA9IHZtYS0+bm9kZS5zdGFydCArIHZtYS0+bm9kZS5zaXplIC0gMTsKIAkpLAogCi0JVFBfcHJp bnRrKCJ2bT0lcCAoJXMpLCAweCVsbHgtMHglbGx4IiwKLQkJICBfX2VudHJ5LT52bSwgX19nZXRf c3RyKG5hbWUpLCAgX19lbnRyeS0+c3RhcnQsIF9fZW50cnktPmVuZCkKLSk7Ci0KLURFRklORV9F VkVOVChpOTE1X3ZhLCBpOTE1X3ZhX2FsbG9jLAotCSAgICAgVFBfUFJPVE8oc3RydWN0IGk5MTVf YWRkcmVzc19zcGFjZSAqdm0sIHU2NCBzdGFydCwgdTY0IGxlbmd0aCwgY29uc3QgY2hhciAqbmFt ZSksCi0JICAgICBUUF9BUkdTKHZtLCBzdGFydCwgbGVuZ3RoLCBuYW1lKQorCVRQX3ByaW50aygi dm09JXAgKCVjKSwgMHglbGx4LTB4JWxseCIsCisJCSAgX19lbnRyeS0+dm0sIGk5MTVfaXNfZ2d0 dChfX2VudHJ5LT52bSkgPyAnRycgOiAnUCcsICBfX2VudHJ5LT5zdGFydCwgX19lbnRyeS0+ZW5k KQogKTsKIAogREVDTEFSRV9FVkVOVF9DTEFTUyhpOTE1X3B4X2VudHJ5LAotLSAKMS45LjEKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBt YWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=