From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 1/4] drm/i915: Convert requests to use struct fence Date: Fri, 26 Jun 2015 13:58:09 +0100 Message-ID: <1435323492-28630-2-git-send-email-John.C.Harrison@Intel.com> References: <1435323492-28630-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id D1C0D6E559 for ; Fri, 26 Jun 2015 05:58:15 -0700 (PDT) In-Reply-To: <1435323492-28630-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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZXJlIGlz IGEgY29uc3RydWN0IGluIHRoZSBsaW51eCBrZXJuZWwgY2FsbGVkICdzdHJ1Y3QgZmVuY2UnIHRo YXQgaXMgaW50ZW5kZWQKdG8ga2VlcCB0cmFjayBvZiB3b3JrIHRoYXQgaXMgZXhlY3V0ZWQgb24g aGFyZHdhcmUuIEkuZS4gaXQgc29sdmVzIHRoZSBiYXNpYwpwcm9ibGVtIHRoYXQgdGhlIGRyaXZl cnMgJ3N0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCcgaXMgdHJ5aW5nIHRvIGFkZHJlc3MuIFRo ZQpyZXF1ZXN0IHN0cnVjdHVyZSBkb2VzIHF1aXRlIGEgbG90IG1vcmUgdGhhbiBzaW1wbHkgdHJh Y2sgdGhlIGV4ZWN1dGlvbiBwcm9ncmVzcwpzbyBpcyB2ZXJ5IGRlZmluaXRlbHkgc3RpbGwgcmVx dWlyZWQuIEhvd2V2ZXIsIHRoZSBiYXNpYyBjb21wbGV0aW9uIHN0YXR1cyBzaWRlCmNvdWxkIGJl IHVwZGF0ZWQgdG8gdXNlIHRoZSByZWFkeSBtYWRlIGZlbmNlIGltcGxlbWVudGF0aW9uIGFuZCBn YWluIGFsbCB0aGUKYWR2YW50YWdlcyB0aGF0IHByb3ZpZGVzLgoKVGhpcyBwYXRjaCBtYWtlcyB0 aGUgZmlyc3Qgc3RlcCBvZiBpbnRlZ3JhdGluZyBhIHN0cnVjdCBmZW5jZSBpbnRvIHRoZSByZXF1 ZXN0LgpJdCByZXBsYWNlcyB0aGUgZXhwbGljaXQgcmVmZXJlbmNlIGNvdW50IHdpdGggdGhhdCBv ZiB0aGUgZmVuY2UuIEl0IGFsc28KcmVwbGFjZXMgdGhlICdpcyBjb21wbGV0ZWQnIHRlc3Qgd2l0 aCB0aGUgZmVuY2UncyBlcXVpdmFsZW50LiBDdXJyZW50bHksIHRoYXQKc2ltcGx5IGNoYWlucyBv biB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCBpbXBsZW1lbnRhdGlvbi4gQSBmdXR1cmUgcGF0Y2gg d2lsbAppbXByb3ZlIHRoaXMuCgpGb3I6IFZJWi01MTkwClNpZ25lZC1vZmYtYnk6IEpvaG4gSGFy cmlzb24gPEpvaG4uQy5IYXJyaXNvbkBJbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgNDUgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgICAgICAgICB8IDU2ICsrKysrKysrKysrKysr KysrKysrKysrKysrKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAg ICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIHwgIDEg KwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIHwgIDMgKysKIDUgZmls ZXMgY2hhbmdlZCwgNzggaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKaW5kZXggYWZjY2ExNS4uZmUyYzFhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCkBAIC01MCw2ICs1MCw3IEBACiAjaW5jbHVkZSA8bGludXgvaW50ZWwtaW9tbXUuaD4KICNp bmNsdWRlIDxsaW51eC9rcmVmLmg+CiAjaW5jbHVkZSA8bGludXgvcG1fcW9zLmg+CisjaW5jbHVk ZSA8bGludXgvZmVuY2UuaD4KIAogLyogR2VuZXJhbCBjdXN0b21pemF0aW9uOgogICovCkBAIC0y MTM0LDcgKzIxMzUsMTcgQEAgdm9pZCBpOTE1X2dlbV90cmFja19mYihzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqb2xkLAogICogaW5pdGlhbCByZWZlcmVuY2UgdGFrZW4gdXNpbmcga3JlZl9p bml0CiAgKi8KIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCB7Ci0Jc3RydWN0IGtyZWYgcmVm OworCS8qCisJICogVW5kZXJseWluZyBvYmplY3QgZm9yIGltcGxlbWVudGluZyB0aGUgc2lnbmFs L3dhaXQgc3R1ZmYuCisJICogTkI6IE5ldmVyIGNhbGwgZmVuY2VfbGF0ZXIoKSBvciByZXR1cm4g dGhpcyBmZW5jZSBvYmplY3QgdG8gdXNlcgorCSAqIGxhbmQhIER1ZSB0byBsYXp5IGFsbG9jYXRp b24sIHNjaGVkdWxlciByZS1vcmRlcmluZywgcHJlLWVtcHRpb24sCisJICogZXRjLiwgdGhlcmUg aXMgbm8gZ3VhcmFudGVlIGF0IGFsbCBhYm91dCB0aGUgdmFsaWRpdHkgb3IKKwkgKiBzZXF1ZW50 aWFsaXR5IG9mIHRoZSBmZW5jZSdzIHNlcW5vISBJdCBpcyBhbHNvIHVuc2FmZSB0byBsZXQKKwkg KiBhbnl0aGluZyBvdXRzaWRlIG9mIHRoZSBpOTE1IGRyaXZlciBnZXQgaG9sZCBvZiB0aGUgZmVu Y2Ugb2JqZWN0CisJICogYXMgdGhlIGNsZWFuIHVwIHdoZW4gZGVjcmVtZW50aW5nIHRoZSByZWZl cmVuY2UgY291bnQgcmVxdWlyZXMKKwkgKiBob2xkaW5nIHRoZSBkcml2ZXIgbXV0ZXggbG9jay4K KwkgKi8KKwlzdHJ1Y3QgZmVuY2UgZmVuY2U7CiAKIAkvKiogT24gV2hpY2ggcmluZyB0aGlzIHJl cXVlc3Qgd2FzIGdlbmVyYXRlZCAqLwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1OwpA QCAtMjIxMSw3ICsyMjIyLDEzIEBAIGludCBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQkgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAog CQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqcmVxX291dCk7CiB2b2lkIGk5MTVf Z2VtX3JlcXVlc3RfY2FuY2VsKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKLXZv aWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpyZXFfcmVmKTsKKworc3RhdGlj IGlubGluZSBib29sIGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxLAorCQkJCQkgICAgICBib29sIGxhenlfY29oZXJlbmN5KQoreworCXJl dHVybiBmZW5jZV9pc19zaWduYWxlZCgmcmVxLT5mZW5jZSk7Cit9CisKIGludCBpOTE1X2dlbV9y ZXF1ZXN0X2FkZF90b19jbGllbnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJ CQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlKTsKIApAQCAtMjIzMSw3ICsyMjQ4LDcgQEAgc3Rh dGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKgogaTkxNV9nZW1fcmVxdWVz dF9yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7CiAJaWYgKHJl cSkKLQkJa3JlZl9nZXQoJnJlcS0+cmVmKTsKKwkJZmVuY2VfZ2V0KCZyZXEtPmZlbmNlKTsKIAly ZXR1cm4gcmVxOwogfQogCkBAIC0yMjM5LDcgKzIyNTYsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQK IGk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEpCiB7CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZyZXEtPnJpbmctPmRldi0+c3Ry dWN0X211dGV4KSk7Ci0Ja3JlZl9wdXQoJnJlcS0+cmVmLCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUp OworCWZlbmNlX3B1dCgmcmVxLT5mZW5jZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZApAQCAt MjI1MSw3ICsyMjY4LDcgQEAgaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJCXJldHVybjsKIAogCWRldiA9IHJl cS0+cmluZy0+ZGV2OwotCWlmIChrcmVmX3B1dF9tdXRleCgmcmVxLT5yZWYsIGk5MTVfZ2VtX3Jl cXVlc3RfZnJlZSwgJmRldi0+c3RydWN0X211dGV4KSkKKwlpZiAoa3JlZl9wdXRfbXV0ZXgoJnJl cS0+ZmVuY2UucmVmY291bnQsIGZlbmNlX3JlbGVhc2UsICZkZXYtPnN0cnVjdF9tdXRleCkpCiAJ CW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogfQogCkBAIC0yMjY4LDEyICsyMjg1 LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqKnBkc3QsCiB9CiAKIC8qCi0gKiBYWFg6IGk5MTVfZ2VtX3Jl cXVlc3RfY29tcGxldGVkIHNob3VsZCBiZSBoZXJlIGJ1dCBjdXJyZW50bHkgbmVlZHMgdGhlCi0g KiBkZWZpbml0aW9uIG9mIGk5MTVfc2Vxbm9fcGFzc2VkKCkgd2hpY2ggaXMgYmVsb3cuIEl0IHdp bGwgYmUgbW92ZWQgaW4KLSAqIGEgbGF0ZXIgcGF0Y2ggd2hlbiB0aGUgY2FsbCB0byBpOTE1X3Nl cW5vX3Bhc3NlZCgpIGlzIG9ic29sZXRlZC4uLgotICovCi0KLS8qCiAgKiBBIGNvbW1hbmQgdGhh dCByZXF1aXJlcyBzcGVjaWFsIGhhbmRsaW5nIGJ5IHRoZSBjb21tYW5kIHBhcnNlci4KICAqLwog c3RydWN0IGRybV9pOTE1X2NtZF9kZXNjcmlwdG9yIHsKQEAgLTI4MzAsMTggKzI4NDEsNiBAQCBp OTE1X3NlcW5vX3Bhc3NlZCh1aW50MzJfdCBzZXExLCB1aW50MzJfdCBzZXEyKQogCXJldHVybiAo aW50MzJfdCkoc2VxMSAtIHNlcTIpID49IDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1 X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwK LQkJCQkJICAgICAgYm9vbCBsYXp5X2NvaGVyZW5jeSkKLXsKLQl1MzIgc2Vxbm87Ci0KLQlCVUdf T04ocmVxID09IE5VTEwpOwotCi0Jc2Vxbm8gPSByZXEtPnJpbmctPmdldF9zZXFubyhyZXEtPnJp bmcsIGxhenlfY29oZXJlbmN5KTsKLQotCXJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywg cmVxLT5zZXFubyk7Ci19Ci0KIGludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fZ2V0X3NlcW5vKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiAqc2Vxbm8pOwogaW50IF9fbXVzdF9jaGVjayBpOTE1 X2dlbV9zZXRfc2Vxbm8oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHNlcW5vKTsKIGludCBf X211c3RfY2hlY2sgaTkxNV9nZW1fb2JqZWN0X2dldF9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDQ1ZjA0NjAuLjVmYzQ0 YmYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjYxMCwxMCArMjYxMCwxMCBAQCBzdGF0 aWMgdm9pZCBpOTE1X3NldF9yZXNldF9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCX0KIH0KIAotdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUoc3RydWN0IGtyZWYg KnJlcV9yZWYpCitzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUoc3RydWN0IGZlbmNl ICpyZXFfZmVuY2UpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250 YWluZXJfb2YocmVxX3JlZiwKLQkJCQkJCSB0eXBlb2YoKnJlcSksIHJlZik7CisJc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWluZXJfb2YocmVxX2ZlbmNlLAorCQkJCQkJ IHR5cGVvZigqcmVxKSwgZmVuY2UpOwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHggPSByZXEt PmN0eDsKIAogCWlmIChyZXEtPmZpbGVfcHJpdikKQEAgLTI2MzMsNiArMjYzMyw0NyBAQCB2b2lk IGk5MTVfZ2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3Qga3JlZiAqcmVxX3JlZikKIAlrbWVtX2NhY2hl X2ZyZWUocmVxLT5pOTE1LT5yZXF1ZXN0cywgcmVxKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIg Kmk5MTVfZ2VtX3JlcXVlc3RfZ2V0X2RyaXZlcl9uYW1lKHN0cnVjdCBmZW5jZSAqcmVxX2ZlbmNl KQoreworCXJldHVybiAiaTkxNV9yZXF1ZXN0IjsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmk5 MTVfZ2VtX3JlcXVlc3RfZ2V0X3RpbWVsaW5lX25hbWUoc3RydWN0IGZlbmNlICpyZXFfZmVuY2Up Cit7CisJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWluZXJfb2YocmVx X2ZlbmNlLAorCQkJCQkJIHR5cGVvZigqcmVxKSwgZmVuY2UpOworCXJldHVybiByZXEtPnJpbmct Pm5hbWU7Cit9CisKK3N0YXRpYyBib29sIGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX3NpZ25hbGlu ZyhzdHJ1Y3QgZmVuY2UgKnJlcV9mZW5jZSkKK3sKKwkvKiBJbnRlcnJ1cHQgZHJpdmVuIGZlbmNl cyBhcmUgbm90IGltcGxlbWVudGVkIHlldC4qLworCVdBUk4odHJ1ZSwgIlRoaXMgc2hvdWxkIG5v dCBiZSBjYWxsZWQhIik7CisJcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGk5MTVfZ2Vt X3JlcXVlc3RfaXNfY29tcGxldGVkKHN0cnVjdCBmZW5jZSAqcmVxX2ZlbmNlKQoreworCXN0cnVj dCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxID0gY29udGFpbmVyX29mKHJlcV9mZW5jZSwKKwkJ CQkJCSB0eXBlb2YoKnJlcSksIGZlbmNlKTsKKwl1MzIgc2Vxbm87CisKKwlCVUdfT04ocmVxID09 IE5VTEwpOworCisJc2Vxbm8gPSByZXEtPnJpbmctPmdldF9zZXFubyhyZXEtPnJpbmcsIGZhbHNl LypsYXp5X2NvaGVyZW5jeSovKTsKKworCXJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywg cmVxLT5zZXFubyk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmVuY2Vfb3BzIGk5MTVfZ2Vt X3JlcXVlc3RfZm9wcyA9IHsKKwkuZ2V0X2RyaXZlcl9uYW1lCT0gaTkxNV9nZW1fcmVxdWVzdF9n ZXRfZHJpdmVyX25hbWUsCisJLmdldF90aW1lbGluZV9uYW1lCT0gaTkxNV9nZW1fcmVxdWVzdF9n ZXRfdGltZWxpbmVfbmFtZSwKKwkuZW5hYmxlX3NpZ25hbGluZwk9IGk5MTVfZ2VtX3JlcXVlc3Rf ZW5hYmxlX3NpZ25hbGluZywKKwkuc2lnbmFsZWQJCT0gaTkxNV9nZW1fcmVxdWVzdF9pc19jb21w bGV0ZWQsCisJLndhaXQJCQk9IGZlbmNlX2RlZmF1bHRfd2FpdCwKKwkucmVsZWFzZQkJPSBpOTE1 X2dlbV9yZXF1ZXN0X2ZyZWUsCit9OworCiBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQkJICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCwKIAkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqKnJlcV9vdXQpCkBAIC0yNjU0 LDcgKzI2OTUsNiBAQCBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLAogCWlmIChyZXQpCiAJCWdvdG8gZXJyOwogCi0Ja3JlZl9pbml0KCZyZXEt PnJlZik7CiAJcmVxLT5pOTE1ID0gZGV2X3ByaXY7CiAJcmVxLT5yaW5nID0gcmluZzsKIAlyZXEt PmN0eCAgPSBjdHg7CkBAIC0yNjY5LDYgKzI3MDksOCBAQCBpbnQgaTkxNV9nZW1fcmVxdWVzdF9h bGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlnb3RvIGVycjsKIAl9CiAKKwlm ZW5jZV9pbml0KCZyZXEtPmZlbmNlLCAmaTkxNV9nZW1fcmVxdWVzdF9mb3BzLCAmcmluZy0+ZmVu Y2VfbG9jaywgcmluZy0+ZmVuY2VfY29udGV4dCwgcmVxLT5zZXFubyk7CisKIAkvKgogCSAqIFJl c2VydmUgc3BhY2UgaW4gdGhlIHJpbmcgYnVmZmVyIGZvciBhbGwgdGhlIGNvbW1hbmRzIHJlcXVp cmVkIHRvCiAJICogZXZlbnR1YWxseSBlbWl0IHRoaXMgcmVxdWVzdC4gVGhpcyBpcyB0byBndWFy YW50ZWUgdGhhdCB0aGUKQEAgLTUwMzEsNyArNTA3Myw3IEBAIGk5MTVfZ2VtX2luaXRfaHcoc3Ry dWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7Ci0J aW50IHJldCwgaSwgajsKKwlpbnQgcmV0LCBpLCBqLCBmZW5jZV9iYXNlOwogCiAJaWYgKElOVEVM X0lORk8oZGV2KS0+Z2VuIDwgNiAmJiAhaW50ZWxfZW5hYmxlX2d0dCgpKQogCQlyZXR1cm4gLUVJ TzsKQEAgLTUwODMsMTIgKzUxMjUsMTYgQEAgaTkxNV9nZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogCQkJZ290byBvdXQ7CiAJfQogCisJZmVuY2VfYmFzZSA9IGZlbmNlX2NvbnRl eHRfYWxsb2MoSTkxNV9OVU1fUklOR1MpOworCiAJLyogTm93IGl0IGlzIHNhZmUgdG8gZ28gYmFj ayByb3VuZCBhbmQgZG8gZXZlcnl0aGluZyBlbHNlOiAqLwogCWZvcl9lYWNoX3JpbmcocmluZywg ZGV2X3ByaXYsIGkpIHsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CiAKIAkJ V0FSTl9PTighcmluZy0+ZGVmYXVsdF9jb250ZXh0KTsKIAorCQlyaW5nLT5mZW5jZV9jb250ZXh0 ID0gZmVuY2VfYmFzZSArIGk7CisKIAkJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhyaW5n LCByaW5nLT5kZWZhdWx0X2NvbnRleHQsICZyZXEpOwogCQlpZiAocmV0KSB7CiAJCQlpOTE1X2dl bV9jbGVhbnVwX3JpbmdidWZmZXIoZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXgg ZTk5OGE1NC4uM2RjN2UzOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTE2NTEsNiAr MTY1MSw3IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluCiAJcmluZy0+ZGV2ID0gZGV2OwogCUlO SVRfTElTVF9IRUFEKCZyaW5nLT5hY3RpdmVfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmct PnJlcXVlc3RfbGlzdCk7CisJc3Bpbl9sb2NrX2luaXQoJnJpbmctPmZlbmNlX2xvY2spOwogCWk5 MTVfZ2VtX2JhdGNoX3Bvb2xfaW5pdChkZXYsICZyaW5nLT5iYXRjaF9wb29sKTsKIAlpbml0X3dh aXRxdWV1ZV9oZWFkKCZyaW5nLT5pcnFfcXVldWUpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMKaW5kZXggN2M1YjRjMi4uY2I2M2UyZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMjAzMCw2ICsyMDMwLDcgQEAgc3RhdGljIGludCBp bnRlbF9pbml0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJSU5JVF9MSVNU X0hFQUQoJnJpbmctPmFjdGl2ZV9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+cmVxdWVz dF9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZXhlY2xpc3RfcXVldWUpOworCXNwaW5f bG9ja19pbml0KCZyaW5nLT5mZW5jZV9sb2NrKTsKIAlpOTE1X2dlbV9iYXRjaF9wb29sX2luaXQo ZGV2LCAmcmluZy0+YmF0Y2hfcG9vbCk7CiAJcmluZ2J1Zi0+c2l6ZSA9IDMyICogUEFHRV9TSVpF OwogCXJpbmdidWYtPnJpbmcgPSByaW5nOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5oCmluZGV4IDMwNGNhYzQuLjhhZDI1YjAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmgKQEAgLTMzOCw2ICszMzgsOSBAQCBzdHJ1Y3QgIGludGVsX2VuZ2luZV9j cyB7CiAJICogdG8gZW5jb2RlIHRoZSBjb21tYW5kIGxlbmd0aCBpbiB0aGUgaGVhZGVyKS4KIAkg Ki8KIAl1MzIgKCpnZXRfY21kX2xlbmd0aF9tYXNrKSh1MzIgY21kX2hlYWRlcik7CisKKwl1bnNp Z25lZCBmZW5jZV9jb250ZXh0OworCXNwaW5sb2NrX3QgZmVuY2VfbG9jazsKIH07CiAKIGJvb2wg aW50ZWxfcmluZ19pbml0aWFsaXplZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKLS0g CjEuOS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=