From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v3 07/28] drm/i915: Remove 'outstanding_lazy_seqno' Date: Mon, 24 Nov 2014 18:49:29 +0000 Message-ID: <1416854990-1920-8-git-send-email-John.C.Harrison@Intel.com> References: <1416854990-1920-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 564CC6EE21 for ; Mon, 24 Nov 2014 10:50:16 -0800 (PST) In-Reply-To: <1416854990-1920-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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KClRoZSBPTFMg dmFsdWUgaXMgbm93IG9ic29sZXRlLiBFeGFjdGx5IHRoZSBzYW1lIHZhbHVlIGlzIGd1YXJhdGVl ZCB0byBiZSBhbHdheXMKYXZhaWxhYmxlIGFzIFBMUi0+c2Vxbm8uIFRodXMgaXQgaXMgc2FmZSB0 byByZW1vdmUgdGhlIE9MUyBjb21wbGV0ZWx5LiBBbmQgYWxzbwp0byByZW5hbWUgdGhlIFBMUiB0 byBPTFIgdG8ga2VlcCB0aGUgJ291dHN0YW5kaW5nIGxhenkgLi4uJyBuYW1pbmcgY29udmVudGlv bgp2YWxpZC4KCkZvcjogVklaLTQzNzcKU2lnbmVkLW9mZi1ieTogSm9obiBIYXJyaXNvbiA8Sm9o bi5DLkhhcnJpc29uQEludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IFRob21hcyBEYW5pZWwgPFRob21h cy5EYW5pZWxAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgICAgICB8ICAgMTMgKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f ZXhlY2J1ZmZlci5jIHwgICAgNCArKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyAgICAgICB8ICAgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAg ICAgICAgICB8ICAgMjYgKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuYyAgICB8ICAgNTIgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgICAxMyArKy0tLS0tCiA2 IGZpbGVzIGNoYW5nZWQsIDQ5IGluc2VydGlvbnMoKyksIDYyIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCmluZGV4IDcxMzAzYTEuLjliM2UwM2IgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYwpAQCAtMTE2NCw3ICsxMTY0LDcgQEAgaTkxNV9nZW1fY2hlY2tfb2xyKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKnJpbmcsIHUzMiBzZXFubykKIAlCVUdfT04oIW11dGV4X2lzX2xvY2tl ZCgmcmluZy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKIAogCXJldCA9IDA7Ci0JaWYgKHNlcW5vID09 IHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pCisJaWYgKHNlcW5vID09IGk5MTVfZ2VtX3Jl cXVlc3RfZ2V0X3NlcW5vKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkpCiAJCXJldCA9 IGk5MTVfYWRkX3JlcXVlc3QocmluZywgTlVMTCk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtMjQyNCw3 ICsyNDI0LDcgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAogCXUzMiByZXF1ZXN0X3JpbmdfcG9zaXRpb24sIHJlcXVlc3Rfc3RhcnQ7CiAJaW50 IHJldDsKIAotCXJlcXVlc3QgPSByaW5nLT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0OworCXJl cXVlc3QgPSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3Q7CiAJaWYgKFdBUk5fT04ocmVx dWVzdCA9PSBOVUxMKSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTI0NjksNyArMjQ2OSw2IEBA IGludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJ CXJldHVybiByZXQ7CiAJfQogCi0JcmVxdWVzdC0+c2Vxbm8gPSBpbnRlbF9yaW5nX2dldF9zZXFu byhyaW5nKTsKIAlyZXF1ZXN0LT5yaW5nID0gcmluZzsKIAlyZXF1ZXN0LT5oZWFkID0gcmVxdWVz dF9zdGFydDsKIAlyZXF1ZXN0LT50YWlsID0gcmVxdWVzdF9yaW5nX3Bvc2l0aW9uOwpAQCAtMjUw Niw4ICsyNTA1LDcgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nLAogCX0KIAogCXRyYWNlX2k5MTVfZ2VtX3JlcXVlc3RfYWRkKHJpbmcsIHJlcXVl c3QtPnNlcW5vKTsKLQlyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5vID0gMDsKLQlyaW5nLT5w cmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0ID0gTlVMTDsKKwlyaW5nLT5vdXRzdGFuZGluZ19sYXp5 X3JlcXVlc3QgPSBOVUxMOwogCiAJaTkxNV9xdWV1ZV9oYW5nY2hlY2socmluZy0+ZGV2KTsKIApA QCAtMjY5Miw5ICsyNjkwLDggQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVzZXRfcmluZ19jbGVh bnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJaTkxNV9nZW1fZnJlZV9y ZXF1ZXN0KHJlcXVlc3QpOwogCX0KIAotCS8qIFRoZXNlIG1heSBub3QgaGF2ZSBiZWVuIGZsdXNo IGJlZm9yZSB0aGUgcmVzZXQsIGRvIHNvIG5vdyAqLwotCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWdu KCZyaW5nLT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0LCBOVUxMKTsKLQlyaW5nLT5vdXRzdGFu ZGluZ19sYXp5X3NlcW5vID0gMDsKKwkvKiBUaGlzIG1heSBub3QgaGF2ZSBiZWVuIGZsdXNoZWQg YmVmb3JlIHRoZSByZXNldCwgc28gY2xlYW4gaXQgbm93ICovCisJaTkxNV9nZW1fcmVxdWVzdF9h c3NpZ24oJnJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCwgTlVMTCk7CiB9CiAKIHZvaWQg aTkxNV9nZW1fcmVzdG9yZV9mZW5jZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldikKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwppbmRleCA0ZDliYWVmLi43ZWNmYTkx IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCkBAIC0xMjEx LDcgKzEyMTEsOSBAQCBpOTE1X2dlbV9yaW5nYnVmZmVyX3N1Ym1pc3Npb24oc3RydWN0IGRybV9k ZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlLAogCQkJcmV0dXJuIHJldDsKIAl9CiAK LQl0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKHJpbmcsIGludGVsX3JpbmdfZ2V0X3NlcW5v KHJpbmcpLCBmbGFncyk7CisJdHJhY2VfaTkxNV9nZW1fcmluZ19kaXNwYXRjaChyaW5nLAorCQkg ICAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8oaW50ZWxfcmluZ19nZXRfcmVxdWVzdChyaW5n KSksCisJCSAgICBmbGFncyk7CiAKIAlpOTE1X2dlbV9leGVjYnVmZmVyX21vdmVfdG9fYWN0aXZl KHZtYXMsIHJpbmcpOwogCWk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2NvbW1hbmRzKGRldiwg ZmlsZSwgcmluZywgYmF0Y2hfb2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpp bmRleCBmYWY3ZTAzLi4wOTdlOGExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j CkBAIC05ODQ2LDcgKzk4NDYsOCBAQCBzdGF0aWMgaW50IGludGVsX2NydGNfcGFnZV9mbGlwKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJaWYgKHJldCkKIAkJCWdvdG8gY2xlYW51cF91bnBpbjsK IAotCQl3b3JrLT5mbGlwX3F1ZXVlZF9zZXFubyA9IGludGVsX3JpbmdfZ2V0X3NlcW5vKHJpbmcp OworCQl3b3JrLT5mbGlwX3F1ZXVlZF9zZXFubyA9CisJCSAgICBpOTE1X2dlbV9yZXF1ZXN0X2dl dF9zZXFubyhpbnRlbF9yaW5nX2dldF9yZXF1ZXN0KHJpbmcpKTsKIAkJd29yay0+ZmxpcF9xdWV1 ZWRfcmluZyA9IHJpbmc7CiAJfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCmluZGV4IGZlNjY0 ODIuLjlhZWQ4M2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC04NzYsMjIgKzg3Niwx NCBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAl9CiB9CiAKLXN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2FsbG9jX3NlcW5vKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCi0JCQkJICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj dHgpCitzdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19hbGxvY19yZXF1ZXN0KHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCisJCQkJICAgICAgc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKIHsK IAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3Q7CiAJaW50IHJldDsKIAotCS8q IFhYWDogVGhlIGFpbSBpcyB0byByZXBsYWNlIHNlcW5vIHZhbHVlcyB3aXRoIHJlcXVlc3Qgc3Ry dWN0dXJlcy4KLQkgKiBBIHN0ZXAgYWxvbmcgdGhlIHdheSBpcyB0byBzd2l0Y2ggdG8gdXNpbmcg dGhlIFBMUiBpbiBwcmVmZXJlbmNlCi0JICogdG8gdGhlIE9MUy4gVGhhdCByZXF1aXJlcyB0aGUg UExSIHRvIG9ubHkgYmUgdmFsaWQgd2hlbiB0aGUgT0xTIGlzCi0JICogYWxzbyB2YWxpZC4gSS5l LiwgdGhlIHR3byBtdXN0IGJlIGtlcHQgaW4gc3RlcC4gKi8KLQotCWlmIChyaW5nLT5vdXRzdGFu ZGluZ19sYXp5X3NlcW5vKSB7Ci0JCVdBUk5fT04ocmluZy0+cHJlYWxsb2NhdGVkX2xhenlfcmVx dWVzdCA9PSBOVUxMKTsKKwlpZiAocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KQogCQly ZXR1cm4gMDsKLQl9Ci0JV0FSTl9PTihyaW5nLT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0ICE9 IE5VTEwpOwogCiAJcmVxdWVzdCA9IGttYWxsb2Moc2l6ZW9mKCpyZXF1ZXN0KSwgR0ZQX0tFUk5F TCk7CiAJaWYgKHJlcXVlc3QgPT0gTlVMTCkKQEAgLTkwNyw3ICs4OTksNyBAQCBzdGF0aWMgaW50 IGxvZ2ljYWxfcmluZ19hbGxvY19zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAog CiAJa3JlZl9pbml0KCZyZXF1ZXN0LT5yZWYpOwogCi0JcmV0ID0gaTkxNV9nZW1fZ2V0X3NlcW5v KHJpbmctPmRldiwgJnJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOworCXJldCA9IGk5MTVf Z2VtX2dldF9zZXFubyhyaW5nLT5kZXYsICZyZXF1ZXN0LT5zZXFubyk7CiAJaWYgKHJldCkgewog CQlpbnRlbF9scl9jb250ZXh0X3VucGluKHJpbmcsIGN0eCk7CiAJCWtmcmVlKHJlcXVlc3QpOwpA QCAtOTIxLDcgKzkxMyw3IEBAIHN0YXRpYyBpbnQgbG9naWNhbF9yaW5nX2FsbG9jX3NlcW5vKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJcmVxdWVzdC0+Y3R4ID0gY3R4OwogCWk5MTVf Z2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcXVlc3QtPmN0eCk7CiAKLQlyaW5nLT5wcmVhbGxvY2F0 ZWRfbGF6eV9yZXF1ZXN0ID0gcmVxdWVzdDsKKwlyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVl c3QgPSByZXF1ZXN0OwogCXJldHVybiAwOwogfQogCkBAIC0xMDg5LDcgKzEwODEsNyBAQCBpbnQg aW50ZWxfbG9naWNhbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVm LCBpbnQgbnVtX2R3b3JkcykKIAkJcmV0dXJuIHJldDsKIAogCS8qIFByZWFsbG9jYXRlIHRoZSBv bHIgYmVmb3JlIHRvdWNoaW5nIHRoZSByaW5nICovCi0JcmV0ID0gbG9naWNhbF9yaW5nX2FsbG9j X3NlcW5vKHJpbmcsIHJpbmdidWYtPkZJWE1FX2xyY19jdHgpOworCXJldCA9IGxvZ2ljYWxfcmlu Z19hbGxvY19yZXF1ZXN0KHJpbmcsIHJpbmdidWYtPkZJWE1FX2xyY19jdHgpOwogCWlmIChyZXQp CiAJCXJldHVybiByZXQ7CiAKQEAgLTEzNDIsNyArMTMzNCw4IEBAIHN0YXRpYyBpbnQgZ2VuOF9l bWl0X3JlcXVlc3Qoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpCiAJCQkJKHJpbmct PnN0YXR1c19wYWdlLmdmeF9hZGRyICsKIAkJCQkoSTkxNV9HRU1fSFdTX0lOREVYIDw8IE1JX1NU T1JFX0RXT1JEX0lOREVYX1NISUZUKSkpOwogCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdi dWYsIDApOwotCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIHJpbmctPm91dHN0YW5k aW5nX2xhenlfc2Vxbm8pOworCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsCisJCWk5 MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkp OwogCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX1VTRVJfSU5URVJSVVBUKTsK IAlpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBNSV9OT09QKTsKIAlpbnRlbF9sb2dp Y2FsX3JpbmdfYWR2YW5jZV9hbmRfc3VibWl0KHJpbmdidWYpOwpAQCAtMTM2Nyw4ICsxMzYwLDcg QEAgdm9pZCBpbnRlbF9sb2dpY2FsX3JpbmdfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nKQogCiAJaW50ZWxfbG9naWNhbF9yaW5nX3N0b3AocmluZyk7CiAJV0FSTl9PTigoSTkx NV9SRUFEX01PREUocmluZykgJiBNT0RFX0lETEUpID09IDApOwotCWk5MTVfZ2VtX3JlcXVlc3Rf YXNzaWduKCZyaW5nLT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0LCBOVUxMKTsKLQlyaW5nLT5v dXRzdGFuZGluZ19sYXp5X3NlcW5vID0gMDsKKwlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcmlu Zy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0LCBOVUxMKTsKIAogCWlmIChyaW5nLT5jbGVhbnVw KQogCQlyaW5nLT5jbGVhbnVwKHJpbmcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1 ZmZlci5jCmluZGV4IGZiZWFhM2EuLmFjY2ZjODkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMKQEAgLTkxMSwxNyArOTExLDIwIEBAIHN0YXRpYyBpbnQgZ2VuOF9yY3Nf c2lnbmFsKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnNpZ25hbGxlciwKIAkJcmV0dXJuIHJldDsK IAogCWZvcl9lYWNoX3Jpbmcod2FpdGVyLCBkZXZfcHJpdiwgaSkgeworCQl1MzIgc2Vxbm87CiAJ CXU2NCBndHRfb2Zmc2V0ID0gc2lnbmFsbGVyLT5zZW1hcGhvcmUuc2lnbmFsX2dndHRbaV07CiAJ CWlmIChndHRfb2Zmc2V0ID09IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQpCiAJCQljb250aW51 ZTsKIAorCQlzZXFubyA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKAorCQkJCQkgICBzaWdu YWxsZXItPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7CiAJCWludGVsX3JpbmdfZW1pdChzaWdu YWxsZXIsIEdGWF9PUF9QSVBFX0NPTlRST0woNikpOwogCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFs bGVyLCBQSVBFX0NPTlRST0xfR0xPQkFMX0dUVF9JVkIgfAogCQkJCQkgICBQSVBFX0NPTlRST0xf UVdfV1JJVEUgfAogCQkJCQkgICBQSVBFX0NPTlRST0xfRkxVU0hfRU5BQkxFKTsKIAkJaW50ZWxf cmluZ19lbWl0KHNpZ25hbGxlciwgbG93ZXJfMzJfYml0cyhndHRfb2Zmc2V0KSk7CiAJCWludGVs X3JpbmdfZW1pdChzaWduYWxsZXIsIHVwcGVyXzMyX2JpdHMoZ3R0X29mZnNldCkpOwotCQlpbnRl bF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBzaWduYWxsZXItPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8p OworCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBzZXFubyk7CiAJCWludGVsX3JpbmdfZW1p dChzaWduYWxsZXIsIDApOwogCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBNSV9TRU1BUEhP UkVfU0lHTkFMIHwKIAkJCQkJICAgTUlfU0VNQVBIT1JFX1RBUkdFVCh3YWl0ZXItPmlkKSk7CkBA IC05NDksMTYgKzk1MiwxOSBAQCBzdGF0aWMgaW50IGdlbjhfeGNzX3NpZ25hbChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpzaWduYWxsZXIsCiAJCXJldHVybiByZXQ7CiAKIAlmb3JfZWFjaF9yaW5n KHdhaXRlciwgZGV2X3ByaXYsIGkpIHsKKwkJdTMyIHNlcW5vOwogCQl1NjQgZ3R0X29mZnNldCA9 IHNpZ25hbGxlci0+c2VtYXBob3JlLnNpZ25hbF9nZ3R0W2ldOwogCQlpZiAoZ3R0X29mZnNldCA9 PSBNSV9TRU1BUEhPUkVfU1lOQ19JTlZBTElEKQogCQkJY29udGludWU7CiAKKwkJc2Vxbm8gPSBp OTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubygKKwkJCQkJICAgc2lnbmFsbGVyLT5vdXRzdGFuZGlu Z19sYXp5X3JlcXVlc3QpOwogCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCAoTUlfRkxVU0hf RFcgKyAxKSB8CiAJCQkJCSAgIE1JX0ZMVVNIX0RXX09QX1NUT1JFRFcpOwogCQlpbnRlbF9yaW5n X2VtaXQoc2lnbmFsbGVyLCBsb3dlcl8zMl9iaXRzKGd0dF9vZmZzZXQpIHwKIAkJCQkJICAgTUlf RkxVU0hfRFdfVVNFX0dUVCk7CiAJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIHVwcGVyXzMy X2JpdHMoZ3R0X29mZnNldCkpOwotCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBzaWduYWxs ZXItPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOworCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVy LCBzZXFubyk7CiAJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIE1JX1NFTUFQSE9SRV9TSUdO QUwgfAogCQkJCQkgICBNSV9TRU1BUEhPUkVfVEFSR0VUKHdhaXRlci0+aWQpKTsKIAkJaW50ZWxf cmluZ19lbWl0KHNpZ25hbGxlciwgMCk7CkBAIC05ODcsOSArOTkzLDExIEBAIHN0YXRpYyBpbnQg Z2VuNl9zaWduYWwoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqc2lnbmFsbGVyLAogCWZvcl9lYWNo X3JpbmcodXNlbGVzcywgZGV2X3ByaXYsIGkpIHsKIAkJdTMyIG1ib3hfcmVnID0gc2lnbmFsbGVy LT5zZW1hcGhvcmUubWJveC5zaWduYWxbaV07CiAJCWlmIChtYm94X3JlZyAhPSBHRU42X05PU1lO QykgeworCQkJdTMyIHNlcW5vID0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8oCisJCQkJCSAg IHNpZ25hbGxlci0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KTsKIAkJCWludGVsX3JpbmdfZW1p dChzaWduYWxsZXIsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKIAkJCWludGVsX3JpbmdfZW1p dChzaWduYWxsZXIsIG1ib3hfcmVnKTsKLQkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIHNp Z25hbGxlci0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJCQlpbnRlbF9yaW5nX2VtaXQoc2ln bmFsbGVyLCBzZXFubyk7CiAJCX0KIAl9CiAKQEAgLTEwMjQsNyArMTAzMiw4IEBAIGdlbjZfYWRk X3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAogCWludGVsX3JpbmdfZW1p dChyaW5nLCBNSV9TVE9SRV9EV09SRF9JTkRFWCk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIEk5 MTVfR0VNX0hXU19JTkRFWCA8PCBNSV9TVE9SRV9EV09SRF9JTkRFWF9TSElGVCk7Ci0JaW50ZWxf cmluZ19lbWl0KHJpbmcsIHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOworCWludGVsX3Jp bmdfZW1pdChyaW5nLAorCQkgICAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8ocmluZy0+b3V0 c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KSk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX1VTRVJf SU5URVJSVVBUKTsKIAlfX2ludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIApAQCAtMTE0Miw3ICsx MTUxLDggQEAgcGNfcmVuZGVyX2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpCiAJCQlQSVBFX0NPTlRST0xfV1JJVEVfRkxVU0ggfAogCQkJUElQRV9DT05UUk9MX1RFWFRV UkVfQ0FDSEVfSU5WQUxJREFURSk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIHJpbmctPnNjcmF0 Y2guZ3R0X29mZnNldCB8IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUKTsKLQlpbnRlbF9yaW5nX2Vt aXQocmluZywgcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJaW50ZWxfcmluZ19lbWl0 KHJpbmcsCisJCSAgICBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhyaW5nLT5vdXRzdGFuZGlu Z19sYXp5X3JlcXVlc3QpKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgMCk7CiAJUElQRV9DT05U Uk9MX0ZMVVNIKHJpbmcsIHNjcmF0Y2hfYWRkcik7CiAJc2NyYXRjaF9hZGRyICs9IDIgKiBDQUNI RUxJTkVfQllURVM7IC8qIHdyaXRlIHRvIHNlcGFyYXRlIGNhY2hlbGluZXMgKi8KQEAgLTExNjEs NyArMTE3MSw4IEBAIHBjX3JlbmRlcl9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nKQogCQkJUElQRV9DT05UUk9MX1RFWFRVUkVfQ0FDSEVfSU5WQUxJREFURSB8CiAJCQlQ SVBFX0NPTlRST0xfTk9USUZZKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgcmluZy0+c2NyYXRj aC5ndHRfb2Zmc2V0IHwgUElQRV9DT05UUk9MX0dMT0JBTF9HVFQpOwotCWludGVsX3JpbmdfZW1p dChyaW5nLCByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5vKTsKKwlpbnRlbF9yaW5nX2VtaXQo cmluZywKKwkJICAgIGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKHJpbmctPm91dHN0YW5kaW5n X2xhenlfcmVxdWVzdCkpOwogCWludGVsX3JpbmdfZW1pdChyaW5nLCAwKTsKIAlfX2ludGVsX3Jp bmdfYWR2YW5jZShyaW5nKTsKIApAQCAtMTQwMSw3ICsxNDEyLDggQEAgaTl4eF9hZGRfcmVxdWVz dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogCiAJaW50ZWxfcmluZ19lbWl0KHJpbmcs IE1JX1NUT1JFX0RXT1JEX0lOREVYKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgSTkxNV9HRU1f SFdTX0lOREVYIDw8IE1JX1NUT1JFX0RXT1JEX0lOREVYX1NISUZUKTsKLQlpbnRlbF9yaW5nX2Vt aXQocmluZywgcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJaW50ZWxfcmluZ19lbWl0 KHJpbmcsCisJCSAgICBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhyaW5nLT5vdXRzdGFuZGlu Z19sYXp5X3JlcXVlc3QpKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfVVNFUl9JTlRFUlJV UFQpOwogCV9faW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwogCkBAIC0xODcwLDggKzE4ODIsNyBA QCB2b2lkIGludGVsX2NsZWFudXBfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKIAogCWludGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYpOwogCWludGVsX2Rl c3Ryb3lfcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7Ci0JaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24o JnJpbmctPnByZWFsbG9jYXRlZF9sYXp5X3JlcXVlc3QsIE5VTEwpOwotCXJpbmctPm91dHN0YW5k aW5nX2xhenlfc2Vxbm8gPSAwOworCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZyaW5nLT5vdXRz dGFuZGluZ19sYXp5X3JlcXVlc3QsIE5VTEwpOwogCiAJaWYgKHJpbmctPmNsZWFudXApCiAJCXJp bmctPmNsZWFudXAocmluZyk7CkBAIC0yMDA0LDcgKzIwMTUsNyBAQCBpbnQgaW50ZWxfcmluZ19p ZGxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJaW50IHJldDsKIAogCS8qIFdlIG5l ZWQgdG8gYWRkIGFueSByZXF1ZXN0cyByZXF1aXJlZCB0byBmbHVzaCB0aGUgb2JqZWN0cyBhbmQg cmluZyAqLwotCWlmIChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5vKSB7CisJaWYgKHJpbmct Pm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkgewogCQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJp bmcsIE5VTEwpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKQEAgLTIwMjIsMjIgKzIwMzMs MTMgQEAgaW50IGludGVsX3JpbmdfaWRsZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQog fQogCiBzdGF0aWMgaW50Ci1pbnRlbF9yaW5nX2FsbG9jX3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCitpbnRlbF9yaW5nX2FsbG9jX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZykKIHsKIAlpbnQgcmV0OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxdWVzdDsKIAotCS8qIFhYWDogVGhlIGFpbSBpcyB0byByZXBsYWNlIHNlcW5vIHZhbHVlcyB3 aXRoIHJlcXVlc3Qgc3RydWN0dXJlcy4KLQkgKiBBIHN0ZXAgYWxvbmcgdGhlIHdheSBpcyB0byBz d2l0Y2ggdG8gdXNpbmcgdGhlIFBMUiBpbiBwcmVmZXJlbmNlCi0JICogdG8gdGhlIE9MUy4gVGhh dCByZXF1aXJlcyB0aGUgUExSIHRvIG9ubHkgYmUgdmFsaWQgd2hlbiB0aGUgT0xTCi0JICogaXMg YWxzbyB2YWxpZC4gSS5lLiwgdGhlIHR3byBtdXN0IGJlIGtlcHQgaW4gc3RlcC4gKi8KLQotCWlm IChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5vKSB7Ci0JCVdBUk5fT04ocmluZy0+cHJlYWxs b2NhdGVkX2xhenlfcmVxdWVzdCA9PSBOVUxMKTsKKwlpZiAocmluZy0+b3V0c3RhbmRpbmdfbGF6 eV9yZXF1ZXN0KQogCQlyZXR1cm4gMDsKLQl9Ci0KLQlXQVJOX09OKHJpbmctPnByZWFsbG9jYXRl ZF9sYXp5X3JlcXVlc3QgIT0gTlVMTCk7CiAKIAlyZXF1ZXN0ID0ga21hbGxvYyhzaXplb2YoKnJl cXVlc3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAocmVxdWVzdCA9PSBOVUxMKQpAQCAtMjA0NSwxMyAr MjA0NywxMyBAQCBpbnRlbF9yaW5nX2FsbG9jX3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcpCiAKIAlrcmVmX2luaXQoJnJlcXVlc3QtPnJlZik7CiAKLQlyZXQgPSBpOTE1X2dlbV9n ZXRfc2Vxbm8ocmluZy0+ZGV2LCAmcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJcmV0 ID0gaTkxNV9nZW1fZ2V0X3NlcW5vKHJpbmctPmRldiwgJnJlcXVlc3QtPnNlcW5vKTsKIAlpZiAo cmV0KSB7CiAJCWtmcmVlKHJlcXVlc3QpOwogCQlyZXR1cm4gcmV0OwogCX0KIAotCXJpbmctPnBy ZWFsbG9jYXRlZF9sYXp5X3JlcXVlc3QgPSByZXF1ZXN0OworCXJpbmctPm91dHN0YW5kaW5nX2xh enlfcmVxdWVzdCA9IHJlcXVlc3Q7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIwOTIsNyArMjA5NCw3 IEBAIGludCBpbnRlbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJ CXJldHVybiByZXQ7CiAKIAkvKiBQcmVhbGxvY2F0ZSB0aGUgb2xyIGJlZm9yZSB0b3VjaGluZyB0 aGUgcmluZyAqLwotCXJldCA9IGludGVsX3JpbmdfYWxsb2Nfc2Vxbm8ocmluZyk7CisJcmV0ID0g aW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0KHJpbmcpOwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7 CiAKQEAgLTIxMjcsNyArMjEyOSw3IEBAIHZvaWQgaW50ZWxfcmluZ19pbml0X3NlcW5vKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIHUzMiBzZXFubykKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2ID0gcmluZy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7CiAKLQlCVUdfT04ocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7 CisJQlVHX09OKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7CiAKIAlpZiAoSU5URUxf SU5GTyhkZXYpLT5nZW4gPT0gNiB8fCBJTlRFTF9JTkZPKGRldiktPmdlbiA9PSA3KSB7CiAJCUk5 MTVfV1JJVEUoUklOR19TWU5DXzAocmluZy0+bW1pb19iYXNlKSwgMCk7CmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggZGJhYzEzMi4uMmE4NGJkOSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaApAQCAtMjY3LDggKzI2Nyw3IEBAIHN0cnVj dCAgaW50ZWxfZW5naW5lX2NzIHsKIAkvKioKIAkgKiBEbyB3ZSBoYXZlIHNvbWUgbm90IHlldCBl bWl0dGVkIHJlcXVlc3RzIG91dHN0YW5kaW5nPwogCSAqLwotCXN0cnVjdCBkcm1faTkxNV9nZW1f cmVxdWVzdCAqcHJlYWxsb2NhdGVkX2xhenlfcmVxdWVzdDsKLQl1MzIgb3V0c3RhbmRpbmdfbGF6 eV9zZXFubzsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKm91dHN0YW5kaW5nX2xhenlf cmVxdWVzdDsKIAlib29sIGdwdV9jYWNoZXNfZGlydHk7CiAJYm9vbCBmYmNfZGlydHk7CiAKQEAg LTQzNiwxNyArNDM1LDExIEBAIHN0YXRpYyBpbmxpbmUgdTMyIGludGVsX3JpbmdfZ2V0X3RhaWwo c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpCiAJcmV0dXJuIHJpbmdidWYtPnRhaWw7 CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIGludGVsX3JpbmdfZ2V0X3NlcW5vKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcpCi17Ci0JQlVHX09OKHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vx bm8gPT0gMCk7Ci0JcmV0dXJuIHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm87Ci19Ci0KIHN0 YXRpYyBpbmxpbmUgc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICoKIGludGVsX3JpbmdfZ2V0 X3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHsKLQlCVUdfT04ocmluZy0+ cHJlYWxsb2NhdGVkX2xhenlfcmVxdWVzdCA9PSBOVUxMKTsKLQlyZXR1cm4gcmluZy0+cHJlYWxs b2NhdGVkX2xhenlfcmVxdWVzdDsKKwlCVUdfT04ocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1 ZXN0ID09IE5VTEwpOworCXJldHVybiByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3Q7CiB9 CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3RyYWNlX2lycV9nZXQoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZywgdTMyIHNlcW5vKQotLSAKMS43LjkuNQoKX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRl bC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK