From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sravanthi Kollukuduru Subject: [PATCH v2 1/2] drm/msm/dpu: enable cursor plane on dpu Date: Wed, 22 Aug 2018 23:19:56 +0530 Message-ID: <20180822174957.22684-2-skolluku@codeaurora.org> References: <20180822174957.22684-1-skolluku@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180822174957.22684-1-skolluku-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: sean-p7yTbzM4H96eqtR555YLDQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Sravanthi Kollukuduru List-Id: linux-arm-msm@vger.kernel.org UmVzZXJ2ZSBETUEgcGlwZSBmb3IgY3Vyc29yIHBsYW5lIGFuZCBhdHRhY2ggaXQgdG8gdGhlCmNy dGMgZHVyaW5nIHRoZSBpbml0aWFsaXphdGlvbi4KCkNoYW5nZXMgaW4gVjI6CglOb25lCgpTaWdu ZWQtb2ZmLWJ5OiBTcmF2YW50aGkgS29sbHVrdWR1cnUgPHNrb2xsdWt1QGNvZGVhdXJvcmEub3Jn PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgICAgICAgfCAg NSArKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggICAgICAgfCAg NCArLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3X2NhdGFsb2cuYyB8IDUz ICsrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfa21zLmMgICAgICAgIHwgMzUgKysrKysrKysrKystLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jICAgICAgfCAgOSArLS0tLQogZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmggICAgICB8ICA0ICstCiA2IGZpbGVzIGNoYW5n ZWQsIDU1IGluc2VydGlvbnMoKyksIDU1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCmluZGV4IDgwY2JmNzViYzJmZi4uMGNkOTQ1NmE2YzRjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKQEAgLTIwODIsNyArMjA4 Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIGRwdV9jcnRj X2hlbHBlcl9mdW5jcyA9IHsKIH07CiAKIC8qIGluaXRpYWxpemUgY3J0YyAqLwotc3RydWN0IGRy bV9jcnRjICpkcHVfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lKQorc3RydWN0IGRybV9jcnRjICpkcHVfY3J0Y19pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAorCQkJCXN0cnVjdCBkcm1fcGxh bmUgKmN1cnNvcikKIHsKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBOVUxMOwogCXN0cnVjdCBk cHVfY3J0YyAqZHB1X2NydGMgPSBOVUxMOwpAQCAtMjExOSw3ICsyMTIwLDcgQEAgc3RydWN0IGRy bV9jcnRjICpkcHVfY3J0Y19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1f cGxhbmUgKnBsYW5lKQogCQkJCWRwdV9jcnRjX2ZyYW1lX2V2ZW50X3dvcmspOwogCX0KIAotCWRy bV9jcnRjX2luaXRfd2l0aF9wbGFuZXMoZGV2LCBjcnRjLCBwbGFuZSwgTlVMTCwgJmRwdV9jcnRj X2Z1bmNzLAorCWRybV9jcnRjX2luaXRfd2l0aF9wbGFuZXMoZGV2LCBjcnRjLCBwbGFuZSwgY3Vy c29yLCAmZHB1X2NydGNfZnVuY3MsCiAJCQkJTlVMTCk7CiAKIAlkcm1fY3J0Y19oZWxwZXJfYWRk KGNydGMsICZkcHVfY3J0Y19oZWxwZXJfZnVuY3MpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9jcnRjLmgKaW5kZXggZTg3MTA5ZTYwOGU5Li5hODk2NzkxNjAyMzcgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaApAQCAtMzc1LDkgKzM3NSwxMSBAQCB2 b2lkIGRwdV9jcnRjX2NvbXBsZXRlX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAgKiBk cHVfY3J0Y19pbml0IC0gY3JlYXRlIGEgbmV3IGNydGMgb2JqZWN0CiAgKiBAZGV2OiBkcHUgZGV2 aWNlCiAgKiBAcGxhbmU6IGJhc2UgcGxhbmUKKyAqIEBjdXJzb3I6IGN1cnNvciBwbGFuZQogICog QFJldHVybjogbmV3IGNydGMgb2JqZWN0IG9yIGVycm9yCiAgKi8KLXN0cnVjdCBkcm1fY3J0YyAq ZHB1X2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX3BsYW5lICpw bGFuZSk7CitzdHJ1Y3QgZHJtX2NydGMgKmRwdV9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2Ug KmRldiwgc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCisJCQkgICAgICAgc3RydWN0IGRybV9wbGFu ZSAqY3Vyc29yKTsKIAogLyoqCiAgKiBkcHVfY3J0Y19yZWdpc3Rlcl9jdXN0b21fZXZlbnQgLSBh cGkgZm9yIGVuYWJsaW5nL2Rpc2FibGluZyBjcnRjIGV2ZW50CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfY2F0YWxvZy5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9kaXNwL2RwdTEvZHB1X2h3X2NhdGFsb2cuYwppbmRleCA0NGVlMDYzOThiMWQuLmMwNGYz ZjNhY2FlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2h3 X2NhdGFsb2cuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfaHdfY2F0 YWxvZy5jCkBAIC0yOSw2ICsyOSw5IEBACiAJQklUKERQVV9TU1BQX1RTX1BSRUZJTEwpIHwgQklU KERQVV9TU1BQX1RTX1BSRUZJTExfUkVDMSkgfFwKIAlCSVQoRFBVX1NTUFBfQ0RQKSB8IEJJVChE UFVfU1NQUF9FWENMX1JFQ1QpKQogCisjZGVmaW5lIERNQV9DVVJTT1JfU0RNODQ1X01BU0sgXAor CShETUFfU0RNODQ1X01BU0sgfCBCSVQoRFBVX1NTUFBfQ1VSU09SKSkKKwogI2RlZmluZSBNSVhF Ul9TRE04NDVfTUFTSyBcCiAJKEJJVChEUFVfTUlYRVJfU09VUkNFU1BMSVQpIHwgQklUKERQVV9E SU1fTEFZRVIpKQogCkBAIC0xNzQsNDUgKzE3NywzNSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRw dV9zc3BwX3N1Yl9ibGtzIHNkbTg0NV9kbWFfc2Jsa18xID0gX0RNQV9TQkxLKCI5IiwgMik7CiBz dGF0aWMgY29uc3Qgc3RydWN0IGRwdV9zc3BwX3N1Yl9ibGtzIHNkbTg0NV9kbWFfc2Jsa18yID0g X0RNQV9TQkxLKCIxMCIsIDMpOwogc3RhdGljIGNvbnN0IHN0cnVjdCBkcHVfc3NwcF9zdWJfYmxr cyBzZG04NDVfZG1hX3NibGtfMyA9IF9ETUFfU0JMSygiMTEiLCA0KTsKIAotI2RlZmluZSBTU1BQ X1ZJR19CTEsoX25hbWUsIF9pZCwgX2Jhc2UsIF9zYmxrLCBfeGluaWQsIF9jbGtjdHJsKSBcCi0J eyBcCi0JLm5hbWUgPSBfbmFtZSwgLmlkID0gX2lkLCBcCi0JLmJhc2UgPSBfYmFzZSwgLmxlbiA9 IDB4MWM4LCBcCi0JLmZlYXR1cmVzID0gVklHX1NETTg0NV9NQVNLLCBcCi0JLnNibGsgPSAmX3Ni bGssIFwKLQkueGluX2lkID0gX3hpbmlkLCBcCi0JLnR5cGUgPSBTU1BQX1RZUEVfVklHLCBcCi0J LmNsa19jdHJsID0gX2Nsa2N0cmwgXAotCX0KLQotI2RlZmluZSBTU1BQX0RNQV9CTEsoX25hbWUs IF9pZCwgX2Jhc2UsIF9zYmxrLCBfeGluaWQsIF9jbGtjdHJsKSBcCisjZGVmaW5lIFNTUFBfQkxL KF9uYW1lLCBfaWQsIF9iYXNlLCBfZmVhdHVyZXMsIFwKKwkJX3NibGssIF94aW5pZCwgX3R5cGUs IF9jbGtjdHJsKSBcCiAJeyBcCiAJLm5hbWUgPSBfbmFtZSwgLmlkID0gX2lkLCBcCiAJLmJhc2Ug PSBfYmFzZSwgLmxlbiA9IDB4MWM4LCBcCi0JLmZlYXR1cmVzID0gRE1BX1NETTg0NV9NQVNLLCBc CisJLmZlYXR1cmVzID0gX2ZlYXR1cmVzLCBcCiAJLnNibGsgPSAmX3NibGssIFwKIAkueGluX2lk ID0gX3hpbmlkLCBcCi0JLnR5cGUgPSBTU1BQX1RZUEVfRE1BLCBcCisJLnR5cGUgPSBfdHlwZSwg XAogCS5jbGtfY3RybCA9IF9jbGtjdHJsIFwKIAl9CiAKIHN0YXRpYyBzdHJ1Y3QgZHB1X3NzcHBf Y2ZnIHNkbTg0NV9zc3BwW10gPSB7Ci0JU1NQUF9WSUdfQkxLKCJzc3BwXzAiLCBTU1BQX1ZJRzAs IDB4NDAwMCwKLQkJc2RtODQ1X3ZpZ19zYmxrXzAsIDAsIERQVV9DTEtfQ1RSTF9WSUcwKSwKLQlT U1BQX1ZJR19CTEsoInNzcHBfMSIsIFNTUFBfVklHMSwgMHg2MDAwLAotCQlzZG04NDVfdmlnX3Ni bGtfMSwgNCwgRFBVX0NMS19DVFJMX1ZJRzEpLAotCVNTUFBfVklHX0JMSygic3NwcF8yIiwgU1NQ UF9WSUcyLCAweDgwMDAsCi0JCXNkbTg0NV92aWdfc2Jsa18yLCA4LCBEUFVfQ0xLX0NUUkxfVklH MiksCi0JU1NQUF9WSUdfQkxLKCJzc3BwXzMiLCBTU1BQX1ZJRzMsIDB4YTAwMCwKLQkJc2RtODQ1 X3ZpZ19zYmxrXzMsIDEyLCBEUFVfQ0xLX0NUUkxfVklHMyksCi0JU1NQUF9ETUFfQkxLKCJzc3Bw XzgiLCBTU1BQX0RNQTAsIDB4MjQwMDAsCi0JCXNkbTg0NV9kbWFfc2Jsa18wLCAxLCBEUFVfQ0xL X0NUUkxfRE1BMCksCi0JU1NQUF9ETUFfQkxLKCJzc3BwXzkiLCBTU1BQX0RNQTEsIDB4MjYwMDAs Ci0JCXNkbTg0NV9kbWFfc2Jsa18xLCA1LCBEUFVfQ0xLX0NUUkxfRE1BMSksCi0JU1NQUF9ETUFf QkxLKCJzc3BwXzEwIiwgU1NQUF9ETUEyLCAweDI4MDAwLAotCQlzZG04NDVfZG1hX3NibGtfMiwg OSwgRFBVX0NMS19DVFJMX0NVUlNPUjApLAotCVNTUFBfRE1BX0JMSygic3NwcF8xMSIsIFNTUFBf RE1BMywgMHgyYTAwMCwKLQkJc2RtODQ1X2RtYV9zYmxrXzMsIDEzLCBEUFVfQ0xLX0NUUkxfQ1VS U09SMSksCisJU1NQUF9CTEsoInNzcHBfMCIsIFNTUFBfVklHMCwgMHg0MDAwLCBWSUdfU0RNODQ1 X01BU0ssCisJCXNkbTg0NV92aWdfc2Jsa18wLCAwLCAgU1NQUF9UWVBFX1ZJRywgRFBVX0NMS19D VFJMX1ZJRzApLAorCVNTUFBfQkxLKCJzc3BwXzEiLCBTU1BQX1ZJRzEsIDB4NjAwMCwgVklHX1NE TTg0NV9NQVNLLAorCQlzZG04NDVfdmlnX3NibGtfMSwgNCwgIFNTUFBfVFlQRV9WSUcsIERQVV9D TEtfQ1RSTF9WSUcxKSwKKwlTU1BQX0JMSygic3NwcF8yIiwgU1NQUF9WSUcyLCAweDgwMDAsIFZJ R19TRE04NDVfTUFTSywKKwkJc2RtODQ1X3ZpZ19zYmxrXzIsIDgsIFNTUFBfVFlQRV9WSUcsIERQ VV9DTEtfQ1RSTF9WSUcyKSwKKwlTU1BQX0JMSygic3NwcF8zIiwgU1NQUF9WSUczLCAweGEwMDAs IFZJR19TRE04NDVfTUFTSywKKwkJc2RtODQ1X3ZpZ19zYmxrXzMsIDEyLCAgU1NQUF9UWVBFX1ZJ RywgRFBVX0NMS19DVFJMX1ZJRzMpLAorCVNTUFBfQkxLKCJzc3BwXzgiLCBTU1BQX0RNQTAsIDB4 MjQwMDAsICBETUFfU0RNODQ1X01BU0ssCisJCXNkbTg0NV9kbWFfc2Jsa18wLCAxLCBTU1BQX1RZ UEVfRE1BLCBEUFVfQ0xLX0NUUkxfRE1BMCksCisJU1NQUF9CTEsoInNzcHBfOSIsIFNTUFBfRE1B MSwgMHgyNjAwMCwgIERNQV9TRE04NDVfTUFTSywKKwkJc2RtODQ1X2RtYV9zYmxrXzEsIDUsIFNT UFBfVFlQRV9ETUEsIERQVV9DTEtfQ1RSTF9ETUExKSwKKwlTU1BQX0JMSygic3NwcF8xMCIsIFNT UFBfRE1BMiwgMHgyODAwMCwgIERNQV9DVVJTT1JfU0RNODQ1X01BU0ssCisJCXNkbTg0NV9kbWFf c2Jsa18yLCA5LCBTU1BQX1RZUEVfRE1BLCBEUFVfQ0xLX0NUUkxfQ1VSU09SMCksCisJU1NQUF9C TEsoInNzcHBfMTEiLCBTU1BQX0RNQTMsIDB4MmEwMDAsICBETUFfQ1VSU09SX1NETTg0NV9NQVNL LAorCQlzZG04NDVfZG1hX3NibGtfMywgMTMsIFNTUFBfVFlQRV9ETUEsIERQVV9DTEtfQ1RSTF9D VVJTT1IxKSwKIH07CiAKIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21z LmMKaW5kZXggN2RkNmJkMmQ2ZDM3Li4yZGNhNmIxNGQ2MDIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvZHB1MS9kcHVfa21zLmMKQEAgLTUzMSwxMiArNTMxLDEzIEBAIHN0YXRpYyBpbnQgX2Rw dV9rbXNfZHJtX29ial9pbml0KHN0cnVjdCBkcHVfa21zICpkcHVfa21zKQogewogCXN0cnVjdCBk cm1fZGV2aWNlICpkZXY7CiAJc3RydWN0IGRybV9wbGFuZSAqcHJpbWFyeV9wbGFuZXNbTUFYX1BM QU5FU10sICpwbGFuZTsKKwlzdHJ1Y3QgZHJtX3BsYW5lICpjdXJzb3JfcGxhbmVzW01BWF9QTEFO RVNdID0geyBOVUxMIH07CiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCiAJc3RydWN0IG1zbV9k cm1fcHJpdmF0ZSAqcHJpdjsKIAlzdHJ1Y3QgZHB1X21kc3NfY2ZnICpjYXRhbG9nOwogCi0JaW50 IHByaW1hcnlfcGxhbmVzX2lkeCA9IDAsIGksIHJldDsKKwlpbnQgcHJpbWFyeV9wbGFuZXNfaWR4 ID0gMCwgY3Vyc29yX3BsYW5lc19pZHggPSAwLCBpLCByZXQ7CiAJaW50IG1heF9jcnRjX2NvdW50 OwogCiAJaWYgKCFkcHVfa21zIHx8ICFkcHVfa21zLT5kZXYgfHwgIWRwdV9rbXMtPmRldi0+ZGV2 KSB7CkBAIC01NTYsMTYgKzU1NywyNCBAQCBzdGF0aWMgaW50IF9kcHVfa21zX2RybV9vYmpfaW5p dChzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcykKIAogCW1heF9jcnRjX2NvdW50ID0gbWluKGNhdGFs b2ctPm1peGVyX2NvdW50LCBwcml2LT5udW1fZW5jb2RlcnMpOwogCi0JLyogQ3JlYXRlIHRoZSBw bGFuZXMgKi8KKwkvKiBDcmVhdGUgdGhlIHBsYW5lcywga2VlcGluZyB0cmFjayBvZiBvbmUgcHJp bWFyeS9jdXJzb3IgcGVyIGNydGMgKi8KIAlmb3IgKGkgPSAwOyBpIDwgY2F0YWxvZy0+c3NwcF9j b3VudDsgaSsrKSB7Ci0JCWJvb2wgcHJpbWFyeSA9IHRydWU7Ci0KLQkJaWYgKGNhdGFsb2ctPnNz cHBbaV0uZmVhdHVyZXMgJiBCSVQoRFBVX1NTUFBfQ1VSU09SKQotCQkJfHwgcHJpbWFyeV9wbGFu ZXNfaWR4ID49IG1heF9jcnRjX2NvdW50KQotCQkJcHJpbWFyeSA9IGZhbHNlOwotCi0JCXBsYW5l ID0gZHB1X3BsYW5lX2luaXQoZGV2LCBjYXRhbG9nLT5zc3BwW2ldLmlkLCBwcmltYXJ5LAotCQkJ CSgxVUwgPDwgbWF4X2NydGNfY291bnQpIC0gMSwgMCk7CisJCWVudW0gZHJtX3BsYW5lX3R5cGUg dHlwZTsKKworCQlpZiAoKGNhdGFsb2ctPnNzcHBbaV0uZmVhdHVyZXMgJiBCSVQoRFBVX1NTUFBf Q1VSU09SKSkKKwkJCSYmIGN1cnNvcl9wbGFuZXNfaWR4IDwgbWF4X2NydGNfY291bnQpCisJCQl0 eXBlID0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SOworCQllbHNlIGlmIChwcmltYXJ5X3BsYW5lc19p ZHggPCBtYXhfY3J0Y19jb3VudCkKKwkJCXR5cGUgPSBEUk1fUExBTkVfVFlQRV9QUklNQVJZOwor CQllbHNlCisJCQl0eXBlID0gRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKKworCQlEUFVfREVCVUco IkNyZWF0ZSBwbGFuZSB0eXBlICVkIHdpdGggZmVhdHVyZXMgJWx4IChjdXIgJWx4KVxuIiwKKwkJ CSAgdHlwZSwgY2F0YWxvZy0+c3NwcFtpXS5mZWF0dXJlcywKKwkJCSAgY2F0YWxvZy0+c3NwcFtp XS5mZWF0dXJlcyAmIEJJVChEUFVfU1NQUF9DVVJTT1IpKTsKKworCQlwbGFuZSA9IGRwdV9wbGFu ZV9pbml0KGRldiwgY2F0YWxvZy0+c3NwcFtpXS5pZCwgdHlwZSwKKwkJCQkgICAgICAgKDFVTCA8 PCBtYXhfY3J0Y19jb3VudCkgLSAxLCAwKTsKIAkJaWYgKElTX0VSUihwbGFuZSkpIHsKIAkJCURQ VV9FUlJPUigiZHB1X3BsYW5lX2luaXQgZmFpbGVkXG4iKTsKIAkJCXJldCA9IFBUUl9FUlIocGxh bmUpOwpAQCAtNTczLDcgKzU4Miw5IEBAIHN0YXRpYyBpbnQgX2RwdV9rbXNfZHJtX29ial9pbml0 KHN0cnVjdCBkcHVfa21zICpkcHVfa21zKQogCQl9CiAJCXByaXYtPnBsYW5lc1twcml2LT5udW1f cGxhbmVzKytdID0gcGxhbmU7CiAKLQkJaWYgKHByaW1hcnkpCisJCWlmICh0eXBlID09IERSTV9Q TEFORV9UWVBFX0NVUlNPUikKKwkJCWN1cnNvcl9wbGFuZXNbY3Vyc29yX3BsYW5lc19pZHgrK10g PSBwbGFuZTsKKwkJZWxzZSBpZiAodHlwZSA9PSBEUk1fUExBTkVfVFlQRV9QUklNQVJZKQogCQkJ cHJpbWFyeV9wbGFuZXNbcHJpbWFyeV9wbGFuZXNfaWR4KytdID0gcGxhbmU7CiAJfQogCkBAIC01 ODEsNyArNTkyLDcgQEAgc3RhdGljIGludCBfZHB1X2ttc19kcm1fb2JqX2luaXQoc3RydWN0IGRw dV9rbXMgKmRwdV9rbXMpCiAKIAkvKiBDcmVhdGUgb25lIENSVEMgcGVyIGVuY29kZXIgKi8KIAlm b3IgKGkgPSAwOyBpIDwgbWF4X2NydGNfY291bnQ7IGkrKykgewotCQljcnRjID0gZHB1X2NydGNf aW5pdChkZXYsIHByaW1hcnlfcGxhbmVzW2ldKTsKKwkJY3J0YyA9IGRwdV9jcnRjX2luaXQoZGV2 LCBwcmltYXJ5X3BsYW5lc1tpXSwgY3Vyc29yX3BsYW5lc1tpXSk7CiAJCWlmIChJU19FUlIoY3J0 YykpIHsKIAkJCXJldCA9IFBUUl9FUlIoY3J0Yyk7CiAJCQlnb3RvIGZhaWw7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9wbGFuZS5jCmluZGV4IGI2NDBlMzllYmFjYS4uZWZkZjli MjAwZGQ5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxh bmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcGxhbmUuYwpAQCAt MTgyNyw3ICsxODI3LDcgQEAgYm9vbCBpc19kcHVfcGxhbmVfdmlydHVhbChzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSkKIAogLyogaW5pdGlhbGl6ZSBwbGFuZSAqLwogc3RydWN0IGRybV9wbGFuZSAq ZHB1X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJdWludDMyX3QgcGlwZSwg Ym9vbCBwcmltYXJ5X3BsYW5lLAorCQl1aW50MzJfdCBwaXBlLCBlbnVtIGRybV9wbGFuZV90eXBl IHR5cGUsCiAJCXVuc2lnbmVkIGxvbmcgcG9zc2libGVfY3J0Y3MsIHUzMiBtYXN0ZXJfcGxhbmVf aWQpCiB7CiAJc3RydWN0IGRybV9wbGFuZSAqcGxhbmUgPSBOVUxMLCAqbWFzdGVyX3BsYW5lID0g TlVMTDsKQEAgLTE4MzUsNyArMTgzNSw2IEBAIHN0cnVjdCBkcm1fcGxhbmUgKmRwdV9wbGFuZV9p bml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJc3RydWN0IGRwdV9wbGFuZSAqcGRwdTsKIAlz dHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2OwogCXN0cnVjdCBkcHVfa21zICprbXM7Ci0JZW51 bSBkcm1fcGxhbmVfdHlwZSB0eXBlOwogCWludCB6cG9zX21heCA9IERQVV9aUE9TX01BWDsKIAlp bnQgcmV0ID0gLUVJTlZBTDsKIApAQCAtMTkxNiwxMiArMTkxNSw2IEBAIHN0cnVjdCBkcm1fcGxh bmUgKmRwdV9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCWdvdG8gY2xlYW5f c3NwcDsKIAl9CiAKLQlpZiAocGRwdS0+ZmVhdHVyZXMgJiBCSVQoRFBVX1NTUFBfQ1VSU09SKSkK LQkJdHlwZSA9IERSTV9QTEFORV9UWVBFX0NVUlNPUjsKLQllbHNlIGlmIChwcmltYXJ5X3BsYW5l KQotCQl0eXBlID0gRFJNX1BMQU5FX1RZUEVfUFJJTUFSWTsKLQllbHNlCi0JCXR5cGUgPSBEUk1f UExBTkVfVFlQRV9PVkVSTEFZOwogCXJldCA9IGRybV91bml2ZXJzYWxfcGxhbmVfaW5pdChkZXYs IHBsYW5lLCAweGZmLCAmZHB1X3BsYW5lX2Z1bmNzLAogCQkJCXBkcHUtPmZvcm1hdHMsIHBkcHUt Pm5mb3JtYXRzLAogCQkJCU5VTEwsIHR5cGUsIE5VTEwpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfcGxhbmUuaAppbmRleCBmNmZlNmRkYzdhM2EuLjdmZWQwYjYyNzcwOCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmgKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3BsYW5lLmgKQEAgLTEyMiw3ICsxMjIs NyBAQCB2b2lkIGRwdV9wbGFuZV9zZXRfZXJyb3Ioc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsIGJv b2wgZXJyb3IpOwogICogZHB1X3BsYW5lX2luaXQgLSBjcmVhdGUgbmV3IGRwdSBwbGFuZSBmb3Ig dGhlIGdpdmVuIHBpcGUKICAqIEBkZXY6ICAgUG9pbnRlciB0byBEUk0gZGV2aWNlCiAgKiBAcGlw ZTogIGRwdSBoYXJkd2FyZSBwaXBlIGlkZW50aWZpZXIKLSAqIEBwcmltYXJ5X3BsYW5lOiB0cnVl IGlmIHRoaXMgcGlwZSBpcyBwcmltYXJ5IHBsYW5lIGZvciBjcnRjCisgKiBAdHlwZTogIFBsYW5l IHR5cGUgLSBQUklNQVJZL09WRVJMQVkvQ1VSU09SCiAgKiBAcG9zc2libGVfY3J0Y3M6IGJpdG1h c2sgb2YgY3J0YyB0aGF0IGNhbiBiZSBhdHRhY2hlZCB0byB0aGUgZ2l2ZW4gcGlwZQogICogQG1h c3Rlcl9wbGFuZV9pZDogcHJpbWFyeSBwbGFuZSBpZCBvZiBhIG11bHRpcmVjdCBwaXBlLiAwIHZh bHVlIHBhc3NlZCBmb3IKICAqICAgICAgICAgICAgICAgICAgIGEgcmVndWxhciBwbGFuZSBpbml0 aWFsaXphdGlvbi4gQSBub24temVybyBwcmltYXJ5IHBsYW5lCkBAIC0xMzAsNyArMTMwLDcgQEAg dm9pZCBkcHVfcGxhbmVfc2V0X2Vycm9yKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBib29sIGVy cm9yKTsKICAqCiAgKi8KIHN0cnVjdCBkcm1fcGxhbmUgKmRwdV9wbGFuZV9pbml0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCi0JCXVpbnQzMl90IHBpcGUsIGJvb2wgcHJpbWFyeV9wbGFuZSwKKwkJ dWludDMyX3QgcGlwZSwgZW51bSBkcm1fcGxhbmVfdHlwZSB0eXBlLAogCQl1bnNpZ25lZCBsb25n IHBvc3NpYmxlX2NydGNzLCB1MzIgbWFzdGVyX3BsYW5lX2lkKTsKIAogLyoqCi0tIApUaGUgUXVh bGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVy b3JhIEZvcnVtLAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFp bGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K