From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH 2/5] drm/msm/mdp4: Initialize LCDC encoder even if panel driver isn't available Date: Wed, 18 Nov 2015 18:40:46 +0530 Message-ID: <1447852249-7652-3-git-send-email-architt@codeaurora.org> References: <1447852249-7652-1-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1447852249-7652-1-git-send-email-architt@codeaurora.org> 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, robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org List-Id: linux-arm-msm@vger.kernel.org Q3VycmVudGx5LCB0aGUgZHJpdmVyIGRlZmVycyBpZiBpdCBkb2Vzbid0IGZpbmQgYSBkcm1fcGFu ZWwuIFRoaXMgZm9yY2VzCnVzIHRvIGhhdmUgYSBkcm1fcGFuZWwsIGlmIG5vdCwgdGhlIGRyaXZl ciBpc24ndCB1c2FibGUuCgpNYWtlIHRoZSBsY2RjIGVuY29kZXIgaW5pdGlhbGl6YXRpb24gaW5k ZXBlbmRlbnQgb2YgdGhlIGF2YWlsYWJpbGl0eSBvZgp0aGUgZHJtIHBhbmVsLiBXZSBvbmx5IGNo ZWNrIGlmIHRoZXJlIGlzIGEgcGFuZWwgbm9kZSBzcGVjaWZpZWQgaW4gRFQuIElmCml0IGlzbid0 LCB0aGVuIHdlIGRvbid0IGluaXRpYWxpemUgdGhlIGVuY29kZXIgYXQgYWxsLiBUaGUgcGFuZWwg bm9kZSBpcwpwYXNzZWQgdG8gdGhlIGxjZGMgZW5jb2RlciBhbmQgbHZkcyBjb25uZWN0b3IgZHJp dmVycy4KClRoZSBjb25uZWN0b3IgZHJpdmVyIHRha2VzIHRoZSByZXNwb25zaWJpbGl0eSB0byBy ZXRyaWV2ZSB0aGUgZHJtX3BhbmVsCmZyb20gdGhlIHBhbmVsIG5vZGUsIGFuZCB1cGRhdGUgdGhl IHN0YXR1cyBvbiB3aGV0aGVyIHRoZSBwYW5lbCBpcwpjb25uZWN0ZWQgb3Igbm90LiBUaGlzIG1h a2VzIHRoZSBwYW5lbCB1c2FibGUgZXZlbiBpZiB0aGUgZHJtX3BhbmVsCmRyaXZlciBpcyBpbnNl cnRlZCBhcyBhIG1vZHVsZSBsYXRlciBvbi4KClNpZ25lZC1vZmYtYnk6IEFyY2hpdCBUYW5lamEg PGFyY2hpdHRAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NC9tZHA0X2ttcy5jICAgICAgICAgICAgfCAzOCArKysrKysrKysrLS0tLS0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfa21zLmggICAgICAgICAgICB8ICA0ICstLQog ZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X2xjZGNfZW5jb2Rlci5jICAgfCAxMSAr KysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfbHZkc19jb25uZWN0b3Iu YyB8IDIzICsrKysrKystLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgNDAgaW5zZXJ0aW9ucygrKSwg MzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NC9tZHA0X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X2ttcy5jCmlu ZGV4IDM3OWI0MzUuLjZjOWRkMjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDQvbWRwNF9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRf a21zLmMKQEAgLTI0MCwxOCArMjQwLDE4IEBAIGludCBtZHA0X2VuYWJsZShzdHJ1Y3QgbWRwNF9r bXMgKm1kcDRfa21zKQogCXJldHVybiAwOwogfQogCi1zdGF0aWMgc3RydWN0IGRybV9wYW5lbCAq ZGV0ZWN0X3BhbmVsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCitzdGF0aWMgc3RydWN0IGRldmlj ZV9ub2RlICptZHA0X2RldGVjdF9sY2RjX3BhbmVsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiB7 CiAJc3RydWN0IGRldmljZV9ub2RlICplbmRwb2ludCwgKnBhbmVsX25vZGU7CiAJc3RydWN0IGRl dmljZV9ub2RlICpucCA9IGRldi0+ZGV2LT5vZl9ub2RlOwotCXN0cnVjdCBkcm1fcGFuZWwgKnBh bmVsID0gTlVMTDsKIAogCWVuZHBvaW50ID0gb2ZfZ3JhcGhfZ2V0X25leHRfZW5kcG9pbnQobnAs IE5VTEwpOwogCWlmICghZW5kcG9pbnQpIHsKLQkJZGV2X2VycihkZXYtPmRldiwgIm5vIHZhbGlk IGVuZHBvaW50XG4iKTsKLQkJcmV0dXJuIEVSUl9QVFIoLUVOT0RFVik7CisJCURCRygibm8gZW5k cG9pbnQgaW4gTURQNCB0byBmZXRjaCBMVkRTIHBhbmVsXG4iKTsKKwkJcmV0dXJuIE5VTEw7CiAJ fQogCisJLyogZG9uJ3QgcHJvY2VlZCBpZiB3ZSBoYXZlIGFuIGVuZHBvaW50IGJ1dCBubyBwYW5l bF9ub2RlIHRpZWQgdG8gaXQgKi8KIAlwYW5lbF9ub2RlID0gb2ZfZ3JhcGhfZ2V0X3JlbW90ZV9w b3J0X3BhcmVudChlbmRwb2ludCk7CiAJaWYgKCFwYW5lbF9ub2RlKSB7CiAJCWRldl9lcnIoZGV2 LT5kZXYsICJubyB2YWxpZCBwYW5lbCBub2RlXG4iKTsKQEAgLTI2MSwxMyArMjYxLDcgQEAgc3Rh dGljIHN0cnVjdCBkcm1fcGFuZWwgKmRldGVjdF9wYW5lbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCiAJb2Zfbm9kZV9wdXQoZW5kcG9pbnQpOwogCi0JcGFuZWwgPSBvZl9kcm1fZmluZF9wYW5l bChwYW5lbF9ub2RlKTsKLQlpZiAoIXBhbmVsKSB7Ci0JCW9mX25vZGVfcHV0KHBhbmVsX25vZGUp OwotCQlyZXR1cm4gRVJSX1BUUigtRVBST0JFX0RFRkVSKTsKLQl9Ci0KLQlyZXR1cm4gcGFuZWw7 CisJcmV0dXJuIHBhbmVsX25vZGU7CiB9CiAKIHN0YXRpYyBpbnQgbWRwNF9tb2Rlc2V0X2luaXRf aW50ZihzdHJ1Y3QgbWRwNF9rbXMgKm1kcDRfa21zLApAQCAtMjc3LDE4ICsyNzEsMjIgQEAgc3Rh dGljIGludCBtZHA0X21vZGVzZXRfaW5pdF9pbnRmKHN0cnVjdCBtZHA0X2ttcyAqbWRwNF9rbXMs CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3Ry dWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwogCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0 b3I7Ci0Jc3RydWN0IGRybV9wYW5lbCAqcGFuZWw7CisJc3RydWN0IGRldmljZV9ub2RlICpwYW5l bF9ub2RlOwogCWludCByZXQ7CiAKIAlzd2l0Y2ggKGludGZfdHlwZSkgewogCWNhc2UgRFJNX01P REVfRU5DT0RFUl9MVkRTOgotCQlwYW5lbCA9IGRldGVjdF9wYW5lbChkZXYpOwotCQlpZiAoSVNf RVJSKHBhbmVsKSkgewotCQkJZGV2X2VycihkZXYtPmRldiwgImZhaWxlZCB0byBkZXRlY3QgTFZE UyBwYW5lbFxuIik7Ci0JCQlyZXR1cm4gUFRSX0VSUihwYW5lbCk7Ci0JCX0KLQotCQllbmNvZGVy ID0gbWRwNF9sY2RjX2VuY29kZXJfaW5pdChkZXYsIHBhbmVsKTsKKwkJLyoKKwkJICogYmFpbCBv dXQgZWFybHkgaWY6CisJCSAqIC0gdGhlcmUgaXMgbm8gcGFuZWwgbm9kZSAobm8gbmVlZCB0byBp bml0aWFsaXplIGxjZGMKKwkJICogICBlbmNvZGVyIGFuZCBsdmRzIGNvbm5lY3RvciksIG9yCisJ CSAqIC0gcGFuZWwgbm9kZSBpcyBhIGJhZCBwb2ludGVyCisJCSAqLworCQlwYW5lbF9ub2RlID0g bWRwNF9kZXRlY3RfbGNkY19wYW5lbChkZXYpOworCQlpZiAoSVNfRVJSX09SX05VTEwocGFuZWxf bm9kZSkpCisJCQlyZXR1cm4gUFRSX0VSUihwYW5lbF9ub2RlKTsKKworCQllbmNvZGVyID0gbWRw NF9sY2RjX2VuY29kZXJfaW5pdChkZXYsIHBhbmVsX25vZGUpOwogCQlpZiAoSVNfRVJSKGVuY29k ZXIpKSB7CiAJCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVkIHRvIGNvbnN0cnVjdCBMQ0RDIGVu Y29kZXJcbiIpOwogCQkJcmV0dXJuIFBUUl9FUlIoZW5jb2Rlcik7CkBAIC0yOTcsNyArMjk1LDcg QEAgc3RhdGljIGludCBtZHA0X21vZGVzZXRfaW5pdF9pbnRmKHN0cnVjdCBtZHA0X2ttcyAqbWRw NF9rbXMsCiAJCS8qIExDREMgY2FuIGJlIGhvb2tlZCB0byBETUFfUCAoVE9ETzogQWRkIERNQV9T IGxhdGVyPykgKi8KIAkJZW5jb2Rlci0+cG9zc2libGVfY3J0Y3MgPSAxIDw8IERNQV9QOwogCi0J CWNvbm5lY3RvciA9IG1kcDRfbHZkc19jb25uZWN0b3JfaW5pdChkZXYsIHBhbmVsLCBlbmNvZGVy KTsKKwkJY29ubmVjdG9yID0gbWRwNF9sdmRzX2Nvbm5lY3Rvcl9pbml0KGRldiwgcGFuZWxfbm9k ZSwgZW5jb2Rlcik7CiAJCWlmIChJU19FUlIoY29ubmVjdG9yKSkgewogCQkJZGV2X2VycihkZXYt PmRldiwgImZhaWxlZCB0byBpbml0aWFsaXplIExWRFMgY29ubmVjdG9yXG4iKTsKIAkJCXJldHVy biBQVFJfRVJSKGNvbm5lY3Rvcik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21k cC9tZHA0L21kcDRfa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfa21z LmgKaW5kZXggOGE3ZjZlMS4uN2QwMzU4NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNC9tZHA0X2ttcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQv bWRwNF9rbXMuaApAQCAtMjEyLDEwICsyMTIsMTAgQEAgc3RydWN0IGRybV9lbmNvZGVyICptZHA0 X2R0dl9lbmNvZGVyX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiAKIGxvbmcgbWRwNF9s Y2RjX3JvdW5kX3BpeGNsayhzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIsIHVuc2lnbmVkIGxv bmcgcmF0ZSk7CiBzdHJ1Y3QgZHJtX2VuY29kZXIgKm1kcDRfbGNkY19lbmNvZGVyX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKLQkJc3RydWN0IGRybV9wYW5lbCAqcGFuZWwpOworCQlzdHJ1 Y3QgZGV2aWNlX25vZGUgKnBhbmVsX25vZGUpOwogCiBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqbWRw NF9sdmRzX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCXN0cnVjdCBk cm1fcGFuZWwgKnBhbmVsLCBzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOworCQlzdHJ1Y3Qg ZGV2aWNlX25vZGUgKnBhbmVsX25vZGUsIHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7CiAK ICNpZmRlZiBDT05GSUdfQ09NTU9OX0NMSwogc3RydWN0IGNsayAqbXBkNF9sdmRzX3BsbF9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNC9tZHA0X2xjZGNfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNC9tZHA0X2xjZGNfZW5jb2Rlci5jCmluZGV4IDRjZDZlNzIuLjFiZGEyZGUgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDQvbWRwNF9sY2RjX2VuY29kZXIuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfbGNkY19lbmNvZGVyLmMKQEAgLTIz LDYgKzIzLDcgQEAKIAogc3RydWN0IG1kcDRfbGNkY19lbmNvZGVyIHsKIAlzdHJ1Y3QgZHJtX2Vu Y29kZXIgYmFzZTsKKwlzdHJ1Y3QgZGV2aWNlX25vZGUgKnBhbmVsX25vZGU7CiAJc3RydWN0IGRy bV9wYW5lbCAqcGFuZWw7CiAJc3RydWN0IGNsayAqbGNkY19jbGs7CiAJdW5zaWduZWQgbG9uZyBp bnQgcGl4Y2xvY2s7CkBAIC0zMzgsNyArMzM5LDcgQEAgc3RhdGljIHZvaWQgbWRwNF9sY2RjX2Vu Y29kZXJfZGlzYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJc3RydWN0IG1kcDRf bGNkY19lbmNvZGVyICptZHA0X2xjZGNfZW5jb2RlciA9CiAJCQl0b19tZHA0X2xjZGNfZW5jb2Rl cihlbmNvZGVyKTsKIAlzdHJ1Y3QgbWRwNF9rbXMgKm1kcDRfa21zID0gZ2V0X2ttcyhlbmNvZGVy KTsKLQlzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCA9IG1kcDRfbGNkY19lbmNvZGVyLT5wYW5lbDsK KwlzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbDsKIAlpbnQgaSwgcmV0OwogCiAJaWYgKFdBUk5fT04o IW1kcDRfbGNkY19lbmNvZGVyLT5lbmFibGVkKSkKQEAgLTM0Niw2ICszNDcsNyBAQCBzdGF0aWMg dm9pZCBtZHA0X2xjZGNfZW5jb2Rlcl9kaXNhYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rl cikKIAogCW1kcDRfd3JpdGUobWRwNF9rbXMsIFJFR19NRFA0X0xDRENfRU5BQkxFLCAwKTsKIAor CXBhbmVsID0gb2ZfZHJtX2ZpbmRfcGFuZWwobWRwNF9sY2RjX2VuY29kZXItPnBhbmVsX25vZGUp OwogCWlmIChwYW5lbCkgewogCQlkcm1fcGFuZWxfZGlzYWJsZShwYW5lbCk7CiAJCWRybV9wYW5l bF91bnByZXBhcmUocGFuZWwpOwpAQCAtMzgxLDcgKzM4Myw3IEBAIHN0YXRpYyB2b2lkIG1kcDRf bGNkY19lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAJCQl0b19t ZHA0X2xjZGNfZW5jb2RlcihlbmNvZGVyKTsKIAl1bnNpZ25lZCBsb25nIHBjID0gbWRwNF9sY2Rj X2VuY29kZXItPnBpeGNsb2NrOwogCXN0cnVjdCBtZHA0X2ttcyAqbWRwNF9rbXMgPSBnZXRfa21z KGVuY29kZXIpOwotCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsID0gbWRwNF9sY2RjX2VuY29kZXIt PnBhbmVsOworCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsOwogCWludCBpLCByZXQ7CiAKIAlpZiAo V0FSTl9PTihtZHA0X2xjZGNfZW5jb2Rlci0+ZW5hYmxlZCkpCkBAIC00MTQsNiArNDE2LDcgQEAg c3RhdGljIHZvaWQgbWRwNF9sY2RjX2VuY29kZXJfZW5hYmxlKHN0cnVjdCBkcm1fZW5jb2RlciAq ZW5jb2RlcikKIAlpZiAocmV0KQogCQlkZXZfZXJyKGRldi0+ZGV2LCAiZmFpbGVkIHRvIGVuYWJs ZSBsY2RjX2NsazogJWRcbiIsIHJldCk7CiAKKwlwYW5lbCA9IG9mX2RybV9maW5kX3BhbmVsKG1k cDRfbGNkY19lbmNvZGVyLT5wYW5lbF9ub2RlKTsKIAlpZiAocGFuZWwpIHsKIAkJZHJtX3BhbmVs X3ByZXBhcmUocGFuZWwpOwogCQlkcm1fcGFuZWxfZW5hYmxlKHBhbmVsKTsKQEAgLTQ0Miw3ICs0 NDUsNyBAQCBsb25nIG1kcDRfbGNkY19yb3VuZF9waXhjbGsoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLCB1bnNpZ25lZCBsb25nIHJhdGUpCiAKIC8qIGluaXRpYWxpemUgZW5jb2RlciAqLwog c3RydWN0IGRybV9lbmNvZGVyICptZHA0X2xjZGNfZW5jb2Rlcl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCi0JCXN0cnVjdCBkcm1fcGFuZWwgKnBhbmVsKQorCQlzdHJ1Y3QgZGV2aWNlX25v ZGUgKnBhbmVsX25vZGUpCiB7CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyID0gTlVMTDsK IAlzdHJ1Y3QgbWRwNF9sY2RjX2VuY29kZXIgKm1kcDRfbGNkY19lbmNvZGVyOwpAQCAtNDU1LDcg KzQ1OCw3IEBAIHN0cnVjdCBkcm1fZW5jb2RlciAqbWRwNF9sY2RjX2VuY29kZXJfaW5pdChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCQlnb3RvIGZhaWw7CiAJfQogCi0JbWRwNF9sY2RjX2VuY29k ZXItPnBhbmVsID0gcGFuZWw7CisJbWRwNF9sY2RjX2VuY29kZXItPnBhbmVsX25vZGUgPSBwYW5l bF9ub2RlOwogCiAJZW5jb2RlciA9ICZtZHA0X2xjZGNfZW5jb2Rlci0+YmFzZTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNC9tZHA0X2x2ZHNfY29ubmVjdG9yLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA0L21kcDRfbHZkc19jb25uZWN0b3IuYwppbmRl eCA5MjExODUxLi5lNzNlMTc0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA0L21kcDRfbHZkc19jb25uZWN0b3IuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA0L21kcDRfbHZkc19jb25uZWN0b3IuYwpAQCAtMjMsNiArMjMsNyBAQAogc3RydWN0IG1kcDRf bHZkc19jb25uZWN0b3IgewogCXN0cnVjdCBkcm1fY29ubmVjdG9yIGJhc2U7CiAJc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyOworCXN0cnVjdCBkZXZpY2Vfbm9kZSAqcGFuZWxfbm9kZTsKIAlz dHJ1Y3QgZHJtX3BhbmVsICpwYW5lbDsKIH07CiAjZGVmaW5lIHRvX21kcDRfbHZkc19jb25uZWN0 b3IoeCkgY29udGFpbmVyX29mKHgsIHN0cnVjdCBtZHA0X2x2ZHNfY29ubmVjdG9yLCBiYXNlKQpA QCAtMzMsNiArMzQsMTAgQEAgc3RhdGljIGVudW0gZHJtX2Nvbm5lY3Rvcl9zdGF0dXMgbWRwNF9s dmRzX2Nvbm5lY3Rvcl9kZXRlY3QoCiAJc3RydWN0IG1kcDRfbHZkc19jb25uZWN0b3IgKm1kcDRf bHZkc19jb25uZWN0b3IgPQogCQkJdG9fbWRwNF9sdmRzX2Nvbm5lY3Rvcihjb25uZWN0b3IpOwog CisJaWYgKCFtZHA0X2x2ZHNfY29ubmVjdG9yLT5wYW5lbCkKKwkJbWRwNF9sdmRzX2Nvbm5lY3Rv ci0+cGFuZWwgPQorCQkJb2ZfZHJtX2ZpbmRfcGFuZWwobWRwNF9sdmRzX2Nvbm5lY3Rvci0+cGFu ZWxfbm9kZSk7CisKIAlyZXR1cm4gbWRwNF9sdmRzX2Nvbm5lY3Rvci0+cGFuZWwgPwogCQkJY29u bmVjdG9yX3N0YXR1c19jb25uZWN0ZWQgOgogCQkJY29ubmVjdG9yX3N0YXR1c19kaXNjb25uZWN0 ZWQ7CkBAIC00MiwxMCArNDcsNiBAQCBzdGF0aWMgdm9pZCBtZHA0X2x2ZHNfY29ubmVjdG9yX2Rl c3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIHsKIAlzdHJ1Y3QgbWRwNF9s dmRzX2Nvbm5lY3RvciAqbWRwNF9sdmRzX2Nvbm5lY3RvciA9CiAJCQl0b19tZHA0X2x2ZHNfY29u bmVjdG9yKGNvbm5lY3Rvcik7Ci0Jc3RydWN0IGRybV9wYW5lbCAqcGFuZWwgPSBtZHA0X2x2ZHNf Y29ubmVjdG9yLT5wYW5lbDsKLQotCWlmIChwYW5lbCkKLQkJZHJtX3BhbmVsX2RldGFjaChwYW5l bCk7CiAKIAlkcm1fY29ubmVjdG9yX3VucmVnaXN0ZXIoY29ubmVjdG9yKTsKIAlkcm1fY29ubmVj dG9yX2NsZWFudXAoY29ubmVjdG9yKTsKQEAgLTYwLDkgKzYxLDE0IEBAIHN0YXRpYyBpbnQgbWRw NF9sdmRzX2Nvbm5lY3Rvcl9nZXRfbW9kZXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3Rv cikKIAlzdHJ1Y3QgZHJtX3BhbmVsICpwYW5lbCA9IG1kcDRfbHZkc19jb25uZWN0b3ItPnBhbmVs OwogCWludCByZXQgPSAwOwogCi0JaWYgKHBhbmVsKQorCWlmIChwYW5lbCkgeworCQlkcm1fcGFu ZWxfYXR0YWNoKHBhbmVsLCBjb25uZWN0b3IpOworCiAJCXJldCA9IHBhbmVsLT5mdW5jcy0+Z2V0 X21vZGVzKHBhbmVsKTsKIAorCQlkcm1fcGFuZWxfZGV0YWNoKHBhbmVsKTsKKwl9CisKIAlyZXR1 cm4gcmV0OwogfQogCkBAIC0xMTEsNyArMTE3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1f Y29ubmVjdG9yX2hlbHBlcl9mdW5jcyBtZHA0X2x2ZHNfY29ubmVjdG9yX2hlbHBlcl9mdW5jcwog CiAvKiBpbml0aWFsaXplIGNvbm5lY3RvciAqLwogc3RydWN0IGRybV9jb25uZWN0b3IgKm1kcDRf bHZkc19jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQlzdHJ1Y3QgZHJt X3BhbmVsICpwYW5lbCwgc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQorCQlzdHJ1Y3QgZGV2 aWNlX25vZGUgKnBhbmVsX25vZGUsIHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yID0gTlVMTDsKIAlzdHJ1Y3QgbWRwNF9sdmRz X2Nvbm5lY3RvciAqbWRwNF9sdmRzX2Nvbm5lY3RvcjsKQEAgLTEyNCw3ICsxMzAsNyBAQCBzdHJ1 Y3QgZHJtX2Nvbm5lY3RvciAqbWRwNF9sdmRzX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJfQogCiAJbWRwNF9sdmRzX2Nvbm5lY3Rvci0+ZW5jb2RlciA9IGVuY29kZXI7 Ci0JbWRwNF9sdmRzX2Nvbm5lY3Rvci0+cGFuZWwgPSBwYW5lbDsKKwltZHA0X2x2ZHNfY29ubmVj dG9yLT5wYW5lbF9ub2RlID0gcGFuZWxfbm9kZTsKIAogCWNvbm5lY3RvciA9ICZtZHA0X2x2ZHNf Y29ubmVjdG9yLT5iYXNlOwogCkBAIC0xNDEsOSArMTQ3LDYgQEAgc3RydWN0IGRybV9jb25uZWN0 b3IgKm1kcDRfbHZkc19jb25uZWN0b3JfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJ ZHJtX21vZGVfY29ubmVjdG9yX2F0dGFjaF9lbmNvZGVyKGNvbm5lY3RvciwgZW5jb2Rlcik7CiAK LQlpZiAocGFuZWwpCi0JCWRybV9wYW5lbF9hdHRhY2gocGFuZWwsIGNvbm5lY3Rvcik7Ci0KIAly ZXR1cm4gY29ubmVjdG9yOwogCiBmYWlsOgotLSAKVGhlIFF1YWxjb21tIElubm92YXRpb24gQ2Vu dGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1bSwKaG9zdGVkIGJ5 IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2RyaS1kZXZlbAo=