From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH 08/29] drm/i915: Remove 'outstanding_lazy_seqno' Date: Thu, 30 Oct 2014 18:41:00 +0000 Message-ID: <1414694481-15724-9-git-send-email-John.C.Harrison@Intel.com> References: <1414694481-15724-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 B79D96E0CA for ; Thu, 30 Oct 2014 11:41:32 -0700 (PDT) In-Reply-To: <1414694481-15724-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 bi5DLkhhcnJpc29uQEludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dl bS5jICAgICAgICAgICAgfCAgIDEzICsrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtX2V4ZWNidWZmZXIuYyB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYyAgICAgICB8ICAgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5j ICAgICAgICAgICB8ICAgMjYgKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYyAgICB8ICAgNTIgKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgIHwgICAxMyArKy0tLS0t CiA2IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyksIDYyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IGI2M2M2MDUuLjBhNDQ1MmIgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwpAQCAtMTEwOCw3ICsxMTA4LDcgQEAgaTkxNV9nZW1fY2hlY2tfb2xyKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIHUzMiBzZXFubykKIAlCVUdfT04oIW11dGV4X2lzX2xv Y2tlZCgmcmluZy0+ZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKIAogCXJldCA9IDA7Ci0JaWYgKHNlcW5v ID09IHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pCisJaWYgKHNlcW5vID09IGk5MTVfZ2Vt X3JlcXVlc3RfZ2V0X3NlcW5vKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkpCiAJCXJl dCA9IGk5MTVfYWRkX3JlcXVlc3QocmluZywgTlVMTCk7CiAKIAlyZXR1cm4gcmV0OwpAQCAtMjM0 Myw3ICsyMzQzLDcgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpyaW5nLAogCXUzMiByZXF1ZXN0X3JpbmdfcG9zaXRpb24sIHJlcXVlc3Rfc3RhcnQ7CiAJ aW50IHJldDsKIAotCXJlcXVlc3QgPSByaW5nLT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0Owor CXJlcXVlc3QgPSByaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3Q7CiAJaWYgKFdBUk5fT04o cmVxdWVzdCA9PSBOVUxMKSkKIAkJcmV0dXJuIC1FTk9NRU07CiAKQEAgLTIzODgsNyArMjM4OCw2 IEBAIGludCBfX2k5MTVfYWRkX3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywK IAkJCXJldHVybiByZXQ7CiAJfQogCi0JcmVxdWVzdC0+c2Vxbm8gPSBpbnRlbF9yaW5nX2dldF9z ZXFubyhyaW5nKTsKIAlyZXF1ZXN0LT5yaW5nID0gcmluZzsKIAlyZXF1ZXN0LT5oZWFkID0gcmVx dWVzdF9zdGFydDsKIAlyZXF1ZXN0LT50YWlsID0gcmVxdWVzdF9yaW5nX3Bvc2l0aW9uOwpAQCAt MjQyNSw4ICsyNDI0LDcgQEAgaW50IF9faTkxNV9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nLAogCX0KIAogCXRyYWNlX2k5MTVfZ2VtX3JlcXVlc3RfYWRkKHJpbmcsIHJl cXVlc3QtPnNlcW5vKTsKLQlyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5vID0gMDsKLQlyaW5n LT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0ID0gTlVMTDsKKwlyaW5nLT5vdXRzdGFuZGluZ19s YXp5X3JlcXVlc3QgPSBOVUxMOwogCiAJaWYgKCFkZXZfcHJpdi0+dW1zLm1tX3N1c3BlbmRlZCkg ewogCQlpOTE1X3F1ZXVlX2hhbmdjaGVjayhyaW5nLT5kZXYpOwpAQCAtMjU5OSw5ICsyNTk3LDgg QEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVzZXRfcmluZ19jbGVhbnVwKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKIAkJa2ZyZWUoc3VibWl0X3JlcSk7CiAJfQogCi0JLyogVGhl c2UgbWF5IG5vdCBoYXZlIGJlZW4gZmx1c2ggYmVmb3JlIHRoZSByZXNldCwgZG8gc28gbm93ICov Ci0JaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJnJpbmctPnByZWFsbG9jYXRlZF9sYXp5X3JlcXVl c3QsIE5VTEwpOwotCXJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8gPSAwOworCS8qIFRoaXMg bWF5IG5vdCBoYXZlIGJlZW4gZmx1c2hlZCBiZWZvcmUgdGhlIHJlc2V0LCBzbyBjbGVhbiBpdCBu b3cgKi8KKwlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9y ZXF1ZXN0LCBOVUxMKTsKIH0KIAogdm9pZCBpOTE1X2dlbV9yZXN0b3JlX2ZlbmNlcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZl ci5jCmluZGV4IDdlZDA5ZmMuLjQ4MzNjMzUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbV9leGVjYnVmZmVyLmMKQEAgLTExNjcsNyArMTE2Nyw3IEBAIGk5MTVfZ2VtX3JpbmdidWZm ZXJfc3VibWlzc2lvbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUsCiAJCQlyZXR1cm4gcmV0OwogCX0KIAotCXRyYWNlX2k5MTVfZ2VtX3JpbmdfZGlzcGF0Y2go cmluZywgaW50ZWxfcmluZ19nZXRfc2Vxbm8ocmluZyksIGZsYWdzKTsKKwl0cmFjZV9pOTE1X2dl bV9yaW5nX2Rpc3BhdGNoKHJpbmcsIGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKGludGVsX3Jp bmdfZ2V0X3JlcXVlc3QocmluZykpLCBmbGFncyk7CiAKIAlpOTE1X2dlbV9leGVjYnVmZmVyX21v dmVfdG9fYWN0aXZlKHZtYXMsIHJpbmcpOwogCWk5MTVfZ2VtX2V4ZWNidWZmZXJfcmV0aXJlX2Nv bW1hbmRzKGRldiwgZmlsZSwgcmluZywgYmF0Y2hfb2JqKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwppbmRleCA1MWFhZTc1Li5hNjliNzRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCkBAIC05NjI0LDcgKzk2MjQsNyBAQCBzdGF0aWMgaW50IGludGVsX2NydGNf cGFnZV9mbGlwKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJaWYgKHJldCkKIAkJCWdvdG8gY2xl YW51cF91bnBpbjsKIAotCQl3b3JrLT5mbGlwX3F1ZXVlZF9zZXFubyA9IGludGVsX3JpbmdfZ2V0 X3NlcW5vKHJpbmcpOworCQl3b3JrLT5mbGlwX3F1ZXVlZF9zZXFubyA9IGk5MTVfZ2VtX3JlcXVl c3RfZ2V0X3NlcW5vKGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZykpOwogCQl3b3JrLT5mbGlw X3F1ZXVlZF9yaW5nID0gcmluZzsKIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXgg NWI0MDU0ZS4uY2Y1ZTFmNSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf bHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTc5MywyMiAr NzkzLDE0IEBAIHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX2FkdmFuY2VfYW5kX3N1Ym1pdChzdHJ1 Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKIAlleGVjbGlzdHNfY29udGV4dF9xdWV1ZShy aW5nLCBjdHgsIHJpbmdidWYtPnRhaWwpOwogfQogCi1zdGF0aWMgaW50IGxvZ2ljYWxfcmluZ19h bGxvY19zZXFubyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAotCQkJCSAgICBzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4KQorc3RhdGljIGludCBsb2dpY2FsX3JpbmdfYWxsb2NfcmVxdWVz dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQkJCSAgICAgIHN0cnVjdCBpbnRlbF9j b250ZXh0ICpjdHgpCiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0Owog CWludCByZXQ7CiAKLQkvKiBYWFg6IFRoZSBhaW0gaXMgdG8gcmVwbGFjZSBzZXFubyB2YWx1ZXMg d2l0aCByZXF1ZXN0IHN0cnVjdHVyZXMuCi0JICogQSBzdGVwIGFsb25nIHRoZSB3YXkgaXMgdG8g c3dpdGNoIHRvIHVzaW5nIHRoZSBQTFIgaW4gcHJlZmVyZW5jZQotCSAqIHRvIHRoZSBPTFMuIFRo YXQgcmVxdWlyZXMgdGhlIFBMUiB0byBvbmx5IGJlIHZhbGlkIHdoZW4gdGhlIE9MUyBpcwotCSAq IGFsc28gdmFsaWQuIEkuZS4sIHRoZSB0d28gbXVzdCBiZSBrZXB0IGluIHN0ZXAuICovCi0KLQlp ZiAocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubykgewotCQlXQVJOX09OKHJpbmctPnByZWFs bG9jYXRlZF9sYXp5X3JlcXVlc3QgPT0gTlVMTCk7CisJaWYgKHJpbmctPm91dHN0YW5kaW5nX2xh enlfcmVxdWVzdCkKIAkJcmV0dXJuIDA7Ci0JfQotCVdBUk5fT04ocmluZy0+cHJlYWxsb2NhdGVk X2xhenlfcmVxdWVzdCAhPSBOVUxMKTsKIAogCXJlcXVlc3QgPSBrbWFsbG9jKHNpemVvZigqcmVx dWVzdCksIEdGUF9LRVJORUwpOwogCWlmIChyZXF1ZXN0ID09IE5VTEwpCkBAIC04MTYsNyArODA4 LDcgQEAgc3RhdGljIGludCBsb2dpY2FsX3JpbmdfYWxsb2Nfc2Vxbm8oc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZywKIAogCWtyZWZfaW5pdCgmcmVxdWVzdC0+cmVmKTsKIAotCXJldCA9IGk5 MTVfZ2VtX2dldF9zZXFubyhyaW5nLT5kZXYsICZyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5v KTsKKwlyZXQgPSBpOTE1X2dlbV9nZXRfc2Vxbm8ocmluZy0+ZGV2LCAmcmVxdWVzdC0+c2Vxbm8p OwogCWlmIChyZXQpIHsKIAkJa2ZyZWUocmVxdWVzdCk7CiAJCXJldHVybiByZXQ7CkBAIC04Mjks NyArODIxLDcgQEAgc3RhdGljIGludCBsb2dpY2FsX3JpbmdfYWxsb2Nfc2Vxbm8oc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZywKIAlyZXF1ZXN0LT5jdHggPSBjdHg7CiAJaTkxNV9nZW1fY29u dGV4dF9yZWZlcmVuY2UocmVxdWVzdC0+Y3R4KTsKIAotCXJpbmctPnByZWFsbG9jYXRlZF9sYXp5 X3JlcXVlc3QgPSByZXF1ZXN0OworCXJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCA9IHJl cXVlc3Q7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTk5Nyw3ICs5ODksNyBAQCBpbnQgaW50ZWxfbG9n aWNhbF9yaW5nX2JlZ2luKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmLCBpbnQgbnVt X2R3b3JkcykKIAkJcmV0dXJuIHJldDsKIAogCS8qIFByZWFsbG9jYXRlIHRoZSBvbHIgYmVmb3Jl IHRvdWNoaW5nIHRoZSByaW5nICovCi0JcmV0ID0gbG9naWNhbF9yaW5nX2FsbG9jX3NlcW5vKHJp bmcsIHJpbmdidWYtPkZJWE1FX2xyY19jdHgpOworCXJldCA9IGxvZ2ljYWxfcmluZ19hbGxvY19y ZXF1ZXN0KHJpbmcsIHJpbmdidWYtPkZJWE1FX2xyY19jdHgpOwogCWlmIChyZXQpCiAJCXJldHVy biByZXQ7CiAKQEAgLTEyMTIsNyArMTIwNCw4IEBAIHN0YXRpYyBpbnQgZ2VuOF9lbWl0X3JlcXVl c3Qoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpCiAJCQkJKHJpbmctPnN0YXR1c19w YWdlLmdmeF9hZGRyICsKIAkJCQkoSTkxNV9HRU1fSFdTX0lOREVYIDw8IE1JX1NUT1JFX0RXT1JE X0lOREVYX1NISUZUKSkpOwogCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIDApOwot CWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIHJpbmctPm91dHN0YW5kaW5nX2xhenlf c2Vxbm8pOworCWludGVsX2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsCisJCWk5MTVfZ2VtX3Jl cXVlc3RfZ2V0X3NlcW5vKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkpOwogCWludGVs X2xvZ2ljYWxfcmluZ19lbWl0KHJpbmdidWYsIE1JX1VTRVJfSU5URVJSVVBUKTsKIAlpbnRlbF9s b2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBNSV9OT09QKTsKIAlpbnRlbF9sb2dpY2FsX3Jpbmdf YWR2YW5jZV9hbmRfc3VibWl0KHJpbmdidWYpOwpAQCAtMTIzNSw4ICsxMjI4LDcgQEAgdm9pZCBp bnRlbF9sb2dpY2FsX3JpbmdfY2xlYW51cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQog CiAJaW50ZWxfbG9naWNhbF9yaW5nX3N0b3AocmluZyk7CiAJV0FSTl9PTigoSTkxNV9SRUFEX01P REUocmluZykgJiBNT0RFX0lETEUpID09IDApOwotCWk5MTVfZ2VtX3JlcXVlc3RfYXNzaWduKCZy aW5nLT5wcmVhbGxvY2F0ZWRfbGF6eV9yZXF1ZXN0LCBOVUxMKTsKLQlyaW5nLT5vdXRzdGFuZGlu Z19sYXp5X3NlcW5vID0gMDsKKwlpOTE1X2dlbV9yZXF1ZXN0X2Fzc2lnbigmcmluZy0+b3V0c3Rh bmRpbmdfbGF6eV9yZXF1ZXN0LCBOVUxMKTsKIAogCWlmIChyaW5nLT5jbGVhbnVwKQogCQlyaW5n LT5jbGVhbnVwKHJpbmcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCmlu ZGV4IDY2NTlhMDguLjliNTM2YjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVm ZmVyLmMKQEAgLTkxNCwxNyArOTE0LDIwIEBAIHN0YXRpYyBpbnQgZ2VuOF9yY3Nfc2lnbmFsKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnNpZ25hbGxlciwKIAkJcmV0dXJuIHJldDsKIAogCWZvcl9l YWNoX3Jpbmcod2FpdGVyLCBkZXZfcHJpdiwgaSkgeworCQl1MzIgc2Vxbm87CiAJCXU2NCBndHRf b2Zmc2V0ID0gc2lnbmFsbGVyLT5zZW1hcGhvcmUuc2lnbmFsX2dndHRbaV07CiAJCWlmIChndHRf b2Zmc2V0ID09IE1JX1NFTUFQSE9SRV9TWU5DX0lOVkFMSUQpCiAJCQljb250aW51ZTsKIAorCQlz ZXFubyA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKAorCQkJCQkgICBzaWduYWxsZXItPm91 dHN0YW5kaW5nX2xhenlfcmVxdWVzdCk7CiAJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIEdG WF9PUF9QSVBFX0NPTlRST0woNikpOwogCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBQSVBF X0NPTlRST0xfR0xPQkFMX0dUVF9JVkIgfAogCQkJCQkgICBQSVBFX0NPTlRST0xfUVdfV1JJVEUg fAogCQkJCQkgICBQSVBFX0NPTlRST0xfRkxVU0hfRU5BQkxFKTsKIAkJaW50ZWxfcmluZ19lbWl0 KHNpZ25hbGxlciwgbG93ZXJfMzJfYml0cyhndHRfb2Zmc2V0KSk7CiAJCWludGVsX3JpbmdfZW1p dChzaWduYWxsZXIsIHVwcGVyXzMyX2JpdHMoZ3R0X29mZnNldCkpOwotCQlpbnRlbF9yaW5nX2Vt aXQoc2lnbmFsbGVyLCBzaWduYWxsZXItPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOworCQlpbnRl bF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBzZXFubyk7CiAJCWludGVsX3JpbmdfZW1pdChzaWduYWxs ZXIsIDApOwogCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBNSV9TRU1BUEhPUkVfU0lHTkFM IHwKIAkJCQkJICAgTUlfU0VNQVBIT1JFX1RBUkdFVCh3YWl0ZXItPmlkKSk7CkBAIC05NTIsMTYg Kzk1NSwxOSBAQCBzdGF0aWMgaW50IGdlbjhfeGNzX3NpZ25hbChzdHJ1Y3QgaW50ZWxfZW5naW5l X2NzICpzaWduYWxsZXIsCiAJCXJldHVybiByZXQ7CiAKIAlmb3JfZWFjaF9yaW5nKHdhaXRlciwg ZGV2X3ByaXYsIGkpIHsKKwkJdTMyIHNlcW5vOwogCQl1NjQgZ3R0X29mZnNldCA9IHNpZ25hbGxl ci0+c2VtYXBob3JlLnNpZ25hbF9nZ3R0W2ldOwogCQlpZiAoZ3R0X29mZnNldCA9PSBNSV9TRU1B UEhPUkVfU1lOQ19JTlZBTElEKQogCQkJY29udGludWU7CiAKKwkJc2Vxbm8gPSBpOTE1X2dlbV9y ZXF1ZXN0X2dldF9zZXFubygKKwkJCQkJICAgc2lnbmFsbGVyLT5vdXRzdGFuZGluZ19sYXp5X3Jl cXVlc3QpOwogCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCAoTUlfRkxVU0hfRFcgKyAxKSB8 CiAJCQkJCSAgIE1JX0ZMVVNIX0RXX09QX1NUT1JFRFcpOwogCQlpbnRlbF9yaW5nX2VtaXQoc2ln bmFsbGVyLCBsb3dlcl8zMl9iaXRzKGd0dF9vZmZzZXQpIHwKIAkJCQkJICAgTUlfRkxVU0hfRFdf VVNFX0dUVCk7CiAJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIHVwcGVyXzMyX2JpdHMoZ3R0 X29mZnNldCkpOwotCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBzaWduYWxsZXItPm91dHN0 YW5kaW5nX2xhenlfc2Vxbm8pOworCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBzZXFubyk7 CiAJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIE1JX1NFTUFQSE9SRV9TSUdOQUwgfAogCQkJ CQkgICBNSV9TRU1BUEhPUkVfVEFSR0VUKHdhaXRlci0+aWQpKTsKIAkJaW50ZWxfcmluZ19lbWl0 KHNpZ25hbGxlciwgMCk7CkBAIC05OTAsOSArOTk2LDExIEBAIHN0YXRpYyBpbnQgZ2VuNl9zaWdu YWwoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqc2lnbmFsbGVyLAogCWZvcl9lYWNoX3JpbmcodXNl bGVzcywgZGV2X3ByaXYsIGkpIHsKIAkJdTMyIG1ib3hfcmVnID0gc2lnbmFsbGVyLT5zZW1hcGhv cmUubWJveC5zaWduYWxbaV07CiAJCWlmIChtYm94X3JlZyAhPSBHRU42X05PU1lOQykgeworCQkJ dTMyIHNlcW5vID0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8oCisJCQkJCSAgIHNpZ25hbGxl ci0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KTsKIAkJCWludGVsX3JpbmdfZW1pdChzaWduYWxs ZXIsIE1JX0xPQURfUkVHSVNURVJfSU1NKDEpKTsKIAkJCWludGVsX3JpbmdfZW1pdChzaWduYWxs ZXIsIG1ib3hfcmVnKTsKLQkJCWludGVsX3JpbmdfZW1pdChzaWduYWxsZXIsIHNpZ25hbGxlci0+ b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJCQlpbnRlbF9yaW5nX2VtaXQoc2lnbmFsbGVyLCBz ZXFubyk7CiAJCX0KIAl9CiAKQEAgLTEwMjcsNyArMTAzNSw4IEBAIGdlbjZfYWRkX3JlcXVlc3Qo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAogCWludGVsX3JpbmdfZW1pdChyaW5nLCBN SV9TVE9SRV9EV09SRF9JTkRFWCk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIEk5MTVfR0VNX0hX U19JTkRFWCA8PCBNSV9TVE9SRV9EV09SRF9JTkRFWF9TSElGVCk7Ci0JaW50ZWxfcmluZ19lbWl0 KHJpbmcsIHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8pOworCWludGVsX3JpbmdfZW1pdChy aW5nLAorCQkgICAgaTkxNV9nZW1fcmVxdWVzdF9nZXRfc2Vxbm8ocmluZy0+b3V0c3RhbmRpbmdf bGF6eV9yZXF1ZXN0KSk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX1VTRVJfSU5URVJSVVBU KTsKIAlfX2ludGVsX3JpbmdfYWR2YW5jZShyaW5nKTsKIApAQCAtMTE0NSw3ICsxMTU0LDggQEAg cGNfcmVuZGVyX2FkZF9yZXF1ZXN0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJCQlQ SVBFX0NPTlRST0xfV1JJVEVfRkxVU0ggfAogCQkJUElQRV9DT05UUk9MX1RFWFRVUkVfQ0FDSEVf SU5WQUxJREFURSk7CiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIHJpbmctPnNjcmF0Y2guZ3R0X29m ZnNldCB8IFBJUEVfQ09OVFJPTF9HTE9CQUxfR1RUKTsKLQlpbnRlbF9yaW5nX2VtaXQocmluZywg cmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcsCisJ CSAgICBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3Jl cXVlc3QpKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgMCk7CiAJUElQRV9DT05UUk9MX0ZMVVNI KHJpbmcsIHNjcmF0Y2hfYWRkcik7CiAJc2NyYXRjaF9hZGRyICs9IDIgKiBDQUNIRUxJTkVfQllU RVM7IC8qIHdyaXRlIHRvIHNlcGFyYXRlIGNhY2hlbGluZXMgKi8KQEAgLTExNjQsNyArMTE3NCw4 IEBAIHBjX3JlbmRlcl9hZGRfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQog CQkJUElQRV9DT05UUk9MX1RFWFRVUkVfQ0FDSEVfSU5WQUxJREFURSB8CiAJCQlQSVBFX0NPTlRS T0xfTk9USUZZKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgcmluZy0+c2NyYXRjaC5ndHRfb2Zm c2V0IHwgUElQRV9DT05UUk9MX0dMT0JBTF9HVFQpOwotCWludGVsX3JpbmdfZW1pdChyaW5nLCBy aW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5vKTsKKwlpbnRlbF9yaW5nX2VtaXQocmluZywKKwkJ ICAgIGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3NlcW5vKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVx dWVzdCkpOwogCWludGVsX3JpbmdfZW1pdChyaW5nLCAwKTsKIAlfX2ludGVsX3JpbmdfYWR2YW5j ZShyaW5nKTsKIApAQCAtMTQwNCw3ICsxNDE1LDggQEAgaTl4eF9hZGRfcmVxdWVzdChzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nKQogCiAJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX1NUT1JF X0RXT1JEX0lOREVYKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgSTkxNV9HRU1fSFdTX0lOREVY IDw8IE1JX1NUT1JFX0RXT1JEX0lOREVYX1NISUZUKTsKLQlpbnRlbF9yaW5nX2VtaXQocmluZywg cmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJaW50ZWxfcmluZ19lbWl0KHJpbmcsCisJ CSAgICBpOTE1X2dlbV9yZXF1ZXN0X2dldF9zZXFubyhyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3Jl cXVlc3QpKTsKIAlpbnRlbF9yaW5nX2VtaXQocmluZywgTUlfVVNFUl9JTlRFUlJVUFQpOwogCV9f aW50ZWxfcmluZ19hZHZhbmNlKHJpbmcpOwogCkBAIC0xODU1LDggKzE4NjcsNyBAQCB2b2lkIGlu dGVsX2NsZWFudXBfcmluZ19idWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAlX QVJOX09OKCFJU19HRU4yKHJpbmctPmRldikgJiYgKEk5MTVfUkVBRF9NT0RFKHJpbmcpICYgTU9E RV9JRExFKSA9PSAwKTsKIAogCWludGVsX2Rlc3Ryb3lfcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7 Ci0JaTkxNV9nZW1fcmVxdWVzdF9hc3NpZ24oJnJpbmctPnByZWFsbG9jYXRlZF9sYXp5X3JlcXVl c3QsIE5VTEwpOwotCXJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8gPSAwOworCWk5MTVfZ2Vt X3JlcXVlc3RfYXNzaWduKCZyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3JlcXVlc3QsIE5VTEwpOwog CiAJaWYgKHJpbmctPmNsZWFudXApCiAJCXJpbmctPmNsZWFudXAocmluZyk7CkBAIC0xOTk2LDcg KzIwMDcsNyBAQCBpbnQgaW50ZWxfcmluZ19pZGxlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcpCiAJaW50IHJldDsKIAogCS8qIFdlIG5lZWQgdG8gYWRkIGFueSByZXF1ZXN0cyByZXF1aXJl ZCB0byBmbHVzaCB0aGUgb2JqZWN0cyBhbmQgcmluZyAqLwotCWlmIChyaW5nLT5vdXRzdGFuZGlu Z19sYXp5X3NlcW5vKSB7CisJaWYgKHJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCkgewog CQlyZXQgPSBpOTE1X2FkZF9yZXF1ZXN0KHJpbmcsIE5VTEwpOwogCQlpZiAocmV0KQogCQkJcmV0 dXJuIHJldDsKQEAgLTIwMTQsMjIgKzIwMjUsMTMgQEAgaW50IGludGVsX3JpbmdfaWRsZShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQogfQogCiBzdGF0aWMgaW50Ci1pbnRlbF9yaW5nX2Fs bG9jX3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCitpbnRlbF9yaW5nX2FsbG9j X3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIHsKIAlpbnQgcmV0OwogCXN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdDsKIAotCS8qIFhYWDogVGhlIGFpbSBp cyB0byByZXBsYWNlIHNlcW5vIHZhbHVlcyB3aXRoIHJlcXVlc3Qgc3RydWN0dXJlcy4KLQkgKiBB IHN0ZXAgYWxvbmcgdGhlIHdheSBpcyB0byBzd2l0Y2ggdG8gdXNpbmcgdGhlIFBMUiBpbiBwcmVm ZXJlbmNlCi0JICogdG8gdGhlIE9MUy4gVGhhdCByZXF1aXJlcyB0aGUgUExSIHRvIG9ubHkgYmUg dmFsaWQgd2hlbiB0aGUgT0xTCi0JICogaXMgYWxzbyB2YWxpZC4gSS5lLiwgdGhlIHR3byBtdXN0 IGJlIGtlcHQgaW4gc3RlcC4gKi8KLQotCWlmIChyaW5nLT5vdXRzdGFuZGluZ19sYXp5X3NlcW5v KSB7Ci0JCVdBUk5fT04ocmluZy0+cHJlYWxsb2NhdGVkX2xhenlfcmVxdWVzdCA9PSBOVUxMKTsK KwlpZiAocmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0KQogCQlyZXR1cm4gMDsKLQl9Ci0K LQlXQVJOX09OKHJpbmctPnByZWFsbG9jYXRlZF9sYXp5X3JlcXVlc3QgIT0gTlVMTCk7CiAKIAly ZXF1ZXN0ID0ga21hbGxvYyhzaXplb2YoKnJlcXVlc3QpLCBHRlBfS0VSTkVMKTsKIAlpZiAocmVx dWVzdCA9PSBOVUxMKQpAQCAtMjAzNywxMyArMjAzOSwxMyBAQCBpbnRlbF9yaW5nX2FsbG9jX3Nl cW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAKIAlrcmVmX2luaXQoJnJlcXVlc3Qt PnJlZik7CiAKLQlyZXQgPSBpOTE1X2dlbV9nZXRfc2Vxbm8ocmluZy0+ZGV2LCAmcmluZy0+b3V0 c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJcmV0ID0gaTkxNV9nZW1fZ2V0X3NlcW5vKHJpbmctPmRl diwgJnJlcXVlc3QtPnNlcW5vKTsKIAlpZiAocmV0KSB7CiAJCWtmcmVlKHJlcXVlc3QpOwogCQly ZXR1cm4gcmV0OwogCX0KIAotCXJpbmctPnByZWFsbG9jYXRlZF9sYXp5X3JlcXVlc3QgPSByZXF1 ZXN0OworCXJpbmctPm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdCA9IHJlcXVlc3Q7CiAJcmV0dXJu IDA7CiB9CiAKQEAgLTIwODQsNyArMjA4Niw3IEBAIGludCBpbnRlbF9yaW5nX2JlZ2luKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJCXJldHVybiByZXQ7CiAKIAkvKiBQcmVhbGxvY2F0 ZSB0aGUgb2xyIGJlZm9yZSB0b3VjaGluZyB0aGUgcmluZyAqLwotCXJldCA9IGludGVsX3Jpbmdf YWxsb2Nfc2Vxbm8ocmluZyk7CisJcmV0ID0gaW50ZWxfcmluZ19hbGxvY19yZXF1ZXN0KHJpbmcp OwogCWlmIChyZXQpCiAJCXJldHVybiByZXQ7CiAKQEAgLTIxMTksNyArMjEyMSw3IEBAIHZvaWQg aW50ZWxfcmluZ19pbml0X3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIHUzMiBz ZXFubykKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2OwogCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAKLQlCVUdfT04ocmlu Zy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyk7CisJQlVHX09OKHJpbmctPm91dHN0YW5kaW5nX2xh enlfcmVxdWVzdCk7CiAKIAlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPT0gNiB8fCBJTlRFTF9J TkZPKGRldiktPmdlbiA9PSA3KSB7CiAJCUk5MTVfV1JJVEUoUklOR19TWU5DXzAocmluZy0+bW1p b19iYXNlKSwgMCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5n YnVmZmVyLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXgg ZDk4Yjk2NC4uOThiMjE5ZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aApAQCAtMjY1LDggKzI2NSw3IEBAIHN0cnVjdCAgaW50ZWxfZW5naW5lX2NzIHsKIAkvKioKIAkg KiBEbyB3ZSBoYXZlIHNvbWUgbm90IHlldCBlbWl0dGVkIHJlcXVlc3RzIG91dHN0YW5kaW5nPwog CSAqLwotCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcHJlYWxsb2NhdGVkX2xhenlfcmVx dWVzdDsKLQl1MzIgb3V0c3RhbmRpbmdfbGF6eV9zZXFubzsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKm91dHN0YW5kaW5nX2xhenlfcmVxdWVzdDsKIAlib29sIGdwdV9jYWNoZXNfZGly dHk7CiAJYm9vbCBmYmNfZGlydHk7CiAKQEAgLTQyOSwxNyArNDI4LDExIEBAIHN0YXRpYyBpbmxp bmUgdTMyIGludGVsX3JpbmdfZ2V0X3RhaWwoc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdi dWYpCiAJcmV0dXJuIHJpbmdidWYtPnRhaWw7CiB9CiAKLXN0YXRpYyBpbmxpbmUgdTMyIGludGVs X3JpbmdfZ2V0X3NlcW5vKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCi17Ci0JQlVHX09O KHJpbmctPm91dHN0YW5kaW5nX2xhenlfc2Vxbm8gPT0gMCk7Ci0JcmV0dXJuIHJpbmctPm91dHN0 YW5kaW5nX2xhenlfc2Vxbm87Ci19Ci0KIHN0YXRpYyBpbmxpbmUgc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICoKIGludGVsX3JpbmdfZ2V0X3JlcXVlc3Qoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZykKIHsKLQlCVUdfT04ocmluZy0+cHJlYWxsb2NhdGVkX2xhenlfcmVxdWVzdCA9PSBO VUxMKTsKLQlyZXR1cm4gcmluZy0+cHJlYWxsb2NhdGVkX2xhenlfcmVxdWVzdDsKKwlCVUdfT04o cmluZy0+b3V0c3RhbmRpbmdfbGF6eV9yZXF1ZXN0ID09IE5VTEwpOworCXJldHVybiByaW5nLT5v dXRzdGFuZGluZ19sYXp5X3JlcXVlc3Q7CiB9CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X3Ry YWNlX2lycV9nZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywgdTMyIHNlcW5vKQotLSAK MS43LjkuNQoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK