From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 06/55] drm/i915: Merged the many do_execbuf() parameters into a structure Date: Fri, 29 May 2015 17:43:27 +0100 Message-ID: <1432917856-12261-7-git-send-email-John.C.Harrison@Intel.com> References: <1432917856-12261-1-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 7BD246EDE9 for ; Fri, 29 May 2015 09:44:24 -0700 (PDT) In-Reply-To: <1432917856-12261-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBkb19l eGVjYnVmKCkgZnVuY3Rpb24gdGFrZXMgcXVpdGUgYSBmZXcgcGFyYW1ldGVycy4gVGhlIGFjdHVh bCBzZXQgb2YKcGFyYW1ldGVycyBpcyBnb2luZyB0byBjaGFuZ2Ugd2l0aCB0aGUgY29udmVyc2lv biB0byBwYXNzaW5nIHJlcXVlc3RzIGFyb3VuZC4KRnVydGhlciwgaXQgaXMgZHVlIHRvIGdyb3cg bWFzc2l2ZWx5IHdpdGggdGhlIGFycml2YWwgb2YgdGhlIEdQVSBzY2hlZHVsZXIuCgpUaGlzIHBh dGNoIHNpbXBsaWZpZXMgdGhlIHByb3RvdHlwZSBieSBwYXNzaW5nIGEgcGFyYW1ldGVyIHN0cnVj dHVyZSBpbnN0ZWFkLgpDaGFuZ2luZyB0aGUgcGFyYW1ldGVyIHNldCBpbiB0aGUgZnV0dXJlIGlz IHRoZW4gc2ltcGx5IGEgbWF0dGVyIG9mCmFkZGluZy9yZW1vdmluZyBpdGVtcyB0byB0aGUgc3Ry dWN0dXJlLgoKTm90ZSB0aGF0IHRoZSBzdHJ1Y3R1cmUgZG9lcyBub3QgY29udGFpbiBhYnNvbHV0 ZWx5IGV2ZXJ5dGhpbmcgdGhhdCBpcyBwYXNzZWQKaW4uIFRoaXMgaXMgYmVjYXVzZSB0aGUgaW50 ZW50aW9uIGlzIHRvIHVzZSB0aGlzIHN0cnVjdHVyZSBtb3JlIGV4dGVuc2l2ZWx5CmxhdGVyIGlu IHRoaXMgcGF0Y2ggc2VyaWVzIGFuZCBtb3JlIGVzcGVjaWFsbHkgaW4gdGhlIEdQVSBzY2hlZHVs ZXIgdGhhdCBpcwpjb21pbmcgc29vbi4gVGhlIGxhdHRlciByZXF1aXJlcyBoYW5naW5nIG9uIHRv IHRoZSBzdHJ1Y3R1cmUgYXMgdGhlIGZpbmFsCmhhcmR3YXJlIHN1Ym1pc3Npb24gY2FuIGJlIGRl bGF5ZWQgdW50aWwgbG9uZyBhZnRlciB0aGUgZXhlY2J1ZiBJT0NUTCBoYXMKcmV0dXJuZWQgdG8g dXNlciBsYW5kLiBUaHVzIGl0IGlzIHVuc2FmZSB0byBwdXQgYW55dGhpbmcgaW4gdGhlIHN0cnVj dHVyZSB0aGF0CmlzIGxvY2FsIHRvIHRoZSBJT0NUTCBjYWxsIGl0c2VsZiAtIHN1Y2ggYXMgdGhl ICdhcmdzJyBwYXJhbWV0ZXIuIEFsbCBlbnRyaWVzCm11c3QgYmUgY29waWVzIG9mIGRhdGEgb3Ig cG9pbnRlcnMgdG8gc3RydWN0dXJlcyB0aGF0IGFyZSByZWZlcmVuY2UgY291bnRlZCBpbgpzb21l IHdheSBhbmQgZ3VhcmFudGVlZCB0byBleGlzdCBmb3IgdGhlIGR1cmF0aW9uIG9mIHRoZSBiYXRj aCBidWZmZXIncyBsaWZlLgoKdjI6IFJlYmFzZWQgdG8gbmV3ZXIgdHJlZSBhbmQgdXBkYXRlZCBm b3IgY2hhbmdlcyB0byB0aGUgY29tbWFuZCBwYXJzZXIuClNwZWNpZmljYWxseSwgYSBjb2RlIHNo dWZmbGUgaGFzIHJlcXVpcmVkIHNhdmluZyB0aGUgYmF0Y2ggc3RhcnQgYWRkcmVzcyBpbiB0aGUK cGFyYW1zIHN0cnVjdHVyZS4KCkZvcjogVklaLTUxMTUKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJy aXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFRvbWFzIEVsZiA8 dG9tYXMuZWxmQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o ICAgICAgICAgICAgfCAgIDI4ICsrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtX2V4ZWNidWZmZXIuYyB8ICAgNTkgKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgICAyNiArKysrKyst LS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oICAgICAgICAgICB8ICAgIDkg KystLS0KIDQgZmlsZXMgY2hhbmdlZCwgNzAgaW5zZXJ0aW9ucygrKSwgNTIgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggMWJlNGE1Mi4uZGUxNzgxNCAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCkBAIC0xNjA1LDYgKzE2MDUsMTcgQEAgc3RydWN0IGk5MTVfdmlydHVh bF9ncHUgewogCWJvb2wgYWN0aXZlOwogfTsKIAorc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJh bXMgeworCXN0cnVjdCBkcm1fZGV2aWNlICAgICAgICAgICAgICAgKmRldjsKKwlzdHJ1Y3QgZHJt X2ZpbGUgICAgICAgICAgICAgICAgICpmaWxlOworCXVpbnQzMl90ICAgICAgICAgICAgICAgICAg ICAgICAgZGlzcGF0Y2hfZmxhZ3M7CisJdWludDMyX3QgICAgICAgICAgICAgICAgICAgICAgICBh cmdzX2JhdGNoX3N0YXJ0X29mZnNldDsKKwl1aW50MzJfdCAgICAgICAgICAgICAgICAgICAgICAg IGJhdGNoX29ial92bV9vZmZzZXQ7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAgICAgICAgICAq cmluZzsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAgICAgICpiYXRjaF9vYmo7CisJc3Ry dWN0IGludGVsX2NvbnRleHQgICAgICAgICAgICAqY3R4OworfTsKKwogc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgewogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAJc3RydWN0IGttZW1fY2FjaGUg Km9iamVjdHM7CkBAIC0xODY4LDEzICsxODc5LDkgQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewogCiAJLyogQWJzdHJhY3QgdGhlIHN1Ym1pc3Npb24gbWVjaGFuaXNtIChsZWdhY3kgcmluZ2J1 ZmZlciBvciBleGVjbGlzdHMpIGF3YXkgKi8KIAlzdHJ1Y3QgewotCQlpbnQgKCpleGVjYnVmX3N1 Ym1pdCkoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAotCQkJ CSAgICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCi0JCQkJICAgICAgc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCwKKwkJaW50ICgqZXhlY2J1Zl9zdWJtaXQpKHN0cnVjdCBpOTE1X2V4 ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJCQkJICAgICAgc3RydWN0IGRybV9pOTE1X2dlbV9l eGVjYnVmZmVyMiAqYXJncywKLQkJCQkgICAgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAotCQkJ CSAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCi0JCQkJICAgICAg dTY0IGV4ZWNfc3RhcnQsIHUzMiBmbGFncyk7CisJCQkJICAgICAgc3RydWN0IGxpc3RfaGVhZCAq dm1hcyk7CiAJCWludCAoKmluaXRfcmluZ3MpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogCQl2 b2lkICgqY2xlYW51cF9yaW5nKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKIAkJdm9p ZCAoKnN0b3BfcmluZykoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7CkBAIC0yNjYyLDE0 ICsyNjY5LDkgQEAgdm9pZCBpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJCQkgc3RydWN0IGRybV9maWxlICpmaWxlLAogCQkJCQkg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJCQkJIHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmopOwotaW50IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAotCQkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJCQkgICBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAotCQkJCSAgIHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHgsCitpbnQgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBpOTE1X2V4 ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCiAJCQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9leGVj YnVmZmVyMiAqYXJncywKLQkJCQkgICBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzLAotCQkJCSAgIHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpiYXRjaF9vYmosCi0JCQkJICAgdTY0IGV4ZWNfc3Rh cnQsIHUzMiBmbGFncyk7CisJCQkJICAgc3RydWN0IGxpc3RfaGVhZCAqdm1hcyk7CiBpbnQgaTkx NV9nZW1fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJ c3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpOwogaW50IGk5MTVfZ2VtX2V4ZWNidWZmZXIyKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggZTJiY2NjNy4uNGU0ODNjOSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMTE4NSwxNyArMTE4NSwxNSBA QCBlcnI6CiB9CiAKIGludAotaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJCSAgICAgICBzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nLAotCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj dHgsCitpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1ZmZl cl9wYXJhbXMgKnBhcmFtcywKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZm ZXIyICphcmdzLAotCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCi0JCQkgICAgICAg c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaiwKLQkJCSAgICAgICB1NjQgZXhl Y19zdGFydCwgdTMyIGRpc3BhdGNoX2ZsYWdzKQorCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQg KnZtYXMpCiB7CiAJc3RydWN0IGRybV9jbGlwX3JlY3QgKmNsaXByZWN0cyA9IE5VTEw7CisJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IHBhcmFtcy0+ZGV2OworCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcgPSBwYXJhbXMtPnJpbmc7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQl1NjQgZXhlY19sZW47CisJdTY0IGV4ZWNfc3RhcnQs IGV4ZWNfbGVuOwogCWludCBpbnN0cF9tb2RlOwogCXUzMiBpbnN0cF9tYXNrOwogCWludCBpLCBy ZXQgPSAwOwpAQCAtMTI0NywxMSArMTI0NSwxMSBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1p c3Npb24oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAogCWlm IChyZXQpCiAJCWdvdG8gZXJyb3I7CiAKLQlyZXQgPSBpOTE1X3N3aXRjaF9jb250ZXh0KHJpbmcs IGN0eCk7CisJcmV0ID0gaTkxNV9zd2l0Y2hfY29udGV4dChyaW5nLCBwYXJhbXMtPmN0eCk7CiAJ aWYgKHJldCkKIAkJZ290byBlcnJvcjsKIAotCVdBUk4oY3R4LT5wcGd0dCAmJiBjdHgtPnBwZ3R0 LT5wZF9kaXJ0eV9yaW5ncyAmICgxPDxyaW5nLT5pZCksCisJV0FSTihwYXJhbXMtPmN0eC0+cHBn dHQgJiYgcGFyYW1zLT5jdHgtPnBwZ3R0LT5wZF9kaXJ0eV9yaW5ncyAmICgxPDxyaW5nLT5pZCks CiAJICAgICAiJXMgZGlkbid0IGNsZWFyIHJlbG9hZFxuIiwgcmluZy0+bmFtZSk7CiAKIAlpbnN0 cF9tb2RlID0gYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfQ09OU1RBTlRTX01BU0s7CkBAIC0xMzEy LDcgKzEzMTAsMTAgQEAgaTkxNV9nZW1fcmluZ2J1ZmZlcl9zdWJtaXNzaW9uKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKIAkJCWdvdG8gZXJyb3I7CiAJfQog Ci0JZXhlY19sZW4gPSBhcmdzLT5iYXRjaF9sZW47CisJZXhlY19sZW4gICA9IGFyZ3MtPmJhdGNo X2xlbjsKKwlleGVjX3N0YXJ0ID0gcGFyYW1zLT5iYXRjaF9vYmpfdm1fb2Zmc2V0ICsKKwkJICAg ICBwYXJhbXMtPmFyZ3NfYmF0Y2hfc3RhcnRfb2Zmc2V0OworCiAJaWYgKGNsaXByZWN0cykgewog CQlmb3IgKGkgPSAwOyBpIDwgYXJncy0+bnVtX2NsaXByZWN0czsgaSsrKSB7CiAJCQlyZXQgPSBp OTE1X2VtaXRfYm94KHJpbmcsICZjbGlwcmVjdHNbaV0sCkBAIC0xMzIyLDIyICsxMzIzLDIzIEBA IGk5MTVfZ2VtX3JpbmdidWZmZXJfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBz dHJ1Y3QgZHJtX2ZpbGUgKmZpbGUsCiAKIAkJCXJldCA9IHJpbmctPmRpc3BhdGNoX2V4ZWNidWZm ZXIocmluZywKIAkJCQkJCQlleGVjX3N0YXJ0LCBleGVjX2xlbiwKLQkJCQkJCQlkaXNwYXRjaF9m bGFncyk7CisJCQkJCQkJcGFyYW1zLT5kaXNwYXRjaF9mbGFncyk7CiAJCQlpZiAocmV0KQogCQkJ CWdvdG8gZXJyb3I7CiAJCX0KIAl9IGVsc2UgewogCQlyZXQgPSByaW5nLT5kaXNwYXRjaF9leGVj YnVmZmVyKHJpbmcsCiAJCQkJCQlleGVjX3N0YXJ0LCBleGVjX2xlbiwKLQkJCQkJCWRpc3BhdGNo X2ZsYWdzKTsKKwkJCQkJCXBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwogCQlpZiAocmV0KQogCQkJ cmV0dXJuIHJldDsKIAl9CiAKLQl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKGludGVsX3Jp bmdfZ2V0X3JlcXVlc3QocmluZyksIGRpc3BhdGNoX2ZsYWdzKTsKKwl0cmFjZV9pOTE1X2dlbV9y aW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyksIHBhcmFtcy0+ZGlzcGF0 Y2hfZmxhZ3MpOwogCiAJaTkxNV9nZW1fZXhlY2J1ZmZlcl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCBy aW5nKTsKLQlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGlyZV9jb21tYW5kcyhkZXYsIGZpbGUsIHJp bmcsIGJhdGNoX29iaik7CisJaTkxNV9nZW1fZXhlY2J1ZmZlcl9yZXRpcmVfY29tbWFuZHMocGFy YW1zLT5kZXYsIHBhcmFtcy0+ZmlsZSwgcmluZywKKwkJCQkJICAgIHBhcmFtcy0+YmF0Y2hfb2Jq KTsKIAogZXJyb3I6CiAJa2ZyZWUoY2xpcHJlY3RzKTsKQEAgLTE0MDcsOCArMTQwOSw5IEBAIGk5 MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwK IAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpj dHg7CiAJc3RydWN0IGk5MTVfYWRkcmVzc19zcGFjZSAqdm07CisJc3RydWN0IGk5MTVfZXhlY2J1 ZmZlcl9wYXJhbXMgcGFyYW1zX21hc3RlcjsgLyogWFhYOiB3aWxsIGJlIHJlbW92ZWQgbGF0ZXIg Ki8KKwlzdHJ1Y3QgaTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zID0gJnBhcmFtc19tYXN0 ZXI7CiAJY29uc3QgdTMyIGN0eF9pZCA9IGk5MTVfZXhlY2J1ZmZlcjJfZ2V0X2NvbnRleHRfaWQo KmFyZ3MpOwotCXU2NCBleGVjX3N0YXJ0ID0gYXJncy0+YmF0Y2hfc3RhcnRfb2Zmc2V0OwogCXUz MiBkaXNwYXRjaF9mbGFnczsKIAlpbnQgcmV0OwogCWJvb2wgbmVlZF9yZWxvY3M7CkBAIC0xNTAx LDYgKzE1MDQsOCBAQCBpOTE1X2dlbV9kb19leGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIHZvaWQgKmRhdGEsCiAJZWxzZQogCQl2bSA9ICZkZXZfcHJpdi0+Z3R0LmJhc2U7CiAKKwlt ZW1zZXQoJnBhcmFtc19tYXN0ZXIsIDB4MDAsIHNpemVvZihwYXJhbXNfbWFzdGVyKSk7CisKIAll YiA9IGViX2NyZWF0ZShhcmdzKTsKIAlpZiAoZWIgPT0gTlVMTCkgewogCQlpOTE1X2dlbV9jb250 ZXh0X3VucmVmZXJlbmNlKGN0eCk7CkBAIC0xNTQzLDYgKzE1NDgsNyBAQCBpOTE1X2dlbV9kb19l eGVjYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCWdvdG8gZXJy OwogCX0KIAorCXBhcmFtcy0+YXJnc19iYXRjaF9zdGFydF9vZmZzZXQgPSBhcmdzLT5iYXRjaF9z dGFydF9vZmZzZXQ7CiAJaWYgKGk5MTVfbmVlZHNfY21kX3BhcnNlcihyaW5nKSAmJiBhcmdzLT5i YXRjaF9sZW4pIHsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKnBhcnNlZF9iYXRjaF9v Ymo7CiAKQEAgLTE1NzQsNyArMTU4MCw3IEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJCSAqIGNvbW1hbmQgcGFyc2VyIGhhcyBh Y2NlcHRlZC4KIAkJCSAqLwogCQkJZGlzcGF0Y2hfZmxhZ3MgfD0gSTkxNV9ESVNQQVRDSF9TRUNV UkU7Ci0JCQlleGVjX3N0YXJ0ID0gMDsKKwkJCXBhcmFtcy0+YXJnc19iYXRjaF9zdGFydF9vZmZz ZXQgPSAwOwogCQkJYmF0Y2hfb2JqID0gcGFyc2VkX2JhdGNoX29iajsKIAkJfQogCX0KQEAgLTE1 OTksMTggKzE2MDUsMjkgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCB2b2lkICpkYXRhLAogCQlpZiAocmV0KQogCQkJZ290byBlcnI7CiAKLQkJZXhlY19z dGFydCArPSBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQoYmF0Y2hfb2JqKTsKKwkJcGFyYW1zLT5i YXRjaF9vYmpfdm1fb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KGJhdGNoX29iaik7 CiAJfSBlbHNlCi0JCWV4ZWNfc3RhcnQgKz0gaTkxNV9nZW1fb2JqX29mZnNldChiYXRjaF9vYmos IHZtKTsKKwkJcGFyYW1zLT5iYXRjaF9vYmpfdm1fb2Zmc2V0ID0gaTkxNV9nZW1fb2JqX29mZnNl dChiYXRjaF9vYmosIHZtKTsKIAogCS8qIEFsbG9jYXRlIGEgcmVxdWVzdCBmb3IgdGhpcyBiYXRj aCBidWZmZXIgbmljZSBhbmQgZWFybHkuICovCiAJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxv YyhyaW5nLCBjdHgpOwogCWlmIChyZXQpCiAJCWdvdG8gZXJyX2JhdGNoX3VucGluOwogCi0JcmV0 ID0gZGV2X3ByaXYtPmd0LmV4ZWNidWZfc3VibWl0KGRldiwgZmlsZSwgcmluZywgY3R4LCBhcmdz LAotCQkJCQkgICZlYi0+dm1hcywgYmF0Y2hfb2JqLCBleGVjX3N0YXJ0LAotCQkJCQkgIGRpc3Bh dGNoX2ZsYWdzKTsKKwkvKgorCSAqIFNhdmUgYXNzb3J0ZWQgc3R1ZmYgYXdheSB0byBwYXNzIHRo cm91Z2ggdG8gKl9zdWJtaXNzaW9uKCkuCisJICogTkI6IFRoaXMgZGF0YSBzaG91bGQgYmUgJ3Bl cnNpc3RlbnQnIGFuZCBub3QgbG9jYWwgYXMgaXQgd2lsbAorCSAqIGtlcHQgYXJvdW5kIGJleW9u ZCB0aGUgZHVyYXRpb24gb2YgdGhlIElPQ1RMIG9uY2UgdGhlIEdQVQorCSAqIHNjaGVkdWxlciBh cnJpdmVzLgorCSAqLworCXBhcmFtcy0+ZGV2ICAgICAgICAgICAgICAgICAgICAgPSBkZXY7CisJ cGFyYW1zLT5maWxlICAgICAgICAgICAgICAgICAgICA9IGZpbGU7CisJcGFyYW1zLT5yaW5nICAg ICAgICAgICAgICAgICAgICA9IHJpbmc7CisJcGFyYW1zLT5kaXNwYXRjaF9mbGFncyAgICAgICAg ICA9IGRpc3BhdGNoX2ZsYWdzOworCXBhcmFtcy0+YmF0Y2hfb2JqICAgICAgICAgICAgICAgPSBi YXRjaF9vYmo7CisJcGFyYW1zLT5jdHggICAgICAgICAgICAgICAgICAgICA9IGN0eDsKKworCXJl dCA9IGRldl9wcml2LT5ndC5leGVjYnVmX3N1Ym1pdChwYXJhbXMsIGFyZ3MsICZlYi0+dm1hcyk7 CiAKIGVycl9iYXRjaF91bnBpbjoKIAkvKgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCA4 ODFjYjg3Li44Njc0N2YxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtODQ3LDE2ICs4 NDcsMTUgQEAgc3RhdGljIGludCBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4oc3RydWN0IGludGVs X3JpbmdidWZmZXIgKnJpbmdidWYsCiAgKgogICogUmV0dXJuOiBub24temVybyBpZiB0aGUgc3Vi bWlzc2lvbiBmYWlscy4KICAqLwotaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJCSAgICAgICBzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAotCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0 ICpjdHgsCitpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Npb24oc3RydWN0IGk5MTVfZXhlY2J1 ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNi dWZmZXIyICphcmdzLAotCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnZtYXMsCi0JCQkgICAg ICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmJhdGNoX29iaiwKLQkJCSAgICAgICB1NjQg ZXhlY19zdGFydCwgdTMyIGRpc3BhdGNoX2ZsYWdzKQorCQkJICAgICAgIHN0cnVjdCBsaXN0X2hl YWQgKnZtYXMpCiB7CisJc3RydWN0IGRybV9kZXZpY2UgICAgICAgKmRldiA9IHBhcmFtcy0+ZGV2 OworCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgICpyaW5nID0gcGFyYW1zLT5yaW5nOwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0 IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0ucmluZ2J1 ZjsKKwlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IHBhcmFtcy0+Y3R4LT5lbmdp bmVbcmluZy0+aWRdLnJpbmdidWY7CisJdTY0IGV4ZWNfc3RhcnQ7CiAJaW50IGluc3RwX21vZGU7 CiAJdTMyIGluc3RwX21hc2s7CiAJaW50IHJldDsKQEAgLTkwNywxMyArOTA2LDEzIEBAIGludCBp bnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3Qg ZHJtX2ZpbGUgKmZpbGUsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAotCXJldCA9IGV4ZWNsaXN0 c19tb3ZlX3RvX2dwdShyaW5nYnVmLCBjdHgsIHZtYXMpOworCXJldCA9IGV4ZWNsaXN0c19tb3Zl X3RvX2dwdShyaW5nYnVmLCBwYXJhbXMtPmN0eCwgdm1hcyk7CiAJaWYgKHJldCkKIAkJcmV0dXJu IHJldDsKIAogCWlmIChyaW5nID09ICZkZXZfcHJpdi0+cmluZ1tSQ1NdICYmCiAJICAgIGluc3Rw X21vZGUgIT0gZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlKSB7Ci0JCXJldCA9IGlu dGVsX2xvZ2ljYWxfcmluZ19iZWdpbihyaW5nYnVmLCBjdHgsIDQpOworCQlyZXQgPSBpbnRlbF9s b2dpY2FsX3JpbmdfYmVnaW4ocmluZ2J1ZiwgcGFyYW1zLT5jdHgsIDQpOwogCQlpZiAocmV0KQog CQkJcmV0dXJuIHJldDsKIApAQCAtOTI2LDE0ICs5MjUsMTcgQEAgaW50IGludGVsX2V4ZWNsaXN0 c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSwKIAkJZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlID0gaW5zdHBfbW9kZTsKIAl9 CiAKLQlyZXQgPSByaW5nLT5lbWl0X2JiX3N0YXJ0KHJpbmdidWYsIGN0eCwgZXhlY19zdGFydCwg ZGlzcGF0Y2hfZmxhZ3MpOworCWV4ZWNfc3RhcnQgPSBwYXJhbXMtPmJhdGNoX29ial92bV9vZmZz ZXQgKworCQkgICAgIGFyZ3MtPmJhdGNoX3N0YXJ0X29mZnNldDsKKworCXJldCA9IHJpbmctPmVt aXRfYmJfc3RhcnQocmluZ2J1ZiwgcGFyYW1zLT5jdHgsIGV4ZWNfc3RhcnQsIHBhcmFtcy0+ZGlz cGF0Y2hfZmxhZ3MpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKLQl0cmFjZV9pOTE1X2dl bV9yaW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyksIGRpc3BhdGNoX2Zs YWdzKTsKKwl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKGludGVsX3JpbmdfZ2V0X3JlcXVl c3QocmluZyksIHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwogCiAJaTkxNV9nZW1fZXhlY2J1ZmZl cl9tb3ZlX3RvX2FjdGl2ZSh2bWFzLCByaW5nKTsKLQlpOTE1X2dlbV9leGVjYnVmZmVyX3JldGly ZV9jb21tYW5kcyhkZXYsIGZpbGUsIHJpbmcsIGJhdGNoX29iaik7CisJaTkxNV9nZW1fZXhlY2J1 ZmZlcl9yZXRpcmVfY29tbWFuZHMocGFyYW1zLT5kZXYsIHBhcmFtcy0+ZmlsZSwgcmluZywgcGFy YW1zLT5iYXRjaF9vYmopOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5o CmluZGV4IDQxNDhkZTAuLmJmMTM3YzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC03 NiwxMyArNzYsMTAgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAKIC8qIEV4ZWNsaXN0cyAqLwogaW50IGludGVsX3Nhbml0aXplX2VuYWJsZV9l eGVjbGlzdHMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IGVuYWJsZV9leGVjbGlzdHMpOwot aW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0 cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nLAotCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCitzdHJ1Y3QgaTkxNV9l eGVjYnVmZmVyX3BhcmFtczsKK2ludCBpbnRlbF9leGVjbGlzdHNfc3VibWlzc2lvbihzdHJ1Y3Qg aTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAogCQkJICAgICAgIHN0cnVjdCBkcm1faTkx NV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsCi0JCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqdm1h cywKLQkJCSAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYmF0Y2hfb2JqLAotCQkJ ICAgICAgIHU2NCBleGVjX3N0YXJ0LCB1MzIgZGlzcGF0Y2hfZmxhZ3MpOworCQkJICAgICAgIHN0 cnVjdCBsaXN0X2hlYWQgKnZtYXMpOwogdTMyIGludGVsX2V4ZWNsaXN0c19jdHhfaWQoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmopOwogCiB2b2lkIGludGVsX2xyY19pcnFfaGFu ZGxlcihzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKLS0gCjEuNy45LjUKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==