From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH 2/2] drm/msm: dpu: Make legacy cursor updates asynchronous Date: Wed, 19 Sep 2018 14:56:23 -0400 Message-ID: <20180919185627.206368-3-sean@poorly.run> References: <20180919185627.206368-1-sean@poorly.run> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180919185627.206368-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: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Rob Clark , hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Sean Paul , jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org RnJvbTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+CgpUaGlzIHBhdGNoIHNwcmlu a2xlcyBhIGZldyBhc3luYy9sZWdhY3lfY3Vyc29yX3VwZGF0ZSBjaGVja3MKdGhyb3VnaCBjb21t aXQgdG8gZW5zdXJlIHRoYXQgY3Vyc29yIHVwZGF0ZXMgYXJlbid0IGJsb2NrZWQgb24gdnN5bmMu ClRoZXJlIGFyZSAyIG1haW4gY29tcG9uZW50cyB0byB0aGlzLCB0aGUgZmlyc3QgaXMgdGhhdCB3 ZSBkb24ndCB3YW50IHRvCndhaXRfZm9yX2NvbW1pdF9kb25lIGluIG1zbV9hdG9taWMgIGJlZm9y ZSByZXR1cm5pbmcgZnJvbSBhdG9taWNfY29tcGxldGUuClRoZSBzZWNvbmQgaXMgdGhhdCBpbiBk cHUgd2UgZG9uJ3Qgd2FudCB0byB3YWl0IGZvciBmcmFtZV9kb25lIGV2ZW50cyB3aGVuCnVwZGF0 aW5nIHRoZSBjdXJzb3IuCgpTaWduZWQtb2ZmLWJ5OiBTZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9t aXVtLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jICAg IHwgNDQgKysrKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfY3J0Yy5oICAgIHwgIDMgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2Rw dV9lbmNvZGVyLmMgfCAyMSArKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1 MS9kcHVfZW5jb2Rlci5oIHwgIDYgKystCiBkcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfa21zLmMgICAgIHwgIDUgKystCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYyAg ICAgICAgICAgIHwgIDMgKy0KIDYgZmlsZXMgY2hhbmdlZCwgNDggaW5zZXJ0aW9ucygrKSwgMzQg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2NydGMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKaW5k ZXggYThmMmRkN2EzN2M3Li5iMjNmMDBhMjU1NGIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NydGMuYwpAQCAtODE2LDcgKzgxNiw3IEBAIHN0YXRpYyBpbnQgX2RwdV9jcnRj X3dhaXRfZm9yX2ZyYW1lX2RvbmUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXJldHVybiByYzsK IH0KIAotdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29mZihzdHJ1Y3QgZHJtX2NydGMgKmNydGMp Cit2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9v bCBhc3luYykKIHsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7CiAJc3RydWN0IGRybV9k ZXZpY2UgKmRldjsKQEAgLTg2MiwyNyArODYyLDMwIEBAIHZvaWQgZHB1X2NydGNfY29tbWl0X2tp Y2tvZmYoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQkgKiBFbmNvZGVyIHdpbGwgZmx1c2gvc3Rh cnQgbm93LCB1bmxlc3MgaXQgaGFzIGEgdHggcGVuZGluZy4KIAkJICogSWYgc28sIGl0IG1heSBk ZWxheSBhbmQgZmx1c2ggYXQgYW4gaXJxIGV2ZW50IChlLmcuIHBwZG9uZSkKIAkJICovCi0JCWRw dV9lbmNvZGVyX3ByZXBhcmVfZm9yX2tpY2tvZmYoZW5jb2RlciwgJnBhcmFtcyk7CisJCWRwdV9l bmNvZGVyX3ByZXBhcmVfZm9yX2tpY2tvZmYoZW5jb2RlciwgJnBhcmFtcywgYXN5bmMpOwogCX0K IAotCS8qIHdhaXQgZm9yIGZyYW1lX2V2ZW50X2RvbmUgY29tcGxldGlvbiAqLwotCURQVV9BVFJB Q0VfQkVHSU4oIndhaXRfZm9yX2ZyYW1lX2RvbmVfZXZlbnQiKTsKLQlyZXQgPSBfZHB1X2NydGNf d2FpdF9mb3JfZnJhbWVfZG9uZShjcnRjKTsKLQlEUFVfQVRSQUNFX0VORCgid2FpdF9mb3JfZnJh bWVfZG9uZV9ldmVudCIpOwotCWlmIChyZXQpIHsKLQkJRFBVX0VSUk9SKCJjcnRjJWQgd2FpdCBm b3IgZnJhbWUgZG9uZSBmYWlsZWQ7ZnJhbWVfcGVuZGluZyVkXG4iLAotCQkJCWNydGMtPmJhc2Uu aWQsCi0JCQkJYXRvbWljX3JlYWQoJmRwdV9jcnRjLT5mcmFtZV9wZW5kaW5nKSk7Ci0JCWdvdG8g ZW5kOwotCX0KIAotCWlmIChhdG9taWNfaW5jX3JldHVybigmZHB1X2NydGMtPmZyYW1lX3BlbmRp bmcpID09IDEpIHsKLQkJLyogYWNxdWlyZSBiYW5kd2lkdGggYW5kIG90aGVyIHJlc291cmNlcyAq LwotCQlEUFVfREVCVUcoImNydGMlZCBmaXJzdCBjb21taXRcbiIsIGNydGMtPmJhc2UuaWQpOwot CX0gZWxzZQotCQlEUFVfREVCVUcoImNydGMlZCBjb21taXRcbiIsIGNydGMtPmJhc2UuaWQpOwor CWlmICghYXN5bmMpIHsKKwkJLyogd2FpdCBmb3IgZnJhbWVfZXZlbnRfZG9uZSBjb21wbGV0aW9u ICovCisJCURQVV9BVFJBQ0VfQkVHSU4oIndhaXRfZm9yX2ZyYW1lX2RvbmVfZXZlbnQiKTsKKwkJ cmV0ID0gX2RwdV9jcnRjX3dhaXRfZm9yX2ZyYW1lX2RvbmUoY3J0Yyk7CisJCURQVV9BVFJBQ0Vf RU5EKCJ3YWl0X2Zvcl9mcmFtZV9kb25lX2V2ZW50Iik7CisJCWlmIChyZXQpIHsKKwkJCURQVV9F UlJPUigiY3J0YyVkIHdhaXQgZm9yIGZyYW1lIGRvbmUgZmFpbGVkO2ZyYW1lX3BlbmRpbmclZFxu IiwKKwkJCQkJY3J0Yy0+YmFzZS5pZCwKKwkJCQkJYXRvbWljX3JlYWQoJmRwdV9jcnRjLT5mcmFt ZV9wZW5kaW5nKSk7CisJCQlnb3RvIGVuZDsKKwkJfQorCisJCWlmIChhdG9taWNfaW5jX3JldHVy bigmZHB1X2NydGMtPmZyYW1lX3BlbmRpbmcpID09IDEpIHsKKwkJCS8qIGFjcXVpcmUgYmFuZHdp ZHRoIGFuZCBvdGhlciByZXNvdXJjZXMgKi8KKwkJCURQVV9ERUJVRygiY3J0YyVkIGZpcnN0IGNv bW1pdFxuIiwgY3J0Yy0+YmFzZS5pZCk7CisJCX0gZWxzZQorCQkJRFBVX0RFQlVHKCJjcnRjJWQg Y29tbWl0XG4iLCBjcnRjLT5iYXNlLmlkKTsKIAotCWRwdV9jcnRjLT5wbGF5X2NvdW50Kys7CisJ CWRwdV9jcnRjLT5wbGF5X2NvdW50Kys7CisJfQogCiAJZHB1X3ZiaWZfY2xlYXJfZXJyb3JzKGRw dV9rbXMpOwogCkBAIC04OTAsMTEgKzg5MywxMiBAQCB2b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNr b2ZmKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAkJaWYgKGVuY29kZXItPmNydGMgIT0gY3J0YykK IAkJCWNvbnRpbnVlOwogCi0JCWRwdV9lbmNvZGVyX2tpY2tvZmYoZW5jb2Rlcik7CisJCWRwdV9l bmNvZGVyX2tpY2tvZmYoZW5jb2RlciwgYXN5bmMpOwogCX0KIAogZW5kOgotCXJlaW5pdF9jb21w bGV0aW9uKCZkcHVfY3J0Yy0+ZnJhbWVfZG9uZV9jb21wKTsKKwlpZiAoIWFzeW5jKQorCQlyZWlu aXRfY29tcGxldGlvbigmZHB1X2NydGMtPmZyYW1lX2RvbmVfY29tcCk7CiAJRFBVX0FUUkFDRV9F TkQoImNydGNfY29tbWl0Iik7CiB9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20v ZGlzcC9kcHUxL2RwdV9jcnRjLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVf Y3J0Yy5oCmluZGV4IDM3MjNiNDgzMDMzNS4uNjdjOWY1OTk5N2NmIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKQEAgLTI4NSw4ICsyODUsOSBAQCBpbnQgZHB1X2Ny dGNfdmJsYW5rKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbik7CiAvKioKICAqIGRwdV9j cnRjX2NvbW1pdF9raWNrb2ZmIC0gdHJpZ2dlciBraWNrb2ZmIG9mIHRoZSBjb21taXQgZm9yIHRo aXMgY3J0YwogICogQGNydGM6IFBvaW50ZXIgdG8gZHJtIGNydGMgb2JqZWN0CisgKiBAYXN5bmM6 IHRydWUgaWYgdGhlIGNvbW1pdCBpcyBhc3luY2hyb25vdXMsIGZhbHNlIG90aGVyd2lzZQogICov Ci12b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cit2 b2lkIGRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBh c3luYyk7CiAKIC8qKgogICogZHB1X2NydGNfY29tcGxldGVfY29tbWl0IC0gY2FsbGJhY2sgc2ln bmFsbGluZyBjb21wbGV0aW9uIG9mIGN1cnJlbnQgY29tbWl0CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYwppbmRleCBjMmU4OTg1YjRjNTQuLmZjNzI5ZmM4ZGQ4 YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5jCkBAIC0x NDEwLDcgKzE0MTAsNyBAQCBzdGF0aWMgdm9pZCBkcHVfZW5jb2Rlcl9vZmZfd29yayhzdHJ1Y3Qg a3RocmVhZF93b3JrICp3b3JrKQogICogZXh0cmFfZmx1c2hfYml0czogQWRkaXRpb25hbCBiaXQg bWFzayB0byBpbmNsdWRlIGluIGZsdXNoIHRyaWdnZXIKICAqLwogc3RhdGljIGlubGluZSB2b2lk IF9kcHVfZW5jb2Rlcl90cmlnZ2VyX2ZsdXNoKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2VuYywK LQkJc3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXMsIHVpbnQzMl90IGV4dHJhX2ZsdXNoX2Jp dHMpCisJCXN0cnVjdCBkcHVfZW5jb2Rlcl9waHlzICpwaHlzLCB1aW50MzJfdCBleHRyYV9mbHVz aF9iaXRzLCBib29sIGFzeW5jKQogewogCXN0cnVjdCBkcHVfaHdfY3RsICpjdGw7CiAJaW50IHBl bmRpbmdfa2lja29mZl9jbnQ7CkBAIC0xNDMzLDcgKzE0MzMsMTAgQEAgc3RhdGljIGlubGluZSB2 b2lkIF9kcHVfZW5jb2Rlcl90cmlnZ2VyX2ZsdXNoKHN0cnVjdCBkcm1fZW5jb2RlciAqZHJtX2Vu YywKIAkJcmV0dXJuOwogCX0KIAotCXBlbmRpbmdfa2lja29mZl9jbnQgPSBkcHVfZW5jb2Rlcl9w aHlzX2luY19wZW5kaW5nKHBoeXMpOworCWlmICghYXN5bmMpCisJCXBlbmRpbmdfa2lja29mZl9j bnQgPSBkcHVfZW5jb2Rlcl9waHlzX2luY19wZW5kaW5nKHBoeXMpOworCWVsc2UKKwkJcGVuZGlu Z19raWNrb2ZmX2NudCA9IGF0b21pY19yZWFkKCZwaHlzLT5wZW5kaW5nX2tpY2tvZmZfY250KTsK IAogCWlmIChleHRyYV9mbHVzaF9iaXRzICYmIGN0bC0+b3BzLnVwZGF0ZV9wZW5kaW5nX2ZsdXNo KQogCQljdGwtPm9wcy51cGRhdGVfcGVuZGluZ19mbHVzaChjdGwsIGV4dHJhX2ZsdXNoX2JpdHMp OwpAQCAtMTU0NSw3ICsxNTQ4LDggQEAgdm9pZCBkcHVfZW5jb2Rlcl9oZWxwZXJfaHdfcmVzZXQo c3RydWN0IGRwdV9lbmNvZGVyX3BoeXMgKnBoeXNfZW5jKQogICoJYSB0aW1lLgogICogZHB1X2Vu YzogUG9pbnRlciB0byB2aXJ0dWFsIGVuY29kZXIgc3RydWN0dXJlCiAgKi8KLXN0YXRpYyB2b2lk IF9kcHVfZW5jb2Rlcl9raWNrb2ZmX3BoeXMoc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgKmRwdV9l bmMpCitzdGF0aWMgdm9pZCBfZHB1X2VuY29kZXJfa2lja29mZl9waHlzKHN0cnVjdCBkcHVfZW5j b2Rlcl92aXJ0ICpkcHVfZW5jLAorCQkJCSAgICAgIGJvb2wgYXN5bmMpCiB7CiAJc3RydWN0IGRw dV9od19jdGwgKmN0bDsKIAl1aW50MzJfdCBpLCBwZW5kaW5nX2ZsdXNoOwpAQCAtMTU3Niw3ICsx NTgwLDggQEAgc3RhdGljIHZvaWQgX2RwdV9lbmNvZGVyX2tpY2tvZmZfcGh5cyhzdHJ1Y3QgZHB1 X2VuY29kZXJfdmlydCAqZHB1X2VuYykKIAkJCXNldF9iaXQoaSwgZHB1X2VuYy0+ZnJhbWVfYnVz eV9tYXNrKTsKIAkJaWYgKCFwaHlzLT5vcHMubmVlZHNfc2luZ2xlX2ZsdXNoIHx8CiAJCQkJIXBo eXMtPm9wcy5uZWVkc19zaW5nbGVfZmx1c2gocGh5cykpCi0JCQlfZHB1X2VuY29kZXJfdHJpZ2dl cl9mbHVzaCgmZHB1X2VuYy0+YmFzZSwgcGh5cywgMHgwKTsKKwkJCV9kcHVfZW5jb2Rlcl90cmln Z2VyX2ZsdXNoKCZkcHVfZW5jLT5iYXNlLCBwaHlzLCAweDAsCisJCQkJCQkgICBhc3luYyk7CiAJ CWVsc2UgaWYgKGN0bC0+b3BzLmdldF9wZW5kaW5nX2ZsdXNoKQogCQkJcGVuZGluZ19mbHVzaCB8 PSBjdGwtPm9wcy5nZXRfcGVuZGluZ19mbHVzaChjdGwpOwogCX0KQEAgLTE1ODYsNyArMTU5MSw3 IEBAIHN0YXRpYyB2b2lkIF9kcHVfZW5jb2Rlcl9raWNrb2ZmX3BoeXMoc3RydWN0IGRwdV9lbmNv ZGVyX3ZpcnQgKmRwdV9lbmMpCiAJCV9kcHVfZW5jb2Rlcl90cmlnZ2VyX2ZsdXNoKAogCQkJCSZk cHVfZW5jLT5iYXNlLAogCQkJCWRwdV9lbmMtPmN1cl9tYXN0ZXIsCi0JCQkJcGVuZGluZ19mbHVz aCk7CisJCQkJcGVuZGluZ19mbHVzaCwgYXN5bmMpOwogCX0KIAogCV9kcHVfZW5jb2Rlcl90cmln Z2VyX3N0YXJ0KGRwdV9lbmMtPmN1cl9tYXN0ZXIpOwpAQCAtMTc3MCw3ICsxNzc1LDcgQEAgc3Rh dGljIHZvaWQgZHB1X2VuY29kZXJfdnN5bmNfZXZlbnRfd29ya19oYW5kbGVyKHN0cnVjdCBrdGhy ZWFkX3dvcmsgKndvcmspCiB9CiAKIHZvaWQgZHB1X2VuY29kZXJfcHJlcGFyZV9mb3Jfa2lja29m ZihzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCi0JCXN0cnVjdCBkcHVfZW5jb2Rlcl9raWNr b2ZmX3BhcmFtcyAqcGFyYW1zKQorCQlzdHJ1Y3QgZHB1X2VuY29kZXJfa2lja29mZl9wYXJhbXMg KnBhcmFtcywgYm9vbCBhc3luYykKIHsKIAlzdHJ1Y3QgZHB1X2VuY29kZXJfdmlydCAqZHB1X2Vu YzsKIAlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5czsKQEAgLTE4MTEsNyArMTgxNiw3IEBA IHZvaWQgZHB1X2VuY29kZXJfcHJlcGFyZV9mb3Jfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29kZXIg KmRybV9lbmMsCiAJfQogfQogCi12b2lkIGRwdV9lbmNvZGVyX2tpY2tvZmYoc3RydWN0IGRybV9l bmNvZGVyICpkcm1fZW5jKQordm9pZCBkcHVfZW5jb2Rlcl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5j b2RlciAqZHJtX2VuYywgYm9vbCBhc3luYykKIHsKIAlzdHJ1Y3QgZHB1X2VuY29kZXJfdmlydCAq ZHB1X2VuYzsKIAlzdHJ1Y3QgZHB1X2VuY29kZXJfcGh5cyAqcGh5czsKQEAgLTE4MzQsNyArMTgz OSw3IEBAIHZvaWQgZHB1X2VuY29kZXJfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9l bmMpCiAJCSgoYXRvbWljX3JlYWQoJmRwdV9lbmMtPmZyYW1lX2RvbmVfdGltZW91dCkgKiBIWikg LyAxMDAwKSk7CiAKIAkvKiBBbGwgcGh5cyBlbmNzIGFyZSByZWFkeSB0byBnbywgdHJpZ2dlciB0 aGUga2lja29mZiAqLwotCV9kcHVfZW5jb2Rlcl9raWNrb2ZmX3BoeXMoZHB1X2VuYyk7CisJX2Rw dV9lbmNvZGVyX2tpY2tvZmZfcGh5cyhkcHVfZW5jLCBhc3luYyk7CiAKIAkvKiBhbGxvdyBwaHlz IGVuY3MgdG8gaGFuZGxlIGFueSBwb3N0LWtpY2tvZmYgYnVzaW5lc3MgKi8KIAlmb3IgKGkgPSAw OyBpIDwgZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsgaSsrKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oIGIvZHJpdmVycy9ncHUvZHJtL21z bS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuaAppbmRleCA5ZGJmMzhmNDQ2ZDkuLmMyMDQ0MTIyZDYw OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfZW5jb2Rlci5oCkBAIC04 MSw5ICs4MSwxMCBAQCB2b2lkIGRwdV9lbmNvZGVyX3JlZ2lzdGVyX2ZyYW1lX2V2ZW50X2NhbGxi YWNrKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKICAqCURlbGF5ZWQ6IEJsb2NrIHVudGls IG5leHQgdHJpZ2dlciBjYW4gYmUgaXNzdWVkLgogICogQGVuY29kZXI6CWVuY29kZXIgcG9pbnRl cgogICogQHBhcmFtczoJa2lja29mZiB0aW1lIHBhcmFtZXRlcnMKKyAqIEBhc3luYzoJdHJ1ZSBp ZiB0aGlzIGlzIGFuIGFzeW5jaHJvbm91cyBjb21taXQKICAqLwogdm9pZCBkcHVfZW5jb2Rlcl9w cmVwYXJlX2Zvcl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKLQkJc3RydWN0 IGRwdV9lbmNvZGVyX2tpY2tvZmZfcGFyYW1zICpwYXJhbXMpOworCQlzdHJ1Y3QgZHB1X2VuY29k ZXJfa2lja29mZl9wYXJhbXMgKnBhcmFtcywgYm9vbCBhc3luYyk7CiAKIC8qKgogICogZHB1X2Vu Y29kZXJfdHJpZ2dlcl9raWNrb2ZmX3BlbmRpbmcgLSBDbGVhciB0aGUgZmx1c2ggYml0cyBmcm9t IHByZXZpb3VzCkBAIC05Niw4ICs5Nyw5IEBAIHZvaWQgZHB1X2VuY29kZXJfdHJpZ2dlcl9raWNr b2ZmX3BlbmRpbmcoc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKTsKICAqIGRwdV9lbmNvZGVy X2tpY2tvZmYgLSB0cmlnZ2VyIGEgZG91YmxlIGJ1ZmZlciBmbGlwIG9mIHRoZSBjdGwgcGF0aAog ICoJKGkuZS4gY3RsIGZsdXNoIGFuZCBzdGFydCkgaW1tZWRpYXRlbHkuCiAgKiBAZW5jb2RlcjoJ ZW5jb2RlciBwb2ludGVyCisgKiBAYXN5bmM6CXRydWUgaWYgdGhpcyBpcyBhbiBhc3luY2hyb25v dXMgY29tbWl0CiAgKi8KLXZvaWQgZHB1X2VuY29kZXJfa2lja29mZihzdHJ1Y3QgZHJtX2VuY29k ZXIgKmVuY29kZXIpOwordm9pZCBkcHVfZW5jb2Rlcl9raWNrb2ZmKHN0cnVjdCBkcm1fZW5jb2Rl ciAqZW5jb2RlciwgYm9vbCBhc3luYyk7CiAKIC8qKgogICogZHB1X2VuY29kZXJfd2FpdF9mb3Jf ZXZlbnQgLSBXYWl0cyBmb3IgZW5jb2RlciBldmVudHMKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9k cHUxL2RwdV9rbXMuYwppbmRleCAwYTY4M2U2NWE5ZjMuLjFjYmEyMWVkZDg2MiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwpAQCAtMzUyLDcgKzM1Miw3IEBAIHZvaWQg ZHB1X2ttc19lbmNvZGVyX2VuYWJsZShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiAKIAlp ZiAoY3J0YyAmJiBjcnRjLT5zdGF0ZS0+YWN0aXZlKSB7CiAJCXRyYWNlX2RwdV9rbXNfZW5jX2Vu YWJsZShEUk1JRChjcnRjKSk7Ci0JCWRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKGNydGMpOworCQlk cHVfY3J0Y19jb21taXRfa2lja29mZihjcnRjLCBmYWxzZSk7CiAJfQogfQogCkBAIC0zNjksNyAr MzY5LDggQEAgc3RhdGljIHZvaWQgZHB1X2ttc19jb21taXQoc3RydWN0IG1zbV9rbXMgKmttcywg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiAJCWlmIChjcnRjLT5zdGF0ZS0+YWN0 aXZlKSB7CiAJCQl0cmFjZV9kcHVfa21zX2NvbW1pdChEUk1JRChjcnRjKSk7Ci0JCQlkcHVfY3J0 Y19jb21taXRfa2lja29mZihjcnRjKTsKKwkJCWRwdV9jcnRjX2NvbW1pdF9raWNrb2ZmKGNydGMs CisJCQkJCQlzdGF0ZS0+bGVnYWN5X2N1cnNvcl91cGRhdGUpOwogCQl9CiAJfQogfQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9hdG9taWMuYwppbmRleCBjMWYxNzc5Yzk4MGYuLjc5MTIxMzBjZTVjZSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL21zbS9tc21fYXRvbWljLmMKQEAgLTc2LDcgKzc2LDggQEAgdm9pZCBtc21fYXRvbWljX2Nv bW1pdF90YWlsKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJa21zLT5mdW5jcy0+ Y29tbWl0KGttcywgc3RhdGUpOwogCX0KIAotCW1zbV9hdG9taWNfd2FpdF9mb3JfY29tbWl0X2Rv bmUoZGV2LCBzdGF0ZSk7CisJaWYgKCFzdGF0ZS0+bGVnYWN5X2N1cnNvcl91cGRhdGUpCisJCW1z bV9hdG9taWNfd2FpdF9mb3JfY29tbWl0X2RvbmUoZGV2LCBzdGF0ZSk7CiAKIAlrbXMtPmZ1bmNz LT5jb21wbGV0ZV9jb21taXQoa21zLCBzdGF0ZSk7CiAKLS0gClNlYW4gUGF1bCwgU29mdHdhcmUg RW5naW5lZXIsIEdvb2dsZSAvIENocm9taXVtIE9TCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0Bs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1h bi9saXN0aW5mby9mcmVlZHJlbm8K