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: Mon, 22 Jun 2015 15:20:12 +0530 Message-ID: <1434966619-3979-2-git-send-email-sourab.gupta@intel.com> References: <1434966619-3979-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 mga03.intel.com (mga03.intel.com [134.134.136.65]) by gabe.freedesktop.org (Postfix) with ESMTP id 9FA146E4B9 for ; Mon, 22 Jun 2015 02:48:33 -0700 (PDT) In-Reply-To: <1434966619-3979-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 b3NlZCB0bwpiZWluZyBnbG9iYWxseSB1bmlxdWUuIFRoZXJlIGFyZSBzb21lIHVzZWNhc2VzLCB3 aGljaCBtYXkgcmVxdWlyZSBnbG9iYWxseQp1bmlxdWUgY29udGV4dCBpZHMuIEZvciBlLmcuIGEg c3lzdGVtIGxldmVsIEdQVSBwcm9maWxlciB0b29sIG1heSBsZWFuIHVwb24KdGhlIGNvbnRleHQg aWRzIHRvIGFzc29jaWF0ZSB0aGUgcGVyZm9ybWFuY2Ugc25hcHNob3RzIHdpdGggaW5kaXZpZHVh bCBjb250ZXh0cy4KSWYgdGhlIGNvbnRleHQgaWRzIGFyZSB1bmlxdWUsIGl0IG1heSBkbyBzbyB3 aXRob3V0IHJlbHlpbmcgb24gYW55IGFkZGl0aW9uYWwKaW5mb3JtYXRpb24gc3VjaCBhcyBwaWQg YW5kIGRybSBmZC4KClRoaXMgcGF0Y2ggcHJvcG9zZXMgYW4gaW1wbGVtZW50YXRpb24gb2YgZ2xv YmFsbHkgdW5pcXVlIGNvbnRleHQgaWRzLCBieQpjb25jZXB0dWFsbHkgbW92aW5nIHRoZSBpZHIg dGFibGUgZm9yIGhvbGRpbmcgdGhlIGNvbnRleHQgaWRzLCBpbnRvIGRldmljZQpwcml2YXRlIHN0 cnVjdHVyZSBpbnN0ZWFkIG9mIGZpbGUgcHJpdmF0ZSBzdHJ1Y3R1cmUuIFRoZSBjYXNlIG9mIGRl ZmF1bHQgY29udGV4dAppZCBmb3IgZHJtIGZpbGUgKHdoaWNoIGlzIGdpdmVuIGJ5IGlkPTApIGlz IGhhbmRsZWQgYnkgc3RvcmluZyB0aGUgc2FtZSBpbgpmaWxlIHByaXZhdGUgZHVyaW5nIGNvbnRl eHQgY3JlYXRpb24sIGFuZCByZXRyaWV2aW5nIGFzIGFuZCB3aGVuIHJlcXVpcmVkLgoKVGhpcyBw YXRjaCBpcyBwcm9wb3NlZCBhbiBhbiBlbmFibGVyIGZvciB0aGUgcGF0Y2hlcyBmb2xsb3dpbmcg aW4gdGhlIHNlcmllcy4gSW4KcGFydGljdWxhciwgSSdtIGxvb2tpbmcgZm9yIGZlZWRiYWNrIG9u IHRoZSBwcm9zIGFuZCBjb25zIG9mIGhhdmluZyBhIGdsb2JhbGx5CnVuaXF1ZSBjb250ZXh0IGlk LCBhbmQgYW55IHNwZWNpZmljIGlucHV0cyBvbiB0aGlzIHBhcnRpY3VsYXIgaW1wbGVtZW50YXRp b24uClRoaXMgaW1wbGVtZW50YXRpb24gY2FuIGJlIGltcHJvdmVkIHVwb24sIGlmIGFncmVlZCB1 cG9uIGNvbmNlcHR1YWxseS4KClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8c291cmFiLmd1 cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAg ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgIDQg KystCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgfCA1MyArKysrKysr KysrKysrKysrKysrKysrKy0tLS0tLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDEgaW5zZXJ0aW9u cygrKSwgMTggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRl eCA0NzYzNmYzLi43NGM3MzZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAt MjI1OCw4ICsyMjU4LDggQEAgc3RhdGljIHZvaWQgZ2VuNl9wcGd0dF9pbmZvKHN0cnVjdCBzZXFf ZmlsZSAqbSwgc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCQlzZXFfcHJpbnRmKG0sICJwcm9j OiAlc1xuIiwKIAkJCSAgIGdldF9waWRfdGFzayhmaWxlLT5waWQsIFBJRFRZUEVfUElEKS0+Y29t bSk7Ci0JCWlkcl9mb3JfZWFjaCgmZmlsZV9wcml2LT5jb250ZXh0X2lkciwgcGVyX2ZpbGVfY3R4 LCBtKTsKIAl9CisJaWRyX2Zvcl9lYWNoKCZkZXZfcHJpdi0+Y29udGV4dF9pZHIsIHBlcl9maWxl X2N0eCwgbSk7CiAJc2VxX3ByaW50ZihtLCAiRUNPQ0hLOiAweCUwOHhcbiIsIEk5MTVfUkVBRChH QU1fRUNPQ0hLKSk7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDUwOTc3ZjAuLmJh YTAyMzQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtMzIwLDcgKzMyMCw3IEBAIHN0cnVj dCBkcm1faTkxNV9maWxlX3ByaXZhdGUgewogICovCiAjZGVmaW5lIERSTV9JOTE1X1RIUk9UVExF X0pJRkZJRVMgbXNlY3NfdG9famlmZmllcygyMCkKIAl9IG1tOwotCXN0cnVjdCBpZHIgY29udGV4 dF9pZHI7CisJdTMyIGZpcnN0X2N0eF9pZDsKIAogCXN0cnVjdCBpbnRlbF9ycHNfY2xpZW50IHsK IAkJc3RydWN0IGxpc3RfaGVhZCBsaW5rOwpAQCAtMTc1NCw2ICsxNzU0LDggQEAgc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgewogCXN0cnVjdCBpbnRlbF9vcHJlZ2lvbiBvcHJlZ2lvbjsKIAlzdHJ1 Y3QgaW50ZWxfdmJ0X2RhdGEgdmJ0OwogCisJc3RydWN0IGlkciBjb250ZXh0X2lkcjsKKwogCWJv b2wgcHJlc2VydmVfYmlvc19zd2l6emxlOwogCiAJLyogb3ZlcmxheSAqLwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCmluZGV4IGQ5Y2NhZDUuLjZiNTcyYzEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKQEAgLTIxMiw3ICsyMTIsOCBAQCBpOTE1 X2dlbV9hbGxvY19jb250ZXh0X29iaihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzaXplX3Qgc2l6 ZSkKIAogc3RhdGljIHN0cnVjdCBpbnRlbF9jb250ZXh0ICoKIF9fY3JlYXRlX2h3X2NvbnRleHQo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJICAgIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZh dGUgKmZpbGVfcHJpdikKKwkJICAgIHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVf cHJpdiwKKwkJICAgIGJvb2wgaXNfZmlyc3RfY3R4KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2NvbnRleHQg KmN0eDsKQEAgLTIzNywxMCArMjM4LDEyIEBAIF9fY3JlYXRlX2h3X2NvbnRleHQoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAogCS8qIERlZmF1bHQgY29udGV4dCB3aWxsIG5ldmVyIGhhdmUgYSBm aWxlX3ByaXYgKi8KIAlpZiAoZmlsZV9wcml2ICE9IE5VTEwpIHsKLQkJcmV0ID0gaWRyX2FsbG9j KCZmaWxlX3ByaXYtPmNvbnRleHRfaWRyLCBjdHgsCisJCXJldCA9IGlkcl9hbGxvYygmZGV2X3By aXYtPmNvbnRleHRfaWRyLCBjdHgsCiAJCQkJREVGQVVMVF9DT05URVhUX0hBTkRMRSwgMCwgR0ZQ X0tFUk5FTCk7CiAJCWlmIChyZXQgPCAwKQogCQkJZ290byBlcnJfb3V0OworCQlpZiAoaXNfZmly c3RfY3R4KQorCQkJZmlsZV9wcml2LT5maXJzdF9jdHhfaWQgPSByZXQ7CiAJfSBlbHNlCiAJCXJl dCA9IERFRkFVTFRfQ09OVEVYVF9IQU5ETEU7CiAKQEAgLTI2Nyw3ICsyNzAsOCBAQCBlcnJfb3V0 OgogICovCiBzdGF0aWMgc3RydWN0IGludGVsX2NvbnRleHQgKgogaTkxNV9nZW1fY3JlYXRlX2Nv bnRleHQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCXN0cnVjdCBkcm1faTkxNV9maWxlX3By aXZhdGUgKmZpbGVfcHJpdikKKwkJCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVf cHJpdiwKKwkJCWJvb2wgaXNfZmlyc3RfY3R4KQogewogCWNvbnN0IGJvb2wgaXNfZ2xvYmFsX2Rl ZmF1bHRfY3R4ID0gZmlsZV9wcml2ID09IE5VTEw7CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eDsKQEAgLTI3NSw3ICsyNzksNyBAQCBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogCiAJQlVHX09OKCFtdXRleF9pc19sb2NrZWQoJmRldi0+c3RydWN0X211 dGV4KSk7CiAKLQljdHggPSBfX2NyZWF0ZV9od19jb250ZXh0KGRldiwgZmlsZV9wcml2KTsKKwlj dHggPSBfX2NyZWF0ZV9od19jb250ZXh0KGRldiwgZmlsZV9wcml2LCBpc19maXJzdF9jdHgpOwog CWlmIChJU19FUlIoY3R4KSkKIAkJcmV0dXJuIGN0eDsKIApAQCAtMzQ4LDYgKzM1MiwxNCBAQCB2 b2lkIGk5MTVfZ2VtX2NvbnRleHRfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAl9CiB9 CiAKK3N0YXRpYyBpbnQgY29udGV4dF9pZHJfY2xlYW51cChpbnQgaWQsIHZvaWQgKnAsIHZvaWQg KmRhdGEpCit7CisJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCA9IHA7CisKKwlpOTE1X2dlbV9j b250ZXh0X3VucmVmZXJlbmNlKGN0eCk7CisJcmV0dXJuIDA7Cit9CisKIGludCBpOTE1X2dlbV9j b250ZXh0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwpAQCAtMzcxLDggKzM4Myw5IEBA IGludCBpOTE1X2dlbV9jb250ZXh0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAkJCWRl dl9wcml2LT5od19jb250ZXh0X3NpemUgPSAwOwogCQl9CiAJfQorCWlkcl9pbml0KCZkZXZfcHJp di0+Y29udGV4dF9pZHIpOwogCi0JY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoZGV2LCBO VUxMKTsKKwljdHggPSBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChkZXYsIE5VTEwsIGZhbHNlKTsK IAlpZiAoSVNfRVJSKGN0eCkpIHsKIAkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIGRlZmF1 bHQgZ2xvYmFsIGNvbnRleHQgKGVycm9yICVsZClcbiIsCiAJCQkgIFBUUl9FUlIoY3R4KSk7CkBA IC0zOTgsNiArNDExLDkgQEAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2Zpbmkoc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqZGN0eCA9IGRldl9wcml2LT5yaW5n W1JDU10uZGVmYXVsdF9jb250ZXh0OwogCWludCBpOwogCisJaWRyX2Zvcl9lYWNoKCZkZXZfcHJp di0+Y29udGV4dF9pZHIsIGNvbnRleHRfaWRyX2NsZWFudXAsIE5VTEwpOworCWlkcl9kZXN0cm95 KCZkZXZfcHJpdi0+Y29udGV4dF9pZHIpOworCiAJaWYgKGRjdHgtPmxlZ2FjeV9od19jdHgucmNz X3N0YXRlKSB7CiAJCS8qIFRoZSBvbmx5IGtub3duIHdheSB0byBzdG9wIHRoZSBncHUgZnJvbSBh Y2Nlc3NpbmcgdGhlIGh3IGNvbnRleHQgaXMKIAkJICogdG8gcmVzZXQgaXQuIERvIHRoaXMgYXMg dGhlIHZlcnkgbGFzdCBvcGVyYXRpb24gdG8gYXZvaWQgY29uZnVzaW5nCkBAIC00NjUsMTEgKzQ4 MSwxNCBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgaW50IGNvbnRleHRfaWRyX2Ns ZWFudXAoaW50IGlkLCB2b2lkICpwLCB2b2lkICpkYXRhKQorc3RhdGljIGludCBjbGVhbnVwX2Zp bGVfY29udGV4dHMoaW50IGlkLCB2b2lkICpwLCB2b2lkICpkYXRhKQogewogCXN0cnVjdCBpbnRl bF9jb250ZXh0ICpjdHggPSBwOworCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVf cHJpdiA9IGRhdGE7CisKKwlpZiAoY3R4LT5maWxlX3ByaXYgPT0gZmlsZV9wcml2KQorCQlpOTE1 X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7CiAKLQlpOTE1X2dlbV9jb250ZXh0X3VucmVm ZXJlbmNlKGN0eCk7CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTQ3OCwxNCArNDk3LDExIEBAIGludCBp OTE1X2dlbV9jb250ZXh0X29wZW4oc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9m aWxlICpmaWxlKQogCXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZp bGUtPmRyaXZlcl9wcml2OwogCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHg7CiAKLQlpZHJfaW5p dCgmZmlsZV9wcml2LT5jb250ZXh0X2lkcik7Ci0KIAltdXRleF9sb2NrKCZkZXYtPnN0cnVjdF9t dXRleCk7Ci0JY3R4ID0gaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoZGV2LCBmaWxlX3ByaXYpOwor CWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0KGRldiwgZmlsZV9wcml2LCB0cnVlKTsKIAlt dXRleF91bmxvY2soJmRldi0+c3RydWN0X211dGV4KTsKIAogCWlmIChJU19FUlIoY3R4KSkgewot CQlpZHJfZGVzdHJveSgmZmlsZV9wcml2LT5jb250ZXh0X2lkcik7CiAJCXJldHVybiBQVFJfRVJS KGN0eCk7CiAJfQogCkBAIC00OTUsMTcgKzUxMSwyMSBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9v cGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkKIHZvaWQg aTkxNV9nZW1fY29udGV4dF9jbG9zZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2ZpbGUgKmZpbGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X2ZpbGVfcHJpdmF0ZSAqZmlsZV9wcml2 ID0gZmlsZS0+ZHJpdmVyX3ByaXY7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gZmlsZV9wcml2LT5kZXZfcHJpdjsKIAotCWlkcl9mb3JfZWFjaCgmZmlsZV9wcml2LT5jb250 ZXh0X2lkciwgY29udGV4dF9pZHJfY2xlYW51cCwgTlVMTCk7Ci0JaWRyX2Rlc3Ryb3koJmZpbGVf cHJpdi0+Y29udGV4dF9pZHIpOworCWlkcl9mb3JfZWFjaCgmZGV2X3ByaXYtPmNvbnRleHRfaWRy LCBjbGVhbnVwX2ZpbGVfY29udGV4dHMsIGZpbGVfcHJpdik7CiB9CiAKIHN0cnVjdCBpbnRlbF9j b250ZXh0ICoKIGk5MTVfZ2VtX2NvbnRleHRfZ2V0KHN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZh dGUgKmZpbGVfcHJpdiwgdTMyIGlkKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IGZpbGVfcHJpdi0+ZGV2X3ByaXY7CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsK IAotCWN0eCA9IChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqKWlkcl9maW5kKCZmaWxlX3ByaXYtPmNv bnRleHRfaWRyLCBpZCk7CisJaWYgKGlkID09IDApCisJCWlkID0gZmlsZV9wcml2LT5maXJzdF9j dHhfaWQ7CisKKwljdHggPSAoc3RydWN0IGludGVsX2NvbnRleHQgKilpZHJfZmluZCgmZGV2X3By aXYtPmNvbnRleHRfaWRyLCBpZCk7CiAJaWYgKCFjdHgpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9F TlQpOwogCkBAIC04NjIsNyArODgyLDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfY3JlYXRlX2lv Y3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJaWYgKHJldCkKIAkJcmV0 dXJuIHJldDsKIAotCWN0eCA9IGk5MTVfZ2VtX2NyZWF0ZV9jb250ZXh0KGRldiwgZmlsZV9wcml2 KTsKKwljdHggPSBpOTE1X2dlbV9jcmVhdGVfY29udGV4dChkZXYsIGZpbGVfcHJpdiwgZmFsc2Up OwogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCWlmIChJU19FUlIoY3R4KSkK IAkJcmV0dXJuIFBUUl9FUlIoY3R4KTsKQEAgLTg3OCw2ICs4OTgsNyBAQCBpbnQgaTkxNV9nZW1f Y29udGV4dF9kZXN0cm95X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEs CiB7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9jb250ZXh0X2Rlc3Ryb3kgKmFyZ3MgPSBkYXRhOwog CXN0cnVjdCBkcm1faTkxNV9maWxlX3ByaXZhdGUgKmZpbGVfcHJpdiA9IGZpbGUtPmRyaXZlcl9w cml2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZh dGU7CiAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKIAlpbnQgcmV0OwogCkBAIC04OTQsNyAr OTE1LDcgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfZGVzdHJveV9pb2N0bChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQlyZXR1cm4gUFRSX0VSUihjdHgpOwogCX0KIAotCWlk cl9yZW1vdmUoJmN0eC0+ZmlsZV9wcml2LT5jb250ZXh0X2lkciwgY3R4LT51c2VyX2hhbmRsZSk7 CisJaWRyX3JlbW92ZSgmZGV2X3ByaXYtPmNvbnRleHRfaWRyLCBjdHgtPnVzZXJfaGFuZGxlKTsK IAlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKGN0eCk7CiAJbXV0ZXhfdW5sb2NrKCZkZXYt PnN0cnVjdF9tdXRleCk7CiAKLS0gCjEuOC41LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==