From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH v2 3/3] drm/msm: dpu: Make legacy cursor updates asynchronous Date: Tue, 30 Oct 2018 12:00:09 -0400 Message-ID: <20181030160033.18464-3-sean@poorly.run> References: <20181030160033.18464-1-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181030160033.18464-1-sean-p7yTbzM4H96eqtR555YLDQ@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, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , Jeykumar Sankaran , Abhinav Kumar List-Id: linux-arm-msm@vger.kernel.org RnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpUaGlzIHBhdGNoIHNwcmlu a2xlcyBhIGZldyBhc3luYy9sZWdhY3lfY3Vyc29yX3VwZGF0ZSBjaGVja3MKdGhyb3VnaCBjb21t aXQgdG8gZW5zdXJlIHRoYXQgY3Vyc29yIHVwZGF0ZXMgYXJlbid0IGJsb2NrZWQgb24gdnN5bmMu ClRoZXJlIGFyZSAyIG1haW4gY29tcG9uZW50cyB0byB0aGlzLCB0aGUgZmlyc3QgaXMgdGhhdCB3 ZSBkb24ndCB3YW50IHRvCndhaXRfZm9yX2NvbW1pdF9kb25lIGluIG1zbV9hdG9taWMgIGJlZm9y ZSByZXR1cm5pbmcgZnJvbSBhdG9taWNfY29tcGxldGUuClRoZSBzZWNvbmQgaXMgdGhhdCBpbiBk cHUgd2UgZG9uJ3Qgd2FudCB0byB3YWl0IGZvciBmcmFtZV9kb25lIGV2ZW50cyB3aGVuCnVwZGF0 aW5nIHRoZSBjdXJzb3IuCgpDaGFuZ2VzIGluIHYyOgotIE5vbmUKClNpZ25lZC1vZmYtYnk6IFNl YW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmMgICAgfCA0NCArKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggICAgfCAgMyArLQogZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyB8IDIyICsrKysrKystLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oIHwgIDYgKystCiBkcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfa21zLmMgICAgIHwgIDUgKystCiBkcml2ZXJzL2dw dS9kcm0vbXNtL21zbV9hdG9taWMuYyAgICAgICAgICAgIHwgIDMgKy0KIDYgZmlsZXMgY2hhbmdl ZCwgNDkgaW5zZXJ0aW9ucygrKSwgMzQgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmMKaW5kZXggZWQ4NGNmNDRhMjIyLi4xZTNlNTc4MTdiNzIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwpAQCAtNzAyLDcgKzcwMiw3 IEBAIHN0YXRpYyBpbnQgX2RwdV9jcnRjX3dhaXRfZm9yX2ZyYW1lX2RvbmUoc3RydWN0IGRybV9j cnRjICpjcnRjKQogCXJldHVybiByYzsKIH0KIAotdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29m ZihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCit2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBhc3luYykKIHsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIg KmVuY29kZXI7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKQEAgLTczMSwy NyArNzMxLDMwIEBAIHZvaWQgZHB1X2NydGNfY29tbWl0X2tpY2tvZmYoc3RydWN0IGRybV9jcnRj ICpjcnRjKQogCQkgKiBFbmNvZGVyIHdpbGwgZmx1c2gvc3RhcnQgbm93LCB1bmxlc3MgaXQgaGFz IGEgdHggcGVuZGluZy4KIAkJICogSWYgc28sIGl0IG1heSBkZWxheSBhbmQgZmx1c2ggYXQgYW4g aXJxIGV2ZW50IChlLmcuIHBwZG9uZSkKIAkJICovCi0JCWRwdV9lbmNvZGVyX3ByZXBhcmVfZm9y X2tpY2tvZmYoZW5jb2RlciwgJnBhcmFtcyk7CisJCWRwdV9lbmNvZGVyX3ByZXBhcmVfZm9yX2tp Y2tvZmYoZW5jb2RlciwgJnBhcmFtcywgYXN5bmMpOwogCX0KIAotCS8qIHdhaXQgZm9yIGZyYW1l X2V2ZW50X2RvbmUgY29tcGxldGlvbiAqLwotCURQVV9BVFJBQ0VfQkVHSU4oIndhaXRfZm9yX2Zy YW1lX2RvbmVfZXZlbnQiKTsKLQlyZXQgPSBfZHB1X2NydGNfd2FpdF9mb3JfZnJhbWVfZG9uZShj cnRjKTsKLQlEUFVfQVRSQUNFX0VORCgid2FpdF9mb3JfZnJhbWVfZG9uZV9ldmVudCIpOwotCWlm IChyZXQpIHsKLQkJRFBVX0VSUk9SKCJjcnRjJWQgd2FpdCBmb3IgZnJhbWUgZG9uZSBmYWlsZWQ7 ZnJhbWVfcGVuZGluZyVkXG4iLAotCQkJCWNydGMtPmJhc2UuaWQsCi0JCQkJYXRvbWljX3JlYWQo JmRwdV9jcnRjLT5mcmFtZV9wZW5kaW5nKSk7Ci0JCWdvdG8gZW5kOwotCX0KIAotCWlmIChhdG9t aWNfaW5jX3JldHVybigmZHB1X2NydGMtPmZyYW1lX3BlbmRpbmcpID09IDEpIHsKLQkJLyogYWNx dWlyZSBiYW5kd2lkdGggYW5kIG90aGVyIHJlc291cmNlcyAqLwotCQlEUFVfREVCVUcoImNydGMl ZCBmaXJzdCBjb21taXRcbiIsIGNydGMtPmJhc2UuaWQpOwotCX0gZWxzZQotCQlEUFVfREVCVUco ImNydGMlZCBjb21taXRcbiIsIGNydGMtPmJhc2UuaWQpOworCWlmICghYXN5bmMpIHsKKwkJLyog d2FpdCBmb3IgZnJhbWVfZXZlbnRfZG9uZSBjb21wbGV0aW9uICovCisJCURQVV9BVFJBQ0VfQkVH SU4oIndhaXRfZm9yX2ZyYW1lX2RvbmVfZXZlbnQiKTsKKwkJcmV0ID0gX2RwdV9jcnRjX3dhaXRf Zm9yX2ZyYW1lX2RvbmUoY3J0Yyk7CisJCURQVV9BVFJBQ0VfRU5EKCJ3YWl0X2Zvcl9mcmFtZV9k b25lX2V2ZW50Iik7CisJCWlmIChyZXQpIHsKKwkJCURQVV9FUlJPUigiY3J0YyVkIHdhaXQgZm9y IGZyYW1lIGRvbmUgZmFpbGVkO2ZyYW1lX3BlbmRpbmclZFxuIiwKKwkJCQkJY3J0Yy0+YmFzZS5p ZCwKKwkJCQkJYXRvbWljX3JlYWQoJmRwdV9jcnRjLT5mcmFtZV9wZW5kaW5nKSk7CisJCQlnb3Rv IGVuZDsKKwkJfQorCisJCWlmIChhdG9taWNfaW5jX3JldHVybigmZHB1X2NydGMtPmZyYW1lX3Bl bmRpbmcpID09IDEpIHsKKwkJCS8qIGFjcXVpcmUgYmFuZHdpZHRoIGFuZCBvdGhlciByZXNvdXJj ZXMgKi8KKwkJCURQVV9ERUJVRygiY3J0YyVkIGZpcnN0IGNvbW1pdFxuIiwgY3J0Yy0+YmFzZS5p ZCk7CisJCX0gZWxzZQorCQkJRFBVX0RFQlVHKCJjcnRjJWQgY29tbWl0XG4iLCBjcnRjLT5iYXNl LmlkKTsKIAotCWRwdV9jcnRjLT5wbGF5X2NvdW50Kys7CisJCWRwdV9jcnRjLT5wbGF5X2NvdW50 Kys7CisJfQogCiAJZHB1X3ZiaWZfY2xlYXJfZXJyb3JzKGRwdV9rbXMpOwogCkBAIC03NTksMTEg Kzc2MiwxMiBAQCB2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIAkJaWYgKGVuY29kZXItPmNydGMgIT0gY3J0YykKIAkJCWNvbnRpbnVlOwogCi0JCWRw dV9lbmNvZGVyX2tpY2tvZmYoZW5jb2Rlcik7CisJCWRwdV9lbmNvZGVyX2tpY2tvZmYoZW5jb2Rl ciwgYXN5bmMpOwogCX0KIAogZW5kOgotCXJlaW5pdF9jb21wbGV0aW9uKCZkcHVfY3J0Yy0+ZnJh bWVfZG9uZV9jb21wKTsKKwlpZiAoIWFzeW5jKQorCQlyZWluaXRfY29tcGxldGlvbigmZHB1X2Ny dGMtPmZyYW1lX2RvbmVfY29tcCk7CiAJRFBVX0FUUkFDRV9FTkQoImNydGNfY29tbWl0Iik7CiB9 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCmluZGV4IDQ4MjI2MDI0 MDJmOS4uZWM2MzNjZTNlZTZjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av ZHB1MS9kcHVfY3J0Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9j cnRjLmgKQEAgLTI3Nyw4ICsyNzcsOSBAQCBpbnQgZHB1X2NydGNfdmJsYW5rKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywgYm9vbCBlbik7CiAvKioKICAqIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmIC0g dHJpZ2dlciBraWNrb2ZmIG9mIHRoZSBjb21taXQgZm9yIHRoaXMgY3J0YwogICogQGNydGM6IFBv aW50ZXIgdG8gZHJtIGNydGMgb2JqZWN0CisgKiBAYXN5bmM6IHRydWUgaWYgdGhlIGNvbW1pdCBp cyBhc3luY2hyb25vdXMsIGZhbHNlIG90aGVyd2lzZQogICovCi12b2lkIGRwdV9jcnRjX2NvbW1p dF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cit2b2lkIGRwdV9jcnRjX2NvbW1pdF9r aWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBhc3luYyk7CiAKIC8qKgogICogZHB1 X2NydGNfY29tcGxldGVfY29tbWl0IC0gY2FsbGJhY2sgc2lnbmFsbGluZyBjb21wbGV0aW9uIG9m IGN1cnJlbnQgY29tbWl0CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29k ZXIuYwppbmRleCA4MmM1NWVmYjUwMGYuLmE4YmExMGNlYWFjZiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCkBAIC0xMzc1LDcgKzEzNzUsOCBAQCBzdGF0 aWMgdm9pZCBkcHVfZW5jb2Rlcl9vZmZfd29yayhzdHJ1Y3Qga3RocmVhZF93b3JrICp3b3JrKQog ICogZXh0cmFfZmx1c2hfYml0czogQWRkaXRpb25hbCBiaXQgbWFzayB0byBpbmNsdWRlIGluIGZs dXNoIHRyaWdnZXIKICAqLwogc3RhdGljIHZvaWQgX2RwdV9lbmNvZGVyX3RyaWdnZXJfZmx1c2go c3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLAotCQlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAq cGh5cywgdWludDMyX3QgZXh0cmFfZmx1c2hfYml0cykKKwkJc3RydWN0IGRwdV9lbmNvZGVyX3Bo eXMgKnBoeXMsIHVpbnQzMl90IGV4dHJhX2ZsdXNoX2JpdHMsCisJCWJvb2wgYXN5bmMpCiB7CiAJ c3RydWN0IGRwdV9od19jdGwgKmN0bDsKIAlpbnQgcGVuZGluZ19raWNrb2ZmX2NudDsKQEAgLTEz OTgsNyArMTM5OSwxMCBAQCBzdGF0aWMgdm9pZCBfZHB1X2VuY29kZXJfdHJpZ2dlcl9mbHVzaChz dHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCiAJCXJldHVybjsKIAl9CiAKLQlwZW5kaW5nX2tp Y2tvZmZfY250ID0gZHB1X2VuY29kZXJfcGh5c19pbmNfcGVuZGluZyhwaHlzKTsKKwlpZiAoIWFz eW5jKQorCQlwZW5kaW5nX2tpY2tvZmZfY250ID0gZHB1X2VuY29kZXJfcGh5c19pbmNfcGVuZGlu ZyhwaHlzKTsKKwllbHNlCisJCXBlbmRpbmdfa2lja29mZl9jbnQgPSBhdG9taWNfcmVhZCgmcGh5 cy0+cGVuZGluZ19raWNrb2ZmX2NudCk7CiAKIAlpZiAoZXh0cmFfZmx1c2hfYml0cyAmJiBjdGwt Pm9wcy51cGRhdGVfcGVuZGluZ19mbHVzaCkKIAkJY3RsLT5vcHMudXBkYXRlX3BlbmRpbmdfZmx1 c2goY3RsLCBleHRyYV9mbHVzaF9iaXRzKTsKQEAgLTE1MTEsNyArMTUxNSw4IEBAIHN0YXRpYyB2 b2lkIGRwdV9lbmNvZGVyX2hlbHBlcl9od19yZXNldChzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAq cGh5c19lbmMpCiAgKglhIHRpbWUuCiAgKiBkcHVfZW5jOiBQb2ludGVyIHRvIHZpcnR1YWwgZW5j b2RlciBzdHJ1Y3R1cmUKICAqLwotc3RhdGljIHZvaWQgX2RwdV9lbmNvZGVyX2tpY2tvZmZfcGh5 cyhzdHJ1Y3QgZHB1X2VuY29kZXJfdmlydCAqZHB1X2VuYykKK3N0YXRpYyB2b2lkIF9kcHVfZW5j b2Rlcl9raWNrb2ZmX3BoeXMoc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9lbmMsCisJCQkJ ICAgICAgYm9vbCBhc3luYykKIHsKIAlzdHJ1Y3QgZHB1X2h3X2N0bCAqY3RsOwogCXVpbnQzMl90 IGksIHBlbmRpbmdfZmx1c2g7CkBAIC0xNTQyLDcgKzE1NDcsOCBAQCBzdGF0aWMgdm9pZCBfZHB1 X2VuY29kZXJfa2lja29mZl9waHlzKHN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jKQog CQkJc2V0X2JpdChpLCBkcHVfZW5jLT5mcmFtZV9idXN5X21hc2spOwogCQlpZiAoIXBoeXMtPm9w cy5uZWVkc19zaW5nbGVfZmx1c2ggfHwKIAkJCQkhcGh5cy0+b3BzLm5lZWRzX3NpbmdsZV9mbHVz aChwaHlzKSkKLQkJCV9kcHVfZW5jb2Rlcl90cmlnZ2VyX2ZsdXNoKCZkcHVfZW5jLT5iYXNlLCBw aHlzLCAweDApOworCQkJX2RwdV9lbmNvZGVyX3RyaWdnZXJfZmx1c2goJmRwdV9lbmMtPmJhc2Us IHBoeXMsIDB4MCwKKwkJCQkJCSAgIGFzeW5jKTsKIAkJZWxzZSBpZiAoY3RsLT5vcHMuZ2V0X3Bl bmRpbmdfZmx1c2gpCiAJCQlwZW5kaW5nX2ZsdXNoIHw9IGN0bC0+b3BzLmdldF9wZW5kaW5nX2Zs dXNoKGN0bCk7CiAJfQpAQCAtMTU1Miw3ICsxNTU4LDcgQEAgc3RhdGljIHZvaWQgX2RwdV9lbmNv ZGVyX2tpY2tvZmZfcGh5cyhzdHJ1Y3QgZHB1X2VuY29kZXJfdmlydCAqZHB1X2VuYykKIAkJX2Rw dV9lbmNvZGVyX3RyaWdnZXJfZmx1c2goCiAJCQkJJmRwdV9lbmMtPmJhc2UsCiAJCQkJZHB1X2Vu Yy0+Y3VyX21hc3RlciwKLQkJCQlwZW5kaW5nX2ZsdXNoKTsKKwkJCQlwZW5kaW5nX2ZsdXNoLCBh c3luYyk7CiAJfQogCiAJX2RwdV9lbmNvZGVyX3RyaWdnZXJfc3RhcnQoZHB1X2VuYy0+Y3VyX21h c3Rlcik7CkBAIC0xNzM2LDcgKzE3NDIsNyBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl92c3lu Y19ldmVudF93b3JrX2hhbmRsZXIoc3RydWN0IGt0aHJlYWRfd29yayAqd29yaykKIH0KIAogdm9p ZCBkcHVfZW5jb2Rlcl9wcmVwYXJlX2Zvcl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJt X2VuYywKLQkJc3RydWN0IGRwdV9lbmNvZGVyX2tpY2tvZmZfcGFyYW1zICpwYXJhbXMpCisJCXN0 cnVjdCBkcHVfZW5jb2Rlcl9raWNrb2ZmX3BhcmFtcyAqcGFyYW1zLCBib29sIGFzeW5jKQogewog CXN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jOwogCXN0cnVjdCBkcHVfZW5jb2Rlcl9w aHlzICpwaHlzOwpAQCAtMTc3NSw3ICsxNzgxLDcgQEAgdm9pZCBkcHVfZW5jb2Rlcl9wcmVwYXJl X2Zvcl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywKIAl9CiB9CiAKLXZvaWQg ZHB1X2VuY29kZXJfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMpCit2b2lkIGRw dV9lbmNvZGVyX2tpY2tvZmYoc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5jLCBib29sIGFzeW5j KQogewogCXN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0ICpkcHVfZW5jOwogCXN0cnVjdCBkcHVfZW5j b2Rlcl9waHlzICpwaHlzOwpAQCAtMTc5OCw3ICsxODA0LDcgQEAgdm9pZCBkcHVfZW5jb2Rlcl9r aWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYykKIAkJKChhdG9taWNfcmVhZCgmZHB1 X2VuYy0+ZnJhbWVfZG9uZV90aW1lb3V0KSAqIEhaKSAvIDEwMDApKTsKIAogCS8qIEFsbCBwaHlz IGVuY3MgYXJlIHJlYWR5IHRvIGdvLCB0cmlnZ2VyIHRoZSBraWNrb2ZmICovCi0JX2RwdV9lbmNv ZGVyX2tpY2tvZmZfcGh5cyhkcHVfZW5jKTsKKwlfZHB1X2VuY29kZXJfa2lja29mZl9waHlzKGRw dV9lbmMsIGFzeW5jKTsKIAogCS8qIGFsbG93IHBoeXMgZW5jcyB0byBoYW5kbGUgYW55IHBvc3Qt a2lja29mZiBidXNpbmVzcyAqLwogCWZvciAoaSA9IDA7IGkgPCBkcHVfZW5jLT5udW1fcGh5c19l bmNzOyBpKyspIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9lbmNvZGVyLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5o CmluZGV4IDlkYmYzOGY0NDZkOS4uYzIwNDQxMjJkNjA5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9t c20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmgKQEAgLTgxLDkgKzgxLDEwIEBAIHZvaWQgZHB1X2Vu Y29kZXJfcmVnaXN0ZXJfZnJhbWVfZXZlbnRfY2FsbGJhY2soc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyLAogICoJRGVsYXllZDogQmxvY2sgdW50aWwgbmV4dCB0cmlnZ2VyIGNhbiBiZSBpc3N1 ZWQuCiAgKiBAZW5jb2RlcjoJZW5jb2RlciBwb2ludGVyCiAgKiBAcGFyYW1zOglraWNrb2ZmIHRp bWUgcGFyYW1ldGVycworICogQGFzeW5jOgl0cnVlIGlmIHRoaXMgaXMgYW4gYXN5bmNocm9ub3Vz IGNvbW1pdAogICovCiB2b2lkIGRwdV9lbmNvZGVyX3ByZXBhcmVfZm9yX2tpY2tvZmYoc3RydWN0 IGRybV9lbmNvZGVyICplbmNvZGVyLAotCQlzdHJ1Y3QgZHB1X2VuY29kZXJfa2lja29mZl9wYXJh bXMgKnBhcmFtcyk7CisJCXN0cnVjdCBkcHVfZW5jb2Rlcl9raWNrb2ZmX3BhcmFtcyAqcGFyYW1z LCBib29sIGFzeW5jKTsKIAogLyoqCiAgKiBkcHVfZW5jb2Rlcl90cmlnZ2VyX2tpY2tvZmZfcGVu ZGluZyAtIENsZWFyIHRoZSBmbHVzaCBiaXRzIGZyb20gcHJldmlvdXMKQEAgLTk2LDggKzk3LDkg QEAgdm9pZCBkcHVfZW5jb2Rlcl90cmlnZ2VyX2tpY2tvZmZfcGVuZGluZyhzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuY29kZXIpOwogICogZHB1X2VuY29kZXJfa2lja29mZiAtIHRyaWdnZXIgYSBkb3Vi bGUgYnVmZmVyIGZsaXAgb2YgdGhlIGN0bCBwYXRoCiAgKgkoaS5lLiBjdGwgZmx1c2ggYW5kIHN0 YXJ0KSBpbW1lZGlhdGVseS4KICAqIEBlbmNvZGVyOgllbmNvZGVyIHBvaW50ZXIKKyAqIEBhc3lu YzoJdHJ1ZSBpZiB0aGlzIGlzIGFuIGFzeW5jaHJvbm91cyBjb21taXQKICAqLwotdm9pZCBkcHVf ZW5jb2Rlcl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2Rlcik7Cit2b2lkIGRwdV9l bmNvZGVyX2tpY2tvZmYoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyLCBib29sIGFzeW5jKTsK IAogLyoqCiAgKiBkcHVfZW5jb2Rlcl93YWl0X2Zvcl9ldmVudCAtIFdhaXRzIGZvciBlbmNvZGVy IGV2ZW50cwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2tt cy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCmluZGV4IDk4NWM4 NTU3OTZhZS4uNTdhZDgzODY4NzY2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rp c3AvZHB1MS9kcHVfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1 X2ttcy5jCkBAIC0zNTIsNyArMzUyLDcgQEAgdm9pZCBkcHVfa21zX2VuY29kZXJfZW5hYmxlKHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAogCWlmIChjcnRjICYmIGNydGMtPnN0YXRlLT5h Y3RpdmUpIHsKIAkJdHJhY2VfZHB1X2ttc19lbmNfZW5hYmxlKERSTUlEKGNydGMpKTsKLQkJZHB1 X2NydGNfY29tbWl0X2tpY2tvZmYoY3J0Yyk7CisJCWRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKGNy dGMsIGZhbHNlKTsKIAl9CiB9CiAKQEAgLTM2OSw3ICszNjksOCBAQCBzdGF0aWMgdm9pZCBkcHVf a21zX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq c3RhdGUpCiAKIAkJaWYgKGNydGMtPnN0YXRlLT5hY3RpdmUpIHsKIAkJCXRyYWNlX2RwdV9rbXNf Y29tbWl0KERSTUlEKGNydGMpKTsKLQkJCWRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKGNydGMpOwor CQkJZHB1X2NydGNfY29tbWl0X2tpY2tvZmYoY3J0YywKKwkJCQkJCXN0YXRlLT5sZWdhY3lfY3Vy c29yX3VwZGF0ZSk7CiAJCX0KIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCmluZGV4IDIw ODhhMjBlYjI3MC4uZjViMTI1NmUzMmI2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwpAQCAt ODMsNyArODMsOCBAQCB2b2lkIG1zbV9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQogCQlrbXMtPmZ1bmNzLT5jb21taXQoa21zLCBzdGF0ZSk7CiAJfQog Ci0JbXNtX2F0b21pY193YWl0X2Zvcl9jb21taXRfZG9uZShkZXYsIHN0YXRlKTsKKwlpZiAoIXN0 YXRlLT5sZWdhY3lfY3Vyc29yX3VwZGF0ZSkKKwkJbXNtX2F0b21pY193YWl0X2Zvcl9jb21taXRf ZG9uZShkZXYsIHN0YXRlKTsKIAogCWttcy0+ZnVuY3MtPmNvbXBsZXRlX2NvbW1pdChrbXMsIHN0 YXRlKTsKIAotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hyb21p dW0gT1MKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZy ZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=