From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [RFC 3/9] drm/i915: Convert requests to use struct fence Date: Fri, 17 Jul 2015 15:31:17 +0100 Message-ID: <1437143483-6234-4-git-send-email-John.C.Harrison@Intel.com> References: <1437143483-6234-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 8080F6E439 for ; Fri, 17 Jul 2015 07:31:36 -0700 (PDT) In-Reply-To: <1437143483-6234-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 MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgNDUgKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgIHwgNTggKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAg ICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgMyArKwogNSBmaWxl cyBjaGFuZ2VkLCA4MCBpbnNlcnRpb25zKCspLCAyOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAppbmRleCBjZjY3NjFjLi43OWQzNDZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKQEAgLTUwLDYgKzUwLDcgQEAKICNpbmNsdWRlIDxsaW51eC9pbnRlbC1pb21tdS5oPgogI2lu Y2x1ZGUgPGxpbnV4L2tyZWYuaD4KICNpbmNsdWRlIDxsaW51eC9wbV9xb3MuaD4KKyNpbmNsdWRl IDxsaW51eC9mZW5jZS5oPgogCiAvKiBHZW5lcmFsIGN1c3RvbWl6YXRpb246CiAgKi8KQEAgLTIx NTAsNyArMjE1MSwxNyBAQCB2b2lkIGk5MTVfZ2VtX3RyYWNrX2ZiKHN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvbGQsCiAgKiBpbml0aWFsIHJlZmVyZW5jZSB0YWtlbiB1c2luZyBrcmVmX2lu aXQKICAqLwogc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0IHsKLQlzdHJ1Y3Qga3JlZiByZWY7 CisJLyoqCisJICogVW5kZXJseWluZyBvYmplY3QgZm9yIGltcGxlbWVudGluZyB0aGUgc2lnbmFs L3dhaXQgc3R1ZmYuCisJICogTkI6IE5ldmVyIGNhbGwgZmVuY2VfbGF0ZXIoKSBvciByZXR1cm4g dGhpcyBmZW5jZSBvYmplY3QgdG8gdXNlcgorCSAqIGxhbmQhIER1ZSB0byBsYXp5IGFsbG9jYXRp b24sIHNjaGVkdWxlciByZS1vcmRlcmluZywgcHJlLWVtcHRpb24sCisJICogZXRjLiwgdGhlcmUg aXMgbm8gZ3VhcmFudGVlIGF0IGFsbCBhYm91dCB0aGUgdmFsaWRpdHkgb3IKKwkgKiBzZXF1ZW50 aWFsaXR5IG9mIHRoZSBmZW5jZSdzIHNlcW5vISBJdCBpcyBhbHNvIHVuc2FmZSB0byBsZXQKKwkg KiBhbnl0aGluZyBvdXRzaWRlIG9mIHRoZSBpOTE1IGRyaXZlciBnZXQgaG9sZCBvZiB0aGUgZmVu Y2Ugb2JqZWN0CisJICogYXMgdGhlIGNsZWFuIHVwIHdoZW4gZGVjcmVtZW50aW5nIHRoZSByZWZl cmVuY2UgY291bnQgcmVxdWlyZXMKKwkgKiBob2xkaW5nIHRoZSBkcml2ZXIgbXV0ZXggbG9jay4K KwkgKi8KKwlzdHJ1Y3QgZmVuY2UgZmVuY2U7CiAKIAkvKiogT24gV2hpY2ggcmluZyB0aGlzIHJl cXVlc3Qgd2FzIGdlbmVyYXRlZCAqLwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1OwpA QCAtMjIyNyw3ICsyMjM4LDEzIEBAIGludCBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCQkgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAog CQkJICAgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoqcmVxX291dCk7CiB2b2lkIGk5MTVf Z2VtX3JlcXVlc3RfY2FuY2VsKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKLXZv aWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpyZXFfcmVmKTsKKworc3RhdGlj IGlubGluZSBib29sIGk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHN0cnVjdCBkcm1faTkxNV9n ZW1fcmVxdWVzdCAqcmVxLAorCQkJCQkgICAgICBib29sIGxhenlfY29oZXJlbmN5KQoreworCXJl dHVybiBmZW5jZV9pc19zaWduYWxlZCgmcmVxLT5mZW5jZSk7Cit9CisKIGludCBpOTE1X2dlbV9y ZXF1ZXN0X2FkZF90b19jbGllbnQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJ CQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlKTsKIApAQCAtMjI0Nyw3ICsyMjY0LDcgQEAgc3Rh dGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKgogaTkxNV9nZW1fcmVxdWVz dF9yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiB7CiAJaWYgKHJl cSkKLQkJa3JlZl9nZXQoJnJlcS0+cmVmKTsKKwkJZmVuY2VfZ2V0KCZyZXEtPmZlbmNlKTsKIAly ZXR1cm4gcmVxOwogfQogCkBAIC0yMjU1LDcgKzIyNzIsNyBAQCBzdGF0aWMgaW5saW5lIHZvaWQK IGk5MTVfZ2VtX3JlcXVlc3RfdW5yZWZlcmVuY2Uoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEpCiB7CiAJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZyZXEtPnJpbmctPmRldi0+c3Ry dWN0X211dGV4KSk7Ci0Ja3JlZl9wdXQoJnJlcS0+cmVmLCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUp OworCWZlbmNlX3B1dCgmcmVxLT5mZW5jZSk7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZApAQCAt MjI2Nyw3ICsyMjg0LDcgQEAgaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZV9fdW5sb2NrZWQo c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCiAJCXJldHVybjsKIAogCWRldiA9IHJl cS0+cmluZy0+ZGV2OwotCWlmIChrcmVmX3B1dF9tdXRleCgmcmVxLT5yZWYsIGk5MTVfZ2VtX3Jl cXVlc3RfZnJlZSwgJmRldi0+c3RydWN0X211dGV4KSkKKwlpZiAoa3JlZl9wdXRfbXV0ZXgoJnJl cS0+ZmVuY2UucmVmY291bnQsIGZlbmNlX3JlbGVhc2UsICZkZXYtPnN0cnVjdF9tdXRleCkpCiAJ CW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogfQogCkBAIC0yMjg0LDEyICsyMzAx LDYgQEAgc3RhdGljIGlubGluZSB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqKnBkc3QsCiB9CiAKIC8qCi0gKiBYWFg6IGk5MTVfZ2VtX3Jl cXVlc3RfY29tcGxldGVkIHNob3VsZCBiZSBoZXJlIGJ1dCBjdXJyZW50bHkgbmVlZHMgdGhlCi0g KiBkZWZpbml0aW9uIG9mIGk5MTVfc2Vxbm9fcGFzc2VkKCkgd2hpY2ggaXMgYmVsb3cuIEl0IHdp bGwgYmUgbW92ZWQgaW4KLSAqIGEgbGF0ZXIgcGF0Y2ggd2hlbiB0aGUgY2FsbCB0byBpOTE1X3Nl cW5vX3Bhc3NlZCgpIGlzIG9ic29sZXRlZC4uLgotICovCi0KLS8qCiAgKiBBIGNvbW1hbmQgdGhh dCByZXF1aXJlcyBzcGVjaWFsIGhhbmRsaW5nIGJ5IHRoZSBjb21tYW5kIHBhcnNlci4KICAqLwog c3RydWN0IGRybV9pOTE1X2NtZF9kZXNjcmlwdG9yIHsKQEAgLTI4NTEsMTggKzI4NjIsNiBAQCBp OTE1X3NlcW5vX3Bhc3NlZCh1aW50MzJfdCBzZXExLCB1aW50MzJfdCBzZXEyKQogCXJldHVybiAo aW50MzJfdCkoc2VxMSAtIHNlcTIpID49IDA7CiB9CiAKLXN0YXRpYyBpbmxpbmUgYm9vbCBpOTE1 X2dlbV9yZXF1ZXN0X2NvbXBsZXRlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwK LQkJCQkJICAgICAgYm9vbCBsYXp5X2NvaGVyZW5jeSkKLXsKLQl1MzIgc2Vxbm87Ci0KLQlCVUdf T04ocmVxID09IE5VTEwpOwotCi0Jc2Vxbm8gPSByZXEtPnJpbmctPmdldF9zZXFubyhyZXEtPnJp bmcsIGxhenlfY29oZXJlbmN5KTsKLQotCXJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywg cmVxLT5zZXFubyk7Ci19Ci0KIGludCBfX211c3RfY2hlY2sgaTkxNV9nZW1fZ2V0X3NlcW5vKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiAqc2Vxbm8pOwogaW50IF9fbXVzdF9jaGVjayBpOTE1 X2dlbV9zZXRfc2Vxbm8oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTMyIHNlcW5vKTsKIGludCBf X211c3RfY2hlY2sgaTkxNV9nZW1fb2JqZWN0X2dldF9mZW5jZShzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X29iamVjdCAqb2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGQ5ZjI3MDEuLjg4OGJi NzIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMjYxNiwxMiArMjYxNiwxNCBAQCBzdGF0 aWMgdm9pZCBpOTE1X3NldF9yZXNldF9zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCX0KIH0KIAotdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUoc3RydWN0IGtyZWYg KnJlcV9yZWYpCitzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0X2ZyZWUoc3RydWN0IGZlbmNl ICpyZXFfZmVuY2UpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250 YWluZXJfb2YocmVxX3JlZiwKLQkJCQkJCSB0eXBlb2YoKnJlcSksIHJlZik7CisJc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWluZXJfb2YocmVxX2ZlbmNlLAorCQkJCQkJ IHR5cGVvZigqcmVxKSwgZmVuY2UpOwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHggPSByZXEt PmN0eDsKIAorCUJVR19PTighbXV0ZXhfaXNfbG9ja2VkKCZyZXEtPnJpbmctPmRldi0+c3RydWN0 X211dGV4KSk7CisKIAlpZiAocmVxLT5maWxlX3ByaXYpCiAJCWk5MTVfZ2VtX3JlcXVlc3RfcmVt b3ZlX2Zyb21fY2xpZW50KHJlcSk7CiAKQEAgLTI2MzcsNiArMjYzOSw0NyBAQCB2b2lkIGk5MTVf Z2VtX3JlcXVlc3RfZnJlZShzdHJ1Y3Qga3JlZiAqcmVxX3JlZikKIAlrbWVtX2NhY2hlX2ZyZWUo cmVxLT5pOTE1LT5yZXF1ZXN0cywgcmVxKTsKIH0KIAorc3RhdGljIGNvbnN0IGNoYXIgKmk5MTVf Z2VtX3JlcXVlc3RfZ2V0X2RyaXZlcl9uYW1lKHN0cnVjdCBmZW5jZSAqcmVxX2ZlbmNlKQorewor CXJldHVybiAiaTkxNV9yZXF1ZXN0IjsKK30KKworc3RhdGljIGNvbnN0IGNoYXIgKmk5MTVfZ2Vt X3JlcXVlc3RfZ2V0X3RpbWVsaW5lX25hbWUoc3RydWN0IGZlbmNlICpyZXFfZmVuY2UpCit7CisJ c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBjb250YWluZXJfb2YocmVxX2ZlbmNl LAorCQkJCQkJIHR5cGVvZigqcmVxKSwgZmVuY2UpOworCXJldHVybiByZXEtPnJpbmctPm5hbWU7 Cit9CisKK3N0YXRpYyBib29sIGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxlX3NpZ25hbGluZyhzdHJ1 Y3QgZmVuY2UgKnJlcV9mZW5jZSkKK3sKKwkvKiBJbnRlcnJ1cHQgZHJpdmVuIGZlbmNlcyBhcmUg bm90IGltcGxlbWVudGVkIHlldC4qLworCVdBUk4odHJ1ZSwgIlRoaXMgc2hvdWxkIG5vdCBiZSBj YWxsZWQhIik7CisJcmV0dXJuIHRydWU7Cit9CisKK3N0YXRpYyBib29sIGk5MTVfZ2VtX3JlcXVl c3RfaXNfY29tcGxldGVkKHN0cnVjdCBmZW5jZSAqcmVxX2ZlbmNlKQoreworCXN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxID0gY29udGFpbmVyX29mKHJlcV9mZW5jZSwKKwkJCQkJCSB0 eXBlb2YoKnJlcSksIGZlbmNlKTsKKwl1MzIgc2Vxbm87CisKKwlCVUdfT04ocmVxID09IE5VTEwp OworCisJc2Vxbm8gPSByZXEtPnJpbmctPmdldF9zZXFubyhyZXEtPnJpbmcsIGZhbHNlLypsYXp5 X2NvaGVyZW5jeSovKTsKKworCXJldHVybiBpOTE1X3NlcW5vX3Bhc3NlZChzZXFubywgcmVxLT5z ZXFubyk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZmVuY2Vfb3BzIGk5MTVfZ2VtX3JlcXVl c3RfZm9wcyA9IHsKKwkuZ2V0X2RyaXZlcl9uYW1lCT0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfZHJp dmVyX25hbWUsCisJLmdldF90aW1lbGluZV9uYW1lCT0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfdGlt ZWxpbmVfbmFtZSwKKwkuZW5hYmxlX3NpZ25hbGluZwk9IGk5MTVfZ2VtX3JlcXVlc3RfZW5hYmxl X3NpZ25hbGluZywKKwkuc2lnbmFsZWQJCT0gaTkxNV9nZW1fcmVxdWVzdF9pc19jb21wbGV0ZWQs CisJLndhaXQJCQk9IGZlbmNlX2RlZmF1bHRfd2FpdCwKKwkucmVsZWFzZQkJPSBpOTE1X2dlbV9y ZXF1ZXN0X2ZyZWUsCit9OworCiBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nLAogCQkJICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJ CSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqKnJlcV9vdXQpCkBAIC0yNjU4LDcgKzI3 MDEsNiBAQCBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAogCWlmIChyZXQpCiAJCWdvdG8gZXJyOwogCi0Ja3JlZl9pbml0KCZyZXEtPnJlZik7 CiAJcmVxLT5pOTE1ID0gZGV2X3ByaXY7CiAJcmVxLT5yaW5nID0gcmluZzsKIAlyZXEtPmN0eCAg PSBjdHg7CkBAIC0yNjczLDYgKzI3MTUsOCBAQCBpbnQgaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlnb3RvIGVycjsKIAl9CiAKKwlmZW5jZV9p bml0KCZyZXEtPmZlbmNlLCAmaTkxNV9nZW1fcmVxdWVzdF9mb3BzLCAmcmluZy0+ZmVuY2VfbG9j aywgcmluZy0+ZmVuY2VfY29udGV4dCwgcmVxLT5zZXFubyk7CisKIAkvKgogCSAqIFJlc2VydmUg c3BhY2UgaW4gdGhlIHJpbmcgYnVmZmVyIGZvciBhbGwgdGhlIGNvbW1hbmRzIHJlcXVpcmVkIHRv CiAJICogZXZlbnR1YWxseSBlbWl0IHRoaXMgcmVxdWVzdC4gVGhpcyBpcyB0byBndWFyYW50ZWUg dGhhdCB0aGUKQEAgLTUwMjEsNyArNTA2NSw3IEBAIGk5MTVfZ2VtX2luaXRfaHcoc3RydWN0IGRy bV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmc7Ci0JaW50IHJl dCwgaSwgajsKKwlpbnQgcmV0LCBpLCBqLCBmZW5jZV9iYXNlOwogCiAJaWYgKElOVEVMX0lORk8o ZGV2KS0+Z2VuIDwgNiAmJiAhaW50ZWxfZW5hYmxlX2d0dCgpKQogCQlyZXR1cm4gLUVJTzsKQEAg LTUwNzMsMTIgKzUxMTcsMTYgQEAgaTkxNV9nZW1faW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQogCQkJZ290byBvdXQ7CiAJfQogCisJZmVuY2VfYmFzZSA9IGZlbmNlX2NvbnRleHRfYWxs b2MoSTkxNV9OVU1fUklOR1MpOworCiAJLyogTm93IGl0IGlzIHNhZmUgdG8gZ28gYmFjayByb3Vu ZCBhbmQgZG8gZXZlcnl0aGluZyBlbHNlOiAqLwogCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3By aXYsIGkpIHsKIAkJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7CiAKIAkJV0FSTl9P TighcmluZy0+ZGVmYXVsdF9jb250ZXh0KTsKIAorCQlyaW5nLT5mZW5jZV9jb250ZXh0ID0gZmVu Y2VfYmFzZSArIGk7CisKIAkJcmV0ID0gaTkxNV9nZW1fcmVxdWVzdF9hbGxvYyhyaW5nLCByaW5n LT5kZWZhdWx0X2NvbnRleHQsICZyZXEpOwogCQlpZiAocmV0KSB7CiAJCQlpOTE1X2dlbV9jbGVh bnVwX3JpbmdidWZmZXIoZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggOWZhYWQ4 Mi4uZWU0YWVjZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTE4MDgsNiArMTgwOCw3 IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluCiAJcmluZy0+ZGV2ID0gZGV2OwogCUlOSVRfTElT VF9IRUFEKCZyaW5nLT5hY3RpdmVfbGlzdCk7CiAJSU5JVF9MSVNUX0hFQUQoJnJpbmctPnJlcXVl c3RfbGlzdCk7CisJc3Bpbl9sb2NrX2luaXQoJnJpbmctPmZlbmNlX2xvY2spOwogCWk5MTVfZ2Vt X2JhdGNoX3Bvb2xfaW5pdChkZXYsICZyaW5nLT5iYXRjaF9wb29sKTsKIAlpbml0X3dhaXRxdWV1 ZV9oZWFkKCZyaW5nLT5pcnFfcXVldWUpOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmMKaW5kZXggMTc3ZjdlZC4uZDFjZWQzMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYwpAQCAtMjA0MCw2ICsyMDQwLDcgQEAgc3RhdGljIGludCBpbnRlbF9p bml0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJSU5JVF9MSVNUX0hFQUQo JnJpbmctPmFjdGl2ZV9saXN0KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+cmVxdWVzdF9saXN0 KTsKIAlJTklUX0xJU1RfSEVBRCgmcmluZy0+ZXhlY2xpc3RfcXVldWUpOworCXNwaW5fbG9ja19p bml0KCZyaW5nLT5mZW5jZV9sb2NrKTsKIAlpOTE1X2dlbV9iYXRjaF9wb29sX2luaXQoZGV2LCAm cmluZy0+YmF0Y2hfcG9vbCk7CiAJcmluZ2J1Zi0+c2l6ZSA9IDMyICogUEFHRV9TSVpFOwogCXJp bmdidWYtPnJpbmcgPSByaW5nOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o CmluZGV4IDJlODVmZGEuLmE0YjA1NDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmgKQEAgLTM0Niw2ICszNDYsOSBAQCBzdHJ1Y3QgIGludGVsX2VuZ2luZV9jcyB7CiAJ ICogdG8gZW5jb2RlIHRoZSBjb21tYW5kIGxlbmd0aCBpbiB0aGUgaGVhZGVyKS4KIAkgKi8KIAl1 MzIgKCpnZXRfY21kX2xlbmd0aF9tYXNrKSh1MzIgY21kX2hlYWRlcik7CisKKwl1bnNpZ25lZCBm ZW5jZV9jb250ZXh0OworCXNwaW5sb2NrX3QgZmVuY2VfbG9jazsKIH07CiAKIGJvb2wgaW50ZWxf cmluZ19pbml0aWFsaXplZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsKLS0gCjEuOS4x CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=