From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jeykumar Sankaran Subject: [PATCH v5 11/19] drm/msm/dpu: move hw resource tracking to crtc state Date: Wed, 5 Sep 2018 19:08:20 -0700 Message-ID: <1536199708-23664-12-git-send-email-jsanka@codeaurora.org> References: <1536199708-23664-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: <1536199708-23664-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 , seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org UHJlcCBjaGFuZ2VzIGZvciBzdGF0ZSBiYXNlZCByZXNvdXJjZSBtYW5hZ2VtZW50LgoKTW92ZXMg YWxsIHRoZSBodyBibG9jayB0cmFja2luZyBmb3IgdGhlIGNydGMgdG8gdGhlIHN0YXRlCm9iamVj dC4KCmNoYW5nZXMgaW4gdjQ6CgktIFNlcmlhbGl6ZSBjcnRjIHN0YXRlIGFjY2VzcyBpbiBkZWJ1 Z2ZzIGhhbmRsZXJzIChTZWFuKQoJLSBTcGxpdCB0aGUgY3J0YyB3aWR0aCBxdWVyeSBhcyBhIHNl cGFyYXRlIGNoYW5nZSAoU2VhbikKY2hhbmdlcyBpbiB2NToKCS0gbW9kZSBzZXQgbG9jayBhbGwg YmVmb3JlIGNydGMgc3RhdGUgYWNjZXNzIChTZWFuKQoJLSByZW1vdmUgdW53YW50ZWQgbWVtc2V0 IGZvciBodyBtaXhlciBjYWNoZSAoU2VhbikKClNpZ25lZC1vZmYtYnk6IEpleWt1bWFyIFNhbmth cmFuIDxqc2Fua2FAY29kZWF1cm9yYS5vcmc+Ci0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L2RwdTEvZHB1X2NydGMuYyB8IDU5ICsrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oIHwgMjIgKysrKysrLS0tLS0t CiAyIGZpbGVzIGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5jCmluZGV4IDQ0ODk5NGYuLjRhYjEz NTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuYwpAQCAtMTU1LDkg KzE1NSw5IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19wcm9ncmFtX2xtX291dHB1dF9yb2koc3Ry dWN0IGRybV9jcnRjICpjcnRjKQogCWNydGNfc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShjcnRj LT5zdGF0ZSk7CiAKIAlsbV9ob3Jpel9wb3NpdGlvbiA9IDA7Ci0JZm9yIChsbV9pZHggPSAwOyBs bV9pZHggPCBkcHVfY3J0Yy0+bnVtX21peGVyczsgbG1faWR4KyspIHsKKwlmb3IgKGxtX2lkeCA9 IDA7IGxtX2lkeCA8IGNydGNfc3RhdGUtPm51bV9taXhlcnM7IGxtX2lkeCsrKSB7CiAJCWNvbnN0 IHN0cnVjdCBkcm1fcmVjdCAqbG1fcm9pID0gJmNydGNfc3RhdGUtPmxtX2JvdW5kc1tsbV9pZHhd OwotCQlzdHJ1Y3QgZHB1X2h3X21peGVyICpod19sbSA9IGRwdV9jcnRjLT5taXhlcnNbbG1faWR4 XS5od19sbTsKKwkJc3RydWN0IGRwdV9od19taXhlciAqaHdfbG0gPSBjcnRjX3N0YXRlLT5taXhl cnNbbG1faWR4XS5od19sbTsKIAkJc3RydWN0IGRwdV9od19taXhlcl9jZmcgY2ZnOwogCiAJCWlm ICghbG1fcm9pIHx8ICFkcm1fcmVjdF92aXNpYmxlKGxtX3JvaSkpCkBAIC0yMzgsNyArMjM4LDcg QEAgc3RhdGljIHZvaWQgX2RwdV9jcnRjX2JsZW5kX3NldHVwX21peGVyKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAkJCQkJICAgZmIgPyBmYi0+bW9kaWZpZXIgOiAwKTsKIAogCQkvKiBibGVuZCBj b25maWcgdXBkYXRlICovCi0JCWZvciAobG1faWR4ID0gMDsgbG1faWR4IDwgZHB1X2NydGMtPm51 bV9taXhlcnM7IGxtX2lkeCsrKSB7CisJCWZvciAobG1faWR4ID0gMDsgbG1faWR4IDwgY3N0YXRl LT5udW1fbWl4ZXJzOyBsbV9pZHgrKykgewogCQkJX2RwdV9jcnRjX3NldHVwX2JsZW5kX2NmZyht aXhlciArIGxtX2lkeCwKIAkJCQkJCXBzdGF0ZSwgZm9ybWF0KTsKIApAQCAtMjYyLDcgKzI2Miw3 IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ibGVuZF9zZXR1cF9taXhlcihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiBzdGF0aWMgdm9pZCBfZHB1X2NydGNfYmxlbmRfc2V0dXAoc3RydWN0IGRybV9j cnRjICpjcnRjKQogewogCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7Ci0Jc3RydWN0IGRwdV9j cnRjX3N0YXRlICpkcHVfY3J0Y19zdGF0ZTsKKwlzdHJ1Y3QgZHB1X2NydGNfc3RhdGUgKmNzdGF0 ZTsKIAlzdHJ1Y3QgZHB1X2NydGNfbWl4ZXIgKm1peGVyOwogCXN0cnVjdCBkcHVfaHdfY3RsICpj dGw7CiAJc3RydWN0IGRwdV9od19taXhlciAqbG07CkBAIC0yNzMsMTcgKzI3MywxMiBAQCBzdGF0 aWMgdm9pZCBfZHB1X2NydGNfYmxlbmRfc2V0dXAoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQly ZXR1cm47CiAKIAlkcHVfY3J0YyA9IHRvX2RwdV9jcnRjKGNydGMpOwotCWRwdV9jcnRjX3N0YXRl ID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwotCW1peGVyID0gZHB1X2NydGMtPm1p eGVyczsKKwljc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShjcnRjLT5zdGF0ZSk7CisJbWl4ZXIg PSBjc3RhdGUtPm1peGVyczsKIAogCURQVV9ERUJVRygiJXNcbiIsIGRwdV9jcnRjLT5uYW1lKTsK IAotCWlmIChkcHVfY3J0Yy0+bnVtX21peGVycyA+IENSVENfRFVBTF9NSVhFUlMpIHsKLQkJRFBV X0VSUk9SKCJpbnZhbGlkIG51bWJlciBtaXhlcnM6ICVkXG4iLCBkcHVfY3J0Yy0+bnVtX21peGVy cyk7Ci0JCXJldHVybjsKLQl9Ci0KLQlmb3IgKGkgPSAwOyBpIDwgZHB1X2NydGMtPm51bV9taXhl cnM7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBjc3RhdGUtPm51bV9taXhlcnM7IGkrKykgewog CQlpZiAoIW1peGVyW2ldLmh3X2xtIHx8ICFtaXhlcltpXS5od19jdGwpIHsKIAkJCURQVV9FUlJP UigiaW52YWxpZCBsbSBvciBjdGwgYXNzaWduZWQgdG8gbWl4ZXJcbiIpOwogCQkJcmV0dXJuOwpA QCAtMzAwLDcgKzI5NSw3IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19ibGVuZF9zZXR1cChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpCiAKIAlfZHB1X2NydGNfYmxlbmRfc2V0dXBfbWl4ZXIoY3J0Yywg ZHB1X2NydGMsIG1peGVyKTsKIAotCWZvciAoaSA9IDA7IGkgPCBkcHVfY3J0Yy0+bnVtX21peGVy czsgaSsrKSB7CisJZm9yIChpID0gMDsgaSA8IGNzdGF0ZS0+bnVtX21peGVyczsgaSsrKSB7CiAJ CWN0bCA9IG1peGVyW2ldLmh3X2N0bDsKIAkJbG0gPSBtaXhlcltpXS5od19sbTsKIApAQCAtNTIy LDcgKzUxNyw3IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXR1cF9taXhlcl9mb3JfZW5jb2Rl cigKIAkJc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuYykK IHsKLQlzdHJ1Y3QgZHB1X2NydGMgKmRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7CisJc3Ry dWN0IGRwdV9jcnRjX3N0YXRlICpjc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShjcnRjLT5zdGF0 ZSk7CiAJc3RydWN0IGRwdV9rbXMgKmRwdV9rbXMgPSBfZHB1X2NydGNfZ2V0X2ttcyhjcnRjKTsK IAlzdHJ1Y3QgZHB1X3JtICpybSA9ICZkcHVfa21zLT5ybTsKIAlzdHJ1Y3QgZHB1X2NydGNfbWl4 ZXIgKm1peGVyOwpAQCAtNTM0LDggKzUyOSw4IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXR1 cF9taXhlcl9mb3JfZW5jb2RlcigKIAlkcHVfcm1faW5pdF9od19pdGVyKCZjdGxfaXRlciwgZW5j LT5iYXNlLmlkLCBEUFVfSFdfQkxLX0NUTCk7CiAKIAkvKiBTZXQgdXAgYWxsIHRoZSBtaXhlcnMg YW5kIGN0bHMgcmVzZXJ2ZWQgYnkgdGhpcyBlbmNvZGVyICovCi0JZm9yIChpID0gZHB1X2NydGMt Pm51bV9taXhlcnM7IGkgPCBBUlJBWV9TSVpFKGRwdV9jcnRjLT5taXhlcnMpOyBpKyspIHsKLQkJ bWl4ZXIgPSAmZHB1X2NydGMtPm1peGVyc1tpXTsKKwlmb3IgKGkgPSBjc3RhdGUtPm51bV9taXhl cnM7IGkgPCBBUlJBWV9TSVpFKGNzdGF0ZS0+bWl4ZXJzKTsgaSsrKSB7CisJCW1peGVyID0gJmNz dGF0ZS0+bWl4ZXJzW2ldOwogCiAJCWlmICghZHB1X3JtX2dldF9odyhybSwgJmxtX2l0ZXIpKQog CQkJYnJlYWs7CkBAIC01NjAsNyArNTU1LDcgQEAgc3RhdGljIHZvaWQgX2RwdV9jcnRjX3NldHVw X21peGVyX2Zvcl9lbmNvZGVyKAogCiAJCW1peGVyLT5lbmNvZGVyID0gZW5jOwogCi0JCWRwdV9j cnRjLT5udW1fbWl4ZXJzKys7CisJCWNzdGF0ZS0+bnVtX21peGVycysrOwogCQlEUFVfREVCVUco InNldHVwIG1peGVyICVkOiBsbSAlZFxuIiwKIAkJCQlpLCBtaXhlci0+aHdfbG0tPmlkeCAtIExN XzApOwogCQlEUFVfREVCVUcoInNldHVwIG1peGVyICVkOiBjdGwgJWRcbiIsCkBAIC01NzMsMTAg KzU2OCw2IEBAIHN0YXRpYyB2b2lkIF9kcHVfY3J0Y19zZXR1cF9taXhlcnMoc3RydWN0IGRybV9j cnRjICpjcnRjKQogCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGMgPSB0b19kcHVfY3J0YyhjcnRj KTsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuYzsKIAotCWRwdV9jcnRjLT5udW1fbWl4ZXJzID0g MDsKLQlkcHVfY3J0Yy0+bWl4ZXJzX3N3YXBwZWQgPSBmYWxzZTsKLQltZW1zZXQoZHB1X2NydGMt Pm1peGVycywgMCwgc2l6ZW9mKGRwdV9jcnRjLT5taXhlcnMpKTsKLQogCW11dGV4X2xvY2soJmRw dV9jcnRjLT5jcnRjX2xvY2spOwogCS8qIENoZWNrIGZvciBtaXhlcnMgb24gYWxsIGVuY29kZXJz IGF0dGFjaGVkIHRvIHRoaXMgY3J0YyAqLwogCWxpc3RfZm9yX2VhY2hfZW50cnkoZW5jLCAmY3J0 Yy0+ZGV2LT5tb2RlX2NvbmZpZy5lbmNvZGVyX2xpc3QsIGhlYWQpIHsKQEAgLTYwOSw3ICs2MDAs NyBAQCBzdGF0aWMgdm9pZCBfZHB1X2NydGNfc2V0dXBfbG1fYm91bmRzKHN0cnVjdCBkcm1fY3J0 YyAqY3J0YywKIAlhZGpfbW9kZSA9ICZzdGF0ZS0+YWRqdXN0ZWRfbW9kZTsKIAljcnRjX3NwbGl0 X3dpZHRoID0gX2RwdV9jcnRjX2dldF9taXhlcl93aWR0aChjc3RhdGUsIGFkal9tb2RlKTsKIAot CWZvciAoaSA9IDA7IGkgPCBkcHVfY3J0Yy0+bnVtX21peGVyczsgaSsrKSB7CisJZm9yIChpID0g MDsgaSA8IGNzdGF0ZS0+bnVtX21peGVyczsgaSsrKSB7CiAJCXN0cnVjdCBkcm1fcmVjdCAqciA9 ICZjc3RhdGUtPmxtX2JvdW5kc1tpXTsKIAkJci0+eDEgPSBjcnRjX3NwbGl0X3dpZHRoICogaTsK IAkJci0+eTEgPSAwOwpAQCAtNjI2LDYgKzYxNyw3IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2F0 b21pY19iZWdpbihzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCiAJCXN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqb2xkX3N0YXRlKQogewogCXN0cnVjdCBkcHVfY3J0YyAqZHB1X2NydGM7CisJc3RydWN0IGRw dV9jcnRjX3N0YXRlICpjc3RhdGU7CiAJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyOwogCXN0 cnVjdCBkcm1fZGV2aWNlICpkZXY7CiAJdW5zaWduZWQgbG9uZyBmbGFnczsKQEAgLTY0NSwxMCAr NjM3LDExIEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2F0b21pY19iZWdpbihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJRFBVX0RFQlVHKCJjcnRjJWRcbiIsIGNydGMtPmJhc2UuaWQpOwogCiAJZHB1 X2NydGMgPSB0b19kcHVfY3J0YyhjcnRjKTsKKwljc3RhdGUgPSB0b19kcHVfY3J0Y19zdGF0ZShj cnRjLT5zdGF0ZSk7CiAJZGV2ID0gY3J0Yy0+ZGV2OwogCXNtbXVfc3RhdGUgPSAmZHB1X2NydGMt PnNtbXVfc3RhdGU7CiAKLQlpZiAoIWRwdV9jcnRjLT5udW1fbWl4ZXJzKSB7CisJaWYgKCFjc3Rh dGUtPm51bV9taXhlcnMpIHsKIAkJX2RwdV9jcnRjX3NldHVwX21peGVycyhjcnRjKTsKIAkJX2Rw dV9jcnRjX3NldHVwX2xtX2JvdW5kcyhjcnRjLCBjcnRjLT5zdGF0ZSk7CiAJfQpAQCAtNjc1LDcg KzY2OCw3IEBAIHN0YXRpYyB2b2lkIGRwdV9jcnRjX2F0b21pY19iZWdpbihzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMsCiAJICogaXQgbWVhbnMgd2UgYXJlIHRyeWluZyB0byBmbHVzaCBhIENSVEMgd2hv c2Ugc3RhdGUgaXMgZGlzYWJsZWQ6CiAJICogbm90aGluZyBlbHNlIG5lZWRzIHRvIGJlIGRvbmUu CiAJICovCi0JaWYgKHVubGlrZWx5KCFkcHVfY3J0Yy0+bnVtX21peGVycykpCisJaWYgKHVubGlr ZWx5KCFjc3RhdGUtPm51bV9taXhlcnMpKQogCQlyZXR1cm47CiAKIAlfZHB1X2NydGNfYmxlbmRf c2V0dXAoY3J0Yyk7CkBAIC03MzksNyArNzMyLDcgQEAgc3RhdGljIHZvaWQgZHB1X2NydGNfYXRv bWljX2ZsdXNoKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkgKiBpdCBtZWFucyB3ZSBhcmUgdHJ5 aW5nIHRvIGZsdXNoIGEgQ1JUQyB3aG9zZSBzdGF0ZSBpcyBkaXNhYmxlZDoKIAkgKiBub3RoaW5n IGVsc2UgbmVlZHMgdG8gYmUgZG9uZS4KIAkgKi8KLQlpZiAodW5saWtlbHkoIWRwdV9jcnRjLT5u dW1fbWl4ZXJzKSkKKwlpZiAodW5saWtlbHkoIWNzdGF0ZS0+bnVtX21peGVycykpCiAJCXJldHVy bjsKIAogCS8qCkBAIC04NTQsNyArODQ3LDcgQEAgdm9pZCBkcHVfY3J0Y19jb21taXRfa2lja29m ZihzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJICogaXQgbWVhbnMgd2UgYXJlIHRyeWluZyB0byBz dGFydCBhIENSVEMgd2hvc2Ugc3RhdGUgaXMgZGlzYWJsZWQ6CiAJICogbm90aGluZyBlbHNlIG5l ZWRzIHRvIGJlIGRvbmUuCiAJICovCi0JaWYgKHVubGlrZWx5KCFkcHVfY3J0Yy0+bnVtX21peGVy cykpCisJaWYgKHVubGlrZWx5KCFjc3RhdGUtPm51bV9taXhlcnMpKQogCQlyZXR1cm47CiAKIAlE UFVfQVRSQUNFX0JFR0lOKCJjcnRjX2NvbW1pdCIpOwpAQCAtMTA4OCwxMiArMTA4MSwxNCBAQCBz dGF0aWMgdm9pZCBkcHVfY3J0Y19oYW5kbGVfcG93ZXJfZXZlbnQodTMyIGV2ZW50X3R5cGUsIHZv aWQgKmFyZykKIAlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBhcmc7CiAJc3RydWN0IGRwdV9jcnRj ICpkcHVfY3J0YzsKIAlzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXI7CisJc3RydWN0IGRwdV9j cnRjX3N0YXRlICpjc3RhdGU7CiAKIAlpZiAoIWNydGMpIHsKIAkJRFBVX0VSUk9SKCJpbnZhbGlk IGNydGNcbiIpOwogCQlyZXR1cm47CiAJfQogCWRwdV9jcnRjID0gdG9fZHB1X2NydGMoY3J0Yyk7 CisJY3N0YXRlID0gdG9fZHB1X2NydGNfc3RhdGUoZHB1X2NydGMtPmJhc2Uuc3RhdGUpOwogCiAJ bXV0ZXhfbG9jaygmZHB1X2NydGMtPmNydGNfbG9jayk7CiAKQEAgLTExNzQsOSArMTE2OSw4IEBA IHN0YXRpYyB2b2lkIGRwdV9jcnRjX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCQlk cHVfcG93ZXJfaGFuZGxlX3VucmVnaXN0ZXJfZXZlbnQoZHB1X2NydGMtPnBoYW5kbGUsCiAJCQkJ ZHB1X2NydGMtPnBvd2VyX2V2ZW50KTsKIAotCW1lbXNldChkcHVfY3J0Yy0+bWl4ZXJzLCAwLCBz aXplb2YoZHB1X2NydGMtPm1peGVycykpOwotCWRwdV9jcnRjLT5udW1fbWl4ZXJzID0gMDsKLQlk cHVfY3J0Yy0+bWl4ZXJzX3N3YXBwZWQgPSBmYWxzZTsKKwltZW1zZXQoY3N0YXRlLT5taXhlcnMs IDAsIHNpemVvZihjc3RhdGUtPm1peGVycykpOworCWNzdGF0ZS0+bnVtX21peGVycyA9IDA7CiAK IAkvKiBkaXNhYmxlIGNsayAmIGJ3IGNvbnRyb2wgdW50aWwgY2xrICYgYncgcHJvcGVydGllcyBh cmUgc2V0ICovCiAJY3N0YXRlLT5id19jb250cm9sID0gZmFsc2U7CkBAIC0xNTIxLDYgKzE1MTUs OCBAQCBzdGF0aWMgaW50IF9kcHVfZGVidWdmc19zdGF0dXNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUg KnMsIHZvaWQgKmRhdGEpCiAKIAlkcHVfY3J0YyA9IHMtPnByaXZhdGU7CiAJY3J0YyA9ICZkcHVf Y3J0Yy0+YmFzZTsKKworCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGNydGMtPmRldik7CiAJY3N0YXRl ID0gdG9fZHB1X2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwogCiAJbXV0ZXhfbG9jaygmZHB1X2Ny dGMtPmNydGNfbG9jayk7CkBAIC0xNTMyLDggKzE1MjgsOCBAQCBzdGF0aWMgaW50IF9kcHVfZGVi dWdmc19zdGF0dXNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRhdGEpCiAKIAlzZXFf cHV0cyhzLCAiXG4iKTsKIAotCWZvciAoaSA9IDA7IGkgPCBkcHVfY3J0Yy0+bnVtX21peGVyczsg KytpKSB7Ci0JCW0gPSAmZHB1X2NydGMtPm1peGVyc1tpXTsKKwlmb3IgKGkgPSAwOyBpIDwgY3N0 YXRlLT5udW1fbWl4ZXJzOyArK2kpIHsKKwkJbSA9ICZjc3RhdGUtPm1peGVyc1tpXTsKIAkJaWYg KCFtLT5od19sbSkKIAkJCXNlcV9wcmludGYocywgIlx0bWl4ZXJbJWRdIGhhcyBubyBsbVxuIiwg aSk7CiAJCWVsc2UgaWYgKCFtLT5od19jdGwpCkBAIC0xNjEzLDYgKzE2MDksNyBAQCBzdGF0aWMg aW50IF9kcHVfZGVidWdmc19zdGF0dXNfc2hvdyhzdHJ1Y3Qgc2VxX2ZpbGUgKnMsIHZvaWQgKmRh dGEpCiAJc2VxX3ByaW50ZihzLCAidmJsYW5rX2VuYWJsZTolZFxuIiwgZHB1X2NydGMtPnZibGFu a19yZXF1ZXN0ZWQpOwogCiAJbXV0ZXhfdW5sb2NrKCZkcHVfY3J0Yy0+Y3J0Y19sb2NrKTsKKwlk cm1fbW9kZXNldF91bmxvY2tfYWxsKGNydGMtPmRldik7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmggYi9kcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvZHB1MS9kcHVfY3J0Yy5oCmluZGV4IDVlNGRjNWMuLjdhYTc3MmYg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9jcnRjLmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2NydGMuaApAQCAtMTIxLDExICsx MjEsNiBAQCBzdHJ1Y3QgZHB1X2NydGNfZnJhbWVfZXZlbnQgewogICogc3RydWN0IGRwdV9jcnRj IC0gdmlydHVhbGl6ZWQgQ1JUQyBkYXRhIHN0cnVjdHVyZQogICogQGJhc2UgICAgICAgICAgOiBC YXNlIGRybSBjcnRjIHN0cnVjdHVyZQogICogQG5hbWUgICAgICAgICAgOiBBU0NJSSBkZXNjcmlw dGlvbiBvZiB0aGlzIGNydGMKLSAqIEBudW1fY3RscyAgICAgIDogTnVtYmVyIG9mIGN0bCBwYXRo cyBpbiB1c2UKLSAqIEBudW1fbWl4ZXJzICAgIDogTnVtYmVyIG9mIG1peGVycyBpbiB1c2UKLSAq IEBtaXhlcnNfc3dhcHBlZDogV2hldGhlciB0aGUgbWl4ZXJzIGhhdmUgYmVlbiBzd2FwcGVkIGZv ciBsZWZ0L3JpZ2h0IHVwZGF0ZQotICogICAgICAgICAgICAgICAgICBlc3BlY2lhbGx5IGluIHRo ZSBjYXNlIG9mIERTQyBNZXJnZS4KLSAqIEBtaXhlcnMgICAgICAgIDogTGlzdCBvZiBhY3RpdmUg bWl4ZXJzCiAgKiBAZXZlbnQgICAgICAgICA6IFBvaW50ZXIgdG8gbGFzdCByZWNlaXZlZCBkcm0g dmJsYW5rIGV2ZW50LiBJZiB0aGVyZSBpcyBhCiAgKiAgICAgICAgICAgICAgICAgIHBlbmRpbmcg dmJsYW5rIGV2ZW50LCB0aGlzIHdpbGwgYmUgbm9uLW51bGwuCiAgKiBAdnN5bmNfY291bnQgICA6 IFJ1bm5pbmcgY291bnQgb2YgcmVjZWl2ZWQgdnN5bmMgZXZlbnRzCkBAIC0xNjQsMTIgKzE1OSw2 IEBAIHN0cnVjdCBkcHVfY3J0YyB7CiAJc3RydWN0IGRybV9jcnRjIGJhc2U7CiAJY2hhciBuYW1l W0RQVV9DUlRDX05BTUVfU0laRV07CiAKLQkvKiBIVyBSZXNvdXJjZXMgcmVzZXJ2ZWQgZm9yIHRo ZSBjcnRjICovCi0JdTMyIG51bV9jdGxzOwotCXUzMiBudW1fbWl4ZXJzOwotCWJvb2wgbWl4ZXJz X3N3YXBwZWQ7Ci0Jc3RydWN0IGRwdV9jcnRjX21peGVyIG1peGVyc1tDUlRDX0RVQUxfTUlYRVJT XTsKLQogCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50OwogCXUzMiB2c3lu Y19jb3VudDsKIApAQCAtMjIxLDYgKzIxMCwxMCBAQCBzdHJ1Y3QgZHB1X2NydGMgewogICogQHBy b3BlcnR5X3ZhbHVlczogQ3VycmVudCBjcnRjIHByb3BlcnR5IHZhbHVlcwogICogQGlucHV0X2Zl bmNlX3RpbWVvdXRfbnMgOiBDYWNoZWQgaW5wdXQgZmVuY2UgdGltZW91dCwgaW4gbnMKICAqIEBu ZXdfcGVyZjogbmV3IHBlcmZvcm1hbmNlIHN0YXRlIGJlaW5nIHJlcXVlc3RlZAorICogQG51bV9t aXhlcnMgICAgOiBOdW1iZXIgb2YgbWl4ZXJzIGluIHVzZQorICogQG1peGVycyAgICAgICAgOiBM aXN0IG9mIGFjdGl2ZSBtaXhlcnMKKyAqIEBudW1fY3RscyAgICAgIDogTnVtYmVyIG9mIGN0bCBw YXRocyBpbiB1c2UKKyAqIEBod19jdGxzICAgICAgIDogTGlzdCBvZiBhY3RpdmUgY3RsIHBhdGhz CiAgKi8KIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSB7CiAJc3RydWN0IGRybV9jcnRjX3N0YXRlIGJh c2U7CkBAIC0yMzIsNiArMjI1LDEzIEBAIHN0cnVjdCBkcHVfY3J0Y19zdGF0ZSB7CiAJdWludDY0 X3QgaW5wdXRfZmVuY2VfdGltZW91dF9uczsKIAogCXN0cnVjdCBkcHVfY29yZV9wZXJmX3BhcmFt cyBuZXdfcGVyZjsKKworCS8qIEhXIFJlc291cmNlcyByZXNlcnZlZCBmb3IgdGhlIGNydGMgKi8K Kwl1MzIgbnVtX21peGVyczsKKwlzdHJ1Y3QgZHB1X2NydGNfbWl4ZXIgbWl4ZXJzW0NSVENfRFVB TF9NSVhFUlNdOworCisJdTMyIG51bV9jdGxzOworCXN0cnVjdCBkcHVfaHdfY3RsICpod19jdGxz W0NSVENfRFVBTF9NSVhFUlNdOwogfTsKIAogI2RlZmluZSB0b19kcHVfY3J0Y19zdGF0ZSh4KSBc Ci0tIApUaGUgUXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2Yg dGhlIENvZGUgQXVyb3JhIEZvcnVtLAphIExpbnV4IEZvdW5kYXRpb24gQ29sbGFib3JhdGl2ZSBQ cm9qZWN0CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpG cmVlZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K