From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v2] drm/i915: Name the anonymous per-engine context struct Date: Fri, 18 Mar 2016 17:26:34 +0000 Message-ID: <1458321994-12212-1-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1458313256-18601-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 7108D6EB38 for ; Fri, 18 Mar 2016 17:26:37 +0000 (UTC) In-Reply-To: <1458313256-18601-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KClRoaXMgYW5v bnltb3VzIHN0cnVjdCB3YXMgY2F1c2luZyBhIGdvb2QgYW1vdW50IG9mIG92ZXJseQp2ZXJib3Nl IGNvZGUuIEFsc28sIGlmIHdlIG5hbWUgaXQgYW5kIGNhY2hlIHRoZSBwb2ludGVyIGxvY2FsbHkK d2hlbiB0aGVyZSBhcmUgbXVsdGlwbGUgYWNjZXNzZXMgdG8gaXQsIG5vdCBvbmx5IHRoZSBjb2Rl IGlzCm1vcmUgcmVhZGFibGUsIGJ1dCB0aGUgY29tcGlsZXIgbWFuYWdlcyB0byBnZW5lcmF0ZSBz bWFsbGVyCmJpbmFyeS4KCkFsb25nIHRoZSB3YXkgSSBhbHNvIHNob3J0ZW5lZCBhY2Nlc3MgdG8g ZGV2X3ByaXYgYW5kIGVsaW1pbmF0ZWQKc29tZSB1bnVzZWQgdmFyaWFibGVzIGFuZCBjYWNoZWQg c29tZSB3aGVyZSBJIHNwb3R0ZWQgdGhlCm9wcG9ydHVuaXR5LgoKTmFtZSBmb3IgdGhlIHN0cnVj dHVyZSwgaW50ZWxfY29udGV4dF9lbmdpbmUsIGFuZCB0aGUgbG9jYWwKdmFyaWFibGUgbmFtZSB3 ZXJlIGJvcnJvd2VkIGZyb20gYSBzaW1pbGFyIHBhdGNoIGJ5IENocmlzIFdpbHNvbi4KCnYyOiBI YXRlIHRoZSBlbmdpbmUtPmRldiBzdXJwcmlzZXMsIHJlYWxseSBkby4KClNpZ25lZC1vZmYtYnk6 IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+CkNjOiBDaHJpcyBXaWxz b24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyB8IDk0 ICsrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0KIDIgZmlsZXMgY2hhbmdl ZCwgNTAgaW5zZXJ0aW9ucygrKSwgNDYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKaW5kZXggMDBjNDFhNGJkZTJhLi40ODA2MzljMzk1NDMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaApAQCAtODQwLDcgKzg0MCw3IEBAIHN0cnVjdCBpbnRlbF9jb250ZXh0IHsKIAl9IGxlZ2Fj eV9od19jdHg7CiAKIAkvKiBFeGVjbGlzdHMgKi8KLQlzdHJ1Y3QgeworCXN0cnVjdCBpbnRlbF9j b250ZXh0X2VuZ2luZSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpzdGF0ZTsKIAkJ c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWY7CiAJCWludCBwaW5fY291bnQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IDNhMjNiOTU0OWY3Yi4uZTczMzc5NWI1N2UwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMzE2LDE2ICszMTYsMTYgQEAgc3RhdGljIHZvaWQK IGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcl91cGRhdGUoc3RydWN0IGludGVsX2NvbnRleHQg KmN0eCwKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CisJc3RydWN0 IGludGVsX2NvbnRleHRfZW5naW5lICpjZSA9ICZjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXTsKIAl1 aW50NjRfdCBscmNhLCBkZXNjOwogCi0JbHJjYSA9IGN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLmxy Y192bWEtPm5vZGUuc3RhcnQgKwotCSAgICAgICBMUkNfUFBIV1NQX1BOICogUEFHRV9TSVpFOwor CWxyY2EgPSBjZS0+bHJjX3ZtYS0+bm9kZS5zdGFydCArIExSQ19QUEhXU1BfUE4gKiBQQUdFX1NJ WkU7CiAKLQlkZXNjID0gZW5naW5lLT5jdHhfZGVzY190ZW1wbGF0ZTsJCQkgICAvKiBiaXRzICAw LTExICovCisJZGVzYyA9IGVuZ2luZS0+Y3R4X2Rlc2NfdGVtcGxhdGU7CQkgICAvKiBiaXRzICAw LTExICovCiAJZGVzYyB8PSBscmNhOwkJCQkJICAgLyogYml0cyAxMi0zMSAqLwogCWRlc2MgfD0g KGxyY2EgPj4gUEFHRV9TSElGVCkgPDwgR0VOOF9DVFhfSURfU0hJRlQ7IC8qIGJpdHMgMzItNTEg Ki8KIAotCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLmxyY19kZXNjID0gZGVzYzsKKwljZS0+bHJj X2Rlc2MgPSBkZXNjOwogfQogCiB1aW50NjRfdCBpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3Io c3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKQEAgLTM2MSw4ICszNjEsNyBAQCBzdGF0aWMgdm9p ZCBleGVjbGlzdHNfZWxzcF93cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxMCwK IHsKIAogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHJxMC0+ZW5naW5lOwotCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBlbmdpbmUtPmRldjsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHJxMC0+aTkxNTsKIAl1aW50NjRfdCBkZXNjWzJdOwogCiAJaWYgKHJx MSkgewpAQCAtNjcwLDcgKzY2OSw4IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2ludmFsaWRh dGVfYWxsX2NhY2hlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIHN0YXRpYyBp bnQgZXhlY2xpc3RzX21vdmVfdG9fZ3B1KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx LAogCQkJCSBzdHJ1Y3QgbGlzdF9oZWFkICp2bWFzKQogewotCWNvbnN0IHVuc2lnbmVkIG90aGVy X3JpbmdzID0gfmludGVsX2VuZ2luZV9mbGFnKHJlcS0+ZW5naW5lKTsKKwlzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUgPSByZXEtPmVuZ2luZTsKKwljb25zdCB1bnNpZ25lZCBvdGhlcl9y aW5ncyA9IH5pbnRlbF9lbmdpbmVfZmxhZyhlbmdpbmUpOwogCXN0cnVjdCBpOTE1X3ZtYSAqdm1h OwogCXVpbnQzMl90IGZsdXNoX2RvbWFpbnMgPSAwOwogCWJvb2wgZmx1c2hfY2hpcHNldCA9IGZh bHNlOwpAQCAtNjgwLDcgKzY4MCw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX21vdmVfdG9fZ3B1 KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqID0gdm1hLT5vYmo7CiAKIAkJaWYgKG9iai0+YWN0aXZlICYgb3RoZXJfcmlu Z3MpIHsKLQkJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcmVxLT5lbmdpbmUsICZy ZXEpOworCQkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3N5bmMob2JqLCBlbmdpbmUsICZyZXEpOwog CQkJaWYgKHJldCkKIAkJCQlyZXR1cm4gcmV0OwogCQl9CkBAIC03ODIsNiArNzgyLDcgQEAgaW50 ZWxfbG9naWNhbF9yaW5nX2FkdmFuY2VfYW5kX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcXVlc3QpCiAJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSByZXF1 ZXN0LT5yaW5nYnVmOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJlcXVl c3QtPmk5MTU7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxdWVzdC0+ZW5n aW5lOworCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHggPSByZXF1ZXN0LT5jdHg7CiAKIAlpbnRl bF9sb2dpY2FsX3JpbmdfYWR2YW5jZShyaW5nYnVmKTsKIAlyZXF1ZXN0LT50YWlsID0gcmluZ2J1 Zi0+dGFpbDsKQEAgLTc5OSwxMiArODAwLDEyIEBAIGludGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNl X2FuZF9zdWJtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogCWlmIChp bnRlbF9lbmdpbmVfc3RvcHBlZChlbmdpbmUpKQogCQlyZXR1cm4gMDsKIAotCWlmIChlbmdpbmUt Pmxhc3RfY29udGV4dCAhPSByZXF1ZXN0LT5jdHgpIHsKKwlpZiAoZW5naW5lLT5sYXN0X2NvbnRl eHQgIT0gY3R4KSB7CiAJCWlmIChlbmdpbmUtPmxhc3RfY29udGV4dCkKIAkJCWludGVsX2xyX2Nv bnRleHRfdW5waW4oZW5naW5lLT5sYXN0X2NvbnRleHQsIGVuZ2luZSk7Ci0JCWlmIChyZXF1ZXN0 LT5jdHggIT0gcmVxdWVzdC0+aTkxNS0+a2VybmVsX2NvbnRleHQpIHsKLQkJCWludGVsX2xyX2Nv bnRleHRfcGluKHJlcXVlc3QtPmN0eCwgZW5naW5lKTsKLQkJCWVuZ2luZS0+bGFzdF9jb250ZXh0 ID0gcmVxdWVzdC0+Y3R4OworCQlpZiAoY3R4ICE9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dCkg eworCQkJaW50ZWxfbHJfY29udGV4dF9waW4oY3R4LCBlbmdpbmUpOworCQkJZW5naW5lLT5sYXN0 X2NvbnRleHQgPSBjdHg7CiAJCX0gZWxzZSB7CiAJCQllbmdpbmUtPmxhc3RfY29udGV4dCA9IE5V TEw7CiAJCX0KQEAgLTk0OSw5ICs5NTAsOCBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1pc3Np b24oc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFtcywKIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX2V4ZWNidWZmZXIyICphcmdzLAogCQkJICAgICAgIHN0cnVjdCBsaXN0 X2hlYWQgKnZtYXMpCiB7Ci0Jc3RydWN0IGRybV9kZXZpY2UgICAgICAgKmRldiA9IHBhcmFtcy0+ ZGV2OwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSA9IHBhcmFtcy0+ZW5naW5lOwot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwYXJhbXMtPmRldik7 CiAJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBwYXJhbXMtPmN0eC0+ZW5naW5l W2VuZ2luZS0+aWRdLnJpbmdidWY7CiAJdTY0IGV4ZWNfc3RhcnQ7CiAJaW50IGluc3RwX21vZGU7 CkBAIC0xMDkyLDE3ICsxMDkyLDE4IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9kb19w aW4oc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuZ2luZS0+ZGV2Owot CXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0J c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPSBjdHgtPmVuZ2luZVtlbmdpbmUt PmlkXS5zdGF0ZTsKLQlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IGN0eC0+ZW5n aW5lW2VuZ2luZS0+aWRdLnJpbmdidWY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gY3R4LT5pOTE1OworCXN0cnVjdCBpbnRlbF9jb250ZXh0X2VuZ2luZSAqY2UgPSAmY3R4 LT5lbmdpbmVbZW5naW5lLT5pZF07CisJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9v YmogPSBjZS0+c3RhdGU7CisJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjZS0+ cmluZ2J1ZjsKIAlzdHJ1Y3QgcGFnZSAqbHJjX3N0YXRlX3BhZ2U7CiAJdWludDMyX3QgKmxyY19y ZWdfc3RhdGU7CiAJaW50IHJldDsKIAotCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZW5naW5l LT5kZXYtPnN0cnVjdF9tdXRleCkpOworCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmZGV2LT5z dHJ1Y3RfbXV0ZXgpKTsKIAogCXJldCA9IGk5MTVfZ2VtX29ial9nZ3R0X3BpbihjdHhfb2JqLCBH RU44X0xSX0NPTlRFWFRfQUxJR04sCi0JCQlQSU5fT0ZGU0VUX0JJQVMgfCBHVUNfV09QQ01fVE9Q KTsKKwkJCQkgICAgUElOX09GRlNFVF9CSUFTIHwgR1VDX1dPUENNX1RPUCk7CiAJaWYgKHJldCkK IAkJcmV0dXJuIHJldDsKIApAQCAtMTExMiwxNSArMTExMywxNSBAQCBzdGF0aWMgaW50IGludGVs X2xyX2NvbnRleHRfZG9fcGluKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCiAJCWdvdG8gdW5w aW5fY3R4X29iajsKIAl9CiAKLQlyZXQgPSBpbnRlbF9waW5fYW5kX21hcF9yaW5nYnVmZmVyX29i aihlbmdpbmUtPmRldiwgcmluZ2J1Zik7CisJcmV0ID0gaW50ZWxfcGluX2FuZF9tYXBfcmluZ2J1 ZmZlcl9vYmooZGV2LCByaW5nYnVmKTsKIAlpZiAocmV0KQogCQlnb3RvIHVucGluX2N0eF9vYmo7 CiAKLQljdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5scmNfdm1hID0gaTkxNV9nZW1fb2JqX3RvX2dn dHQoY3R4X29iaik7CisJY2UtPmxyY192bWEgPSBpOTE1X2dlbV9vYmpfdG9fZ2d0dChjdHhfb2Jq KTsKIAlpbnRlbF9scl9jb250ZXh0X2Rlc2NyaXB0b3JfdXBkYXRlKGN0eCwgZW5naW5lKTsKIAls cmNfcmVnX3N0YXRlID0ga21hcChscmNfc3RhdGVfcGFnZSk7CiAJbHJjX3JlZ19zdGF0ZVtDVFhf UklOR19CVUZGRVJfU1RBUlQrMV0gPSByaW5nYnVmLT52bWEtPm5vZGUuc3RhcnQ7Ci0JY3R4LT5l bmdpbmVbZW5naW5lLT5pZF0ubHJjX3JlZ19zdGF0ZSA9IGxyY19yZWdfc3RhdGU7CisJY2UtPmxy Y19yZWdfc3RhdGUgPSBscmNfcmVnX3N0YXRlOwogCWN0eF9vYmotPmRpcnR5ID0gdHJ1ZTsKIAog CS8qIEludmFsaWRhdGUgR3VDIFRMQi4gKi8KQEAgLTExMzgsOSArMTEzOSwxMCBAQCB1bnBpbl9j dHhfb2JqOgogc3RhdGljIGludCBpbnRlbF9scl9jb250ZXh0X3BpbihzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY3R4LAogCQkJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKKwlzdHJ1 Y3QgaW50ZWxfY29udGV4dF9lbmdpbmUgKmNlID0gJmN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdOwog CWludCByZXQgPSAwOwogCi0JaWYgKGN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnBpbl9jb3VudCsr ID09IDApIHsKKwlpZiAoY2UtPnBpbl9jb3VudCsrID09IDApIHsKIAkJcmV0ID0gaW50ZWxfbHJf Y29udGV4dF9kb19waW4oY3R4LCBlbmdpbmUpOwogCQlpZiAocmV0KQogCQkJZ290byByZXNldF9w aW5fY291bnQ7CkBAIC0xMTUwLDIzICsxMTUyLDI1IEBAIHN0YXRpYyBpbnQgaW50ZWxfbHJfY29u dGV4dF9waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAlyZXR1cm4gcmV0OwogCiByZXNl dF9waW5fY291bnQ6Ci0JY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ucGluX2NvdW50ID0gMDsKKwlj ZS0+cGluX2NvdW50ID0gMDsKIAlyZXR1cm4gcmV0OwogfQogCiB2b2lkIGludGVsX2xyX2NvbnRl eHRfdW5waW4oc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCSAgICBzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9v YmogPSBjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY29udGV4 dF9lbmdpbmUgKmNlID0gJmN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdOworCXN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpjdHhfb2JqID0gY2UtPnN0YXRlOwogCiAJV0FSTl9PTighbXV0ZXhfaXNf bG9ja2VkKCZjdHgtPmk5MTUtPmRldi0+c3RydWN0X211dGV4KSk7Ci0JaWYgKC0tY3R4LT5lbmdp bmVbZW5naW5lLT5pZF0ucGluX2NvdW50ID09IDApIHsKLQkJa3VubWFwKGttYXBfdG9fcGFnZShj dHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5scmNfcmVnX3N0YXRlKSk7Ci0JCWludGVsX3VucGluX3Jp bmdidWZmZXJfb2JqKGN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnJpbmdidWYpOworCisJaWYgKC0t Y2UtPnBpbl9jb3VudCA9PSAwKSB7CisJCWt1bm1hcChrbWFwX3RvX3BhZ2UoY2UtPmxyY19yZWdf c3RhdGUpKTsKKwkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmooY2UtPnJpbmdidWYpOwogCQlp OTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKLQkJY3R4LT5lbmdpbmVbZW5naW5l LT5pZF0ubHJjX3ZtYSA9IE5VTEw7Ci0JCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLmxyY19kZXNj ID0gMDsKLQkJY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0ubHJjX3JlZ19zdGF0ZSA9IE5VTEw7CisJ CWNlLT5scmNfdm1hID0gTlVMTDsKKwkJY2UtPmxyY19kZXNjID0gMDsKKwkJY2UtPmxyY19yZWdf c3RhdGUgPSBOVUxMOwogCiAJCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKIAl9 CkBAIC0xMTc3LDggKzExODEsNyBAQCBzdGF0aWMgaW50IGludGVsX2xvZ2ljYWxfcmluZ193b3Jr YXJvdW5kc19lbWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKQogCWludCByZXQs IGk7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lID0gcmVxLT5lbmdpbmU7CiAJc3Ry dWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSByZXEtPnJpbmdidWY7Ci0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGVuZ2luZS0+ZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gcmVxLT5pOTE1OwogCXN0cnVjdCBpOTE1X3dvcmthcm91bmRzICp3ID0gJmRldl9w cml2LT53b3JrYXJvdW5kczsKIAogCWlmICh3LT5jb3VudCA9PSAwKQpAQCAtMjUxMyw4ICsyNTE2 LDkgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X2ZyZWUoc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCkKIAlpbnQgaTsKIAogCWZvciAoaSA9IEk5MTVfTlVNX0VOR0lORVM7IC0taSA+PSAwOyApIHsK LQkJc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjdHgtPmVuZ2luZVtpXS5yaW5n YnVmOwotCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9IGN0eC0+ZW5naW5l W2ldLnN0YXRlOworCQlzdHJ1Y3QgaW50ZWxfY29udGV4dF9lbmdpbmUgKmNlID0gJmN0eC0+ZW5n aW5lW2ldOworCQlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9IGNlLT5yaW5nYnVm OworCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9IGNlLT5zdGF0ZTsKIAog CQlpZiAoIWN0eF9vYmopCiAJCQljb250aW51ZTsKQEAgLTI1MjQsNyArMjUyOCw3IEBAIHZvaWQg aW50ZWxfbHJfY29udGV4dF9mcmVlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCiAJCQlpOTE1 X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKIAkJfQogCi0JCVdBUk5fT04oY3R4LT5l bmdpbmVbaV0ucGluX2NvdW50KTsKKwkJV0FSTl9PTihjZS0+cGluX2NvdW50KTsKIAkJaW50ZWxf cmluZ2J1ZmZlcl9mcmVlKHJpbmdidWYpOwogCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgm Y3R4X29iai0+YmFzZSk7CiAJfQpAQCAtMjYwNCwxMyArMjYwOCwxNCBAQCBpbnQgaW50ZWxfbHJf Y29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAogCQkJCSAg ICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGVuZ2luZS0+ZGV2OworCXN0cnVjdCBpbnRlbF9jb250ZXh0X2VuZ2luZSAqY2UgPSAm Y3R4LT5lbmdpbmVbZW5naW5lLT5pZF07CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0 eF9vYmo7CiAJdWludDMyX3QgY29udGV4dF9zaXplOwogCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVy ICpyaW5nYnVmOwogCWludCByZXQ7CiAKIAlXQVJOX09OKGN0eC0+bGVnYWN5X2h3X2N0eC5yY3Nf c3RhdGUgIT0gTlVMTCk7Ci0JV0FSTl9PTihjdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5zdGF0ZSk7 CisJV0FSTl9PTihjZS0+c3RhdGUpOwogCiAJY29udGV4dF9zaXplID0gcm91bmRfdXAoaW50ZWxf bHJfY29udGV4dF9zaXplKGVuZ2luZSksIDQwOTYpOwogCkBAIC0yNjM1LDggKzI2NDAsOCBAQCBp bnQgaW50ZWxfbHJfY29udGV4dF9kZWZlcnJlZF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAq Y3R4LAogCQlnb3RvIGVycm9yX3JpbmdidWY7CiAJfQogCi0JY3R4LT5lbmdpbmVbZW5naW5lLT5p ZF0ucmluZ2J1ZiA9IHJpbmdidWY7Ci0JY3R4LT5lbmdpbmVbZW5naW5lLT5pZF0uc3RhdGUgPSBj dHhfb2JqOworCWNlLT5yaW5nYnVmID0gcmluZ2J1ZjsKKwljZS0+c3RhdGUgPSBjdHhfb2JqOwog CiAJaWYgKGN0eCAhPSBjdHgtPmk5MTUtPmtlcm5lbF9jb250ZXh0ICYmIGVuZ2luZS0+aW5pdF9j b250ZXh0KSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOwpAQCAtMjY2Myw4 ICsyNjY4LDggQEAgZXJyb3JfcmluZ2J1ZjoKIAlpbnRlbF9yaW5nYnVmZmVyX2ZyZWUocmluZ2J1 Zik7CiBlcnJvcl9kZXJlZl9vYmo6CiAJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJmN0eF9v YmotPmJhc2UpOwotCWN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnJpbmdidWYgPSBOVUxMOwotCWN0 eC0+ZW5naW5lW2VuZ2luZS0+aWRdLnN0YXRlID0gTlVMTDsKKwljZS0+cmluZ2J1ZiA9IE5VTEw7 CisJY2UtPnN0YXRlID0gTlVMTDsKIAlyZXR1cm4gcmV0OwogfQogCkBAIC0yNjc2LDEwICsyNjgx LDkgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJaW50IGk7CiAKIAlmb3JfZWFjaF9lbmdpbmUoZW5naW5lLCBkZXZfcHJpdiwgaSkgewotCQlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9Ci0JCQkJY3R4LT5lbmdpbmVbZW5n aW5lLT5pZF0uc3RhdGU7Ci0JCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0KLQkJ CQljdHgtPmVuZ2luZVtlbmdpbmUtPmlkXS5yaW5nYnVmOworCQlzdHJ1Y3QgaW50ZWxfY29udGV4 dF9lbmdpbmUgKmNlID0gJmN0eC0+ZW5naW5lW2VuZ2luZS0+aWRdOworCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9IGNlLT5zdGF0ZTsKKwkJc3RydWN0IGludGVsX3Jpbmdi dWZmZXIgKnJpbmdidWYgPSBjZS0+cmluZ2J1ZjsKIAkJdWludDMyX3QgKnJlZ19zdGF0ZTsKIAkJ c3RydWN0IHBhZ2UgKnBhZ2U7CiAKLS0gCjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9pbnRlbC1nZngK