From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH v2 5/8] drm/msm/mdp5: Misc cursor plane bits Date: Tue, 17 Jan 2017 10:15:09 +0530 Message-ID: <20170117044512.22934-6-architt@codeaurora.org> References: <1482149338-586-1-git-send-email-architt@codeaurora.org> <20170117044512.22934-1-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170117044512.22934-1-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: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org VGhlc2UgYXJlIHZhcmlvdXMgY2hhbmdlcyBhZGRlZCBpbiBwcmVwYXJhdGlvbiBmb3IgY3Vyc29y IHBsYW5lczoKCi0gQWRkIGEgcGlwZV9jdXJzb3IgYmxvY2sgZm9yIDh4OTYgaW4gbWRwNV9jZmcu Ci0gQWRkIGEgbmV3IHBpcGUgQ0FQIGNhbGxlZCBNRFBfUElQRV9DQVBfQ1VSU09SLiBVc2UgdGhp cyB0byBlbnN1cmUgd2UKICBhc3NpZ24gYSBjdXJzb3IgU1NQUCBmb3IgYSBkcm1fcGxhbmUgd2l0 aCB0eXBlIERSTV9QTEFORV9UWVBFX0NVUlNPUi4KLSBVcGRhdGUgbWRwNV9jdGxfYmxlbmRfbWFz ay9leHRfYmxlbmRfbWFzayBmdW5jcyB0byBpbmNvcnBvcmF0ZSBjdXJzb3IKICBTU1BQcy4KLSBJ biBtZHA1X2N0bF9ibGVuZCwgaXRlcmF0ZSB0aHJvdWdoIE1BWF9TVEFHRVMgaW5zdGVhZCBvZiBz dGFnZV9jbnQsCiAgd2UgbmVlZCB0byBkbyB0aGlzIGJlY2F1c2Ugd2UgY2FuIG5vdyBoYXZlIGVt cHR5IHN0YWdlcyBpbiBiZXR3ZWVuLgotIEluIG1kcDVfY3J0Y19hdG9taWNfY2hlY2ssIG1ha2Ug c3VyZSB0aGF0IHRoZSBjdXJzb3IgcGxhbmUgaGFzIHRoZQogIGhpZ2hlc3Qgem9yZGVyLCBhbmQg c3RhZ2UgdGhlIGN1cnNvciBwbGFuZSB0byB0aGUgbWF4aW11bSBzdGFnZSAjCiAgcHJlc2VudCBv biB0aGUgSFcuCi0gQ3JlYXRlIGRybV9jcnRjX2Z1bmNzIHRoYXQgZG9lc24ndCB0cnkgdG8gaW1w bGVtZW50IGN1cnNvcnMgdXNpbmcgdGhlCiAgb2xkZXIgTE0gY3Vyc29yIEhXLgotIFBhc3MgZHJt X3BsYW5lX3R5cGUgaW4gbWRwNV9wbGFuZV9pbml0IGluc3RlYWQgb2YgYSBib29sIHRlbGxpbmcK ICB3aGV0aGVyIHBsYW5lIGlzIHByaW1hcnkgb3Igbm90LgoKU2lnbmVkLW9mZi1ieTogQXJjaGl0 IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNt L21kcC9tZHA1L21kcDVfY2ZnLmMgICB8IDEwICsrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X2NydGMuYyAgfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKyst LS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3RsLmMgICB8IDEwICsrKysr KystLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jICAgfCAxMCArKysr KysrLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaCAgIHwgIDcgKysr KystLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BpcGUuYyAgfCAgOCArKysr KysrKwogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BsYW5lLmMgfCAgOCArKysr Ky0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwX2ttcy5oICAgICAgICAgfCAgMSArCiA4 IGZpbGVzIGNoYW5nZWQsIDc1IGluc2VydGlvbnMoKyksIDEzIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jZmcuYyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jZmcuYwppbmRleCA2MThiMmZmZWQ5YjQuLjM0YWI1 NTNmNjg5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2Nm Zy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9jZmcuYwpAQCAtNDIx LDYgKzQyMSwxNiBAQCBjb25zdCBzdHJ1Y3QgbWRwNV9jZmdfaHcgbXNtOHg5Nl9jb25maWcgPSB7 CiAJCQlNRFBfUElQRV9DQVBfU1dfUElYX0VYVAl8CiAJCQkwLAogCX0sCisJLnBpcGVfY3Vyc29y ID0geworCQkuY291bnQgPSAyLAorCQkuYmFzZSA9IHsgMHgzNDAwMCwgMHgzNjAwMCB9LAorCQku Y2FwcyA9IE1EUF9QSVBFX0NBUF9IRkxJUAl8CisJCQlNRFBfUElQRV9DQVBfVkZMSVAJfAorCQkJ TURQX1BJUEVfQ0FQX1NXX1BJWF9FWFQJfAorCQkJTURQX1BJUEVfQ0FQX0NVUlNPUgl8CisJCQkw LAorCX0sCisKIAkubG0gPSB7CiAJCS5jb3VudCA9IDYsCiAJCS5iYXNlID0geyAweDQ0MDAwLCAw eDQ1MDAwLCAweDQ2MDAwLCAweDQ3MDAwLCAweDQ4MDAwLCAweDQ5MDAwIH0sCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYwppbmRleCBmZWM5NjYyOTNmOWEuLjg0ZmNiNmUz YTE3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jCkBAIC00MDAs NiArNDAwLDcgQEAgc3RhdGljIGludCBtZHA1X2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywKIAlzdHJ1Y3QgcGxhbmVfc3RhdGUgcHN0YXRlc1tTVEFHRV9NQVggKyAxXTsK IAljb25zdCBzdHJ1Y3QgbWRwNV9jZmdfaHcgKmh3X2NmZzsKIAljb25zdCBzdHJ1Y3QgZHJtX3Bs YW5lX3N0YXRlICpwc3RhdGU7CisJYm9vbCBjdXJzb3JfcGxhbmUgPSBmYWxzZTsKIAlpbnQgY250 ID0gMCwgYmFzZSA9IDAsIGk7CiAKIAlEQkcoIiVzOiBjaGVjayIsIGNydGMtPm5hbWUpOwpAQCAt NDA5LDYgKzQxMCw5IEBAIHN0YXRpYyBpbnQgbWRwNV9jcnRjX2F0b21pY19jaGVjayhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCiAJCXBzdGF0ZXNbY250XS5zdGF0ZSA9IHRvX21kcDVfcGxhbmVfc3Rh dGUocHN0YXRlKTsKIAogCQljbnQrKzsKKworCQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5F X1RZUEVfQ1VSU09SKQorCQkJY3Vyc29yX3BsYW5lID0gdHJ1ZTsKIAl9CiAKIAkvKiBhc3NpZ24g YSBzdGFnZSBiYXNlZCBvbiBzb3J0ZWQgenBvcyBwcm9wZXJ0eSAqLwpAQCAtNDIwLDYgKzQyNCwx MCBAQCBzdGF0aWMgaW50IG1kcDVfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpj cnRjLAogCWlmICgoY250ID4gMCkgJiYgIWlzX2Z1bGxzY3JlZW4oc3RhdGUsICZwc3RhdGVzWzBd LnN0YXRlLT5iYXNlKSkKIAkJYmFzZSsrOwogCisJLyogdHJpZ2dlciBhIHdhcm5pbmcgaWYgY3Vy c29yIGlzbid0IHRoZSBoaWdoZXN0IHpvcmRlciAqLworCVdBUk5fT04oY3Vyc29yX3BsYW5lICYm CisJCShwc3RhdGVzW2NudCAtIDFdLnBsYW5lLT50eXBlICE9IERSTV9QTEFORV9UWVBFX0NVUlNP UikpOworCiAJLyogdmVyaWZ5IHRoYXQgdGhlcmUgYXJlIG5vdCB0b28gbWFueSBwbGFuZXMgYXR0 YWNoZWQgdG8gY3J0YwogCSAqIGFuZCB0aGF0IHdlIGRvbid0IGhhdmUgY29uZmxpY3RpbmcgbWl4 ZXIgc3RhZ2VzOgogCSAqLwpAQCAtNDMxLDcgKzQzOSwxMCBAQCBzdGF0aWMgaW50IG1kcDVfY3J0 Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAogCX0KIAogCWZvciAoaSA9IDA7 IGkgPCBjbnQ7IGkrKykgewotCQlwc3RhdGVzW2ldLnN0YXRlLT5zdGFnZSA9IFNUQUdFX0JBU0Ug KyBpICsgYmFzZTsKKwkJaWYgKGN1cnNvcl9wbGFuZSAmJiAoaSA9PSAoY250IC0gMSkpKQorCQkJ cHN0YXRlc1tpXS5zdGF0ZS0+c3RhZ2UgPSBod19jZmctPmxtLm5iX3N0YWdlczsKKwkJZWxzZQor CQkJcHN0YXRlc1tpXS5zdGF0ZS0+c3RhZ2UgPSBTVEFHRV9CQVNFICsgaSArIGJhc2U7CiAJCURC RygiJXM6IGFzc2lnbiBwaXBlICVzIG9uIHN0YWdlPSVkIiwgY3J0Yy0+bmFtZSwKIAkJCQlwc3Rh dGVzW2ldLnBsYW5lLT5uYW1lLAogCQkJCXBzdGF0ZXNbaV0uc3RhdGUtPnN0YWdlKTsKQEAgLTY0 Miw2ICs2NTMsMTYgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtZHA1X2Ny dGNfZnVuY3MgPSB7CiAJLmN1cnNvcl9tb3ZlID0gbWRwNV9jcnRjX2N1cnNvcl9tb3ZlLAogfTsK IAorc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY3J0Y19mdW5jcyBtZHA1X2NydGNfbm9fbG1fY3Vy c29yX2Z1bmNzID0geworCS5zZXRfY29uZmlnID0gZHJtX2F0b21pY19oZWxwZXJfc2V0X2NvbmZp ZywKKwkuZGVzdHJveSA9IG1kcDVfY3J0Y19kZXN0cm95LAorCS5wYWdlX2ZsaXAgPSBkcm1fYXRv bWljX2hlbHBlcl9wYWdlX2ZsaXAsCisJLnNldF9wcm9wZXJ0eSA9IGRybV9hdG9taWNfaGVscGVy X2NydGNfc2V0X3Byb3BlcnR5LAorCS5yZXNldCA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfcmVz ZXQsCisJLmF0b21pY19kdXBsaWNhdGVfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBlcl9jcnRjX2R1 cGxpY2F0ZV9zdGF0ZSwKKwkuYXRvbWljX2Rlc3Ryb3lfc3RhdGUgPSBkcm1fYXRvbWljX2hlbHBl cl9jcnRjX2Rlc3Ryb3lfc3RhdGUsCit9OworCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRj X2hlbHBlcl9mdW5jcyBtZHA1X2NydGNfaGVscGVyX2Z1bmNzID0gewogCS5tb2RlX3NldF9ub2Zi ID0gbWRwNV9jcnRjX21vZGVfc2V0X25vZmIsCiAJLmRpc2FibGUgPSBtZHA1X2NydGNfZGlzYWJs ZSwKQEAgLTc3NSw3ICs3OTYsOCBAQCB2b2lkIG1kcDVfY3J0Y193YWl0X2Zvcl9jb21taXRfZG9u ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAKIC8qIGluaXRpYWxpemUgY3J0YyAqLwogc3RydWN0 IGRybV9jcnRjICptZHA1X2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAotCQlzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwgaW50IGlkKQorCQkJCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAorCQkJCXN0cnVjdCBkcm1fcGxhbmUgKmN1cnNvcl9wbGFuZSwgaW50IGlkKQogewogCXN0cnVj dCBkcm1fY3J0YyAqY3J0YyA9IE5VTEw7CiAJc3RydWN0IG1kcDVfY3J0YyAqbWRwNV9jcnRjOwpA QCAtNzk2LDggKzgxOCwxMiBAQCBzdHJ1Y3QgZHJtX2NydGMgKm1kcDVfY3J0Y19pbml0KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiAJbWRwNV9jcnRjLT52YmxhbmsuaXJxID0gbWRwNV9jcnRjX3Zi bGFua19pcnE7CiAJbWRwNV9jcnRjLT5lcnIuaXJxID0gbWRwNV9jcnRjX2Vycl9pcnE7CiAKLQlk cm1fY3J0Y19pbml0X3dpdGhfcGxhbmVzKGRldiwgY3J0YywgcGxhbmUsIE5VTEwsICZtZHA1X2Ny dGNfZnVuY3MsCi0JCQkJICBOVUxMKTsKKwlpZiAoY3Vyc29yX3BsYW5lKQorCQlkcm1fY3J0Y19p bml0X3dpdGhfcGxhbmVzKGRldiwgY3J0YywgcGxhbmUsIGN1cnNvcl9wbGFuZSwKKwkJCQkJICAm bWRwNV9jcnRjX25vX2xtX2N1cnNvcl9mdW5jcywgTlVMTCk7CisJZWxzZQorCQlkcm1fY3J0Y19p bml0X3dpdGhfcGxhbmVzKGRldiwgY3J0YywgcGxhbmUsIE5VTEwsCisJCQkJCSAgJm1kcDVfY3J0 Y19mdW5jcywgTlVMTCk7CiAKIAlkcm1fZmxpcF93b3JrX2luaXQoJm1kcDVfY3J0Yy0+dW5yZWZf Y3Vyc29yX3dvcmssCiAJCQkidW5yZWYgY3Vyc29yIiwgdW5yZWZfY3Vyc29yX3dvcmtlcik7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3RsLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3RsLmMKaW5kZXggYWIzMzljZTc0MjVhLi44 YjkzZjdlMTMyMDAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRw NV9jdGwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3RsLmMKQEAg LTMyNiw2ICszMjYsOCBAQCBzdGF0aWMgdTMyIG1kcF9jdGxfYmxlbmRfbWFzayhlbnVtIG1kcDVf cGlwZSBwaXBlLAogCWNhc2UgU1NQUF9ETUExOiByZXR1cm4gTURQNV9DVExfTEFZRVJfUkVHX0RN QTEoc3RhZ2UpOwogCWNhc2UgU1NQUF9WSUczOiByZXR1cm4gTURQNV9DVExfTEFZRVJfUkVHX1ZJ RzMoc3RhZ2UpOwogCWNhc2UgU1NQUF9SR0IzOiByZXR1cm4gTURQNV9DVExfTEFZRVJfUkVHX1JH QjMoc3RhZ2UpOworCWNhc2UgU1NQUF9DVVJTT1IwOgorCWNhc2UgU1NQUF9DVVJTT1IxOgogCWRl ZmF1bHQ6CXJldHVybiAwOwogCX0KIH0KQEAgLTMzMyw3ICszMzUsNyBAQCBzdGF0aWMgdTMyIG1k cF9jdGxfYmxlbmRfbWFzayhlbnVtIG1kcDVfcGlwZSBwaXBlLAogc3RhdGljIHUzMiBtZHBfY3Rs X2JsZW5kX2V4dF9tYXNrKGVudW0gbWRwNV9waXBlIHBpcGUsCiAJCWVudW0gbWRwX21peGVyX3N0 YWdlX2lkIHN0YWdlKQogewotCWlmIChzdGFnZSA8IFNUQUdFNikKKwlpZiAoc3RhZ2UgPCBTVEFH RTYgJiYgKHBpcGUgIT0gU1NQUF9DVVJTT1IwICYmIHBpcGUgIT0gU1NQUF9DVVJTT1IxKSkKIAkJ cmV0dXJuIDA7CiAKIAlzd2l0Y2ggKHBpcGUpIHsKQEAgLTM0Nyw2ICszNDksOCBAQCBzdGF0aWMg dTMyIG1kcF9jdGxfYmxlbmRfZXh0X21hc2soZW51bSBtZHA1X3BpcGUgcGlwZSwKIAljYXNlIFNT UFBfRE1BMTogcmV0dXJuIE1EUDVfQ1RMX0xBWUVSX0VYVF9SRUdfRE1BMV9CSVQzOwogCWNhc2Ug U1NQUF9WSUczOiByZXR1cm4gTURQNV9DVExfTEFZRVJfRVhUX1JFR19WSUczX0JJVDM7CiAJY2Fz ZSBTU1BQX1JHQjM6IHJldHVybiBNRFA1X0NUTF9MQVlFUl9FWFRfUkVHX1JHQjNfQklUMzsKKwlj YXNlIFNTUFBfQ1VSU09SMDogcmV0dXJuIE1EUDVfQ1RMX0xBWUVSX0VYVF9SRUdfQ1VSU09SMChz dGFnZSk7CisJY2FzZSBTU1BQX0NVUlNPUjE6IHJldHVybiBNRFA1X0NUTF9MQVlFUl9FWFRfUkVH X0NVUlNPUjEoc3RhZ2UpOwogCWRlZmF1bHQ6CXJldHVybiAwOwogCX0KIH0KQEAgLTM2NSw3ICsz NjksNyBAQCBpbnQgbWRwNV9jdGxfYmxlbmQoc3RydWN0IG1kcDVfY3RsICpjdGwsIGVudW0gbWRw NV9waXBlICpzdGFnZSwgdTMyIHN0YWdlX2NudCwKIAkJc3RhcnRfc3RhZ2UgPSBTVEFHRV9CQVNF OwogCX0KIAotCWZvciAoaSA9IHN0YXJ0X3N0YWdlOyBpIDwgc3RhcnRfc3RhZ2UgKyBzdGFnZV9j bnQ7IGkrKykgeworCWZvciAoaSA9IHN0YXJ0X3N0YWdlOyBzdGFnZV9jbnQgJiYgaSA8PSBTVEFH RV9NQVg7IGkrKykgewogCQlibGVuZF9jZmcgfD0gbWRwX2N0bF9ibGVuZF9tYXNrKHN0YWdlW2ld LCBpKTsKIAkJYmxlbmRfZXh0X2NmZyB8PSBtZHBfY3RsX2JsZW5kX2V4dF9tYXNrKHN0YWdlW2ld LCBpKTsKIAl9CkBAIC00MjIsNiArNDI2LDggQEAgdTMyIG1kcF9jdGxfZmx1c2hfbWFza19waXBl KGVudW0gbWRwNV9waXBlIHBpcGUpCiAJY2FzZSBTU1BQX0RNQTE6IHJldHVybiBNRFA1X0NUTF9G TFVTSF9ETUExOwogCWNhc2UgU1NQUF9WSUczOiByZXR1cm4gTURQNV9DVExfRkxVU0hfVklHMzsK IAljYXNlIFNTUFBfUkdCMzogcmV0dXJuIE1EUDVfQ1RMX0ZMVVNIX1JHQjM7CisJY2FzZSBTU1BQ X0NVUlNPUjA6IHJldHVybiBNRFA1X0NUTF9GTFVTSF9DVVJTT1JfMDsKKwljYXNlIFNTUFBfQ1VS U09SMTogcmV0dXJuIE1EUDVfQ1RMX0ZMVVNIX0NVUlNPUl8xOwogCWRlZmF1bHQ6ICAgICAgICBy ZXR1cm4gMDsKIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1 L21kcDVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMKaW5k ZXggZWNmYTM4OTQ5YWVhLi43MGExOTUwZGU4YWUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbWRwL21kcDUvbWRwNV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9t ZHA1L21kcDVfa21zLmMKQEAgLTQ0MSw4ICs0NDEsMTQgQEAgc3RhdGljIGludCBtb2Rlc2V0X2lu aXQoc3RydWN0IG1kcDVfa21zICptZHA1X2ttcykKIAkJYm9vbCBwcmltYXJ5ID0gaSA8IG51bV9j cnRjczsKIAkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7CiAJCXN0cnVjdCBkcm1fY3J0YyAqY3J0 YzsKKwkJZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlOwogCi0JCXBsYW5lID0gbWRwNV9wbGFuZV9p bml0KGRldiwgcHJpbWFyeSk7CisJCWlmIChwcmltYXJ5KQorCQkJdHlwZSA9IERSTV9QTEFORV9U WVBFX1BSSU1BUlk7CisJCWVsc2UKKwkJCXR5cGUgPSBEUk1fUExBTkVfVFlQRV9PVkVSTEFZOwor CisJCXBsYW5lID0gbWRwNV9wbGFuZV9pbml0KGRldiwgdHlwZSk7CiAJCWlmIChJU19FUlIocGxh bmUpKSB7CiAJCQlyZXQgPSBQVFJfRVJSKHBsYW5lKTsKIAkJCWRldl9lcnIoZGV2LT5kZXYsICJm YWlsZWQgdG8gY29uc3RydWN0IHBsYW5lICVkICglZClcbiIsIGksIHJldCk7CkBAIC00NTMsNyAr NDU5LDcgQEAgc3RhdGljIGludCBtb2Rlc2V0X2luaXQoc3RydWN0IG1kcDVfa21zICptZHA1X2tt cykKIAkJaWYgKCFwcmltYXJ5KQogCQkJY29udGludWU7CiAKLQkJY3J0YyAgPSBtZHA1X2NydGNf aW5pdChkZXYsIHBsYW5lLCBpKTsKKwkJY3J0YyAgPSBtZHA1X2NydGNfaW5pdChkZXYsIHBsYW5l LCBOVUxMLCBpKTsKIAkJaWYgKElTX0VSUihjcnRjKSkgewogCQkJcmV0ID0gUFRSX0VSUihjcnRj KTsKIAkJCWRldl9lcnIoZGV2LT5kZXYsICJmYWlsZWQgdG8gY29uc3RydWN0IGNydGMgJWQgKCVk KVxuIiwgaSwgcmV0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUv bWRwNV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaAppbmRl eCA0MGViYzVjNTA4NzUuLjAzOTZlOGFkYjY5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L21zbS9tZHAvbWRwNS9tZHA1X2ttcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21k cDUvbWRwNV9rbXMuaApAQCAtMTY3LDYgKzE2Nyw3IEBAIHN0YXRpYyBpbmxpbmUgY29uc3QgY2hh ciAqcGlwZTJuYW1lKGVudW0gbWRwNV9waXBlIHBpcGUpCiAJCU5BTUUoUkdCMCksIE5BTUUoUkdC MSksIE5BTUUoUkdCMiksCiAJCU5BTUUoRE1BMCksIE5BTUUoRE1BMSksCiAJCU5BTUUoVklHMyks IE5BTUUoUkdCMyksCisJCU5BTUUoQ1VSU09SMCksIE5BTUUoQ1VSU09SMSksCiAjdW5kZWYgTkFN RQogCX07CiAJcmV0dXJuIG5hbWVzW3BpcGVdOwpAQCAtMjQyLDcgKzI0Myw4IEBAIHZvaWQgbWRw NV9pcnFfZG9tYWluX2Zpbmkoc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyk7CiAKIHVpbnQzMl90 IG1kcDVfcGxhbmVfZ2V0X2ZsdXNoKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKTsKIGVudW0gbWRw NV9waXBlIG1kcDVfcGxhbmVfcGlwZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSk7Ci1zdHJ1Y3Qg ZHJtX3BsYW5lICptZHA1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBw cmltYXJ5KTsKK3N0cnVjdCBkcm1fcGxhbmUgKm1kcDVfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LAorCQkJCSAgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlKTsKIAogdWludDMyX3Qg bWRwNV9jcnRjX3ZibGFuayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogCkBAIC0yNTEsNyArMjUz LDggQEAgdm9pZCBtZHA1X2NydGNfc2V0X3BpcGVsaW5lKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywK IAkJc3RydWN0IG1kcDVfaW50ZXJmYWNlICppbnRmLCBzdHJ1Y3QgbWRwNV9jdGwgKmN0bCk7CiB2 b2lkIG1kcDVfY3J0Y193YWl0X2Zvcl9jb21taXRfZG9uZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Owogc3RydWN0IGRybV9jcnRjICptZHA1X2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAotCQlzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgaW50IGlkKTsKKwkJCQlzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKKwkJCQlzdHJ1Y3QgZHJtX3BsYW5lICpjdXJzb3JfcGxhbmUsIGludCBpZCk7 CiAKIHN0cnVjdCBkcm1fZW5jb2RlciAqbWRwNV9lbmNvZGVyX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKIAkJc3RydWN0IG1kcDVfaW50ZXJmYWNlICppbnRmLCBzdHJ1Y3QgbWRwNV9jdGwg KmN0bCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGlw ZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X3BpcGUuYwppbmRleCAxYWU5 ZGM4ZDI2MGQuLjM1YzRkYWJiMGMwYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t ZHAvbWRwNS9tZHA1X3BpcGUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21k cDVfcGlwZS5jCkBAIC01Myw2ICs1MywxNCBAQCBzdHJ1Y3QgbWRwNV9od19waXBlICptZHA1X3Bp cGVfYXNzaWduKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzLAogCQlpZiAoY2FwcyAmIH5jdXIt PmNhcHMpCiAJCQljb250aW51ZTsKIAorCQkvKgorCQkgKiBkb24ndCBhc3NpZ24gYSBjdXJzb3Ig cGlwZSB0byBhIHBsYW5lIHRoYXQgaXNuJ3QgZ29pbmcgdG8KKwkJICogYmUgdXNlZCBhcyBhIGN1 cnNvcgorCQkgKi8KKwkJaWYgKGN1ci0+Y2FwcyAmIE1EUF9QSVBFX0NBUF9DVVJTT1IgJiYKKwkJ CQlwbGFuZS0+dHlwZSAhPSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpCisJCQljb250aW51ZTsKKwog CQkvKiBwb3NzaWJsZSBjYW5kaWRhdGUsIHRha2UgdGhlIG9uZSB3aXRoIHRoZQogCQkgKiBmZXdl c3QgdW5uZWVkZWQgY2FwcyBiaXRzIHNldDoKIAkJICovCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRw L21kcDUvbWRwNV9wbGFuZS5jCmluZGV4IDkzOTk5MWQ1ZjM0Ni4uNzQwOWU5NTlkODEwIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfcGxhbmUuYwpAQCAtMzQ0LDYgKzM0NCw5 IEBAIHN0YXRpYyBpbnQgbWRwNV9wbGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAq cGxhbmUsCiAJCWlmIChyb3RhdGlvbiAmIERSTV9SRUZMRUNUX1kpCiAJCQljYXBzIHw9IE1EUF9Q SVBFX0NBUF9WRkxJUDsKIAorCQlpZiAocGxhbmUtPnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VS U09SKQorCQkJY2FwcyB8PSBNRFBfUElQRV9DQVBfQ1VSU09SOworCiAJCS8qIChyZSlhbGxvY2F0 ZSBodyBwaXBlIGlmIHdlIGRvbid0IGhhdmUgb25lIG9yIGNhcHMtbWlzbWF0Y2g6ICovCiAJCWlm ICghbWRwNV9zdGF0ZS0+aHdwaXBlIHx8IChjYXBzICYgfm1kcDVfc3RhdGUtPmh3cGlwZS0+Y2Fw cykpCiAJCQluZXdfaHdwaXBlID0gdHJ1ZTsKQEAgLTg3MCwxMiArODczLDEyIEBAIHVpbnQzMl90 IG1kcDVfcGxhbmVfZ2V0X2ZsdXNoKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lKQogfQogCiAvKiBp bml0aWFsaXplIHBsYW5lICovCi1zdHJ1Y3QgZHJtX3BsYW5lICptZHA1X3BsYW5lX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCBwcmltYXJ5KQorc3RydWN0IGRybV9wbGFuZSAqbWRw NV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJCQkJICBlbnVtIGRybV9wbGFu ZV90eXBlIHR5cGUpCiB7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSBOVUxMOwogCXN0cnVj dCBtZHA1X3BsYW5lICptZHA1X3BsYW5lOwogCWludCByZXQ7Ci0JZW51bSBkcm1fcGxhbmVfdHlw ZSB0eXBlOwogCiAJbWRwNV9wbGFuZSA9IGt6YWxsb2Moc2l6ZW9mKCptZHA1X3BsYW5lKSwgR0ZQ X0tFUk5FTCk7CiAJaWYgKCFtZHA1X3BsYW5lKSB7CkBAIC04ODgsNyArODkxLDYgQEAgc3RydWN0 IGRybV9wbGFuZSAqbWRwNV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wg cHJpbWFyeSkKIAltZHA1X3BsYW5lLT5uZm9ybWF0cyA9IG1kcF9nZXRfZm9ybWF0cyhtZHA1X3Bs YW5lLT5mb3JtYXRzLAogCQlBUlJBWV9TSVpFKG1kcDVfcGxhbmUtPmZvcm1hdHMpLCBmYWxzZSk7 CiAKLQl0eXBlID0gcHJpbWFyeSA/IERSTV9QTEFORV9UWVBFX1BSSU1BUlkgOiBEUk1fUExBTkVf VFlQRV9PVkVSTEFZOwogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYsIHBsYW5l LCAweGZmLCAmbWRwNV9wbGFuZV9mdW5jcywKIAkJCQkgbWRwNV9wbGFuZS0+Zm9ybWF0cywgbWRw NV9wbGFuZS0+bmZvcm1hdHMsCiAJCQkJIHR5cGUsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9tZHAvbWRwX2ttcy5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw X2ttcy5oCmluZGV4IDMwMzEzMDMyMDc0OC4uNzU3NGNkZmVmNDE4IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHBfa21zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9t ZHAvbWRwX2ttcy5oCkBAIC0xMTIsNiArMTEyLDcgQEAgY29uc3Qgc3RydWN0IG1zbV9mb3JtYXQg Km1kcF9nZXRfZm9ybWF0KHN0cnVjdCBtc21fa21zICprbXMsIHVpbnQzMl90IGZvcm1hdCk7CiAj ZGVmaW5lIE1EUF9QSVBFX0NBUF9DU0MJCQlCSVQoMykKICNkZWZpbmUgTURQX1BJUEVfQ0FQX0RF Q0lNQVRJT04JCQlCSVQoNCkKICNkZWZpbmUgTURQX1BJUEVfQ0FQX1NXX1BJWF9FWFQJCQlCSVQo NSkKKyNkZWZpbmUgTURQX1BJUEVfQ0FQX0NVUlNPUgkJCUJJVCg2KQogCiBzdGF0aWMgaW5saW5l IGJvb2wgcGlwZV9zdXBwb3J0c195dXYodWludDMyX3QgcGlwZV9jYXBzKQogewotLSAKVGhlIFF1 YWxjb21tIElubm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1 cm9yYSBGb3J1bSwKaG9zdGVkIGJ5IFRoZSBMaW51eCBGb3VuZGF0aW9uCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0 CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK