From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [DPU PATCH v2 1/2] drm/msm/dsi-staging: remove support for partial update Date: Tue, 27 Feb 2018 18:55:10 -0800 Message-ID: <1519786511-25931-1-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: jeykumar-jfJNa2p1gH1BDgjK7y7TUQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, nganji-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Jeykumar Sankaran List-Id: linux-arm-msm@vger.kernel.org UmVtb3ZlIHN1cHBvcnQgcGFydGlhbCB1cGRhdGUgYW5kIHJlbGF0ZWQgY2hhbmdlcyBmcm9tIGRz aS1zdGFnaW5nCnNpbmNlIHRoZSBEUFUgZGVwZW5kZW5jaWVzIGFyZSBnZXR0aW5nIGNsZWFuZWQg dXAuCgpDaGFuZ2UtSWQ6IEkwMjQ2MmY1MjBjZGY5OWM4NDQ1YjE4ZTYwMjEyY2E0NjE1NWY5NzEw ClNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfZGlzcGxheS5jIHwgMTA0 ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFn aW5nL2RzaV9kaXNwbGF5LmggfCAgIDUgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdp bmcvZHNpX2RybS5jICAgICB8ICAyNiArLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1z dGFnaW5nL2RzaV9kcm0uaCAgICAgfCAgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0 YWdpbmcvZHNpX3BhbmVsLmMgICB8ICA4NSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX3BhbmVsLmggICB8ICAgMiAtCiA2IGZpbGVzIGNo YW5nZWQsIDcgaW5zZXJ0aW9ucygrKSwgMjE5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuYwppbmRleCA3MjA1NWRjLi4zMWI3ZDdl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9kaXNwbGF5 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfZGlzcGxheS5jCkBA IC0zNDE0LDkgKzM0MTQsNiBAQCBpbnQgZHNpX2Rpc3BsYXlfZ2V0X2luZm8oc3RydWN0IG1zbV9k aXNwbGF5X2luZm8gKmluZm8sIHZvaWQgKmRpc3ApCiAJCWJyZWFrOwogCX0KIAotCW1lbWNweSgm aW5mby0+cm9pX2NhcHMsICZkaXNwbGF5LT5wYW5lbC0+cm9pX2NhcHMsCi0JCQlzaXplb2YoaW5m by0+cm9pX2NhcHMpKTsKLQogZXJyb3I6CiAJbXV0ZXhfdW5sb2NrKCZkaXNwbGF5LT5kaXNwbGF5 X2xvY2spOwogCXJldHVybiByYzsKQEAgLTM5NDEsMTA0ICszOTM4LDcgQEAgaW50IGRzaV9kaXNw bGF5X3ByZXBhcmUoc3RydWN0IGRzaV9kaXNwbGF5ICpkaXNwbGF5KQogCXJldHVybiByYzsKIH0K IAotc3RhdGljIGludCBkc2lfZGlzcGxheV9jYWxjX2N0cmxfcm9pKGNvbnN0IHN0cnVjdCBkc2lf ZGlzcGxheSAqZGlzcGxheSwKLQkJY29uc3Qgc3RydWN0IGRzaV9kaXNwbGF5X2N0cmwgKmN0cmws Ci0JCWNvbnN0IHN0cnVjdCBtc21fcm9pX2xpc3QgKnJlcV9yb2lzLAotCQlzdHJ1Y3QgZHNpX3Jl Y3QgKm91dF9yb2kpCi17Ci0JY29uc3Qgc3RydWN0IGRzaV9yZWN0ICpib3VuZHMgPSAmY3RybC0+ Y3RybC0+bW9kZV9ib3VuZHM7Ci0Jc3RydWN0IGRzaV9yZWN0IHJlcV9yb2kgPSB7IDAgfTsKLQlp bnQgcmMgPSAwOwotCi0JaWYgKHJlcV9yb2lzLT5udW1fcmVjdHMgPiBkaXNwbGF5LT5wYW5lbC0+ cm9pX2NhcHMubnVtX3JvaSkgewotCQlwcl9lcnIoInJlcXVlc3QgZm9yICVkIHJvaXMgZ3JlYXRl ciB0aGFuIG1heCAlZFxuIiwKLQkJCQlyZXFfcm9pcy0+bnVtX3JlY3RzLAotCQkJCWRpc3BsYXkt PnBhbmVsLT5yb2lfY2Fwcy5udW1fcm9pKTsKLQkJcmMgPSAtRUlOVkFMOwotCQlnb3RvIGV4aXQ7 Ci0JfQotCi0JLyoqCi0JICogaWYgbm8gcm9pcywgdXNlciB3YW50cyB0byByZXNldCBiYWNrIHRv IGZ1bGwgcmVzb2x1dGlvbgotCSAqIG5vdGU6IGhfYWN0aXZlIGlzIGFscmVhZHkgZGl2aWRlZCBi eSBjdHJsX2NvdW50Ci0JICovCi0JaWYgKCFyZXFfcm9pcy0+bnVtX3JlY3RzKSB7Ci0JCSpvdXRf cm9pID0gKmJvdW5kczsKLQkJZ290byBleGl0OwotCX0KLQotCS8qIGludGVyc2VjdCB3aXRoIHRo ZSBib3VuZHMgKi8KLQlyZXFfcm9pLnggPSByZXFfcm9pcy0+cm9pWzBdLngxOwotCXJlcV9yb2ku eSA9IHJlcV9yb2lzLT5yb2lbMF0ueTE7Ci0JcmVxX3JvaS53ID0gcmVxX3JvaXMtPnJvaVswXS54 MiAtIHJlcV9yb2lzLT5yb2lbMF0ueDE7Ci0JcmVxX3JvaS5oID0gcmVxX3JvaXMtPnJvaVswXS55 MiAtIHJlcV9yb2lzLT5yb2lbMF0ueTE7Ci0JZHNpX3JlY3RfaW50ZXJzZWN0KCZyZXFfcm9pLCBi b3VuZHMsIG91dF9yb2kpOwotCi1leGl0OgotCS8qIGFkanVzdCB0aGUgY3RybCBvcmlnaW4gdG8g YmUgdG9wIGxlZnQgd2l0aGluIHRoZSBjdHJsICovCi0Jb3V0X3JvaS0+eCA9IG91dF9yb2ktPngg LSBib3VuZHMtPng7Ci0KLQlwcl9kZWJ1ZygiY3RybCVkOiVkOiByZXEgKCVkLCVkLCVkLCVkKSBi bmQgKCVkLCVkLCVkLCVkKSBvdXQgKCVkLCVkLCVkLCVkKVxuIiwKLQkJCWN0cmwtPmRzaV9jdHJs X2lkeCwgY3RybC0+Y3RybC0+Y2VsbF9pbmRleCwKLQkJCXJlcV9yb2kueCwgcmVxX3JvaS55LCBy ZXFfcm9pLncsIHJlcV9yb2kuaCwKLQkJCWJvdW5kcy0+eCwgYm91bmRzLT55LCBib3VuZHMtPncs IGJvdW5kcy0+aCwKLQkJCW91dF9yb2ktPngsIG91dF9yb2ktPnksIG91dF9yb2ktPncsIG91dF9y b2ktPmgpOwotCi0JcmV0dXJuIHJjOwotfQotCi1zdGF0aWMgaW50IGRzaV9kaXNwbGF5X3NldF9y b2koc3RydWN0IGRzaV9kaXNwbGF5ICpkaXNwbGF5LAotCQlzdHJ1Y3QgbXNtX3JvaV9saXN0ICpy b2lzKQotewotCWludCByYyA9IDA7Ci0JaW50IGk7Ci0KLQlpZiAoIWRpc3BsYXkgfHwgIXJvaXMg fHwgIWRpc3BsYXktPnBhbmVsKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCWlmICghZGlzcGxheS0+ cGFuZWwtPnJvaV9jYXBzLmVuYWJsZWQpCi0JCXJldHVybiAwOwotCi0JZm9yIChpID0gMDsgaSA8 IGRpc3BsYXktPmN0cmxfY291bnQ7IGkrKykgewotCQlzdHJ1Y3QgZHNpX2Rpc3BsYXlfY3RybCAq Y3RybCA9ICZkaXNwbGF5LT5jdHJsW2ldOwotCQlzdHJ1Y3QgZHNpX3JlY3QgY3RybF9yb2k7Ci0J CWJvb2wgY2hhbmdlZCA9IGZhbHNlOwotCi0JCXJjID0gZHNpX2Rpc3BsYXlfY2FsY19jdHJsX3Jv aShkaXNwbGF5LCBjdHJsLCByb2lzLCAmY3RybF9yb2kpOwotCQlpZiAocmMpIHsKLQkJCXByX2Vy cigiZHNpX2Rpc3BsYXlfY2FsY19jdHJsX3JvaSBmYWlsZWQgcmMgJWRcbiIsIHJjKTsKLQkJCXJl dHVybiByYzsKLQkJfQotCi0JCXJjID0gZHNpX2N0cmxfc2V0X3JvaShjdHJsLT5jdHJsLCAmY3Ry bF9yb2ksICZjaGFuZ2VkKTsKLQkJaWYgKHJjKSB7Ci0JCQlwcl9lcnIoImRzaV9jdHJsX3NldF9y b2kgZmFpbGVkIHJjICVkXG4iLCByYyk7Ci0JCQlyZXR1cm4gcmM7Ci0JCX0KLQotCQlpZiAoIWNo YW5nZWQpCi0JCQljb250aW51ZTsKLQotCQkvKiBzZW5kIHRoZSBuZXcgcm9pIHRvIHRoZSBwYW5l bCB2aWEgZGNzIGNvbW1hbmRzICovCi0JCXJjID0gZHNpX3BhbmVsX3NlbmRfcm9pX2RjcyhkaXNw bGF5LT5wYW5lbCwgaSwgJmN0cmxfcm9pKTsKLQkJaWYgKHJjKSB7Ci0JCQlwcl9lcnIoImRzaV9w YW5lbF9zZXRfcm9pIGZhaWxlZCByYyAlZFxuIiwgcmMpOwotCQkJcmV0dXJuIHJjOwotCQl9Ci0K LQkJLyogcmUtcHJvZ3JhbSB0aGUgY3RybCB3aXRoIHRoZSB0aW1pbmcgYmFzZWQgb24gdGhlIG5l dyByb2kgKi8KLQkJcmMgPSBkc2lfY3RybF9zZXR1cChjdHJsLT5jdHJsKTsKLQkJaWYgKHJjKSB7 Ci0JCQlwcl9lcnIoImRzaV9jdHJsX3NldHVwIGZhaWxlZCByYyAlZFxuIiwgcmMpOwotCQkJcmV0 dXJuIHJjOwotCQl9Ci0JfQotCi0JcmV0dXJuIHJjOwotfQotCi1pbnQgZHNpX2Rpc3BsYXlfcHJl X2tpY2tvZmYoc3RydWN0IGRzaV9kaXNwbGF5ICpkaXNwbGF5LAotCQlzdHJ1Y3QgbXNtX2Rpc3Bs YXlfa2lja29mZl9wYXJhbXMgKnBhcmFtcykKK2ludCBkc2lfZGlzcGxheV9wcmVfa2lja29mZihz dHJ1Y3QgZHNpX2Rpc3BsYXkgKmRpc3BsYXkpCiB7CiAJaW50IHJjID0gMDsKIApAQCAtNDA0Niw4 ICszOTQ2LDYgQEAgaW50IGRzaV9kaXNwbGF5X3ByZV9raWNrb2ZmKHN0cnVjdCBkc2lfZGlzcGxh eSAqZGlzcGxheSwKIAlpZiAoZGlzcGxheS0+bWlzcl9lbmFibGUpCiAJCV9kc2lfZGlzcGxheV9z ZXR1cF9taXNyKGRpc3BsYXkpOwogCi0JcmMgPSBkc2lfZGlzcGxheV9zZXRfcm9pKGRpc3BsYXks IHBhcmFtcy0+cm9pcyk7Ci0KIAlyZXR1cm4gcmM7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuaCBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZHNpLXN0YWdpbmcvZHNpX2Rpc3BsYXkuaAppbmRleCBiMjNhODRkLi5hMGY5Y2NmIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9kaXNwbGF5LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfZGlzcGxheS5oCkBAIC01MjQs MTEgKzUyNCwxMCBAQCBpbnQgZHNpX2Rpc3BsYXlfc2V0X3Bvd2VyKHN0cnVjdCBkcm1fY29ubmVj dG9yICpjb25uZWN0b3IsCiAvKgogICogZHNpX2Rpc3BsYXlfcHJlX2tpY2tvZmYgLSBwcm9ncmFt IGtpY2tvZmYtdGltZSBmZWF0dXJlcwogICogQGRpc3BsYXk6IFBvaW50ZXIgdG8gcHJpdmF0ZSBk aXNwbGF5IHN0cnVjdHVyZQotICogQHBhcmFtczogUGFyYW1ldGVycyBmb3Iga2lja29mZi10aW1l IHByb2dyYW1taW5nCiAgKiBSZXR1cm5zOiBaZXJvIG9uIHN1Y2Nlc3MKICAqLwotaW50IGRzaV9k aXNwbGF5X3ByZV9raWNrb2ZmKHN0cnVjdCBkc2lfZGlzcGxheSAqZGlzcGxheSwKLQkJc3RydWN0 IG1zbV9kaXNwbGF5X2tpY2tvZmZfcGFyYW1zICpwYXJhbXMpOworaW50IGRzaV9kaXNwbGF5X3By ZV9raWNrb2ZmKHN0cnVjdCBkc2lfZGlzcGxheSAqZGlzcGxheSk7CisKIC8qKgogICogZHNpX2Rp c3BsYXlfZ2V0X2RzdF9mb3JtYXQoKSAtIGdldCBkc3RfZm9ybWF0IGZyb20gRFNJIGRpc3BsYXkK ICAqIEBkaXNwbGF5OiAgICAgICAgIEhhbmRsZSB0byBkaXNwbGF5CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9kcm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZHNpLXN0YWdpbmcvZHNpX2RybS5jCmluZGV4IDY4NDdjNTMuLjAxN2Y4ODEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2RybS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2RybS5jCkBAIC00NDMsMjUgKzQ0Myw2IEBA IGludCBkc2lfY29ubl9wb3N0X2luaXQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAkJYnJlYWs7CiAJfQogCi0JaWYgKHBhbmVsLT5yb2lfY2Fwcy5lbmFibGVkKSB7Ci0JCWRwdV9r bXNfaW5mb19hZGRfa2V5aW50KGluZm8sICJwYXJ0aWFsX3VwZGF0ZV9udW1fcm9pIiwKLQkJCQlw YW5lbC0+cm9pX2NhcHMubnVtX3JvaSk7Ci0JCWRwdV9rbXNfaW5mb19hZGRfa2V5aW50KGluZm8s ICJwYXJ0aWFsX3VwZGF0ZV94c3RhcnQiLAotCQkJCXBhbmVsLT5yb2lfY2Fwcy5hbGlnbi54c3Rh cnRfcGl4X2FsaWduKTsKLQkJZHB1X2ttc19pbmZvX2FkZF9rZXlpbnQoaW5mbywgInBhcnRpYWxf dXBkYXRlX3dhbGlnbiIsCi0JCQkJcGFuZWwtPnJvaV9jYXBzLmFsaWduLndpZHRoX3BpeF9hbGln bik7Ci0JCWRwdV9rbXNfaW5mb19hZGRfa2V5aW50KGluZm8sICJwYXJ0aWFsX3VwZGF0ZV93bWlu IiwKLQkJCQlwYW5lbC0+cm9pX2NhcHMuYWxpZ24ubWluX3dpZHRoKTsKLQkJZHB1X2ttc19pbmZv X2FkZF9rZXlpbnQoaW5mbywgInBhcnRpYWxfdXBkYXRlX3lzdGFydCIsCi0JCQkJcGFuZWwtPnJv aV9jYXBzLmFsaWduLnlzdGFydF9waXhfYWxpZ24pOwotCQlkcHVfa21zX2luZm9fYWRkX2tleWlu dChpbmZvLCAicGFydGlhbF91cGRhdGVfaGFsaWduIiwKLQkJCQlwYW5lbC0+cm9pX2NhcHMuYWxp Z24uaGVpZ2h0X3BpeF9hbGlnbik7Ci0JCWRwdV9rbXNfaW5mb19hZGRfa2V5aW50KGluZm8sICJw YXJ0aWFsX3VwZGF0ZV9obWluIiwKLQkJCQlwYW5lbC0+cm9pX2NhcHMuYWxpZ24ubWluX2hlaWdo dCk7Ci0JCWRwdV9rbXNfaW5mb19hZGRfa2V5aW50KGluZm8sICJwYXJ0aWFsX3VwZGF0ZV9yb2lt ZXJnZSIsCi0JCQkJcGFuZWwtPnJvaV9jYXBzLm1lcmdlX3JvaXMpOwotCX0KLQogZW5kOgogCXJl dHVybiAwOwogfQpAQCAtNTk4LDE1ICs1NzksMTQgQEAgZW51bSBkcm1fbW9kZV9zdGF0dXMgZHNp X2Nvbm5fbW9kZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogfQogCiBp bnQgZHNpX2Nvbm5fcHJlX2tpY2tvZmYoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK LQkJdm9pZCAqZGlzcGxheSwKLQkJc3RydWN0IG1zbV9kaXNwbGF5X2tpY2tvZmZfcGFyYW1zICpw YXJhbXMpCisJCXZvaWQgKmRpc3BsYXkpCiB7Ci0JaWYgKCFjb25uZWN0b3IgfHwgIWRpc3BsYXkg fHwgIXBhcmFtcykgeworCWlmICghY29ubmVjdG9yIHx8ICFkaXNwbGF5KSB7CiAJCXByX2Vycigi SW52YWxpZCBwYXJhbXNcbiIpOwogCQlyZXR1cm4gLUVJTlZBTDsKIAl9CiAKLQlyZXR1cm4gZHNp X2Rpc3BsYXlfcHJlX2tpY2tvZmYoZGlzcGxheSwgcGFyYW1zKTsKKwlyZXR1cm4gZHNpX2Rpc3Bs YXlfcHJlX2tpY2tvZmYoZGlzcGxheSk7CiB9CiAKIHZvaWQgZHNpX2Nvbm5fZW5hYmxlX2V2ZW50 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9kcm0uaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp LXN0YWdpbmcvZHNpX2RybS5oCmluZGV4IGY0MjczNDAuLjM4ZGUzM2MgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2RybS5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX2RybS5oCkBAIC0xMTIsMTIgKzExMiwxMCBAQCBzdHJ1 Y3QgZHNpX2JyaWRnZSAqZHNpX2RybV9icmlkZ2VfaW5pdChzdHJ1Y3QgZHNpX2Rpc3BsYXkgKmRp c3BsYXksCiAgKiBkc2lfZGlzcGxheV9wcmVfa2lja29mZiAtIHByb2dyYW0ga2lja29mZi10aW1l IGZlYXR1cmVzCiAgKiBAY29ubmVjdG9yOiBQb2ludGVyIHRvIGRybSBjb25uZWN0b3Igc3RydWN0 dXJlCiAgKiBAZGlzcGxheTogUG9pbnRlciB0byBwcml2YXRlIGRpc3BsYXkgc3RydWN0dXJlCi0g KiBAcGFyYW1zOiBQYXJhbWV0ZXJzIGZvciBraWNrb2ZmLXRpbWUgcHJvZ3JhbW1pbmcKICAqIFJl dHVybnM6IFplcm8gb24gc3VjY2VzcwogICovCiBpbnQgZHNpX2Nvbm5fcHJlX2tpY2tvZmYoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKLQkJdm9pZCAqZGlzcGxheSwKLQkJc3RydWN0 IG1zbV9kaXNwbGF5X2tpY2tvZmZfcGFyYW1zICpwYXJhbXMpOworCQl2b2lkICpkaXNwbGF5KTsK IAogLyoqCiAgKiBkc2lfZGlzcGxheV9wb3N0X2tpY2tvZmYgLSBwcm9ncmFtIHBvc3Qga2lja29m Zi10aW1lIGZlYXR1cmVzCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFn aW5nL2RzaV9wYW5lbC5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfcGFu ZWwuYwppbmRleCAyZDk0ZTVmLi5mZDIwZWJhIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v bXNtL2RzaS1zdGFnaW5nL2RzaV9wYW5lbC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNp LXN0YWdpbmcvZHNpX3BhbmVsLmMKQEAgLTIzMzEsODcgKzIzMzEsNiBAQCBzdGF0aWMgaW50IGRz aV9wYW5lbF9wYXJzZV90b3BvbG9neSgKIAlyZXR1cm4gcmM7CiB9CiAKLXN0YXRpYyBpbnQgZHNp X3BhbmVsX3BhcnNlX3JvaV9hbGlnbm1lbnQoc3RydWN0IGRldmljZV9ub2RlICpvZl9ub2RlLAot CQkJCQkgc3RydWN0IG1zbV9yb2lfYWxpZ25tZW50ICphbGlnbikKLXsKLQlpbnQgbGVuID0gMCwg cmMgPSAwOwotCXUzMiB2YWx1ZVs2XTsKLQlzdHJ1Y3QgcHJvcGVydHkgKmRhdGE7Ci0KLQlpZiAo IWFsaWduIHx8ICFvZl9ub2RlKQotCQlyZXR1cm4gLUVJTlZBTDsKLQotCW1lbXNldChhbGlnbiwg MCwgc2l6ZW9mKCphbGlnbikpOwotCi0JZGF0YSA9IG9mX2ZpbmRfcHJvcGVydHkob2Zfbm9kZSwg InFjb20scGFuZWwtcm9pLWFsaWdubWVudCIsICZsZW4pOwotCWxlbiAvPSBzaXplb2YodTMyKTsK LQlpZiAoIWRhdGEpIHsKLQkJcHJfZXJyKCJwYW5lbCByb2kgYWxpZ25tZW50IG5vdCBmb3VuZFxu Iik7Ci0JCXJjID0gLUVJTlZBTDsKLQl9IGVsc2UgaWYgKGxlbiAhPSA2KSB7Ci0JCXByX2Vycigi aW5jb3JyZWN0IHJvaSBhbGlnbm1lbnQgbGVuICVkXG4iLCBsZW4pOwotCQlyYyA9IC1FSU5WQUw7 Ci0JfSBlbHNlIHsKLQkJcmMgPSBvZl9wcm9wZXJ0eV9yZWFkX3UzMl9hcnJheShvZl9ub2RlLAot CQkJCSJxY29tLHBhbmVsLXJvaS1hbGlnbm1lbnQiLCB2YWx1ZSwgbGVuKTsKLQkJaWYgKHJjKQot CQkJcHJfZGVidWcoImVycm9yIHJlYWRpbmcgcGFuZWwgcm9pIGFsaWdubWVudCB2YWx1ZXNcbiIp OwotCQllbHNlIHsKLQkJCWFsaWduLT54c3RhcnRfcGl4X2FsaWduID0gdmFsdWVbMF07Ci0JCQlh bGlnbi0+eXN0YXJ0X3BpeF9hbGlnbiA9IHZhbHVlWzFdOwotCQkJYWxpZ24tPndpZHRoX3BpeF9h bGlnbiA9IHZhbHVlWzJdOwotCQkJYWxpZ24tPmhlaWdodF9waXhfYWxpZ24gPSB2YWx1ZVszXTsK LQkJCWFsaWduLT5taW5fd2lkdGggPSB2YWx1ZVs0XTsKLQkJCWFsaWduLT5taW5faGVpZ2h0ID0g dmFsdWVbNV07Ci0JCX0KLQotCQlwcl9pbmZvKCJyb2kgYWxpZ25tZW50OiBbJWQsICVkLCAlZCwg JWQsICVkLCAlZF1cbiIsCi0JCQlhbGlnbi0+eHN0YXJ0X3BpeF9hbGlnbiwKLQkJCWFsaWduLT53 aWR0aF9waXhfYWxpZ24sCi0JCQlhbGlnbi0+eXN0YXJ0X3BpeF9hbGlnbiwKLQkJCWFsaWduLT5o ZWlnaHRfcGl4X2FsaWduLAotCQkJYWxpZ24tPm1pbl93aWR0aCwKLQkJCWFsaWduLT5taW5faGVp Z2h0KTsKLQl9Ci0KLQlyZXR1cm4gcmM7Ci19Ci0KLXN0YXRpYyBpbnQgZHNpX3BhbmVsX3BhcnNl X3BhcnRpYWxfdXBkYXRlX2NhcHMoc3RydWN0IGRzaV9wYW5lbCAqcGFuZWwsCi0JCQkJCSAgICAg ICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm9mX25vZGUpCi17Ci0Jc3RydWN0IG1zbV9yb2lfY2FwcyAq cm9pX2NhcHMgPSAmcGFuZWwtPnJvaV9jYXBzOwotCWNvbnN0IGNoYXIgKmRhdGE7Ci0JaW50IHJj ID0gMDsKLQotCW1lbXNldChyb2lfY2FwcywgMCwgc2l6ZW9mKCpyb2lfY2FwcykpOwotCi0JZGF0 YSA9IG9mX2dldF9wcm9wZXJ0eShvZl9ub2RlLCAicWNvbSxwYXJ0aWFsLXVwZGF0ZS1lbmFibGVk IiwgTlVMTCk7Ci0JaWYgKGRhdGEpIHsKLQkJaWYgKCFzdHJjbXAoZGF0YSwgImR1YWxfcm9pIikp Ci0JCQlyb2lfY2Fwcy0+bnVtX3JvaSA9IDI7Ci0JCWVsc2UKLQkJCXJvaV9jYXBzLT5udW1fcm9p ID0gMTsKLQl9Ci0KLQlyb2lfY2Fwcy0+bWVyZ2Vfcm9pcyA9IG9mX3Byb3BlcnR5X3JlYWRfYm9v bChvZl9ub2RlLAotCQkJInFjb20scGFydGlhbC11cGRhdGUtcm9pLW1lcmdlIik7Ci0KLQlyb2lf Y2Fwcy0+ZW5hYmxlZCA9IHJvaV9jYXBzLT5udW1fcm9pID4gMDsKLQotCXByX2luZm8oInBhcnRp YWwgdXBkYXRlIG51bV9yb2lzPSVkIGVuYWJsZWQ9JWRcbiIsIHJvaV9jYXBzLT5udW1fcm9pLAot CQkJcm9pX2NhcHMtPmVuYWJsZWQpOwotCi0JaWYgKHJvaV9jYXBzLT5lbmFibGVkKQotCQlyYyA9 IGRzaV9wYW5lbF9wYXJzZV9yb2lfYWxpZ25tZW50KG9mX25vZGUsCi0JCQkJJnBhbmVsLT5yb2lf Y2Fwcy5hbGlnbik7Ci0KLQlpZiAocmMpCi0JCW1lbXNldChyb2lfY2FwcywgMCwgc2l6ZW9mKCpy b2lfY2FwcykpOwotCi0JcmV0dXJuIHJjOwotfQotCiBzdGF0aWMgaW50IGRzaV9wYW5lbF9wYXJz ZV9kbXNfaW5mbyhzdHJ1Y3QgZHNpX3BhbmVsICpwYW5lbCwKIAlzdHJ1Y3QgZGV2aWNlX25vZGUg Km9mX25vZGUpCiB7CkBAIC0yNzAzLDEwICsyNjIyLDYgQEAgc3RydWN0IGRzaV9wYW5lbCAqZHNp X3BhbmVsX2dldChzdHJ1Y3QgZGV2aWNlICpwYXJlbnQsCiAJaWYgKHJjKQogCQlwcl9lcnIoImZh aWxlZCB0byBwYXJzZSBoZHIgY29uZmlnLCByYz0lZFxuIiwgcmMpOwogCi0JcmMgPSBkc2lfcGFu ZWxfcGFyc2VfcGFydGlhbF91cGRhdGVfY2FwcyhwYW5lbCwgb2Zfbm9kZSk7Ci0JaWYgKHJjKQot CQlwcl9kZWJ1ZygiZmFpbGVkIHRvIHBhcnRpYWwgdXBkYXRlIGNhcHMsIHJjPSVkXG4iLCByYyk7 Ci0KIAlyYyA9IGRzaV9wYW5lbF9nZXRfbW9kZV9jb3VudChwYW5lbCwgb2Zfbm9kZSk7CiAJaWYg KHJjKSB7CiAJCXByX2VycigiZmFpbGVkIHRvIGdldCBtb2RlIGNvdW50LCByYz0lZFxuIiwgcmMp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2luZy9kc2lfcGFuZWwu aCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZHNpLXN0YWdpbmcvZHNpX3BhbmVsLmgKaW5kZXggYzI2 YTVkYi4uM2IxYjQ3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kc2ktc3RhZ2lu Zy9kc2lfcGFuZWwuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2RzaS1zdGFnaW5nL2RzaV9w YW5lbC5oCkBAIC0xNTUsOCArMTU1LDYgQEAgc3RydWN0IGRzaV9wYW5lbCB7CiAJZW51bSBkc2lf b3BfbW9kZSBwYW5lbF9tb2RlOwogCiAJc3RydWN0IGRzaV9kZnBzX2NhcGFiaWxpdGllcyBkZnBz X2NhcHM7Ci0Jc3RydWN0IG1zbV9yb2lfY2FwcyByb2lfY2FwczsKLQogCXN0cnVjdCBkc2lfcGFu ZWxfcGh5X3Byb3BzIHBoeV9wcm9wczsKIAogCXN0cnVjdCBkc2lfZGlzcGxheV9tb2RlICpjdXJf bW9kZTsKLS0gClRoZSBRdWFsY29tbSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBpcyBhIG1lbWJl ciBvZiB0aGUgQ29kZSBBdXJvcmEgRm9ydW0sCmEgTGludXggRm91bmRhdGlvbiBDb2xsYWJvcmF0 aXZlIFByb2plY3QKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVu bwo=