From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomi Valkeinen Subject: [PATCH 04/36] drm: omapdrm: Switch to the universal plane API Date: Tue, 24 Mar 2015 14:15:21 +0200 Message-ID: <1427199353-4412-5-git-send-email-tomi.valkeinen@ti.com> References: <1427199353-4412-1-git-send-email-tomi.valkeinen@ti.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from comal.ext.ti.com (comal.ext.ti.com [198.47.26.152]) by gabe.freedesktop.org (Postfix) with ESMTP id 5F42B6E523 for ; Tue, 24 Mar 2015 05:16:21 -0700 (PDT) In-Reply-To: <1427199353-4412-1-git-send-email-tomi.valkeinen@ti.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Laurent Pinchart List-Id: dri-devel@lists.freedesktop.org RnJvbTogTGF1cmVudCBQaW5jaGFydCA8bGF1cmVudC5waW5jaGFydEBpZGVhc29uYm9hcmQuY29t PgoKUmVtb3ZlIHRoZSBDUlRDIHByaXZhdGUgcGxhbmVzIGJ5IHN3aXRjaGluZyB0byB0aGUgdW5p dmVyc2FsIHBsYW5lIEFQSS4KVGhpcyByZXN1bHRzIGluIGEgbWVyZ2Ugb2YgdGhlIENSVEMgcHJp dmF0ZSBwbGFuZSBjcmVhdGVkIGJ5IHRoZSBkcml2ZXIKKG9tYXBfY3J0Yy0+cGxhbmUpIGFuZCB0 aGUgQ1JUQyBwcmltYXJ5IHBsYW5lIGNyZWF0ZWQgYnkgdGhlIERSTSBjb3JlCihjcnRjLT5wcmlt YXJ5KS4KClJlZmVyZW5jZSBjb3VudGluZyBvZiB0aGUgZnJhbWVidWZmZXJzIGluIHRoZSB1cGRh dGUgcGxhbmUgb3BlcmF0aW9uIGlzCnRodXMgc2ltcGxpZmllZCBhcyBubyByZWZlcmVuY2UgbmVl ZHMgdG8gYmUgc3RvcmVkIGluIHRoZSBwcml2YXRlIHBsYW5lCmFueW1vcmUuCgpTaWduZWQtb2Zm LWJ5OiBMYXVyZW50IFBpbmNoYXJ0IDxsYXVyZW50LnBpbmNoYXJ0QGlkZWFzb25ib2FyZC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMgIHwgNDMgKysrKysrKysr KysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFw X2Rydi5jICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5oICAg fCAgMiArLQogZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jIHwgMzYgKysrKysr KysrKysrKysrKysrLS0tLS0tLS0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMo KyksIDM5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9jcnRjLmMKaW5kZXgg YjljM2Q4ZjgzMGU4Li43NTcwZGI1OWE5ZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9v bWFwZHJtL29tYXBfY3J0Yy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfY3J0 Yy5jCkBAIC0yOCw3ICsyOCw2IEBACiAKIHN0cnVjdCBvbWFwX2NydGMgewogCXN0cnVjdCBkcm1f Y3J0YyBiYXNlOwotCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwogCiAJY29uc3QgY2hhciAqbmFt ZTsKIAlpbnQgcGlwZTsKQEAgLTIxNywxMCArMjE2LDcgQEAgc3RhdGljIHZvaWQgb21hcF9jcnRj X2RwbXMoc3RydWN0IGRybV9jcnRjICpjcnRjLCBpbnQgbW9kZSkKIAkJb21hcF9jcnRjLT5mdWxs X3VwZGF0ZSA9IHRydWU7CiAJCW9tYXBfY3J0Y19hcHBseShjcnRjLCAmb21hcF9jcnRjLT5hcHBs eSk7CiAKLQkJLyogYWxzbyBlbmFibGUgb3VyIHByaXZhdGUgcGxhbmU6ICovCi0JCVdBUk5fT04o b21hcF9wbGFuZV9kcG1zKG9tYXBfY3J0Yy0+cGxhbmUsIG1vZGUpKTsKLQotCQkvKiBhbmQgYW55 IGF0dGFjaGVkIG92ZXJsYXkgcGxhbmVzOiAqLworCQkvKiBFbmFibGUvZGlzYWJsZSBhbGwgcGxh bmVzIGFzc29jaWF0ZWQgd2l0aCB0aGUgQ1JUQy4gKi8KIAkJZm9yIChpID0gMDsgaSA8IHByaXYt Pm51bV9wbGFuZXM7IGkrKykgewogCQkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSBwcml2LT5w bGFuZXNbaV07CiAJCQlpZiAocGxhbmUtPmNydGMgPT0gY3J0YykKQEAgLTI1OCw3ICsyNTQsMTMg QEAgc3RhdGljIGludCBvbWFwX2NydGNfbW9kZV9zZXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAog CWNvcHlfdGltaW5nc19kcm1fdG9fb21hcCgmb21hcF9jcnRjLT50aW1pbmdzLCBtb2RlKTsKIAlv bWFwX2NydGMtPmZ1bGxfdXBkYXRlID0gdHJ1ZTsKIAotCXJldHVybiBvbWFwX3BsYW5lX21vZGVf c2V0KG9tYXBfY3J0Yy0+cGxhbmUsIGNydGMsIGNydGMtPnByaW1hcnktPmZiLAorCS8qCisJICog VGhlIHByaW1hcnkgcGxhbmUgQ1JUQyBjYW4gYmUgcmVzZXQgaWYgdGhlIHBsYW5lIGlzIGRpc2Fi bGVkIGRpcmVjdGx5CisJICogdGhyb3VnaCB0aGUgdW5pdmVyc2FsIHBsYW5lIEFQSS4gU2V0IGl0 IGFnYWluIGhlcmUuCisJICovCisJY3J0Yy0+cHJpbWFyeS0+Y3J0YyA9IGNydGM7CisKKwlyZXR1 cm4gb21hcF9wbGFuZV9tb2RlX3NldChjcnRjLT5wcmltYXJ5LCBjcnRjLCBjcnRjLT5wcmltYXJ5 LT5mYiwKIAkJCTAsIDAsIG1vZGUtPmhkaXNwbGF5LCBtb2RlLT52ZGlzcGxheSwKIAkJCXggPDwg MTYsIHkgPDwgMTYsCiAJCQltb2RlLT5oZGlzcGxheSA8PCAxNiwgbW9kZS0+dmRpc3BsYXkgPDwg MTYsCkBAIC0yODIsOCArMjg0LDcgQEAgc3RhdGljIHZvaWQgb21hcF9jcnRjX2NvbW1pdChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiBzdGF0aWMgaW50IG9tYXBfY3J0Y19tb2RlX3NldF9iYXNlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgaW50IHgsIGludCB5LAogCQlzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpvbGRfZmIpCiB7Ci0Jc3RydWN0IG9tYXBfY3J0YyAqb21hcF9jcnRjID0gdG9fb21hcF9j cnRjKGNydGMpOwotCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gb21hcF9jcnRjLT5wbGFuZTsK KwlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IGNydGMtPnByaW1hcnk7CiAJc3RydWN0IGRybV9k aXNwbGF5X21vZGUgKm1vZGUgPSAmY3J0Yy0+bW9kZTsKIAogCXJldHVybiBvbWFwX3BsYW5lX21v ZGVfc2V0KHBsYW5lLCBjcnRjLCBjcnRjLT5wcmltYXJ5LT5mYiwKQEAgLTMyMSw3ICszMjIsNyBA QCBzdGF0aWMgdm9pZCBwYWdlX2ZsaXBfd29ya2VyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykK IAlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmJvOwogCiAJZHJtX21vZGVzZXRfbG9jaygmY3J0Yy0+ bXV0ZXgsIE5VTEwpOwotCW9tYXBfcGxhbmVfbW9kZV9zZXQob21hcF9jcnRjLT5wbGFuZSwgY3J0 YywgY3J0Yy0+cHJpbWFyeS0+ZmIsCisJb21hcF9wbGFuZV9tb2RlX3NldChjcnRjLT5wcmltYXJ5 LCBjcnRjLCBjcnRjLT5wcmltYXJ5LT5mYiwKIAkJCTAsIDAsIG1vZGUtPmhkaXNwbGF5LCBtb2Rl LT52ZGlzcGxheSwKIAkJCWNydGMtPnggPDwgMTYsIGNydGMtPnkgPDwgMTYsCiAJCQltb2RlLT5o ZGlzcGxheSA8PCAxNiwgbW9kZS0+dmRpc3BsYXkgPDwgMTYsCkBAIC0zODUsNyArMzg2LDYgQEAg c3RhdGljIGludCBvbWFwX2NydGNfcGFnZV9mbGlwX2xvY2tlZChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCiBzdGF0aWMgaW50IG9tYXBfY3J0Y19zZXRfcHJvcGVydHkoc3RydWN0IGRybV9jcnRjICpj cnRjLAogCQlzdHJ1Y3QgZHJtX3Byb3BlcnR5ICpwcm9wZXJ0eSwgdWludDY0X3QgdmFsKQogewot CXN0cnVjdCBvbWFwX2NydGMgKm9tYXBfY3J0YyA9IHRvX29tYXBfY3J0YyhjcnRjKTsKIAlzdHJ1 Y3Qgb21hcF9kcm1fcHJpdmF0ZSAqcHJpdiA9IGNydGMtPmRldi0+ZGV2X3ByaXZhdGU7CiAKIAlp ZiAocHJvcGVydHkgPT0gcHJpdi0+cm90YXRpb25fcHJvcCkgewpAQCAtMzkzLDcgKzM5Myw3IEBA IHN0YXRpYyBpbnQgb21hcF9jcnRjX3NldF9wcm9wZXJ0eShzdHJ1Y3QgZHJtX2NydGMgKmNydGMs CiAJCQkJISEodmFsICYgKCgxTEwgPDwgRFJNX1JPVEFURV85MCkgfCAoMUxMIDw8IERSTV9ST1RB VEVfMjcwKSkpOwogCX0KIAotCXJldHVybiBvbWFwX3BsYW5lX3NldF9wcm9wZXJ0eShvbWFwX2Ny dGMtPnBsYW5lLCBwcm9wZXJ0eSwgdmFsKTsKKwlyZXR1cm4gb21hcF9wbGFuZV9zZXRfcHJvcGVy dHkoY3J0Yy0+cHJpbWFyeSwgcHJvcGVydHksIHZhbCk7CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2NydGNfZnVuY3Mgb21hcF9jcnRjX2Z1bmNzID0gewpAQCAtNjgxLDEyICs2ODEsMTMg QEAgc3RydWN0IGRybV9jcnRjICpvbWFwX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IE5VTEw7CiAJc3RydWN0IG9tYXBfY3J0YyAqb21h cF9jcnRjOwogCXN0cnVjdCBvbWFwX292ZXJsYXlfbWFuYWdlcl9pbmZvICppbmZvOworCWludCBy ZXQ7CiAKIAlEQkcoIiVzIiwgY2hhbm5lbF9uYW1lc1tjaGFubmVsXSk7CiAKIAlvbWFwX2NydGMg PSBremFsbG9jKHNpemVvZigqb21hcF9jcnRjKSwgR0ZQX0tFUk5FTCk7CiAJaWYgKCFvbWFwX2Ny dGMpCi0JCWdvdG8gZmFpbDsKKwkJcmV0dXJuIE5VTEw7CiAKIAljcnRjID0gJm9tYXBfY3J0Yy0+ YmFzZTsKIApAQCAtNzAwLDggKzcwMSw2IEBAIHN0cnVjdCBkcm1fY3J0YyAqb21hcF9jcnRjX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlvbWFwX2NydGMtPmFwcGx5LnBvc3RfYXBwbHkg PSBvbWFwX2NydGNfcG9zdF9hcHBseTsKIAogCW9tYXBfY3J0Yy0+Y2hhbm5lbCA9IGNoYW5uZWw7 Ci0Jb21hcF9jcnRjLT5wbGFuZSA9IHBsYW5lOwotCW9tYXBfY3J0Yy0+cGxhbmUtPmNydGMgPSBj cnRjOwogCW9tYXBfY3J0Yy0+bmFtZSA9IGNoYW5uZWxfbmFtZXNbY2hhbm5lbF07CiAJb21hcF9j cnRjLT5waXBlID0gaWQ7CiAKQEAgLTcyMywxOCArNzIyLDE4IEBAIHN0cnVjdCBkcm1fY3J0YyAq b21hcF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlpbmZvLT50cmFuc19rZXlf dHlwZSA9IE9NQVBfRFNTX0NPTE9SX0tFWV9HRlhfRFNUOwogCWluZm8tPnRyYW5zX2VuYWJsZWQg PSBmYWxzZTsKIAotCWRybV9jcnRjX2luaXQoZGV2LCBjcnRjLCAmb21hcF9jcnRjX2Z1bmNzKTsK KwlyZXQgPSBkcm1fY3J0Y19pbml0X3dpdGhfcGxhbmVzKGRldiwgY3J0YywgcGxhbmUsIE5VTEws CisJCQkJCSZvbWFwX2NydGNfZnVuY3MpOworCWlmIChyZXQgPCAwKSB7CisJCWtmcmVlKG9tYXBf Y3J0Yyk7CisJCXJldHVybiBOVUxMOworCX0KKwogCWRybV9jcnRjX2hlbHBlcl9hZGQoY3J0Yywg Jm9tYXBfY3J0Y19oZWxwZXJfZnVuY3MpOwogCi0Jb21hcF9wbGFuZV9pbnN0YWxsX3Byb3BlcnRp ZXMob21hcF9jcnRjLT5wbGFuZSwgJmNydGMtPmJhc2UpOworCW9tYXBfcGxhbmVfaW5zdGFsbF9w cm9wZXJ0aWVzKGNydGMtPnByaW1hcnksICZjcnRjLT5iYXNlKTsKIAogCW9tYXBfY3J0Y3NbY2hh bm5lbF0gPSBvbWFwX2NydGM7CiAKIAlyZXR1cm4gY3J0YzsKLQotZmFpbDoKLQlpZiAoY3J0YykK LQkJb21hcF9jcnRjX2Rlc3Ryb3koY3J0Yyk7Ci0KLQlyZXR1cm4gTlVMTDsKIH0KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMgYi9kcml2ZXJzL2dwdS9kcm0v b21hcGRybS9vbWFwX2Rydi5jCmluZGV4IDAyMTg1NTYwNWExZi4uNWVhYjgzZDdkZTE1IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX2Rydi5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmMKQEAgLTEzNSw3ICsxMzUsNyBAQCBzdGF0aWMgaW50 IG9tYXBfbW9kZXNldF9jcmVhdGVfY3J0YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgaWQs CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCi0J cGxhbmUgPSBvbWFwX3BsYW5lX2luaXQoZGV2LCBpZCwgdHJ1ZSk7CisJcGxhbmUgPSBvbWFwX3Bs YW5lX2luaXQoZGV2LCBpZCwgRFJNX1BMQU5FX1RZUEVfUFJJTUFSWSk7CiAJaWYgKElTX0VSUihw bGFuZSkpCiAJCXJldHVybiBQVFJfRVJSKHBsYW5lKTsKIApAQCAtMjc3LDcgKzI3Nyw3IEBAIHN0 YXRpYyBpbnQgb21hcF9tb2Rlc2V0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlmb3Ig KDsgaWQgPCBudW1fb3ZsczsgaWQrKykgewogCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZTsKIAot CQlwbGFuZSA9IG9tYXBfcGxhbmVfaW5pdChkZXYsIGlkLCBmYWxzZSk7CisJCXBsYW5lID0gb21h cF9wbGFuZV9pbml0KGRldiwgaWQsIERSTV9QTEFORV9UWVBFX09WRVJMQVkpOwogCQlpZiAoSVNf RVJSKHBsYW5lKSkKIAkJCXJldHVybiBQVFJfRVJSKHBsYW5lKTsKIApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJt L29tYXBfZHJ2LmgKaW5kZXggNjBlNDdiMzNjODAxLi5mMzhmZmQxNGZmMDYgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9vbWFwZHJtL29tYXBfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJt L29tYXBkcm0vb21hcF9kcnYuaApAQCAtMTYwLDcgKzE2MCw3IEBAIHN0cnVjdCBkcm1fY3J0YyAq b21hcF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIHZvaWQgb21hcF9jcnRjX2Zs dXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiAKIHN0cnVjdCBkcm1fcGxhbmUgKm9tYXBfcGxh bmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQlpbnQgcGxhbmVfaWQsIGJvb2wgcHJp dmF0ZV9wbGFuZSk7CisJCWludCBpZCwgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlKTsKIGludCBv bWFwX3BsYW5lX2RwbXMoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIGludCBtb2RlKTsKIGludCBv bWFwX3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlzdHJ1Y3QgZHJt X2NydGMgKmNydGMsIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL29tYXBk cm0vb21hcF9wbGFuZS5jCmluZGV4IGMxNzQ2MDMzNmZjYy4uMzJkZjNlNzgzMTI4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vb21hcGRybS9vbWFwX3BsYW5lLmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL29tYXBkcm0vb21hcF9wbGFuZS5jCkBAIC0yMjAsMTQgKzIyMCw2IEBAIGludCBvbWFw X3BsYW5lX21vZGVfc2V0KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlvbWFwX3BsYW5lLT5h cHBseV9kb25lX2NiLmFyZyA9IGFyZzsKIAl9CiAKLQlpZiAocGxhbmUtPmZiKQotCQlkcm1fZnJh bWVidWZmZXJfdW5yZWZlcmVuY2UocGxhbmUtPmZiKTsKLQotCWRybV9mcmFtZWJ1ZmZlcl9yZWZl cmVuY2UoZmIpOwotCi0JcGxhbmUtPmZiID0gZmI7Ci0JcGxhbmUtPmNydGMgPSBjcnRjOwotCiAJ cmV0dXJuIGFwcGx5KHBsYW5lKTsKIH0KIApAQCAtMjQ5LDYgKzI0MSwxMyBAQCBzdGF0aWMgaW50 IG9tYXBfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAogCQlicmVhazsKIAl9 CiAKKwkvKgorCSAqIFdlIGRvbid0IG5lZWQgdG8gdGFrZSBhIHJlZmVyZW5jZSB0byB0aGUgZnJh bWVidWZmZXIgYXMgdGhlIERSTSBjb3JlCisJICogaGFzIGFscmVhZHkgZG9uZSBzbyBmb3IgdGhl IHB1cnBvc2Ugb2Ygc2V0dGluZyBwbGFuZS0+ZmIuCisJICovCisJcGxhbmUtPmZiID0gZmI7CisJ cGxhbmUtPmNydGMgPSBjcnRjOworCiAJcmV0dXJuIG9tYXBfcGxhbmVfbW9kZV9zZXQocGxhbmUs IGNydGMsIGZiLAogCQkJY3J0Y194LCBjcnRjX3ksIGNydGNfdywgY3J0Y19oLAogCQkJc3JjX3gs IHNyY195LCBzcmNfdywgc3JjX2gsCkBAIC0zNzcsMTQgKzM3NiwxNSBAQCBzdGF0aWMgY29uc3Qg dWludDMyX3QgZXJyb3JfaXJxc1tdID0gewogCiAvKiBpbml0aWFsaXplIHBsYW5lICovCiBzdHJ1 Y3QgZHJtX3BsYW5lICpvbWFwX3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJ aW50IGlkLCBib29sIHByaXZhdGVfcGxhbmUpCisJCWludCBpZCwgZW51bSBkcm1fcGxhbmVfdHlw ZSB0eXBlKQogewogCXN0cnVjdCBvbWFwX2RybV9wcml2YXRlICpwcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKLQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSA9IE5VTEw7CisJc3RydWN0IGRybV9wbGFu ZSAqcGxhbmU7CiAJc3RydWN0IG9tYXBfcGxhbmUgKm9tYXBfcGxhbmU7CiAJc3RydWN0IG9tYXBf b3ZlcmxheV9pbmZvICppbmZvOworCWludCByZXQ7CiAKLQlEQkcoIiVzOiBwcml2PSVkIiwgcGxh bmVfbmFtZXNbaWRdLCBwcml2YXRlX3BsYW5lKTsKKwlEQkcoIiVzOiB0eXBlPSVkIiwgcGxhbmVf bmFtZXNbaWRdLCB0eXBlKTsKIAogCW9tYXBfcGxhbmUgPSBremFsbG9jKHNpemVvZigqb21hcF9w bGFuZSksIEdGUF9LRVJORUwpOwogCWlmICghb21hcF9wbGFuZSkKQEAgLTQwOCw4ICs0MDgsMTEg QEAgc3RydWN0IGRybV9wbGFuZSAqb21hcF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsCiAJb21hcF9wbGFuZS0+ZXJyb3JfaXJxLmlycSA9IG9tYXBfcGxhbmVfZXJyb3JfaXJxOwog CW9tYXBfaXJxX3JlZ2lzdGVyKGRldiwgJm9tYXBfcGxhbmUtPmVycm9yX2lycSk7CiAKLQlkcm1f cGxhbmVfaW5pdChkZXYsIHBsYW5lLCAoMSA8PCBwcml2LT5udW1fY3J0Y3MpIC0gMSwgJm9tYXBf cGxhbmVfZnVuY3MsCi0JCQlvbWFwX3BsYW5lLT5mb3JtYXRzLCBvbWFwX3BsYW5lLT5uZm9ybWF0 cywgcHJpdmF0ZV9wbGFuZSk7CisJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwg cGxhbmUsICgxIDw8IHByaXYtPm51bV9jcnRjcykgLSAxLAorCQkJCSAgICAgICAmb21hcF9wbGFu ZV9mdW5jcywgb21hcF9wbGFuZS0+Zm9ybWF0cywKKwkJCQkgICAgICAgb21hcF9wbGFuZS0+bmZv cm1hdHMsIHR5cGUpOworCWlmIChyZXQgPCAwKQorCQlnb3RvIGVycm9yOwogCiAJb21hcF9wbGFu ZV9pbnN0YWxsX3Byb3BlcnRpZXMocGxhbmUsICZwbGFuZS0+YmFzZSk7CiAKQEAgLTQyNywxMCAr NDMwLDE1IEBAIHN0cnVjdCBkcm1fcGxhbmUgKm9tYXBfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAogCSAqIFRPRE8gYWRkIGlvY3RsIHRvIGdpdmUgdXNlcnNwYWNlIGFuIEFQSSB0 byBjaGFuZ2UgdGhpcy4uIHRoaXMKIAkgKiB3aWxsIGNvbWUgaW4gYSBzdWJzZXF1ZW50IHBhdGNo LgogCSAqLwotCWlmIChwcml2YXRlX3BsYW5lKQorCWlmICh0eXBlID09IERSTV9QTEFORV9UWVBF X1BSSU1BUlkpCiAJCW9tYXBfcGxhbmUtPmluZm8uem9yZGVyID0gMDsKIAllbHNlCiAJCW9tYXBf cGxhbmUtPmluZm8uem9yZGVyID0gaWQ7CiAKIAlyZXR1cm4gcGxhbmU7CisKK2Vycm9yOgorCW9t YXBfaXJxX3VucmVnaXN0ZXIocGxhbmUtPmRldiwgJm9tYXBfcGxhbmUtPmVycm9yX2lycSk7CisJ a2ZyZWUob21hcF9wbGFuZSk7CisJcmV0dXJuIE5VTEw7CiB9Ci0tIAoyLjMuMwoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK