From mboxrd@z Thu Jan 1 00:00:00 1970 From: Chris Wilson Subject: [PATCH 07/13] drm/i915: Pass vma to relocate entry Date: Wed, 29 Mar 2017 16:56:29 +0100 Message-ID: <20170329155635.19060-8-chris@chris-wilson.co.uk> References: <20170329155635.19060-1-chris@chris-wilson.co.uk> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wr0-x242.google.com (mail-wr0-x242.google.com [IPv6:2a00:1450:400c:c0c::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 523DE6E75E for ; Wed, 29 Mar 2017 15:56:46 +0000 (UTC) Received: by mail-wr0-x242.google.com with SMTP id k6so2933113wre.3 for ; Wed, 29 Mar 2017 08:56:46 -0700 (PDT) In-Reply-To: <20170329155635.19060-1-chris@chris-wilson.co.uk> 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 V2UgY2FuIHNpbXBsaWZ5IG91ciB0cmFja2luZyBvZiBwZW5kaW5nIHdyaXRlcyBpbiBhbiBleGVj YnVmIHRvIHRoZQpzaW5nbGUgYml0IGluIHRoZSB2bWEtPmV4ZWNfZW50cnktPmZsYWdzLCBidXQg dGhhdCByZXF1aXJlcyB0aGUKcmVsb2NhdGlvbiBmdW5jdGlvbiBrbm93aW5nIHRoZSBvYmplY3Qn cyB2bWEuIFBhc3MgaXQgYWxvbmcuCgpOb3RlIHdlIGhhdmUgb25seSBiZWVuIHVzaW5nIGEgc2lu Z2xlIGJpdCB0byB0cmFjayBmbHVzaGluZyBzaW5jZQoKY29tbWl0IGNjODg5ZTBmNmNlNmE2M2M2 MmRiMTdkNzAyZWNmZWQ4NmQ1ODA4M2YKQXV0aG9yOiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0 dGVyQGZmd2xsLmNoPgpEYXRlOiAgIFdlZCBKdW4gMTMgMjA6NDU6MTkgMjAxMiArMDIwMAoKICAg IGRybS9pOTE1OiBkaXNhYmxlIGZsdXNoaW5nX2xpc3QvZ3B1X3dyaXRlX2xpc3QKCnVuY29uZGl0 aW9uYWxseSBmbHVzaGVkIGFsbCByZW5kZXIgY2FjaGVzIGJlZm9yZSB0aGUgYnJlYWRjcnVtYiBh bmQKCmNvbW1pdCA2YWM0MmY0MTQ4YmMyN2U1ZmZkMThhOWFiMGVhYzU3ZjU4ODIyYWY0CkF1dGhv cjogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KRGF0ZTogICBTYXQgSnVs IDIxIDEyOjI1OjAxIDIwMTIgKzAyMDAKCiAgICBkcm0vaTkxNTogUmVwbGFjZSB0aGUgY29tcGxl eCBmbHVzaGluZyBsb2dpYyB3aXRoIHNpbXBsZSBpbnZhbGlkYXRlL2ZsdXNoIGFsbAoKZGlkIGF3 YXkgd2l0aCB0aGUgZXhwbGljaXQgR1BVIGRvbWFpbiB0cmFja2luZy4gVGhpcyB3YXMgdGhlbiBj b2RpZmllZAppbnRvIHRoZSBBQkkgd2l0aCBOT19SRUxPQyBpbgoKY29tbWl0IGVkNTk4MmU2Y2U1 ZjEwNmFiY2JmMDcxZjgwNzMwZGIzNDRhNmRhNDIKQXV0aG9yOiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPiAjIE9pISBQYXRjaCBzdGVhbGVyIQpEYXRlOiAgIFRodSBKYW4g MTcgMjI6MjM6MzYgMjAxMyArMDEwMAoKICAgIGRybS9pOTE1OiBBbGxvdyB1c2Vyc3BhY2UgdG8g aGludCB0aGF0IHRoZSByZWxvY2F0aW9ucyB3ZXJlIGtub3duCgpTaWduZWQtb2ZmLWJ5OiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KUmV2aWV3ZWQtYnk6IEpvb25hcyBM YWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAxMDEgKysrKysrKysrKysrLS0tLS0t LS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MSBpbnNlcnRpb25zKCspLCA2MCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVm ZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXgg YTNhN2UwMjU4ZDNmLi42NTc4NDI5YWQwN2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMKQEAgLTYyMCw0MiArNjIwLDI1IEBAIHJlbG9jYXRlX2VudHJ5KHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiB9CiAKIHN0YXRpYyBpbnQKLWViX3JlbG9j YXRlX2VudHJ5KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCitlYl9yZWxvY2F0ZV9l bnRyeShzdHJ1Y3QgaTkxNV92bWEgKnZtYSwKIAkJICBzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICpl YiwKIAkJICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlbG9jYXRpb25fZW50cnkgKnJlbG9jKQogewot CXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqdGFyZ2V0X29iajsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqdGFyZ2V0X2k5MTVfb2JqOwotCXN0cnVjdCBpOTE1X3ZtYSAqdGFyZ2V0X3ZtYTsK LQl1aW50NjRfdCB0YXJnZXRfb2Zmc2V0OworCXN0cnVjdCBpOTE1X3ZtYSAqdGFyZ2V0OworCXU2 NCB0YXJnZXRfb2Zmc2V0OwogCWludCByZXQ7CiAKIAkvKiB3ZSd2ZSBhbHJlYWR5IGhvbGQgYSBy ZWZlcmVuY2UgdG8gYWxsIHZhbGlkIG9iamVjdHMgKi8KLQl0YXJnZXRfdm1hID0gZWJfZ2V0X3Zt YShlYiwgcmVsb2MtPnRhcmdldF9oYW5kbGUpOwotCWlmICh1bmxpa2VseSh0YXJnZXRfdm1hID09 IE5VTEwpKQorCXRhcmdldCA9IGViX2dldF92bWEoZWIsIHJlbG9jLT50YXJnZXRfaGFuZGxlKTsK KwlpZiAodW5saWtlbHkoIXRhcmdldCkpCiAJCXJldHVybiAtRU5PRU5UOwotCXRhcmdldF9pOTE1 X29iaiA9IHRhcmdldF92bWEtPm9iajsKLQl0YXJnZXRfb2JqID0gJnRhcmdldF92bWEtPm9iai0+ YmFzZTsKLQotCXRhcmdldF9vZmZzZXQgPSBnZW44X2Nhbm9uaWNhbF9hZGRyKHRhcmdldF92bWEt Pm5vZGUuc3RhcnQpOwotCi0JLyogU2FuZHlicmlkZ2UgUFBHVFQgZXJyYXRhOiBXZSBuZWVkIGEg Z2xvYmFsIGd0dCBtYXBwaW5nIGZvciBNSSBhbmQKLQkgKiBwaXBlX2NvbnRyb2wgd3JpdGVzIGJl Y2F1c2UgdGhlIGdwdSBkb2Vzbid0IHByb3Blcmx5IHJlZGlyZWN0IHRoZW0KLQkgKiB0aHJvdWdo IHRoZSBwcGd0dCBmb3Igbm9uX3NlY3VyZSBiYXRjaGJ1ZmZlcnMuICovCi0JaWYgKHVubGlrZWx5 KElTX0dFTjYoZWItPmk5MTUpICYmCi0JCSAgICAgcmVsb2MtPndyaXRlX2RvbWFpbiA9PSBJOTE1 X0dFTV9ET01BSU5fSU5TVFJVQ1RJT04pKSB7Ci0JCXJldCA9IGk5MTVfdm1hX2JpbmQodGFyZ2V0 X3ZtYSwgdGFyZ2V0X2k5MTVfb2JqLT5jYWNoZV9sZXZlbCwKLQkJCQkgICAgUElOX0dMT0JBTCk7 Ci0JCWlmIChXQVJOX09OQ0UocmV0LCAiVW5leHBlY3RlZCBmYWlsdXJlIHRvIGJpbmQgdGFyZ2V0 IFZNQSEiKSkKLQkJCXJldHVybiByZXQ7Ci0JfQogCiAJLyogVmFsaWRhdGUgdGhhdCB0aGUgdGFy Z2V0IGlzIGluIGEgdmFsaWQgci93IEdQVSBkb21haW4gKi8KIAlpZiAodW5saWtlbHkocmVsb2Mt PndyaXRlX2RvbWFpbiAmIChyZWxvYy0+d3JpdGVfZG9tYWluIC0gMSkpKSB7CiAJCURSTV9ERUJV RygicmVsb2Mgd2l0aCBtdWx0aXBsZSB3cml0ZSBkb21haW5zOiAiCi0JCQkgICJvYmogJXAgdGFy Z2V0ICVkIG9mZnNldCAlZCAiCisJCQkgICJ0YXJnZXQgJWQgb2Zmc2V0ICVkICIKIAkJCSAgInJl YWQgJTA4eCB3cml0ZSAlMDh4IiwKLQkJCSAgb2JqLCByZWxvYy0+dGFyZ2V0X2hhbmRsZSwKKwkJ CSAgcmVsb2MtPnRhcmdldF9oYW5kbGUsCiAJCQkgIChpbnQpIHJlbG9jLT5vZmZzZXQsCiAJCQkg IHJlbG9jLT5yZWFkX2RvbWFpbnMsCiAJCQkgIHJlbG9jLT53cml0ZV9kb21haW4pOwpAQCAtNjY0 LDQzICs2NDcsNTYgQEAgZWJfcmVsb2NhdGVfZW50cnkoc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKm9iaiwKIAlpZiAodW5saWtlbHkoKHJlbG9jLT53cml0ZV9kb21haW4gfCByZWxvYy0+cmVh ZF9kb21haW5zKQogCQkgICAgICYgfkk5MTVfR0VNX0dQVV9ET01BSU5TKSkgewogCQlEUk1fREVC VUcoInJlbG9jIHdpdGggcmVhZC93cml0ZSBub24tR1BVIGRvbWFpbnM6ICIKLQkJCSAgIm9iaiAl cCB0YXJnZXQgJWQgb2Zmc2V0ICVkICIKKwkJCSAgInRhcmdldCAlZCBvZmZzZXQgJWQgIgogCQkJ ICAicmVhZCAlMDh4IHdyaXRlICUwOHgiLAotCQkJICBvYmosIHJlbG9jLT50YXJnZXRfaGFuZGxl LAorCQkJICByZWxvYy0+dGFyZ2V0X2hhbmRsZSwKIAkJCSAgKGludCkgcmVsb2MtPm9mZnNldCwK IAkJCSAgcmVsb2MtPnJlYWRfZG9tYWlucywKIAkJCSAgcmVsb2MtPndyaXRlX2RvbWFpbik7CiAJ CXJldHVybiAtRUlOVkFMOwogCX0KIAotCXRhcmdldF9vYmotPnBlbmRpbmdfcmVhZF9kb21haW5z IHw9IHJlbG9jLT5yZWFkX2RvbWFpbnM7Ci0JdGFyZ2V0X29iai0+cGVuZGluZ193cml0ZV9kb21h aW4gfD0gcmVsb2MtPndyaXRlX2RvbWFpbjsKKwlpZiAocmVsb2MtPndyaXRlX2RvbWFpbikKKwkJ dGFyZ2V0LT5leGVjX2VudHJ5LT5mbGFncyB8PSBFWEVDX09CSkVDVF9XUklURTsKKworCS8qIFNh bmR5YnJpZGdlIFBQR1RUIGVycmF0YTogV2UgbmVlZCBhIGdsb2JhbCBndHQgbWFwcGluZyBmb3Ig TUkgYW5kCisJICogcGlwZV9jb250cm9sIHdyaXRlcyBiZWNhdXNlIHRoZSBncHUgZG9lc24ndCBw cm9wZXJseSByZWRpcmVjdCB0aGVtCisJICogdGhyb3VnaCB0aGUgcHBndHQgZm9yIG5vbl9zZWN1 cmUgYmF0Y2hidWZmZXJzLgorCSAqLworCWlmICh1bmxpa2VseShJU19HRU42KGViLT5pOTE1KSAm JgorCQkgICAgIHJlbG9jLT53cml0ZV9kb21haW4gPT0gSTkxNV9HRU1fRE9NQUlOX0lOU1RSVUNU SU9OKSkgeworCQlyZXQgPSBpOTE1X3ZtYV9iaW5kKHRhcmdldCwgdGFyZ2V0LT5vYmotPmNhY2hl X2xldmVsLAorCQkJCSAgICBQSU5fR0xPQkFMKTsKKwkJaWYgKFdBUk5fT05DRShyZXQsICJVbmV4 cGVjdGVkIGZhaWx1cmUgdG8gYmluZCB0YXJnZXQgVk1BISIpKQorCQkJcmV0dXJuIHJldDsKKwl9 CiAKIAkvKiBJZiB0aGUgcmVsb2NhdGlvbiBhbHJlYWR5IGhhcyB0aGUgcmlnaHQgdmFsdWUgaW4g aXQsIG5vCiAJICogbW9yZSB3b3JrIG5lZWRzIHRvIGJlIGRvbmUuCiAJICovCisJdGFyZ2V0X29m ZnNldCA9IGdlbjhfY2Fub25pY2FsX2FkZHIodGFyZ2V0LT5ub2RlLnN0YXJ0KTsKIAlpZiAodGFy Z2V0X29mZnNldCA9PSByZWxvYy0+cHJlc3VtZWRfb2Zmc2V0KQogCQlyZXR1cm4gMDsKIAogCS8q IENoZWNrIHRoYXQgdGhlIHJlbG9jYXRpb24gYWRkcmVzcyBpcyB2YWxpZC4uLiAqLwogCWlmICh1 bmxpa2VseShyZWxvYy0+b2Zmc2V0ID4KLQkJICAgICBvYmotPmJhc2Uuc2l6ZSAtIChlYi0+cmVs b2NfY2FjaGUudXNlXzY0Yml0X3JlbG9jID8gOCA6IDQpKSkgeworCQkgICAgIHZtYS0+c2l6ZSAt IChlYi0+cmVsb2NfY2FjaGUudXNlXzY0Yml0X3JlbG9jID8gOCA6IDQpKSkgewogCQlEUk1fREVC VUcoIlJlbG9jYXRpb24gYmV5b25kIG9iamVjdCBib3VuZHM6ICIKLQkJCSAgIm9iaiAlcCB0YXJn ZXQgJWQgb2Zmc2V0ICVkIHNpemUgJWQuXG4iLAotCQkJICBvYmosIHJlbG9jLT50YXJnZXRfaGFu ZGxlLAotCQkJICAoaW50KSByZWxvYy0+b2Zmc2V0LAotCQkJICAoaW50KSBvYmotPmJhc2Uuc2l6 ZSk7CisJCQkgICJ0YXJnZXQgJWQgb2Zmc2V0ICVkIHNpemUgJWQuXG4iLAorCQkJICByZWxvYy0+ dGFyZ2V0X2hhbmRsZSwKKwkJCSAgKGludClyZWxvYy0+b2Zmc2V0LAorCQkJICAoaW50KXZtYS0+ c2l6ZSk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAlpZiAodW5saWtlbHkocmVsb2MtPm9mZnNl dCAmIDMpKSB7CiAJCURSTV9ERUJVRygiUmVsb2NhdGlvbiBub3QgNC1ieXRlIGFsaWduZWQ6ICIK LQkJCSAgIm9iaiAlcCB0YXJnZXQgJWQgb2Zmc2V0ICVkLlxuIiwKLQkJCSAgb2JqLCByZWxvYy0+ dGFyZ2V0X2hhbmRsZSwKLQkJCSAgKGludCkgcmVsb2MtPm9mZnNldCk7CisJCQkgICJ0YXJnZXQg JWQgb2Zmc2V0ICVkLlxuIiwKKwkJCSAgcmVsb2MtPnRhcmdldF9oYW5kbGUsCisJCQkgIChpbnQp cmVsb2MtPm9mZnNldCk7CiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCXJldCA9IHJlbG9jYXRl X2VudHJ5KG9iaiwgcmVsb2MsICZlYi0+cmVsb2NfY2FjaGUsIHRhcmdldF9vZmZzZXQpOworCXJl dCA9IHJlbG9jYXRlX2VudHJ5KHZtYS0+b2JqLCByZWxvYywgJmViLT5yZWxvY19jYWNoZSwgdGFy Z2V0X29mZnNldCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAtNzQ2LDcgKzc0Miw3 IEBAIHN0YXRpYyBpbnQgZWJfcmVsb2NhdGVfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLCBzdHJ1 Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIAkJZG8gewogCQkJdTY0IG9mZnNldCA9IHItPnByZXN1 bWVkX29mZnNldDsKIAotCQkJcmV0ID0gZWJfcmVsb2NhdGVfZW50cnkodm1hLT5vYmosIGViLCBy KTsKKwkJCXJldCA9IGViX3JlbG9jYXRlX2VudHJ5KHZtYSwgZWIsIHIpOwogCQkJaWYgKHJldCkK IAkJCQlnb3RvIG91dDsKIApAQCAtNzkyLDcgKzc4OCw3IEBAIGViX3JlbG9jYXRlX3ZtYV9zbG93 KHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCWludCBpLCByZXQgPSAwOwogCiAJZm9yIChpID0gMDsg aSA8IGVudHJ5LT5yZWxvY2F0aW9uX2NvdW50OyBpKyspIHsKLQkJcmV0ID0gZWJfcmVsb2NhdGVf ZW50cnkodm1hLT5vYmosIGViLCAmcmVsb2NzW2ldKTsKKwkJcmV0ID0gZWJfcmVsb2NhdGVfZW50 cnkodm1hLCBlYiwgJnJlbG9jc1tpXSk7CiAJCWlmIChyZXQpCiAJCQlicmVhazsKIAl9CkBAIC04 MjUsNyArODIxLDYgQEAgZWJfcmVzZXJ2ZV92bWEoc3RydWN0IGk5MTVfdm1hICp2bWEsCiAJICAg ICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkgICAgICAgYm9vbCAqbmVlZF9y ZWxvYykKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gdm1hLT5vYmo7CiAJ c3RydWN0IGRybV9pOTE1X2dlbV9leGVjX29iamVjdDIgKmVudHJ5ID0gdm1hLT5leGVjX2VudHJ5 OwogCXVpbnQ2NF90IGZsYWdzOwogCWludCByZXQ7CkBAIC04NzksMTEgKzg3NCw2IEBAIGViX3Jl c2VydmVfdm1hKHN0cnVjdCBpOTE1X3ZtYSAqdm1hLAogCQkqbmVlZF9yZWxvYyA9IHRydWU7CiAJ fQogCi0JaWYgKGVudHJ5LT5mbGFncyAmIEVYRUNfT0JKRUNUX1dSSVRFKSB7Ci0JCW9iai0+YmFz ZS5wZW5kaW5nX3JlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9SRU5ERVI7Ci0JCW9iai0+ YmFzZS5wZW5kaW5nX3dyaXRlX2RvbWFpbiA9IEk5MTVfR0VNX0RPTUFJTl9SRU5ERVI7Ci0JfQot CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTk0Niw3ICs5MzYsNiBAQCBzdGF0aWMgaW50IGViX3Jlc2Vy dmUoc3RydWN0IGk5MTVfZXhlY2J1ZmZlciAqZWIpCiB7CiAJY29uc3QgYm9vbCBoYXNfZmVuY2Vk X2dwdV9hY2Nlc3MgPSBJTlRFTF9HRU4oZWItPmk5MTUpIDwgNDsKIAljb25zdCBib29sIG5lZWRz X3VuZmVuY2VkX21hcCA9IElOVEVMX0lORk8oZWItPmk5MTUpLT51bmZlbmNlZF9uZWVkc19hbGln bm1lbnQ7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgaTkxNV92 bWEgKnZtYTsKIAlzdHJ1Y3QgbGlzdF9oZWFkIG9yZGVyZWRfdm1hczsKIAlzdHJ1Y3QgbGlzdF9o ZWFkIHBpbm5lZF92bWFzOwpAQCAtOTU5LDcgKzk0OCw2IEBAIHN0YXRpYyBpbnQgZWJfcmVzZXJ2 ZShzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIAkJYm9vbCBuZWVkX2ZlbmNlLCBuZWVkX21h cHBhYmxlOwogCiAJCXZtYSA9IGxpc3RfZmlyc3RfZW50cnkoJmViLT52bWFzLCBzdHJ1Y3QgaTkx NV92bWEsIGV4ZWNfbGluayk7Ci0JCW9iaiA9IHZtYS0+b2JqOwogCQllbnRyeSA9IHZtYS0+ZXhl Y19lbnRyeTsKIAogCQlpZiAoZWItPmN0eC0+ZmxhZ3MgJiBDT05URVhUX05PX1pFUk9NQVApCkBA IC05ODAsOSArOTY4LDYgQEAgc3RhdGljIGludCBlYl9yZXNlcnZlKHN0cnVjdCBpOTE1X2V4ZWNi dWZmZXIgKmViKQogCQkJbGlzdF9tb3ZlKCZ2bWEtPmV4ZWNfbGluaywgJm9yZGVyZWRfdm1hcyk7 CiAJCX0gZWxzZQogCQkJbGlzdF9tb3ZlX3RhaWwoJnZtYS0+ZXhlY19saW5rLCAmb3JkZXJlZF92 bWFzKTsKLQotCQlvYmotPmJhc2UucGVuZGluZ19yZWFkX2RvbWFpbnMgPSBJOTE1X0dFTV9HUFVf RE9NQUlOUyAmIH5JOTE1X0dFTV9ET01BSU5fQ09NTUFORDsKLQkJb2JqLT5iYXNlLnBlbmRpbmdf d3JpdGVfZG9tYWluID0gMDsKIAl9CiAJbGlzdF9zcGxpY2UoJm9yZGVyZWRfdm1hcywgJmViLT52 bWFzKTsKIAlsaXN0X3NwbGljZSgmcGlubmVkX3ZtYXMsICZlYi0+dm1hcyk7CkBAIC0xMTcwLDcg KzExNTUsNyBAQCBlYl9tb3ZlX3RvX2dwdShzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyICplYikKIAkJ fQogCiAJCXJldCA9IGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfb2JqZWN0Ci0JCQkoZWItPnJlcXVl c3QsIG9iaiwgb2JqLT5iYXNlLnBlbmRpbmdfd3JpdGVfZG9tYWluKTsKKwkJCShlYi0+cmVxdWVz dCwgb2JqLCB2bWEtPmV4ZWNfZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfV1JJVEUpOwogCQlp ZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAl9CkBAIC0xMzcxLDEyICsxMzU2LDEwIEBAIGViX21v dmVfdG9fYWN0aXZlKHN0cnVjdCBpOTE1X2V4ZWNidWZmZXIgKmViKQogCWxpc3RfZm9yX2VhY2hf ZW50cnkodm1hLCAmZWItPnZtYXMsIGV4ZWNfbGluaykgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqID0gdm1hLT5vYmo7CiAKLQkJb2JqLT5iYXNlLndyaXRlX2RvbWFpbiA9IG9i ai0+YmFzZS5wZW5kaW5nX3dyaXRlX2RvbWFpbjsKLQkJaWYgKG9iai0+YmFzZS53cml0ZV9kb21h aW4pCi0JCQl2bWEtPmV4ZWNfZW50cnktPmZsYWdzIHw9IEVYRUNfT0JKRUNUX1dSSVRFOwotCQll bHNlCi0JCQlvYmotPmJhc2UucGVuZGluZ19yZWFkX2RvbWFpbnMgfD0gb2JqLT5iYXNlLnJlYWRf ZG9tYWluczsKLQkJb2JqLT5iYXNlLnJlYWRfZG9tYWlucyA9IG9iai0+YmFzZS5wZW5kaW5nX3Jl YWRfZG9tYWluczsKKwkJb2JqLT5iYXNlLndyaXRlX2RvbWFpbiA9IDA7CisJCWlmICh2bWEtPmV4 ZWNfZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfV1JJVEUpCisJCQlvYmotPmJhc2UucmVhZF9k b21haW5zID0gMDsKKwkJb2JqLT5iYXNlLnJlYWRfZG9tYWlucyB8PSBJOTE1X0dFTV9HUFVfRE9N QUlOUzsKIAogCQlpOTE1X3ZtYV9tb3ZlX3RvX2FjdGl2ZSh2bWEsIGViLT5yZXF1ZXN0LCB2bWEt PmV4ZWNfZW50cnktPmZsYWdzKTsKIAkJZWJfZXhwb3J0X2ZlbmNlKG9iaiwgZWItPnJlcXVlc3Qs IHZtYS0+ZXhlY19lbnRyeS0+ZmxhZ3MpOwpAQCAtMTY4Niw4ICsxNjY5LDcgQEAgaTkxNV9nZW1f ZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJZ290byBlcnI7CiAJfQog Ci0JLyogU2V0IHRoZSBwZW5kaW5nIHJlYWQgZG9tYWlucyBmb3IgdGhlIGJhdGNoIGJ1ZmZlciB0 byBDT01NQU5EICovCi0JaWYgKGViLmJhdGNoLT5vYmotPmJhc2UucGVuZGluZ193cml0ZV9kb21h aW4pIHsKKwlpZiAoZWIuYmF0Y2gtPmV4ZWNfZW50cnktPmZsYWdzICYgRVhFQ19PQkpFQ1RfV1JJ VEUpIHsKIAkJRFJNX0RFQlVHKCJBdHRlbXB0aW5nIHRvIHVzZSBzZWxmLW1vZGlmeWluZyBiYXRj aCBidWZmZXJcbiIpOwogCQlyZXQgPSAtRUlOVkFMOwogCQlnb3RvIGVycjsKQEAgLTE3MjQsNyAr MTcwNiw2IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJfQogCX0KIAotCWViLmJhdGNoLT5vYmotPmJhc2UucGVuZGluZ19yZWFkX2RvbWFpbnMgfD0g STkxNV9HRU1fRE9NQUlOX0NPTU1BTkQ7CiAJaWYgKGViLmJhdGNoX2xlbiA9PSAwKQogCQllYi5i YXRjaF9sZW4gPSBlYi5iYXRjaC0+c2l6ZSAtIGViLmJhdGNoX3N0YXJ0X29mZnNldDsKIAotLSAK Mi4xMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK