From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [RFC 1/8] drm/i915: Have globally unique context ids, as opposed to drm file specific Date: Wed, 15 Jul 2015 14:16:56 +0530 Message-ID: <1436950023-13940-2-git-send-email-sourab.gupta@intel.com> References: <1436950023-13940-1-git-send-email-sourab.gupta@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 118EA6E7D8 for ; Wed, 15 Jul 2015 01:44:52 -0700 (PDT) In-Reply-To: <1436950023-13940-1-git-send-email-sourab.gupta@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 Cc: Insoo Woo , Peter Zijlstra , Jabin Wu , Sourab Gupta List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKQ3VycmVudGx5IHRo ZSBjb250ZXh0IGlkcyBhcmUgc3BlY2lmaWMgdG8gYSBkcm0gZmlsZSBpbnN0YW5jZSwgYXMgb3Bw b3NlZAp0byBiZWluZyBnbG9iYWxseSB1bmlxdWUuIFRoZXJlIGFyZSBzb21lIHVzZWNhc2VzLCB3 aGljaCBtYXkgcmVxdWlyZQpnbG9iYWxseSB1bmlxdWUgY29udGV4dCBpZHMuIEZvciBlLmcuIGEg c3lzdGVtIGxldmVsIEdQVSBwcm9maWxlciB0b29sIG1heQpsZWFuIHVwb24gdGhlIGNvbnRleHQg aWRzIHRvIGFzc29jaWF0ZSB0aGUgcGVyZm9ybWFuY2Ugc25hcHNob3RzIHdpdGgKaW5kaXZpZHVh bCBjb250ZXh0cy4gSWYgdGhlIGNvbnRleHQgaWRzIGFyZSB1bmlxdWUsIGl0IG1heSBkbyBzbyB3 aXRob3V0CnJlbHlpbmcgb24gYW55IGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gc3VjaCBhcyBwaWQg YW5kIGRybSBmZC4KClRoaXMgcGF0Y2ggcHJvcG9zZXMgYW4gaW1wbGVtZW50YXRpb24gb2YgZ2xv YmFsbHkgdW5pcXVlIGNvbnRleHQgaWRzLCBieQpjb25jZXB0dWFsbHkgbW92aW5nIHRoZSBpZHIg dGFibGUgZm9yIGhvbGRpbmcgdGhlIGNvbnRleHQgaWRzLCBpbnRvIGRldmljZQpwcml2YXRlIHN0 cnVjdHVyZSBpbnN0ZWFkIG9mIGZpbGUgcHJpdmF0ZSBzdHJ1Y3R1cmUuIFRoZSBjYXNlIG9mIGRl ZmF1bHQKY29udGV4dCBpZCBmb3IgZHJtIGZpbGUgKHdoaWNoIGlzIGdpdmVuIGJ5IGlkPTApIGlz IGhhbmRsZWQgYnkgc3RvcmluZyB0aGUKc2FtZSBpbiBmaWxlIHByaXZhdGUgZHVyaW5nIGNvbnRl eHQgY3JlYXRpb24sIGFuZCByZXRyaWV2aW5nIGFzIGFuZCB3aGVuCnJlcXVpcmVkLgoKVGhpcyBw YXRjaCBpcyBwcm9wb3NlZCBhbiBhbiBlbmFibGVyIGZvciB0aGUgcGF0Y2hlcyBmb2xsb3dpbmcg aW4gdGhlCnNlcmllcy4gSW4gcGFydGljdWxhciwgSSdtIGxvb2tpbmcgZm9yIGZlZWRiYWNrIG9u IHRoZSBwcm9zIGFuZCBjb25zIG9mCmhhdmluZyBhIGdsb2JhbGx5IHVuaXF1ZSBjb250ZXh0IGlk LCBhbmQgYW55IHNwZWNpZmljIGlucHV0cyBvbiB0aGlzCnBhcnRpY3VsYXIgaW1wbGVtZW50YXRp b24uIFRoaXMgaW1wbGVtZW50YXRpb24gY2FuIGJlIGltcHJvdmVkIHVwb24sIGlmCmFncmVlZCB1 cG9uIGNvbmNlcHR1YWxseS4KClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291cmFiLmd1 cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAg ICAgfCAgNCArLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICB8ICA0 ICsrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIHwgNTMgKysrKysr KysrKysrKysrKysrKysrKystLS0tLS0tLS0tCiAzIGZpbGVzIGNoYW5nZWQsIDQxIGluc2VydGlv bnMoKyksIDIwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKaW5k ZXggNDc2MzZmMy4uMzhlMDAyNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKQEAg LTIyNTQsMTIgKzIyNTQsMTAgQEAgc3RhdGljIHZvaWQgZ2VuNl9wcGd0dF9pbmZvKHN0cnVjdCBz ZXFfZmlsZSAqbSwgc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAl9CiAKIAlsaXN0X2Zvcl9lYWNo X2VudHJ5X3JldmVyc2UoZmlsZSwgJmRldi0+ZmlsZWxpc3QsIGxoZWFkKSB7Ci0JCXN0cnVjdCBk cm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9wcml2OwotCiAJ CXNlcV9wcmludGYobSwgInByb2M6ICVzXG4iLAogCQkJICAgZ2V0X3BpZF90YXNrKGZpbGUtPnBp ZCwgUElEVFlQRV9QSUQpLT5jb21tKTsKLQkJaWRyX2Zvcl9lYWNoKCZmaWxlX3ByaXYtPmNvbnRl eHRfaWRyLCBwZXJfZmlsZV9jdHgsIG0pOwogCX0KKwlpZHJfZm9yX2VhY2goJmRldl9wcml2LT5j b250ZXh0X2lkciwgcGVyX2ZpbGVfY3R4LCBtKTsKIAlzZXFfcHJpbnRmKG0sICJFQ09DSEs6IDB4 JTA4eFxuIiwgSTkxNV9SRUFEKEdBTV9FQ09DSEspKTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmgKaW5kZXggNTA5NzdmMC4uYmFhMDIzNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0z MjAsNyArMzIwLDcgQEAgc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSB7CiAgKi8KICNkZWZp bmUgRFJNX0k5MTVfVEhST1RUTEVfSklGRklFUyBtc2Vjc190b19qaWZmaWVzKDIwKQogCX0gbW07 Ci0Jc3RydWN0IGlkciBjb250ZXh0X2lkcjsKKwl1MzIgZmlyc3RfY3R4X2lkOwogCiAJc3RydWN0 IGludGVsX3Jwc19jbGllbnQgewogCQlzdHJ1Y3QgbGlzdF9oZWFkIGxpbms7CkBAIC0xNzU0LDYg KzE3NTQsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAJc3RydWN0IGludGVsX29wcmVn aW9uIG9wcmVnaW9uOwogCXN0cnVjdCBpbnRlbF92YnRfZGF0YSB2YnQ7CiAKKwlzdHJ1Y3QgaWRy IGNvbnRleHRfaWRyOworCiAJYm9vbCBwcmVzZXJ2ZV9iaW9zX3N3aXp6bGU7CiAKIAkvKiBvdmVy bGF5ICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggZDljY2Fk NS4uNmI1NzJjMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAt MjEyLDcgKzIxMiw4IEBAIGk5MTVfZ2VtX2FsbG9jX2NvbnRleHRfb2JqKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHNpemVfdCBzaXplKQogCiBzdGF0aWMgc3RydWN0IGludGVsX2NvbnRleHQgKgog X19jcmVhdGVfaHdfY29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkgICAgc3RydWN0 IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2KQorCQkgICAgc3RydWN0IGRybV9pOTE1 X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2LAorCQkgICAgYm9vbCBpc19maXJzdF9jdHgpCiB7CiAJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4OwpAQCAtMjM3LDEwICsyMzgsMTIgQEAgX19jcmVhdGVf aHdfY29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJLyogRGVmYXVsdCBjb250ZXh0 IHdpbGwgbmV2ZXIgaGF2ZSBhIGZpbGVfcHJpdiAqLwogCWlmIChmaWxlX3ByaXYgIT0gTlVMTCkg ewotCQlyZXQgPSBpZHJfYWxsb2MoJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIsIGN0eCwKKwkJcmV0 ID0gaWRyX2FsbG9jKCZkZXZfcHJpdi0+Y29udGV4dF9pZHIsIGN0eCwKIAkJCQlERUZBVUxUX0NP TlRFWFRfSEFORExFLCAwLCBHRlBfS0VSTkVMKTsKIAkJaWYgKHJldCA8IDApCiAJCQlnb3RvIGVy cl9vdXQ7CisJCWlmIChpc19maXJzdF9jdHgpCisJCQlmaWxlX3ByaXYtPmZpcnN0X2N0eF9pZCA9 IHJldDsKIAl9IGVsc2UKIAkJcmV0ID0gREVGQVVMVF9DT05URVhUX0hBTkRMRTsKIApAQCAtMjY3 LDcgKzI3MCw4IEBAIGVycl9vdXQ6CiAgKi8KIHN0YXRpYyBzdHJ1Y3QgaW50ZWxfY29udGV4dCAq CiBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQkJc3Ry dWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2KQorCQkJc3RydWN0IGRybV9pOTE1 X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2LAorCQkJYm9vbCBpc19maXJzdF9jdHgpCiB7CiAJY29u c3QgYm9vbCBpc19nbG9iYWxfZGVmYXVsdF9jdHggPSBmaWxlX3ByaXYgPT0gTlVMTDsKIAlzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY3R4OwpAQCAtMjc1LDcgKzI3OSw3IEBAIGk5MTVfZ2VtX2NyZWF0 ZV9jb250ZXh0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAKIAlCVUdfT04oIW11dGV4X2lzX2xv Y2tlZCgmZGV2LT5zdHJ1Y3RfbXV0ZXgpKTsKIAotCWN0eCA9IF9fY3JlYXRlX2h3X2NvbnRleHQo ZGV2LCBmaWxlX3ByaXYpOworCWN0eCA9IF9fY3JlYXRlX2h3X2NvbnRleHQoZGV2LCBmaWxlX3By aXYsIGlzX2ZpcnN0X2N0eCk7CiAJaWYgKElTX0VSUihjdHgpKQogCQlyZXR1cm4gY3R4OwogCkBA IC0zNDgsNiArMzUyLDE0IEBAIHZvaWQgaTkxNV9nZW1fY29udGV4dF9yZXNldChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQogCX0KIH0KIAorc3RhdGljIGludCBjb250ZXh0X2lkcl9jbGVhbnVwKGlu dCBpZCwgdm9pZCAqcCwgdm9pZCAqZGF0YSkKK3sKKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4 ID0gcDsKKworCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKKwlyZXR1cm4gMDsK K30KKwogaW50IGk5MTVfZ2VtX2NvbnRleHRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQog ewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7 CkBAIC0zNzEsOCArMzgzLDkgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfaW5pdChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQogCQkJZGV2X3ByaXYtPmh3X2NvbnRleHRfc2l6ZSA9IDA7CiAJCX0KIAl9 CisJaWRyX2luaXQoJmRldl9wcml2LT5jb250ZXh0X2lkcik7CiAKLQljdHggPSBpOTE1X2dlbV9j cmVhdGVfY29udGV4dChkZXYsIE5VTEwpOworCWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0 KGRldiwgTlVMTCwgZmFsc2UpOwogCWlmIChJU19FUlIoY3R4KSkgewogCQlEUk1fRVJST1IoIkZh aWxlZCB0byBjcmVhdGUgZGVmYXVsdCBnbG9iYWwgY29udGV4dCAoZXJyb3IgJWxkKVxuIiwKIAkJ CSAgUFRSX0VSUihjdHgpKTsKQEAgLTM5OCw2ICs0MTEsOSBAQCB2b2lkIGk5MTVfZ2VtX2NvbnRl eHRfZmluaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpk Y3R4ID0gZGV2X3ByaXYtPnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQ7CiAJaW50IGk7CiAKKwlp ZHJfZm9yX2VhY2goJmRldl9wcml2LT5jb250ZXh0X2lkciwgY29udGV4dF9pZHJfY2xlYW51cCwg TlVMTCk7CisJaWRyX2Rlc3Ryb3koJmRldl9wcml2LT5jb250ZXh0X2lkcik7CisKIAlpZiAoZGN0 eC0+bGVnYWN5X2h3X2N0eC5yY3Nfc3RhdGUpIHsKIAkJLyogVGhlIG9ubHkga25vd24gd2F5IHRv IHN0b3AgdGhlIGdwdSBmcm9tIGFjY2Vzc2luZyB0aGUgaHcgY29udGV4dCBpcwogCQkgKiB0byBy ZXNldCBpdC4gRG8gdGhpcyBhcyB0aGUgdmVyeSBsYXN0IG9wZXJhdGlvbiB0byBhdm9pZCBjb25m dXNpbmcKQEAgLTQ2NSwxMSArNDgxLDE0IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2VuYWJsZShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRp YyBpbnQgY29udGV4dF9pZHJfY2xlYW51cChpbnQgaWQsIHZvaWQgKnAsIHZvaWQgKmRhdGEpCitz dGF0aWMgaW50IGNsZWFudXBfZmlsZV9jb250ZXh0cyhpbnQgaWQsIHZvaWQgKnAsIHZvaWQgKmRh dGEpCiB7CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCA9IHA7CisJc3RydWN0IGRybV9pOTE1 X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2ID0gZGF0YTsKKworCWlmIChjdHgtPmZpbGVfcHJpdiA9 PSBmaWxlX3ByaXYpCisJCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKIAotCWk5 MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsKIAlyZXR1cm4gMDsKIH0KIApAQCAtNDc4 LDE0ICs0OTcsMTEgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfb3BlbihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJp dmF0ZSAqZmlsZV9wcml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CiAJc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eDsKIAotCWlkcl9pbml0KCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyKTsKLQogCW11dGV4 X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQljdHggPSBpOTE1X2dlbV9jcmVhdGVfY29udGV4 dChkZXYsIGZpbGVfcHJpdik7CisJY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoZGV2LCBm aWxlX3ByaXYsIHRydWUpOwogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCiAJ aWYgKElTX0VSUihjdHgpKSB7Ci0JCWlkcl9kZXN0cm95KCZmaWxlX3ByaXYtPmNvbnRleHRfaWRy KTsKIAkJcmV0dXJuIFBUUl9FUlIoY3R4KTsKIAl9CiAKQEAgLTQ5NSwxNyArNTExLDIxIEBAIGlu dCBpOTE1X2dlbV9jb250ZXh0X29wZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRy bV9maWxlICpmaWxlKQogdm9pZCBpOTE1X2dlbV9jb250ZXh0X2Nsb3NlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZmls ZV9wcml2YXRlICpmaWxlX3ByaXYgPSBmaWxlLT5kcml2ZXJfcHJpdjsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBmaWxlX3ByaXYtPmRldl9wcml2OwogCi0JaWRyX2Zvcl9l YWNoKCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyLCBjb250ZXh0X2lkcl9jbGVhbnVwLCBOVUxMKTsK LQlpZHJfZGVzdHJveSgmZmlsZV9wcml2LT5jb250ZXh0X2lkcik7CisJaWRyX2Zvcl9lYWNoKCZk ZXZfcHJpdi0+Y29udGV4dF9pZHIsIGNsZWFudXBfZmlsZV9jb250ZXh0cywgZmlsZV9wcml2KTsK IH0KIAogc3RydWN0IGludGVsX2NvbnRleHQgKgogaTkxNV9nZW1fY29udGV4dF9nZXQoc3RydWN0 IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2LCB1MzIgaWQpCiB7CisJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZmlsZV9wcml2LT5kZXZfcHJpdjsKIAlzdHJ1Y3Qg aW50ZWxfY29udGV4dCAqY3R4OwogCi0JY3R4ID0gKHN0cnVjdCBpbnRlbF9jb250ZXh0ICopaWRy X2ZpbmQoJmZpbGVfcHJpdi0+Y29udGV4dF9pZHIsIGlkKTsKKwlpZiAoaWQgPT0gMCkKKwkJaWQg PSBmaWxlX3ByaXYtPmZpcnN0X2N0eF9pZDsKKworCWN0eCA9IChzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqKWlkcl9maW5kKCZkZXZfcHJpdi0+Y29udGV4dF9pZHIsIGlkKTsKIAlpZiAoIWN0eCkKIAkJ cmV0dXJuIEVSUl9QVFIoLUVOT0VOVCk7CiAKQEAgLTg2Miw3ICs4ODIsNyBAQCBpbnQgaTkxNV9n ZW1fY29udGV4dF9jcmVhdGVfaW9jdGwoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0 YSwKIAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwogCi0JY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2Nv bnRleHQoZGV2LCBmaWxlX3ByaXYpOworCWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0KGRl diwgZmlsZV9wcml2LCBmYWxzZSk7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7 CiAJaWYgKElTX0VSUihjdHgpKQogCQlyZXR1cm4gUFRSX0VSUihjdHgpOwpAQCAtODc4LDYgKzg5 OCw3IEBAIGludCBpOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3lfaW9jdGwoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwgdm9pZCAqZGF0YSwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NvbnRleHRfZGVz dHJveSAqYXJncyA9IGRhdGE7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9w cml2ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4OwogCWlu dCByZXQ7CiAKQEAgLTg5NCw3ICs5MTUsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9kZXN0cm95 X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCXJldHVybiBQVFJf RVJSKGN0eCk7CiAJfQogCi0JaWRyX3JlbW92ZSgmY3R4LT5maWxlX3ByaXYtPmNvbnRleHRfaWRy LCBjdHgtPnVzZXJfaGFuZGxlKTsKKwlpZHJfcmVtb3ZlKCZkZXZfcHJpdi0+Y29udGV4dF9pZHIs IGN0eC0+dXNlcl9oYW5kbGUpOwogCWk5MTVfZ2VtX2NvbnRleHRfdW5yZWZlcmVuY2UoY3R4KTsK IAltdXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAotLSAKMS44LjUuMQoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK