From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 10/12] drm/i915: Introduce dedicated object VMA iterator Date: Tue, 2 Feb 2016 11:06:28 +0000 Message-ID: <1454411190-15721-11-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1454411190-15721-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 mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id 3C7FB6E57C for ; Tue, 2 Feb 2016 03:06:46 -0800 (PST) In-Reply-To: <1454411190-15721-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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClB1cnBvc2Ug aXMgdG8gY2F0Y2ggcGxhY2VzIHdoaWNoIGl0ZXJhdGUgdGhlIG9iamVjdCBWTUEgbGlzdAp3aXRo b3V0IGhvbGRpbmcgdGhlIGJpZyBsb2NrLgoKSW1wbGVtZW50ZWQgYnkgb3BlbiBjb2RpbmcgbGlz dF9mb3JfZWFjaF9lbnRyeSB0byBtYWtlIHRoZQptYWNybyBjb21wYXRpYmxlIHdpdGggZXhpc3Rp bmcgY2FsbCBzaXRlcy4KCnYyOiBFcnJvciBjYXB0dXJlIHJ1bnMgd2l0aG91dCB0aGUgbXV0ZXgg c28gaXRlcmF0ZSBkaXJlY3RseSBmcm9tIHRoZXJlLgp2MzogUmVwbGFjZSBXQVJOX09OIHdpdGgg bG9ja2RlcF9hc3NlcnRfaGVsZC4gKENocmlzIFdpbHNvbiwgRGFuaWVsIFZldHRlcikKdjQ6IE1v dmVkIHVuZGVyIGRlZGljYXRlZCBDT05GSUdfRFJNX0k5MTVfREVCVUcgYW5kIGJhY2sgdG8gV0FS Tl9PTi4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRl bC5jb20+CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogQ2hy aXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICB8ICA4ICsrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oICAgICAgICAgIHwgMTEgKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICAgfCAyNCArKysrKysrKysrKystLS0tLS0tLS0tLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0dC5jICAgICAgfCAgMiArLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYyB8ICAyICstCiA1IGZpbGVzIGNoYW5n ZWQsIDI5IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKaW5kZXggODYzMDEyYTI2MDJlLi5mZjQ0NGYwOWVhOTggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZGVidWdmcy5jCkBAIC0xMTcsNyArMTE3LDcgQEAgc3RhdGljIHU2NCBpOTE1 X2dlbV9vYmpfdG90YWxfZ2d0dF9zaXplKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmop CiAJdTY0IHNpemUgPSAwOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCi0JbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgeworCWk5MTVfZ2VtX29ial9m b3JfZWFjaF92bWEodm1hLCBvYmopIHsKIAkJaWYgKGk5MTVfaXNfZ2d0dCh2bWEtPnZtKSAmJgog CQkgICAgZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQogCQkJc2l6ZSArPSB2bWEt Pm5vZGUuc2l6ZTsKQEAgLTE1NSw3ICsxNTUsNyBAQCBkZXNjcmliZV9vYmooc3RydWN0IHNlcV9m aWxlICptLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCQkgICBvYmotPm1hZHYg PT0gSTkxNV9NQURWX0RPTlRORUVEID8gIiBwdXJnZWFibGUiIDogIiIpOwogCWlmIChvYmotPmJh c2UubmFtZSkKIAkJc2VxX3ByaW50ZihtLCAiIChuYW1lOiAlZCkiLCBvYmotPmJhc2UubmFtZSk7 Ci0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZtYV9saXN0LCB2bWFfbGluaykgewor CWk5MTVfZ2VtX29ial9mb3JfZWFjaF92bWEodm1hLCBvYmopIHsKIAkJaWYgKHZtYS0+cGluX2Nv dW50ID4gMCkKIAkJCXBpbl9jb3VudCsrOwogCX0KQEAgLTE2NCw3ICsxNjQsNyBAQCBkZXNjcmli ZV9vYmooc3RydWN0IHNlcV9maWxlICptLCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq KQogCQlzZXFfcHJpbnRmKG0sICIgKGRpc3BsYXkpIik7CiAJaWYgKG9iai0+ZmVuY2VfcmVnICE9 IEk5MTVfRkVOQ0VfUkVHX05PTkUpCiAJCXNlcV9wcmludGYobSwgIiAoZmVuY2U6ICVkKSIsIG9i ai0+ZmVuY2VfcmVnKTsKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3Qs IHZtYV9saW5rKSB7CisJaTkxNV9nZW1fb2JqX2Zvcl9lYWNoX3ZtYSh2bWEsIG9iaikgewogCQlz ZXFfcHJpbnRmKG0sICIgKCVzZ3R0IG9mZnNldDogJTA4bGx4LCBzaXplOiAlMDhsbHgiLAogCQkJ ICAgaTkxNV9pc19nZ3R0KHZtYS0+dm0pID8gImciIDogInBwIiwKIAkJCSAgIHZtYS0+bm9kZS5z dGFydCwgdm1hLT5ub2RlLnNpemUpOwpAQCAtMzQyLDcgKzM0Miw3IEBAIHN0YXRpYyBpbnQgcGVy X2ZpbGVfc3RhdHMoaW50IGlkLCB2b2lkICpwdHIsIHZvaWQgKmRhdGEpCiAJCXN0YXRzLT5zaGFy ZWQgKz0gb2JqLT5iYXNlLnNpemU7CiAKIAlpZiAoVVNFU19GVUxMX1BQR1RUKG9iai0+YmFzZS5k ZXYpKSB7Ci0JCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xp bmspIHsKKwkJaTkxNV9nZW1fb2JqX2Zvcl9lYWNoX3ZtYSh2bWEsIG9iaikgewogCQkJc3RydWN0 IGk5MTVfaHdfcHBndHQgKnBwZ3R0OwogCiAJCQlpZiAoIWRybV9tbV9ub2RlX2FsbG9jYXRlZCgm dm1hLT5ub2RlKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDkwNWU5MGYyNTk1Ny4uMDVl Zjc1MDM4NmRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI4NjEsNiArMjg2MSwxNyBA QCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9mcm9t X2RhdGEoCiB2b2lkIGk5MTVfZ2VtX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAq b2JqKTsKIHZvaWQgaTkxNV9nZW1fdm1hX2Rlc3Ryb3koc3RydWN0IGk5MTVfdm1hICp2bWEpOwog CisjaWZkZWYgQ09ORklHX0RSTV9JOTE1X0RFQlVHCisgICNkZWZpbmUgaTkxNV9nZW1fb2JqX2Zv cl9lYWNoX3ZtYSh2bWEsIG9iaikgXAorCWZvciAoV0FSTl9PTl9PTkNFKCFtdXRleF9pc19sb2Nr ZWQoJihvYmopLT5iYXNlLmRldi0+c3RydWN0X211dGV4KSksIFwKKwkgICAgIHZtYSA9IGxpc3Rf Zmlyc3RfZW50cnkoJihvYmopLT52bWFfbGlzdCwgdHlwZW9mKCp2bWEpLCB2bWFfbGluayk7XAor CSAgICAgJnZtYS0+dm1hX2xpbmsgIT0gKCYob2JqKS0+dm1hX2xpc3QpOyBcCisJICAgICB2bWEg PSBsaXN0X25leHRfZW50cnkodm1hLCB2bWFfbGluaykpCisjZWxzZQorICAjZGVmaW5lIGk5MTVf Z2VtX29ial9mb3JfZWFjaF92bWEodm1hLCBvYmopIFwKKwkJbGlzdF9mb3JfZWFjaF9lbnRyeSgo dm1hKSwgJihvYmopLT52bWFfbGlzdCwgdm1hX2xpbmspCisjZW5kaWYKKwogLyogRmxhZ3MgdXNl ZCBieSBwaW4vYmluZCZmcmllbmRzLiAqLwogI2RlZmluZSBQSU5fTUFQUEFCTEUJKDE8PDApCiAj ZGVmaW5lIFBJTl9OT05CTE9DSwkoMTw8MSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGM1 NTg4ODdiMjA4NC4uY2U5ZDA1NDRiNDJjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAgLTI0 NTQsNyArMjQ1NCw3IEBAIGk5MTVfZ2VtX29iamVjdF9yZXRpcmVfX3JlYWQoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwgaW50IHJpbmcpCiAJbGlzdF9tb3ZlX3RhaWwoJm9iai0+Z2xv YmFsX2xpc3QsCiAJCSAgICAgICAmdG9faTkxNShvYmotPmJhc2UuZGV2KS0+bW0uYm91bmRfbGlz dCk7CiAKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5r KSB7CisJaTkxNV9nZW1fb2JqX2Zvcl9lYWNoX3ZtYSh2bWEsIG9iaikgewogCQlpZiAoIWxpc3Rf ZW1wdHkoJnZtYS0+bW1fbGlzdCkpCiAJCQlsaXN0X21vdmVfdGFpbCgmdm1hLT5tbV9saXN0LCAm dm1hLT52bS0+aW5hY3RpdmVfbGlzdCk7CiAJfQpAQCAtMzg3Myw3ICszODczLDcgQEAgaW50IGk5 MTVfZ2VtX29iamVjdF9zZXRfY2FjaGVfbGV2ZWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Km9iaiwKIAkJCSAqLwogCQl9CiAKLQkJbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvYmotPnZt YV9saXN0LCB2bWFfbGluaykgeworCQlpOTE1X2dlbV9vYmpfZm9yX2VhY2hfdm1hKHZtYSwgb2Jq KSB7CiAJCQlpZiAoIWRybV9tbV9ub2RlX2FsbG9jYXRlZCgmdm1hLT5ub2RlKSkKIAkJCQljb250 aW51ZTsKIApAQCAtMzg4Myw3ICszODgzLDcgQEAgaW50IGk5MTVfZ2VtX29iamVjdF9zZXRfY2Fj aGVfbGV2ZWwoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJfQogCX0KIAotCWxp c3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspCisJaTkxNV9n ZW1fb2JqX2Zvcl9lYWNoX3ZtYSh2bWEsIG9iaikKIAkJdm1hLT5ub2RlLmNvbG9yID0gY2FjaGVf bGV2ZWw7CiAJb2JqLT5jYWNoZV9sZXZlbCA9IGNhY2hlX2xldmVsOwogCkBAIC00NjEzLDcgKzQ2 MTMsNyBAQCBzdHJ1Y3QgaTkxNV92bWEgKmk5MTVfZ2VtX29ial90b192bWEoc3RydWN0IGRybV9p OTE1X2dlbV9vYmplY3QgKm9iaiwKIAkJCQkgICAgIHN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2Ug KnZtKQogewogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwotCWxpc3RfZm9yX2VhY2hfZW50cnkodm1h LCAmb2JqLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKKwlpOTE1X2dlbV9vYmpfZm9yX2VhY2hfdm1h KHZtYSwgb2JqKSB7CiAJCWlmICh2bWEtPmdndHRfdmlldy50eXBlID09IEk5MTVfR0dUVF9WSUVX X05PUk1BTCAmJgogCQkgICAgdm1hLT52bSA9PSB2bSkKIAkJCXJldHVybiB2bWE7CkBAIC00NjMw LDcgKzQ2MzAsNyBAQCBzdHJ1Y3QgaTkxNV92bWEgKmk5MTVfZ2VtX29ial90b19nZ3R0X3ZpZXco c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKIAlpZiAoV0FSTl9PTkNFKCF2aWV3LCAi bm8gdmlldyBzcGVjaWZpZWQiKSkKIAkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7CiAKLQlsaXN0 X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKQorCWk5MTVfZ2Vt X29ial9mb3JfZWFjaF92bWEodm1hLCBvYmopCiAJCWlmICh2bWEtPnZtID09IGdndHQgJiYKIAkJ ICAgIGk5MTVfZ2d0dF92aWV3X2VxdWFsKCZ2bWEtPmdndHRfdmlldywgdmlldykpCiAJCQlyZXR1 cm4gdm1hOwpAQCAtNTIwMSw3ICs1MjAxLDcgQEAgdTY0IGk5MTVfZ2VtX29ial9vZmZzZXQoc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm8sCiAKIAlXQVJOX09OKHZtID09ICZkZXZfcHJpdi0+ bW0uYWxpYXNpbmdfcHBndHQtPmJhc2UpOwogCi0JbGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZv LT52bWFfbGlzdCwgdm1hX2xpbmspIHsKKwlpOTE1X2dlbV9vYmpfZm9yX2VhY2hfdm1hKHZtYSwg bykgewogCQlpZiAoaTkxNV9pc19nZ3R0KHZtYS0+dm0pICYmCiAJCSAgICB2bWEtPmdndHRfdmll dy50eXBlICE9IEk5MTVfR0dUVF9WSUVXX05PUk1BTCkKIAkJCWNvbnRpbnVlOwpAQCAtNTIyMCw3 ICs1MjIwLDcgQEAgdTY0IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldF92aWV3KHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvLAogCXN0cnVjdCBpOTE1X2FkZHJlc3Nfc3BhY2UgKmdndHQgPSBp OTE1X29ial90b19nZ3R0KG8pOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCi0JbGlzdF9mb3Jf ZWFjaF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspCisJaTkxNV9nZW1fb2JqX2Zv cl9lYWNoX3ZtYSh2bWEsIG8pCiAJCWlmICh2bWEtPnZtID09IGdndHQgJiYKIAkJICAgIGk5MTVf Z2d0dF92aWV3X2VxdWFsKCZ2bWEtPmdndHRfdmlldywgdmlldykpCiAJCQlyZXR1cm4gdm1hLT5u b2RlLnN0YXJ0OwpAQCAtNTIzNCw3ICs1MjM0LDcgQEAgYm9vbCBpOTE1X2dlbV9vYmpfYm91bmQo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm8sCiB7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7 CiAKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm8tPnZtYV9saXN0LCB2bWFfbGluaykgewor CWk5MTVfZ2VtX29ial9mb3JfZWFjaF92bWEodm1hLCBvKSB7CiAJCWlmIChpOTE1X2lzX2dndHQo dm1hLT52bSkgJiYKIAkJICAgIHZtYS0+Z2d0dF92aWV3LnR5cGUgIT0gSTkxNV9HR1RUX1ZJRVdf Tk9STUFMKQogCQkJY29udGludWU7CkBAIC01MjUxLDcgKzUyNTEsNyBAQCBib29sIGk5MTVfZ2Vt X29ial9nZ3R0X2JvdW5kX3ZpZXcoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm8sCiAJc3Ry dWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqZ2d0dCA9IGk5MTVfb2JqX3RvX2dndHQobyk7CiAJc3Ry dWN0IGk5MTVfdm1hICp2bWE7CiAKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm8tPnZtYV9s aXN0LCB2bWFfbGluaykKKwlpOTE1X2dlbV9vYmpfZm9yX2VhY2hfdm1hKHZtYSwgbykKIAkJaWYg KHZtYS0+dm0gPT0gZ2d0dCAmJgogCQkgICAgaTkxNV9nZ3R0X3ZpZXdfZXF1YWwoJnZtYS0+Z2d0 dF92aWV3LCB2aWV3KSAmJgogCQkgICAgZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUp KQpAQCAtNTI2NCw3ICs1MjY0LDcgQEAgYm9vbCBpOTE1X2dlbV9vYmpfYm91bmRfYW55KHN0cnVj dCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvKQogewogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCi0J bGlzdF9mb3JfZWFjaF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspCisJaTkxNV9n ZW1fb2JqX2Zvcl9lYWNoX3ZtYSh2bWEsIG8pCiAJCWlmIChkcm1fbW1fbm9kZV9hbGxvY2F0ZWQo JnZtYS0+bm9kZSkpCiAJCQlyZXR1cm4gdHJ1ZTsKIApAQCAtNTI4MSw3ICs1MjgxLDcgQEAgdW5z aWduZWQgbG9uZyBpOTE1X2dlbV9vYmpfc2l6ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq bywKIAogCUJVR19PTihsaXN0X2VtcHR5KCZvLT52bWFfbGlzdCkpOwogCi0JbGlzdF9mb3JfZWFj aF9lbnRyeSh2bWEsICZvLT52bWFfbGlzdCwgdm1hX2xpbmspIHsKKwlpOTE1X2dlbV9vYmpfZm9y X2VhY2hfdm1hKHZtYSwgbykgewogCQlpZiAoaTkxNV9pc19nZ3R0KHZtYS0+dm0pICYmCiAJCSAg ICB2bWEtPmdndHRfdmlldy50eXBlICE9IEk5MTVfR0dUVF9WSUVXX05PUk1BTCkKIAkJCWNvbnRp bnVlOwpAQCAtNTI5NCw3ICs1Mjk0LDcgQEAgdW5zaWduZWQgbG9uZyBpOTE1X2dlbV9vYmpfc2l6 ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqbywKIGJvb2wgaTkxNV9nZW1fb2JqX2lzX3Bp bm5lZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogewogCXN0cnVjdCBpOTE1X3Zt YSAqdm1hOwotCWxpc3RfZm9yX2VhY2hfZW50cnkodm1hLCAmb2JqLT52bWFfbGlzdCwgdm1hX2xp bmspCisJaTkxNV9nZW1fb2JqX2Zvcl9lYWNoX3ZtYSh2bWEsIG9iaikKIAkJaWYgKHZtYS0+cGlu X2NvdW50ID4gMCkKIAkJCXJldHVybiB0cnVlOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9ndHQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2d0 dC5jCmluZGV4IDcxNWE3NzFmMGIzMS4uYWIwMGIyYTNjMDM1IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9ndHQuYwpAQCAtMzIzNyw3ICszMjM3LDcgQEAgdm9pZCBpOTE1X2dlbV9yZXN0b3Jl X2d0dF9tYXBwaW5ncyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXZtID0gJmRldl9wcml2LT5n dHQuYmFzZTsKIAlsaXN0X2Zvcl9lYWNoX2VudHJ5KG9iaiwgJmRldl9wcml2LT5tbS5ib3VuZF9s aXN0LCBnbG9iYWxfbGlzdCkgewogCQlmbHVzaCA9IGZhbHNlOwotCQlsaXN0X2Zvcl9lYWNoX2Vu dHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZtYV9saW5rKSB7CisJCWk5MTVfZ2VtX29ial9mb3Jf ZWFjaF92bWEodm1hLCBvYmopIHsKIAkJCWlmICh2bWEtPnZtICE9IHZtKQogCQkJCWNvbnRpbnVl OwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJpbmtlci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc2hyaW5rZXIuYwppbmRleCA1OGMxZTU5 MmJiZGIuLjRjODliZDQ1ZGJkZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW1fc2hyaW5rZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zaHJp bmtlci5jCkBAIC01Miw3ICs1Miw3IEBAIHN0YXRpYyBpbnQgbnVtX3ZtYV9ib3VuZChzdHJ1Y3Qg ZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQogCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCWludCBj b3VudCA9IDA7CiAKLQlsaXN0X2Zvcl9lYWNoX2VudHJ5KHZtYSwgJm9iai0+dm1hX2xpc3QsIHZt YV9saW5rKSB7CisJaTkxNV9nZW1fb2JqX2Zvcl9lYWNoX3ZtYSh2bWEsIG9iaikgewogCQlpZiAo ZHJtX21tX25vZGVfYWxsb2NhdGVkKCZ2bWEtPm5vZGUpKQogCQkJY291bnQrKzsKIAkJaWYgKHZt YS0+cGluX2NvdW50KQotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==