From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH] drm/i915: Remove i915_execbuffer_params Date: Fri, 3 Feb 2017 10:33:44 +0000 Message-ID: <1486118024-4146-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 mail-wm0-x244.google.com (mail-wm0-x244.google.com [IPv6:2a00:1450:400c:c09::244]) by gabe.freedesktop.org (Postfix) with ESMTPS id A7CCA6EB58 for ; Fri, 3 Feb 2017 10:33:54 +0000 (UTC) Received: by mail-wm0-x244.google.com with SMTP id u63so3447969wmu.2 for ; Fri, 03 Feb 2017 02:33:54 -0800 (PST) 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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRpZHkgaTkx NV9nZW1fZG9fZXhlY2J1ZmZlciBieSByZW1vdmluZyB0aGUgc3RydWN0dXJlIHdoaWNoCmlzIHVu ZGVyIG5vIHBsYW5zIHRvIGJlIHVzZWQgYW55IGxvbmdlci4KClRoaXMgaW1wcm92ZXMgdGhlIHJl ZGFiaWxpdHkgb2YgdGhlIGNvZGUsIGRlY3JlYXNlcyBsaW5lcwpvZiBzb3VyY2UgYW5kIHNocmlu a3MgdGhlIGJpbmFyeS4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51 az4KQ2M6IEpvb25hcyBMYWh0aW5lbiA8am9vbmFzLmxhaHRpbmVuQGxpbnV4LmludGVsLmNvbT4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgfCAxMTQgKysr KysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA0MyBpbnNlcnRpb25z KCspLCA3MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVj YnVmZmVyLmMKaW5kZXggYTQwYWRlNmQxYzE2Li5iNWY1NWJmODU4ZDMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKQEAgLTQ5LDE3ICs0OSw2IEBACiAKICNk ZWZpbmUgQkFUQ0hfT0ZGU0VUX0JJQVMgKDI1NioxMDI0KQogCi1zdHJ1Y3QgaTkxNV9leGVjYnVm ZmVyX3BhcmFtcyB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgICAgICAgICAgICAgICAqZGV2OwotCXN0 cnVjdCBkcm1fZmlsZSAgICAgICAgICAgICAgICAgKmZpbGU7Ci0Jc3RydWN0IGk5MTVfdm1hCQkJ KmJhdGNoOwotCXUzMgkJCQlkaXNwYXRjaF9mbGFnczsKLQl1MzIJCQkJYXJnc19iYXRjaF9zdGFy dF9vZmZzZXQ7Ci0Jc3RydWN0IGludGVsX2VuZ2luZV9jcyAgICAgICAgICAqZW5naW5lOwotCXN0 cnVjdCBpOTE1X2dlbV9jb250ZXh0ICAgICAgICAgKmN0eDsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgICAgICpyZXF1ZXN0OwotfTsKLQogc3RydWN0IGViX3ZtYXMgewogCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICppOTE1OwogCXN0cnVjdCBsaXN0X2hlYWQgdm1hczsKQEAgLTE0MDgs MjEgKzEzOTcsMjIgQEAgaTkxNV9nZW1fZXhlY2J1ZmZlcl9wYXJzZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICplbmdpbmUsCiB9CiAKIHN0YXRpYyBpbnQKLWV4ZWNidWZfc3VibWl0KHN0cnVjdCBp OTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCi0JICAgICAgIHN0cnVjdCBkcm1faTkxNV9n ZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCitleGVjYnVmX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwgdTMyIGJhdGNoX3N0YXJ0LAorCSAgICAgICB1MzIgZGlzcGF0Y2hfZmxh Z3MsIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCiAJICAgICAgIHN0cnVj dCBsaXN0X2hlYWQgKnZtYXMpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gcGFyYW1zLT5yZXF1ZXN0LT5pOTE1OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHJlcS0+aTkxNTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSByZXEt PmVuZ2luZTsKIAl1NjQgZXhlY19zdGFydCwgZXhlY19sZW47CiAJaW50IGluc3RwX21vZGU7CiAJ dTMyIGluc3RwX21hc2s7CiAJaW50IHJldDsKIAotCXJldCA9IGk5MTVfZ2VtX2V4ZWNidWZmZXJf bW92ZV90b19ncHUocGFyYW1zLT5yZXF1ZXN0LCB2bWFzKTsKKwlyZXQgPSBpOTE1X2dlbV9leGVj YnVmZmVyX21vdmVfdG9fZ3B1KHJlcSwgdm1hcyk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsK IAotCXJldCA9IGk5MTVfc3dpdGNoX2NvbnRleHQocGFyYW1zLT5yZXF1ZXN0KTsKKwlyZXQgPSBp OTE1X3N3aXRjaF9jb250ZXh0KHJlcSk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIHJldDsKIApAQCAt MTQzMiwyNSArMTQyMiwyNSBAQCBleGVjYnVmX3N1Ym1pdChzdHJ1Y3QgaTkxNV9leGVjYnVmZmVy X3BhcmFtcyAqcGFyYW1zLAogCWNhc2UgSTkxNV9FWEVDX0NPTlNUQU5UU19SRUxfR0VORVJBTDoK IAljYXNlIEk5MTVfRVhFQ19DT05TVEFOVFNfQUJTT0xVVEU6CiAJY2FzZSBJOTE1X0VYRUNfQ09O U1RBTlRTX1JFTF9TVVJGQUNFOgotCQlpZiAoaW5zdHBfbW9kZSAhPSAwICYmIHBhcmFtcy0+ZW5n aW5lLT5pZCAhPSBSQ1MpIHsKKwkJaWYgKGluc3RwX21vZGUgIT0gMCAmJiBlbmdpbmUtPmlkICE9 IFJDUykgewogCQkJRFJNX0RFQlVHKCJub24tMCByZWwgY29uc3RhbnRzIG1vZGUgb24gbm9uLVJD U1xuIik7CiAJCQlyZXR1cm4gLUVJTlZBTDsKIAkJfQogCiAJCWlmIChpbnN0cF9tb2RlICE9IGRl dl9wcml2LT5yZWxhdGl2ZV9jb25zdGFudHNfbW9kZSkgewotCQkJaWYgKElOVEVMX0lORk8oZGV2 X3ByaXYpLT5nZW4gPCA0KSB7CisJCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDQpIHsKIAkJ CQlEUk1fREVCVUcoIm5vIHJlbCBjb25zdGFudHMgb24gcHJlLWdlbjRcbiIpOwogCQkJCXJldHVy biAtRUlOVkFMOwogCQkJfQogCi0JCQlpZiAoSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+IDUg JiYKKwkJCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID4gNSAmJgogCQkJICAgIGluc3RwX21vZGUg PT0gSTkxNV9FWEVDX0NPTlNUQU5UU19SRUxfU1VSRkFDRSkgewogCQkJCURSTV9ERUJVRygicmVs IHN1cmZhY2UgY29uc3RhbnRzIG1vZGUgaW52YWxpZCBvbiBnZW41K1xuIik7CiAJCQkJcmV0dXJu IC1FSU5WQUw7CiAJCQl9CiAKIAkJCS8qIFRoZSBIVyBjaGFuZ2VkIHRoZSBtZWFuaW5nIG9uIHRo aXMgYml0IG9uIGdlbjYgKi8KLQkJCWlmIChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuID49IDYp CisJCQlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA2KQogCQkJCWluc3RwX21hc2sgJj0gfkk5 MTVfRVhFQ19DT05TVEFOVFNfUkVMX1NVUkZBQ0U7CiAJCX0KIAkJYnJlYWs7CkBAIC0xNDU5LDEx ICsxNDQ5LDExIEBAIGV4ZWNidWZfc3VibWl0KHN0cnVjdCBpOTE1X2V4ZWNidWZmZXJfcGFyYW1z ICpwYXJhbXMsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCWlmIChwYXJhbXMtPmVuZ2luZS0+ aWQgPT0gUkNTICYmCisJaWYgKGVuZ2luZS0+aWQgPT0gUkNTICYmCiAJICAgIGluc3RwX21vZGUg IT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlKSB7Ci0JCXN0cnVjdCBpbnRlbF9y aW5nICpyaW5nID0gcGFyYW1zLT5yZXF1ZXN0LT5yaW5nOworCQlzdHJ1Y3QgaW50ZWxfcmluZyAq cmluZyA9IHJlcS0+cmluZzsKIAotCQlyZXQgPSBpbnRlbF9yaW5nX2JlZ2luKHBhcmFtcy0+cmVx dWVzdCwgNCk7CisJCXJldCA9IGludGVsX3JpbmdfYmVnaW4ocmVxLCA0KTsKIAkJaWYgKHJldCkK IAkJCXJldHVybiByZXQ7CiAKQEAgLTE0NzcsMjcgKzE0NjcsMjQgQEAgZXhlY2J1Zl9zdWJtaXQo c3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAl9CiAKIAlpZiAoYXJncy0+ ZmxhZ3MgJiBJOTE1X0VYRUNfR0VON19TT0xfUkVTRVQpIHsKLQkJcmV0ID0gaTkxNV9yZXNldF9n ZW43X3NvbF9vZmZzZXRzKHBhcmFtcy0+cmVxdWVzdCk7CisJCXJldCA9IGk5MTVfcmVzZXRfZ2Vu N19zb2xfb2Zmc2V0cyhyZXEpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIAl9CiAKIAll eGVjX2xlbiAgID0gYXJncy0+YmF0Y2hfbGVuOwotCWV4ZWNfc3RhcnQgPSBwYXJhbXMtPmJhdGNo LT5ub2RlLnN0YXJ0ICsKLQkJICAgICBwYXJhbXMtPmFyZ3NfYmF0Y2hfc3RhcnRfb2Zmc2V0Owor CWV4ZWNfc3RhcnQgPSByZXEtPmJhdGNoLT5ub2RlLnN0YXJ0ICsgYmF0Y2hfc3RhcnQ7CiAKIAlp ZiAoZXhlY19sZW4gPT0gMCkKLQkJZXhlY19sZW4gPSBwYXJhbXMtPmJhdGNoLT5zaXplIC0gcGFy YW1zLT5hcmdzX2JhdGNoX3N0YXJ0X29mZnNldDsKKwkJZXhlY19sZW4gPSByZXEtPmJhdGNoLT5z aXplIC0gYmF0Y2hfc3RhcnQ7CiAKLQlyZXQgPSBwYXJhbXMtPmVuZ2luZS0+ZW1pdF9iYl9zdGFy dChwYXJhbXMtPnJlcXVlc3QsCi0JCQkJCSAgICBleGVjX3N0YXJ0LCBleGVjX2xlbiwKLQkJCQkJ ICAgIHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOworCXJldCA9IGVuZ2luZS0+ZW1pdF9iYl9zdGFy dChyZXEsIGV4ZWNfc3RhcnQsIGV4ZWNfbGVuLCBkaXNwYXRjaF9mbGFncyk7CiAJaWYgKHJldCkK IAkJcmV0dXJuIHJldDsKIAotCXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2gocGFyYW1zLT5y ZXF1ZXN0LCBwYXJhbXMtPmRpc3BhdGNoX2ZsYWdzKTsKKwl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rp c3BhdGNoKHJlcSwgZGlzcGF0Y2hfZmxhZ3MpOwogCi0JaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3Zl X3RvX2FjdGl2ZSh2bWFzLCBwYXJhbXMtPnJlcXVlc3QpOworCWk5MTVfZ2VtX2V4ZWNidWZmZXJf bW92ZV90b19hY3RpdmUodm1hcywgcmVxKTsKIAogCXJldHVybiAwOwogfQpAQCAtMTU5MSwxMCAr MTU3OCwxMCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHZvaWQgKmRhdGEsCiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lOwogCXN0cnVjdCBp OTE1X2dlbV9jb250ZXh0ICpjdHg7CiAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07Ci0J c3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgcGFyYW1zX21hc3RlcjsgLyogWFhYOiB3aWxs IGJlIHJlbW92ZWQgbGF0ZXIgKi8KLQlzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFy YW1zID0gJnBhcmFtc19tYXN0ZXI7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7 CisJc3RydWN0IGk5MTVfdm1hICpiYXRjaDsKIAljb25zdCB1MzIgY3R4X2lkID0gaTkxNV9leGVj YnVmZmVyMl9nZXRfY29udGV4dF9pZCgqYXJncyk7Ci0JdTMyIGRpc3BhdGNoX2ZsYWdzOworCXUz MiBkaXNwYXRjaF9mbGFncywgYmF0Y2hfc3RhcnQ7CiAJc3RydWN0IGRtYV9mZW5jZSAqaW5fZmVu Y2UgPSBOVUxMOwogCXN0cnVjdCBzeW5jX2ZpbGUgKm91dF9mZW5jZSA9IE5VTEw7CiAJaW50IG91 dF9mZW5jZV9mZCA9IC0xOwpAQCAtMTY4NCw4ICsxNjcxLDYgQEAgaTkxNV9nZW1fZG9fZXhlY2J1 ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCWVsc2UKIAkJdm0gPSAm Z2d0dC0+YmFzZTsKIAotCW1lbXNldCgmcGFyYW1zX21hc3RlciwgMHgwMCwgc2l6ZW9mKHBhcmFt c19tYXN0ZXIpKTsKLQogCWViID0gZWJfY3JlYXRlKGRldl9wcml2LCBhcmdzKTsKIAlpZiAoZWIg PT0gTlVMTCkgewogCQlpOTE1X2dlbV9jb250ZXh0X3B1dChjdHgpOwpAQCAtMTcwMCw3ICsxNjg1 LDcgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lk ICpkYXRhLAogCQlnb3RvIGVycjsKIAogCS8qIHRha2Ugbm90ZSBvZiB0aGUgYmF0Y2ggYnVmZmVy IGJlZm9yZSB3ZSBtaWdodCByZW9yZGVyIHRoZSBsaXN0cyAqLwotCXBhcmFtcy0+YmF0Y2ggPSBl Yl9nZXRfYmF0Y2goZWIpOworCWJhdGNoID0gZWJfZ2V0X2JhdGNoKGViKTsKIAogCS8qIE1vdmUg dGhlIG9iamVjdHMgZW4tbWFzc2UgaW50byB0aGUgR1RULCBldmljdGluZyBpZiBuZWNlc3Nhcnku ICovCiAJbmVlZF9yZWxvY3MgPSAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfTk9fUkVMT0MpID09 IDA7CkBAIC0xNzI0LDI0ICsxNzA5LDI0IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAl9CiAKIAkvKiBTZXQgdGhlIHBlbmRpbmcg cmVhZCBkb21haW5zIGZvciB0aGUgYmF0Y2ggYnVmZmVyIHRvIENPTU1BTkQgKi8KLQlpZiAocGFy YW1zLT5iYXRjaC0+b2JqLT5iYXNlLnBlbmRpbmdfd3JpdGVfZG9tYWluKSB7CisJaWYgKGJhdGNo LT5vYmotPmJhc2UucGVuZGluZ193cml0ZV9kb21haW4pIHsKIAkJRFJNX0RFQlVHKCJBdHRlbXB0 aW5nIHRvIHVzZSBzZWxmLW1vZGlmeWluZyBiYXRjaCBidWZmZXJcbiIpOwogCQlyZXQgPSAtRUlO VkFMOwogCQlnb3RvIGVycjsKIAl9Ci0JaWYgKGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldCA+IHBh cmFtcy0+YmF0Y2gtPnNpemUgfHwKLQkgICAgYXJncy0+YmF0Y2hfbGVuID4gcGFyYW1zLT5iYXRj aC0+c2l6ZSAtIGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldCkgeworCWlmIChhcmdzLT5iYXRjaF9z dGFydF9vZmZzZXQgPiBiYXRjaC0+c2l6ZSB8fAorCSAgICBhcmdzLT5iYXRjaF9sZW4gPiBiYXRj aC0+c2l6ZSAtIGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldCkgewogCQlEUk1fREVCVUcoIkF0dGVt cHRpbmcgdG8gdXNlIG91dC1vZi1ib3VuZHMgYmF0Y2hcbiIpOwogCQlyZXQgPSAtRUlOVkFMOwog CQlnb3RvIGVycjsKIAl9CiAKLQlwYXJhbXMtPmFyZ3NfYmF0Y2hfc3RhcnRfb2Zmc2V0ID0gYXJn cy0+YmF0Y2hfc3RhcnRfb2Zmc2V0OworCWJhdGNoX3N0YXJ0ID0gYXJncy0+YmF0Y2hfc3RhcnRf b2Zmc2V0OwogCWlmIChlbmdpbmUtPm5lZWRzX2NtZF9wYXJzZXIgJiYgYXJncy0+YmF0Y2hfbGVu KSB7CiAJCXN0cnVjdCBpOTE1X3ZtYSAqdm1hOwogCiAJCXZtYSA9IGk5MTVfZ2VtX2V4ZWNidWZm ZXJfcGFyc2UoZW5naW5lLCAmc2hhZG93X2V4ZWNfZW50cnksCi0JCQkJCQlwYXJhbXMtPmJhdGNo LT5vYmosCisJCQkJCQliYXRjaC0+b2JqLAogCQkJCQkJZWIsCiAJCQkJCQlhcmdzLT5iYXRjaF9z dGFydF9vZmZzZXQsCiAJCQkJCQlhcmdzLT5iYXRjaF9sZW4sCkBAIC0xNzYyLDE4ICsxNzQ3LDE4 IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAq ZGF0YSwKIAkJCSAqIGNvbW1hbmQgcGFyc2VyIGhhcyBhY2NlcHRlZC4KIAkJCSAqLwogCQkJZGlz cGF0Y2hfZmxhZ3MgfD0gSTkxNV9ESVNQQVRDSF9TRUNVUkU7Ci0JCQlwYXJhbXMtPmFyZ3NfYmF0 Y2hfc3RhcnRfb2Zmc2V0ID0gMDsKLQkJCXBhcmFtcy0+YmF0Y2ggPSB2bWE7CisJCQliYXRjaF9z dGFydCA9IDA7CisJCQliYXRjaCA9IHZtYTsKIAkJfQogCX0KIAotCXBhcmFtcy0+YmF0Y2gtPm9i ai0+YmFzZS5wZW5kaW5nX3JlYWRfZG9tYWlucyB8PSBJOTE1X0dFTV9ET01BSU5fQ09NTUFORDsK KwliYXRjaC0+b2JqLT5iYXNlLnBlbmRpbmdfcmVhZF9kb21haW5zIHw9IEk5MTVfR0VNX0RPTUFJ Tl9DT01NQU5EOwogCiAJLyogc25iL2l2Yi92bHYgY29uZmxhdGUgdGhlICJiYXRjaCBpbiBwcGd0 dCIgYml0IHdpdGggdGhlICJub24tc2VjdXJlCiAJICogYmF0Y2giIGJpdC4gSGVuY2Ugd2UgbmVl ZCB0byBwaW4gc2VjdXJlIGJhdGNoZXMgaW50byB0aGUgZ2xvYmFsIGd0dC4KIAkgKiBoc3cgc2hv dWxkIGhhdmUgdGhpcyBmaXhlZCwgYnV0IGJkdyBtdWNrcyBpdCB1cCBhZ2Fpbi4gKi8KIAlpZiAo ZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VSRSkgewotCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqID0gcGFyYW1zLT5iYXRjaC0+b2JqOworCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqb2JqID0gYmF0Y2gtPm9iajsKIAkJc3RydWN0IGk5MTVfdm1hICp2bWE7 CiAKIAkJLyoKQEAgLTE3OTIsMjUgKzE3NzcsMjQgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJZ290byBlcnI7CiAJCX0KIAot CQlwYXJhbXMtPmJhdGNoID0gdm1hOworCQliYXRjaCA9IHZtYTsKIAl9CiAKIAkvKiBBbGxvY2F0 ZSBhIHJlcXVlc3QgZm9yIHRoaXMgYmF0Y2ggYnVmZmVyIG5pY2UgYW5kIGVhcmx5LiAqLwotCXBh cmFtcy0+cmVxdWVzdCA9IGk5MTVfZ2VtX3JlcXVlc3RfYWxsb2MoZW5naW5lLCBjdHgpOwotCWlm IChJU19FUlIocGFyYW1zLT5yZXF1ZXN0KSkgewotCQlyZXQgPSBQVFJfRVJSKHBhcmFtcy0+cmVx dWVzdCk7CisJcmVxID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhlbmdpbmUsIGN0eCk7CisJaWYg KElTX0VSUihyZXEpKSB7CisJCXJldCA9IFBUUl9FUlIocmVxKTsKIAkJZ290byBlcnJfYmF0Y2hf dW5waW47CiAJfQogCiAJaWYgKGluX2ZlbmNlKSB7Ci0JCXJldCA9IGk5MTVfZ2VtX3JlcXVlc3Rf YXdhaXRfZG1hX2ZlbmNlKHBhcmFtcy0+cmVxdWVzdCwKLQkJCQkJCSAgICAgICBpbl9mZW5jZSk7 CisJCXJldCA9IGk5MTVfZ2VtX3JlcXVlc3RfYXdhaXRfZG1hX2ZlbmNlKHJlcSwgaW5fZmVuY2Up OwogCQlpZiAocmV0IDwgMCkKIAkJCWdvdG8gZXJyX3JlcXVlc3Q7CiAJfQogCiAJaWYgKG91dF9m ZW5jZV9mZCAhPSAtMSkgewotCQlvdXRfZmVuY2UgPSBzeW5jX2ZpbGVfY3JlYXRlKCZwYXJhbXMt PnJlcXVlc3QtPmZlbmNlKTsKKwkJb3V0X2ZlbmNlID0gc3luY19maWxlX2NyZWF0ZSgmcmVxLT5m ZW5jZSk7CiAJCWlmICghb3V0X2ZlbmNlKSB7CiAJCQlyZXQgPSAtRU5PTUVNOwogCQkJZ290byBl cnJfcmVxdWVzdDsKQEAgLTE4MjMsMjcgKzE4MDcsMTUgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZl cihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCSAqIGluYWN0aXZlX2xpc3Qg YW5kIGxvc2UgaXRzIGFjdGl2ZSByZWZlcmVuY2UuIEhlbmNlIHdlIGRvIG5vdCBuZWVkCiAJICog dG8gZXhwbGljaXRseSBob2xkIGFub3RoZXIgcmVmZXJlbmNlIGhlcmUuCiAJICovCi0JcGFyYW1z LT5yZXF1ZXN0LT5iYXRjaCA9IHBhcmFtcy0+YmF0Y2g7CisJcmVxLT5iYXRjaCA9IGJhdGNoOwog Ci0JcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xpZW50KHBhcmFtcy0+cmVxdWVzdCwg ZmlsZSk7CisJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hZGRfdG9fY2xpZW50KHJlcSwgZmlsZSk7 CiAJaWYgKHJldCkKIAkJZ290byBlcnJfcmVxdWVzdDsKIAotCS8qCi0JICogU2F2ZSBhc3NvcnRl ZCBzdHVmZiBhd2F5IHRvIHBhc3MgdGhyb3VnaCB0byAqX3N1Ym1pc3Npb24oKS4KLQkgKiBOQjog VGhpcyBkYXRhIHNob3VsZCBiZSAncGVyc2lzdGVudCcgYW5kIG5vdCBsb2NhbCBhcyBpdCB3aWxs Ci0JICoga2VwdCBhcm91bmQgYmV5b25kIHRoZSBkdXJhdGlvbiBvZiB0aGUgSU9DVEwgb25jZSB0 aGUgR1BVCi0JICogc2NoZWR1bGVyIGFycml2ZXMuCi0JICovCi0JcGFyYW1zLT5kZXYgICAgICAg ICAgICAgICAgICAgICA9IGRldjsKLQlwYXJhbXMtPmZpbGUgICAgICAgICAgICAgICAgICAgID0g ZmlsZTsKLQlwYXJhbXMtPmVuZ2luZSAgICAgICAgICAgICAgICAgICAgPSBlbmdpbmU7Ci0JcGFy YW1zLT5kaXNwYXRjaF9mbGFncyAgICAgICAgICA9IGRpc3BhdGNoX2ZsYWdzOwotCXBhcmFtcy0+ Y3R4ICAgICAgICAgICAgICAgICAgICAgPSBjdHg7Ci0KLQlyZXQgPSBleGVjYnVmX3N1Ym1pdChw YXJhbXMsIGFyZ3MsICZlYi0+dm1hcyk7CisJcmV0ID0gZXhlY2J1Zl9zdWJtaXQocmVxLCBiYXRj aF9zdGFydCwgZGlzcGF0Y2hfZmxhZ3MsIGFyZ3MsICZlYi0+dm1hcyk7CiBlcnJfcmVxdWVzdDoK LQlfX2k5MTVfYWRkX3JlcXVlc3QocGFyYW1zLT5yZXF1ZXN0LCByZXQgPT0gMCk7CisJX19pOTE1 X2FkZF9yZXF1ZXN0KHJlcSwgcmV0ID09IDApOwogCWlmIChvdXRfZmVuY2UpIHsKIAkJaWYgKHJl dCA9PSAwKSB7CiAJCQlmZF9pbnN0YWxsKG91dF9mZW5jZV9mZCwgb3V0X2ZlbmNlLT5maWxlKTsK QEAgLTE4NjMsNyArMTgzNSw3IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkgKiBhY3RpdmUuCiAJICovCiAJaWYgKGRpc3BhdGNo X2ZsYWdzICYgSTkxNV9ESVNQQVRDSF9TRUNVUkUpCi0JCWk5MTVfdm1hX3VucGluKHBhcmFtcy0+ YmF0Y2gpOworCQlpOTE1X3ZtYV91bnBpbihiYXRjaCk7CiBlcnI6CiAJLyogdGhlIHJlcXVlc3Qg b3ducyB0aGUgcmVmIG5vdyAqLwogCWk5MTVfZ2VtX2NvbnRleHRfcHV0KGN0eCk7Ci0tIAoyLjcu NAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==