From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH 19/25] drm/msm/dpu: remove msm_display_topology Date: Mon, 8 Oct 2018 21:27:36 -0700 Message-ID: <1539059262-8326-20-git-send-email-jsanka@codeaurora.org> References: <1539059262-8326-1-git-send-email-jsanka@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1539059262-8326-1-git-send-email-jsanka-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, freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, Jeykumar Sankaran , jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org bXNtX2Rpc3BsYXlfdG9wb2xvZ3kgd2FzIHVzZWQgZm9yIHByb3ZpZGluZyBIVyBibG9jawpsYXlv dXQgb2YgdGhlIHBpcGVsaW5lIGZvciBhIHNwZWNpZmljIGRpc3BsYXkgdG9wb2xvZ3kuCldlIGFs cmVhZHkgZ290IHJpZCBvZiBpdHMgdXNhZ2UgZnJvbSBEU0kgZHJpdmVyLiBJbiBEUFUsCml0IHdh cyB1c2VkIHRvIHByb3ZpZGUgdGhlIGRldGFpbHMgb24gSFcgYmxvY2tzIHdoaWxlCnJlc2Vydmlu ZyByZXNvdXJjZXMuIFNpbmNlIHdlIGNhbiB1c2UgdGhlIGNydGMgc3RhdGUgdXNlZApmb3Igc3Rv cmluZyB0aGUgYXNzaWduZWQgSFcgYmxvY2tzIGZvciBwcm92aWRpbmcgdGhlIGluZm8sCndlIGNh biBjb252ZW5pZW50bHkgZ2V0IHJpZCBvZiB0aGlzIHN0cnVjdHVyZS4KClNpZ25lZC1vZmYtYnk6 IEpleWt1bWFyIFNhbmthcmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2VuY29kZXIuYyB8IDI5ICsrKystLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9ybS5jICAgICAgfCA4MiArKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmgg ICAgICB8ICA0ICstCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaCAgICAgICAgICAgICAg IHwgMTIgLS0tLS0KIDQgZmlsZXMgY2hhbmdlZCwgMzMgaW5zZXJ0aW9ucygrKSwgOTQgZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2Vu Y29kZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9lbmNvZGVyLmMKaW5k ZXggZGQxNzUyOC4uNWQ1MDFjOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2VuY29kZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9k cHVfZW5jb2Rlci5jCkBAIC0xNjYsNyArMTY2LDYgQEAgZW51bSBkcHVfZW5jX3JjX3N0YXRlcyB7 CiAgKiBAZGVsYXllZF9vZmZfd29yazoJCWRlbGF5ZWQgd29ya2VyIHRvIHNjaGVkdWxlIGRpc2Fi bGluZyBvZgogICoJCQkJY2xrcyBhbmQgcmVzb3VyY2VzIGFmdGVyIElETEVfVElNRU9VVCB0aW1l LgogICogQHZzeW5jX2V2ZW50X3dvcms6CQl3b3JrZXIgdG8gaGFuZGxlIHZzeW5jIGV2ZW50IGZv ciBhdXRvcmVmcmVzaAotICogQHRvcG9sb2d5OiAgICAgICAgICAgICAgICAgICB0b3BvbG9neSBv ZiB0aGUgZGlzcGxheQogICogQGlkbGVfdGltZW91dDoJCWlkbGUgdGltZW91dCBkdXJhdGlvbiBp biBtaWxsaXNlY29uZHMKICAqLwogc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQgewpAQCAtMjAyLDcg KzIwMSw2IEBAIHN0cnVjdCBkcHVfZW5jb2Rlcl92aXJ0IHsKIAllbnVtIGRwdV9lbmNfcmNfc3Rh dGVzIHJjX3N0YXRlOwogCXN0cnVjdCBrdGhyZWFkX2RlbGF5ZWRfd29yayBkZWxheWVkX29mZl93 b3JrOwogCXN0cnVjdCBrdGhyZWFkX3dvcmsgdnN5bmNfZXZlbnRfd29yazsKLQlzdHJ1Y3QgbXNt X2Rpc3BsYXlfdG9wb2xvZ3kgdG9wb2xvZ3k7CiAKIAl1MzIgaWRsZV90aW1lb3V0OwogfTsKQEAg LTU1NywyNSArNTU1LDE5IEBAIHN0YXRpYyB2b2lkIF9kcHVfZW5jb2Rlcl9hZGp1c3RfbW9kZShz dHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCX0KIH0KIAotc3RhdGljIHN0cnVjdCBt c21fZGlzcGxheV90b3BvbG9neSBkcHVfZW5jb2Rlcl9nZXRfdG9wb2xvZ3koCitzdGF0aWMgdm9p ZCBfZHB1X2VuY29kZXJfZ2V0X3RvcG9sb2d5KAogCQkJc3RydWN0IGRwdV9lbmNvZGVyX3ZpcnQg KmRwdV9lbmMsCi0JCQlzdHJ1Y3QgZHB1X2ttcyAqZHB1X2ttcywKKwkJCXN0cnVjdCBkcm1fY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQog ewotCXN0cnVjdCBtc21fZGlzcGxheV90b3BvbG9neSB0b3BvbG9neTsKLQlpbnQgaSwgaW50Zl9j b3VudCA9IDA7Ci0KLQlmb3IgKGkgPSAwOyBpIDwgTUFYX1BIWVNfRU5DT0RFUlNfUEVSX1ZJUlRV QUw7IGkrKykKLQkJaWYgKGRwdV9lbmMtPnBoeXNfZW5jc1tpXSkKLQkJCWludGZfY291bnQrKzsK KwlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmRwdV9jc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShj cnRjX3N0YXRlKTsKIAogCS8qIFVzZXIgc3BsaXQgdG9wb2xvZ3kgZm9yIHdpZHRoID4gMTA4MCAq LwotCXRvcG9sb2d5Lm51bV9sbSA9IChtb2RlLT52ZGlzcGxheSA+IE1BWF9WRElTUExBWV9TUExJ VCkgPyAyIDogMTsKLQl0b3BvbG9neS5udW1fZW5jID0gMDsKLQl0b3BvbG9neS5udW1faW50ZiA9 IGludGZfY291bnQ7Ci0KLQlyZXR1cm4gdG9wb2xvZ3k7CisJZHB1X2NzdGF0ZS0+bnVtX21peGVy cyA9IChtb2RlLT52ZGlzcGxheSA+IE1BWF9WRElTUExBWV9TUExJVCkgPyAyIDogMTsKKwlkcHVf Y3N0YXRlLT5udW1fY3RscyA9IGRwdV9lbmMtPm51bV9waHlzX2VuY3M7CisJZHB1X2NzdGF0ZS0+ bnVtX2ludGZzID0gZHB1X2VuYy0+bnVtX3BoeXNfZW5jczsKIH0KKwogc3RhdGljIGludCBkcHVf ZW5jb2Rlcl92aXJ0X2F0b21pY19jaGVjaygKIAkJc3RydWN0IGRybV9lbmNvZGVyICpkcm1fZW5j LAogCQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCkBAIC01ODYsNyArNTc4LDYg QEAgc3RhdGljIGludCBkcHVfZW5jb2Rlcl92aXJ0X2F0b21pY19jaGVjaygKIAlzdHJ1Y3QgZHB1 X2ttcyAqZHB1X2ttczsKIAljb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqbW9kZTsKIAlz dHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAqYWRqX21vZGU7Ci0Jc3RydWN0IG1zbV9kaXNwbGF5X3Rv cG9sb2d5IHRvcG9sb2d5OwogCWludCBpID0gMDsKIAlpbnQgcmV0ID0gMDsKIApAQCAtNjMyLDEx ICs2MjMsOSBAQCBzdGF0aWMgaW50IGRwdV9lbmNvZGVyX3ZpcnRfYXRvbWljX2NoZWNrKAogCQl9 CiAJfQogCi0JdG9wb2xvZ3kgPSBkcHVfZW5jb2Rlcl9nZXRfdG9wb2xvZ3koZHB1X2VuYywgZHB1 X2ttcywgYWRqX21vZGUpOwotCisJX2RwdV9lbmNvZGVyX2dldF90b3BvbG9neShkcHVfZW5jLCBj cnRjX3N0YXRlLCBhZGpfbW9kZSk7CiAJaWYgKCFyZXQgJiYgZHJtX2F0b21pY19jcnRjX25lZWRz X21vZGVzZXQoY3J0Y19zdGF0ZSkpCi0JCXJldCA9IGRwdV9ybV9yZXNlcnZlKCZkcHVfa21zLT5y bSwgZHJtX2VuYywgY3J0Y19zdGF0ZSwKLQkJCQkgICAgIHRvcG9sb2d5KTsKKwkJcmV0ID0gZHB1 X3JtX3Jlc2VydmUoJmRwdV9rbXMtPnJtLCBkcm1fZW5jLCBjcnRjX3N0YXRlKTsKIAogCWlmICgh cmV0KQogCQlkcm1fbW9kZV9zZXRfY3J0Y2luZm8oYWRqX21vZGUsIDApOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmMgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL2Rpc3AvZHB1MS9kcHVfcm0uYwppbmRleCBiYjU5MjUwLi44NWEwZmUyIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uYworKysgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfcm0uYwpAQCAtMjMsMTEgKzIzLDkgQEAKIAogLyoqCiAg KiBzdHJ1Y3QgZHB1X3JtX3JlcXVpcmVtZW50cyAtIFJlc2VydmF0aW9uIHJlcXVpcmVtZW50cyBw YXJhbWV0ZXIgYnVuZGxlCi0gKiBAdG9wb2xvZ3k6ICBzZWxlY3RlZCB0b3BvbG9neSBmb3IgdGhl IGRpc3BsYXkKICAqIEBod19yZXM6CSAgIEhhcmR3YXJlIHJlc291cmNlcyByZXF1aXJlZCBhcyBy ZXBvcnRlZCBieSB0aGUgZW5jb2RlcnMKICAqLwogc3RydWN0IGRwdV9ybV9yZXF1aXJlbWVudHMg ewotCXN0cnVjdCBtc21fZGlzcGxheV90b3BvbG9neSB0b3BvbG9neTsKIAlzdHJ1Y3QgZHB1X2Vu Y29kZXJfaHdfcmVzb3VyY2VzIGh3X3JlczsKIH07CiAKQEAgLTIzMSw5ICsyMjksOSBAQCBpbnQg ZHB1X3JtX2luaXQoc3RydWN0IGRwdV9ybSAqcm0sCiAJcmV0dXJuIHJjOwogfQogCi1zdGF0aWMg Ym9vbCBfZHB1X3JtX25lZWRzX3NwbGl0X2Rpc3BsYXkoY29uc3Qgc3RydWN0IG1zbV9kaXNwbGF5 X3RvcG9sb2d5ICp0b3ApCitzdGF0aWMgYm9vbCBfZHB1X3JtX25lZWRzX3NwbGl0X2Rpc3BsYXko Y29uc3Qgc3RydWN0IGRwdV9jcnRjX3N0YXRlICpkcHVfY3N0YXRlKQogewotCXJldHVybiB0b3At Pm51bV9pbnRmID4gMTsKKwlyZXR1cm4gZHB1X2NzdGF0ZS0+bnVtX2ludGZzID4gMTsKIH0KIAog LyoqCkBAIC0yNDEsNyArMjM5LDYgQEAgc3RhdGljIGJvb2wgX2RwdV9ybV9uZWVkc19zcGxpdF9k aXNwbGF5KGNvbnN0IHN0cnVjdCBtc21fZGlzcGxheV90b3BvbG9neSAqdG9wKQogICoJcHJvcG9z ZWQgdXNlIGNhc2UgcmVxdWlyZW1lbnRzLCBpbmNsLiBoYXJkd2lyZWQgZGVwZW5kZW50IGJsb2Nr cyBsaWtlCiAgKglwaW5ncG9uZwogICogQHJtOiBkcHUgcmVzb3VyY2UgbWFuYWdlciBoYW5kbGUK LSAqIEByZXFzOiBwcm9wb3NlZCB1c2UgY2FzZSByZXF1aXJlbWVudHMKICAqIEBsbTogcHJvcG9z ZWQgbGF5ZXIgbWl4ZXIsIGZ1bmN0aW9uIGNoZWNrcyBpZiBsbSwgYW5kIGFsbCBvdGhlciBoYXJk d2lyZWQKICAqICAgICAgYmxvY2tzIGNvbm5lY3RlZCB0byB0aGUgbG0gKHBwKSBpcyBhdmFpbGFi bGUgYW5kIGFwcHJvcHJpYXRlCiAgKiBAcHA6IG91dHB1dCBwYXJhbWV0ZXIsIHBpbmdwb25nIGJs b2NrIGF0dGFjaGVkIHRvIHRoZSBsYXllciBtaXhlci4KQEAgLTI1Miw3ICsyNDksNiBAQCBzdGF0 aWMgYm9vbCBfZHB1X3JtX25lZWRzX3NwbGl0X2Rpc3BsYXkoY29uc3Qgc3RydWN0IG1zbV9kaXNw bGF5X3RvcG9sb2d5ICp0b3ApCiAgKi8KIHN0YXRpYyBib29sIF9kcHVfcm1fY2hlY2tfbG1fYW5k X2dldF9jb25uZWN0ZWRfYmxrcygKIAkJc3RydWN0IGRwdV9ybSAqcm0sCi0JCXN0cnVjdCBkcHVf cm1fcmVxdWlyZW1lbnRzICpyZXFzLAogCQlzdHJ1Y3QgZHB1X3JtX2h3X2JsayAqbG0sCiAJCXN0 cnVjdCBkcHVfcm1faHdfYmxrICoqcHAsCiAJCXN0cnVjdCBkcHVfcm1faHdfYmxrICpwcmltYXJ5 X2xtKQpAQCAtMjk3LDkgKzI5Myw3IEBAIHN0YXRpYyBib29sIF9kcHVfcm1fY2hlY2tfbG1fYW5k X2dldF9jb25uZWN0ZWRfYmxrcygKIH0KIAogc3RhdGljIGludCBfZHB1X3JtX3Jlc2VydmVfbG1z KHN0cnVjdCBkcHVfcm0gKnJtLAotCQkJICAgICAgIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqZHB1 X2NzdGF0ZSwKLQkJCSAgICAgICBzdHJ1Y3QgZHB1X3JtX3JlcXVpcmVtZW50cyAqcmVxcykKLQor CQkJICAgICAgIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSAqZHB1X2NzdGF0ZSkKIHsKIAlzdHJ1Y3Qg ZHB1X3JtX2h3X2JsayAqbG1bTUFYX0JMT0NLU107CiAJc3RydWN0IGRwdV9ybV9od19ibGsgKnBw W01BWF9CTE9DS1NdOwpAQCAtMzA4LDE3ICszMDIsMTIgQEAgc3RhdGljIGludCBfZHB1X3JtX3Jl c2VydmVfbG1zKHN0cnVjdCBkcHVfcm0gKnJtLAogCWludCBsbV9jb3VudCA9IDA7CiAJaW50IGks IHJjID0gMDsKIAotCWlmICghcmVxcy0+dG9wb2xvZ3kubnVtX2xtKSB7Ci0JCURQVV9FUlJPUigi aW52YWxpZCBudW1iZXIgb2YgbG06ICVkXG4iLCByZXFzLT50b3BvbG9neS5udW1fbG0pOwotCQly ZXR1cm4gLUVJTlZBTDsKLQl9Ci0KIAkvKiBGaW5kIGEgcHJpbWFyeSBtaXhlciAqLwogCWxpc3Rf Zm9yX2VhY2hfZW50cnkoaXRlcl9pLCBibGtfbGlzdCwgbGlzdCkgewogCQlpZiAoaXRlcl9pLT5p bl91c2UpCiAJCQljb250aW51ZTsKIAotCQlpZiAobG1fY291bnQgPT0gcmVxcy0+dG9wb2xvZ3ku bnVtX2xtKQorCQlpZiAobG1fY291bnQgPT0gZHB1X2NzdGF0ZS0+bnVtX21peGVycykKIAkJCWJy ZWFrOwogCiAJCW1lbXNldCgmbG0sIDAsIHNpemVvZihsbSkpOwpAQCAtMzI4LDggKzMxNyw3IEBA IHN0YXRpYyBpbnQgX2RwdV9ybV9yZXNlcnZlX2xtcyhzdHJ1Y3QgZHB1X3JtICpybSwKIAkJbG1b bG1fY291bnRdID0gaXRlcl9pOwogCiAJCWlmICghX2RwdV9ybV9jaGVja19sbV9hbmRfZ2V0X2Nv bm5lY3RlZF9ibGtzKAotCQkJCXJtLCByZXFzLCBsbVtsbV9jb3VudF0sCi0JCQkJJnBwW2xtX2Nv dW50XSwgTlVMTCkpCisJCQkJcm0sIGxtW2xtX2NvdW50XSwgJnBwW2xtX2NvdW50XSwgTlVMTCkp CiAJCQljb250aW51ZTsKIAogCQkrK2xtX2NvdW50OwpAQCAtMzM5LDE1ICszMjcsMTQgQEAgc3Rh dGljIGludCBfZHB1X3JtX3Jlc2VydmVfbG1zKHN0cnVjdCBkcHVfcm0gKnJtLAogCQkJaWYgKGl0 ZXJfai0+aW5fdXNlKQogCQkJCWNvbnRpbnVlOwogCi0JCQlpZiAobG1fY291bnQgPT0gcmVxcy0+ dG9wb2xvZ3kubnVtX2xtKQorCQkJaWYgKGxtX2NvdW50ID09IGRwdV9jc3RhdGUtPm51bV9taXhl cnMpCiAJCQkJYnJlYWs7CiAKIAkJCWlmIChpdGVyX2kgPT0gaXRlcl9qKQogCQkJCWNvbnRpbnVl OwogCiAJCQlpZiAoIV9kcHVfcm1fY2hlY2tfbG1fYW5kX2dldF9jb25uZWN0ZWRfYmxrcygKLQkJ CQkJcm0sIHJlcXMsIGl0ZXJfaiwKLQkJCQkJJnBwW2xtX2NvdW50XSwgaXRlcl9pKSkKKwkJCQkJ cm0sIGl0ZXJfaiwgJnBwW2xtX2NvdW50XSwgaXRlcl9pKSkKIAkJCQljb250aW51ZTsKIAogCQkJ bG1bbG1fY291bnRdID0gaXRlcl9qOwpAQCAtMzU1LDcgKzM0Miw3IEBAIHN0YXRpYyBpbnQgX2Rw dV9ybV9yZXNlcnZlX2xtcyhzdHJ1Y3QgZHB1X3JtICpybSwKIAkJfQogCX0KIAotCWlmIChsbV9j b3VudCAhPSByZXFzLT50b3BvbG9neS5udW1fbG0pIHsKKwlpZiAobG1fY291bnQgIT0gZHB1X2Nz dGF0ZS0+bnVtX21peGVycykgewogCQlEUFVfREVCVUcoInVuYWJsZSB0byBmaW5kIGFwcHJvcHJp YXRlIG1peGVyc1xuIik7CiAJCXJldHVybiAtRU5BVkFJTDsKIAl9CkBAIC0zNzQsMjkgKzM2MSwy MiBAQCBzdGF0aWMgaW50IF9kcHVfcm1fcmVzZXJ2ZV9sbXMoc3RydWN0IGRwdV9ybSAqcm0sCiAJ CQkJCSBwcFtpXS0+aHctPmlkKTsKIAl9CiAKLQlkcHVfY3N0YXRlLT5udW1fbWl4ZXJzID0gbG1f Y291bnQ7Ci0KIAlyZXR1cm4gcmM7CiB9CiAKIHN0YXRpYyBpbnQgX2RwdV9ybV9yZXNlcnZlX2N0 bHMoCiAJCXN0cnVjdCBkcHVfcm0gKnJtLAotCQlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmRwdV9j c3RhdGUsCi0JCWNvbnN0IHN0cnVjdCBtc21fZGlzcGxheV90b3BvbG9neSAqdG9wKQorCQlzdHJ1 Y3QgZHB1X2NydGNfc3RhdGUgKmRwdV9jc3RhdGUpCiB7CiAJc3RydWN0IGRwdV9ybV9od19ibGsg KmN0bHNbTUFYX0JMT0NLU107CiAJc3RydWN0IGRwdV9ybV9od19ibGsgKml0ZXI7CiAJc3RydWN0 IGxpc3RfaGVhZCAqYmxrX2xpc3QgPSAmcm0tPmh3X2Jsa3NbRFBVX0hXX0JMS19DVExdOwotCi0J aW50IGkgPSAwLCBudW1fY3RscyA9IDA7CisJaW50IGkgPSAwOwogCWJvb2wgbmVlZHNfc3BsaXRf ZGlzcGxheSA9IGZhbHNlOwogCiAJbWVtc2V0KCZjdGxzLCAwLCBzaXplb2YoY3RscykpOwogCi0J LyogZWFjaCBod19pbnRmIG5lZWRzIGl0cyBvd24gaHdfY3RybCB0byBwcm9ncmFtIGl0cyBjb250 cm9sIHBhdGggKi8KLQludW1fY3RscyA9IHRvcC0+bnVtX2ludGY7Ci0KLQluZWVkc19zcGxpdF9k aXNwbGF5ID0gX2RwdV9ybV9uZWVkc19zcGxpdF9kaXNwbGF5KHRvcCk7CisJbmVlZHNfc3BsaXRf ZGlzcGxheSA9IF9kcHVfcm1fbmVlZHNfc3BsaXRfZGlzcGxheShkcHVfY3N0YXRlKTsKIAogCWxp c3RfZm9yX2VhY2hfZW50cnkoaXRlciwgYmxrX2xpc3QsIGxpc3QpICB7CiAJCWNvbnN0IHN0cnVj dCBkcHVfaHdfY3RsICpjdGwgPSB0b19kcHVfaHdfY3RsKGl0ZXItPmh3KTsKQEAgLTQxNiwyMiAr Mzk2LDIwIEBAIHN0YXRpYyBpbnQgX2RwdV9ybV9yZXNlcnZlX2N0bHMoCiAJCWN0bHNbaV0gPSBp dGVyOwogCQlEUFVfREVCVUcoImN0bCAlZCBtYXRjaFxuIiwgaXRlci0+aHctPmlkKTsKIAotCQlp ZiAoKytpID09IG51bV9jdGxzKQorCQlpZiAoKytpID09IGRwdV9jc3RhdGUtPm51bV9jdGxzKQog CQkJYnJlYWs7CiAJfQogCi0JaWYgKGkgIT0gbnVtX2N0bHMpCisJaWYgKGkgIT0gZHB1X2NzdGF0 ZS0+bnVtX2N0bHMpCiAJCXJldHVybiAtRU5BVkFJTDsKIAotCWZvciAoaSA9IDA7IGkgPCBBUlJB WV9TSVpFKGN0bHMpICYmIGkgPCBudW1fY3RsczsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUoY3RscykgJiYgaSA8IGRwdV9jc3RhdGUtPm51bV9jdGxzOyBpKyspIHsKIAkJY3Rs c1tpXS0+aW5fdXNlID0gdHJ1ZTsKIAkJZHB1X2NzdGF0ZS0+aHdfY3Rsc1tpXSA9IHRvX2RwdV9o d19jdGwoY3Rsc1tpXS0+aHcpOwogCiAJCXRyYWNlX2RwdV9ybV9yZXNlcnZlX2N0bHMoY3Rsc1tp XS0+aHctPmlkLCBEUFVfSFdfQkxLX0NUTCk7CiAJfQogCi0JZHB1X2NzdGF0ZS0+bnVtX2N0bHMg PSBudW1fY3RsczsKLQogCXJldHVybiAwOwogfQogCkBAIC00NzAsNyArNDQ4LDggQEAgc3RhdGlj IGludCBfZHB1X3JtX3Jlc2VydmVfaW50ZnMoCiAJCXRyYWNlX2RwdV9ybV9yZXNlcnZlX2ludGYo aW50Zl9ibGstPmh3LT5pZCwgRFBVX0hXX0JMS19JTlRGKTsKIAl9CiAKLQlkcHVfY3N0YXRlLT5u dW1faW50ZnMgPSBudW1faW50ZnM7CisJaWYgKGRwdV9jc3RhdGUtPm51bV9pbnRmcyAhPSBudW1f aW50ZnMpCisJCXJldHVybiAtRUlOVkFMOwogCiAJcmV0dXJuIDA7CiB9CkBAIC00ODIsMTMgKzQ2 MSwxMyBAQCBzdGF0aWMgaW50IF9kcHVfcm1fbWFrZV9yZXNlcnZhdGlvbigKIHsKIAlpbnQgcmV0 OwogCi0JcmV0ID0gX2RwdV9ybV9yZXNlcnZlX2xtcyhybSwgZHB1X2NzdGF0ZSwgcmVxcyk7CisJ cmV0ID0gX2RwdV9ybV9yZXNlcnZlX2xtcyhybSwgZHB1X2NzdGF0ZSk7CiAJaWYgKHJldCkgewog CQlEUFVfRVJST1IoInVuYWJsZSB0byBmaW5kIGFwcHJvcHJpYXRlIG1peGVyc1xuIik7CiAJCXJl dHVybiByZXQ7CiAJfQogCi0JcmV0ID0gX2RwdV9ybV9yZXNlcnZlX2N0bHMocm0sIGRwdV9jc3Rh dGUsICZyZXFzLT50b3BvbG9neSk7CisJcmV0ID0gX2RwdV9ybV9yZXNlcnZlX2N0bHMocm0sIGRw dV9jc3RhdGUpOwogCWlmIChyZXQpIHsKIAkJRFBVX0VSUk9SKCJ1bmFibGUgdG8gZmluZCBhcHBy b3ByaWF0ZSBDVExcbiIpOwogCQlyZXR1cm4gcmV0OwpAQCAtNTAzLDIxICs0ODIsMTEgQEAgc3Rh dGljIGludCBfZHB1X3JtX21ha2VfcmVzZXJ2YXRpb24oCiAJcmV0dXJuIHJldDsKIH0KIAotc3Rh dGljIGludCBfZHB1X3JtX3BvcHVsYXRlX3JlcXVpcmVtZW50cygKLQkJc3RydWN0IGRwdV9ybSAq cm0sCitzdGF0aWMgdm9pZCBfZHB1X3JtX3BvcHVsYXRlX3JlcXVpcmVtZW50cygKIAkJc3RydWN0 IGRybV9lbmNvZGVyICplbmMsCi0JCXN0cnVjdCBkcHVfcm1fcmVxdWlyZW1lbnRzICpyZXFzLAot CQlzdHJ1Y3QgbXNtX2Rpc3BsYXlfdG9wb2xvZ3kgcmVxX3RvcG9sb2d5KQorCQlzdHJ1Y3QgZHB1 X3JtX3JlcXVpcmVtZW50cyAqcmVxcykKIHsKIAlkcHVfZW5jb2Rlcl9nZXRfaHdfcmVzb3VyY2Vz KGVuYywgJnJlcXMtPmh3X3Jlcyk7Ci0KLQlyZXFzLT50b3BvbG9neSA9IHJlcV90b3BvbG9neTsK LQotCURSTV9ERUJVR19LTVMoIm51bV9sbTogJWQgbnVtX2VuYzogJWQgbnVtX2ludGY6ICVkXG4i LAotCQkgICAgICByZXFzLT50b3BvbG9neS5udW1fbG0sIHJlcXMtPnRvcG9sb2d5Lm51bV9lbmMs Ci0JCSAgICAgIHJlcXMtPnRvcG9sb2d5Lm51bV9pbnRmKTsKLQotCXJldHVybiAwOwogfQogCiBz dGF0aWMgaW50IF9kcHVfcm1fcmVsZWFzZV9odyhzdHJ1Y3QgZHB1X3JtICpybSwgZW51bSBkcHVf aHdfYmxrX3R5cGUgdHlwZSwKQEAgLTU5MSw4ICs1NjAsNyBAQCB2b2lkIGRwdV9ybV9yZWxlYXNl KHN0cnVjdCBkcHVfcm0gKnJtLCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiBp bnQgZHB1X3JtX3Jlc2VydmUoCiAJCXN0cnVjdCBkcHVfcm0gKnJtLAogCQlzdHJ1Y3QgZHJtX2Vu Y29kZXIgKmVuYywKLQkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAotCQlzdHJ1 Y3QgbXNtX2Rpc3BsYXlfdG9wb2xvZ3kgdG9wb2xvZ3kpCisJCXN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIHsKIAlzdHJ1Y3QgZHB1X3JtX3JlcXVpcmVtZW50cyByZXFzOwogCXN0 cnVjdCBkcHVfY3J0Y19zdGF0ZSAqZHB1X2NzdGF0ZSA9IHRvX2RwdV9jcnRjX3N0YXRlKGNydGNf c3RhdGUpOwpAQCAtNjA3LDE4ICs1NzUsMTQgQEAgaW50IGRwdV9ybV9yZXNlcnZlKAogCiAJbXV0 ZXhfbG9jaygmcm0tPnJtX2xvY2spOwogCi0JcmV0ID0gX2RwdV9ybV9wb3B1bGF0ZV9yZXF1aXJl bWVudHMocm0sIGVuYywgJnJlcXMsIHRvcG9sb2d5KTsKLQlpZiAocmV0KSB7Ci0JCURQVV9FUlJP UigiZmFpbGVkIHRvIHBvcHVsYXRlIGh3IHJlcXVpcmVtZW50c1xuIik7Ci0JCWdvdG8gZW5kOwot CX0KKwlfZHB1X3JtX3BvcHVsYXRlX3JlcXVpcmVtZW50cyhlbmMsICZyZXFzKTsKIAogCXJldCA9 IF9kcHVfcm1fbWFrZV9yZXNlcnZhdGlvbihybSwgZHB1X2NzdGF0ZSwgJnJlcXMpOwogCWlmIChy ZXQpIHsKIAkJRFBVX0VSUk9SKCJmYWlsZWQgdG8gcmVzZXJ2ZSBodyByZXNvdXJjZXM6ICVkXG4i LCByZXQpOwogCQlfZHB1X3JtX3JlbGVhc2VfcmVzZXJ2YXRpb24ocm0sIGRwdV9jc3RhdGUpOwog CX0KLWVuZDoKKwogCW11dGV4X3VubG9jaygmcm0tPnJtX2xvY2spOwogCiAJcmV0dXJuIHJldDsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9ybS5oIGIvZHJp dmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmgKaW5kZXggNDE1ZWVlYy4uMTYyNmNl ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X3JtLmgKQEAgLTYyLDEzICs2Miwx MSBAQCBpbnQgZHB1X3JtX2luaXQoc3RydWN0IGRwdV9ybSAqcm0sCiAgKiBAcm06IERQVSBSZXNv dXJjZSBNYW5hZ2VyIGhhbmRsZQogICogQGRybV9lbmM6IERSTSBFbmNvZGVyIGhhbmRsZQogICog QGNydGNfc3RhdGU6IFByb3Bvc2VkIEF0b21pYyBEUk0gQ1JUQyBTdGF0ZSBoYW5kbGUKLSAqIEB0 b3BvbG9neTogUG9pbnRlciB0byB0b3BvbG9neSBpbmZvIGZvciB0aGUgZGlzcGxheQogICogQFJl dHVybjogMCBvbiBTdWNjZXNzIG90aGVyd2lzZSAtRVJST1IKICAqLwogaW50IGRwdV9ybV9yZXNl cnZlKHN0cnVjdCBkcHVfcm0gKnJtLAogCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmRybV9lbmMsCi0J CXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKLQkJc3RydWN0IG1zbV9kaXNwbGF5 X3RvcG9sb2d5IHRvcG9sb2d5KTsKKwkJc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KTsKIAogLyoqCiAgKiBkcHVfcm1fcmVsZWFzZSAtIEdpdmVuIHRoZSBlbmNvZGVyIGZvciB0aGUg ZGlzcGxheSBjaGFpbiwgcmVsZWFzZSBhbnkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKaW5kZXggOWQxMWYz Mi4uMzUxNWZiMCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKQEAgLTExMywxOCArMTEzLDYgQEAgZW51 bSBtc21fZXZlbnRfd2FpdCB7CiB9OwogCiAvKioKLSAqIHN0cnVjdCBtc21fZGlzcGxheV90b3Bv bG9neSAtIGRlZmluZXMgYSBkaXNwbGF5IHRvcG9sb2d5IHBpcGVsaW5lCi0gKiBAbnVtX2xtOiAg ICAgICBudW1iZXIgb2YgbGF5ZXIgbWl4ZXJzIHVzZWQKLSAqIEBudW1fZW5jOiAgICAgIG51bWJl ciBvZiBjb21wcmVzc2lvbiBlbmNvZGVyIGJsb2NrcyB1c2VkCi0gKiBAbnVtX2ludGY6ICAgICBu dW1iZXIgb2YgaW50ZXJmYWNlcyB0aGUgcGFuZWwgaXMgbW91bnRlZCBvbgotICovCi1zdHJ1Y3Qg bXNtX2Rpc3BsYXlfdG9wb2xvZ3kgewotCXUzMiBudW1fbG07Ci0JdTMyIG51bV9lbmM7Ci0JdTMy IG51bV9pbnRmOwotfTsKLQotLyoqCiAgKiBzdHJ1Y3QgbXNtX2Rpc3BsYXlfaW5mbyAtIGRlZmlu ZXMgZGlzcGxheSBwcm9wZXJ0aWVzCiAgKiBAaW50Zl90eXBlOiAgICAgICAgICBEUk1fTU9ERV9D T05ORUNUT1JfIGRpc3BsYXkgdHlwZQogICogQGNhcGFiaWxpdGllczogICAgICAgQml0bWFzayBv ZiBkaXNwbGF5IGZsYWdzCi0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4g aXMgYSBtZW1iZXIgb2YgdGhlIENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4IEZvdW5kYXRpb24g Q29sbGFib3JhdGl2ZSBQcm9qZWN0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpGcmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9mcmVlZHJlbm8K