From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 4/9] drm/msm: add kms->wait_flush() Date: Tue, 27 Aug 2019 14:33:34 -0700 Message-ID: <20190827213421.21917-5-robdclark@gmail.com> References: <20190827213421.21917-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190827213421.21917-1-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Rob Clark , Enrico Weigelt , open list , Jonathan Marek , David Airlie , Greg Kroah-Hartman , Mamta Shukla , Georgi Djakov , Bruce Wang , Allison Randal , "open list:DRM DRIVER FOR MSM ADRENO GPU" , "open list:DRM DRIVER FOR MSM ADRENO GPU" , Sean Paul , Thomas Gleixner , Sravanthi Kollukuduru List-Id: dri-devel@lists.freedesktop.org RnJvbTogUm9iIENsYXJrIDxyb2JkY2xhcmtAY2hyb21pdW0ub3JnPgoKRmlyc3Qgc3RlcCBpbiBy ZS13b3JraW5nIHRoZSBhdG9taWMgcmVsYXRlZCBpbnRlcm5hbCBBUEkgdG8gcHJlcGFyZSBmb3IK YXN5bmMgdXBkYXRlcyBwZW5kaW5nLi4gLT53YWl0X2ZsdXNoKCkgaXMgaW50ZW5kZWQgdG8gYmxv Y2sgdW50aWwgdGhlcmUKaXMgbm8gaW4tcHJvZ3Jlc3MgZmx1c2guCgpBIGNydGNfbWFzayBpcyB1 c2VkLCByYXRoZXIgdGhhbiBhbiBhdG9taWMgc3RhdGUgb2JqZWN0LCBhcyB0aGlzIHdpbGwKbGF0 ZXIgYmUgdXNlZCBmb3IgYXN5bmMgZmx1c2ggYWZ0ZXIgdGhlIGF0b21pYyBzdGF0ZSBpcyBkZXN0 cm95ZWQuCgpUaGlzIHJlcGxhY2VzIC0+d2FpdF9mb3JfY3J0Y19jb21taXRfZG9uZSgpCgpTaWdu ZWQtb2ZmLWJ5OiBSb2IgQ2xhcmsgPHJvYmRjbGFya0BjaHJvbWl1bS5vcmc+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL21zbS9kaXNwL2RwdTEvZHB1X2ttcy5jICB8IDExICsrKysrKy0KIGRyaXZlcnMv Z3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfa21zLmMgfCAxNyArKysrKystLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jIHwgMTcgKysrKysrLS0tLQogZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMgICAgICAgICB8IDQyICsrKysrKysrKystLS0tLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmggICAgICAgICAgICB8ICA5ICsr Ky0tCiA1IGZpbGVzIGNoYW5nZWQsIDU0IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwppbmRleCAzMTQ1NGNjNWQ4YzUu LmRmNDIxYjk4NmJjMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL2RwdTEv ZHB1X2ttcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9kcHUxL2RwdV9rbXMuYwpA QCAtMzg4LDYgKzM4OCwxNSBAQCBzdGF0aWMgdm9pZCBkcHVfa21zX3dhaXRfZm9yX2NvbW1pdF9k b25lKHN0cnVjdCBtc21fa21zICprbXMsCiAJfQogfQogCitzdGF0aWMgdm9pZCBkcHVfa21zX3dh aXRfZmx1c2goc3RydWN0IG1zbV9rbXMgKmttcywgdW5zaWduZWQgY3J0Y19tYXNrKQoreworCXN0 cnVjdCBkcHVfa21zICpkcHVfa21zID0gdG9fZHB1X2ttcyhrbXMpOworCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YzsKKworCWZvcl9lYWNoX2NydGNfbWFzayhkcHVfa21zLT5kZXYsIGNydGMsIGNydGNf bWFzaykKKwkJZHB1X2ttc193YWl0X2Zvcl9jb21taXRfZG9uZShrbXMsIGNydGMpOworfQorCiBz dGF0aWMgaW50IF9kcHVfa21zX2luaXRpYWxpemVfZHNpKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs CiAJCQkJICAgIHN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYsCiAJCQkJICAgIHN0cnVjdCBk cHVfa21zICpkcHVfa21zKQpAQCAtNjgyLDggKzY5MSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg bXNtX2ttc19mdW5jcyBrbXNfZnVuY3MgPSB7CiAJLmlycSAgICAgICAgICAgICA9IGRwdV9pcnEs CiAJLnByZXBhcmVfY29tbWl0ICA9IGRwdV9rbXNfcHJlcGFyZV9jb21taXQsCiAJLmNvbW1pdCAg ICAgICAgICA9IGRwdV9rbXNfY29tbWl0LAorCS53YWl0X2ZsdXNoICAgICAgPSBkcHVfa21zX3dh aXRfZmx1c2gsCiAJLmNvbXBsZXRlX2NvbW1pdCA9IGRwdV9rbXNfY29tcGxldGVfY29tbWl0LAot CS53YWl0X2Zvcl9jcnRjX2NvbW1pdF9kb25lID0gZHB1X2ttc193YWl0X2Zvcl9jb21taXRfZG9u ZSwKIAkuZW5hYmxlX3ZibGFuayAgID0gZHB1X2ttc19lbmFibGVfdmJsYW5rLAogCS5kaXNhYmxl X3ZibGFuayAgPSBkcHVfa21zX2Rpc2FibGVfdmJsYW5rLAogCS5jaGVja19tb2RpZmllZF9mb3Jt YXQgPSBkcHVfZm9ybWF0X2NoZWNrX21vZGlmaWVkX2Zvcm1hdCwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvbWRwNC9tZHA0X2ttcy5jCmluZGV4IDdhOWFiNTViNDYwOC4uMzJkY2IxZDc4NjBjIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNC9tZHA0X2ttcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA0L21kcDRfa21zLmMKQEAgLTEwNyw2ICsxMDcs MTUgQEAgc3RhdGljIHZvaWQgbWRwNF9wcmVwYXJlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21z LCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3QKIAkJZHJtX2NydGNfdmJsYW5rX2dldChjcnRj KTsKIH0KIAorc3RhdGljIHZvaWQgbWRwNF93YWl0X2ZsdXNoKHN0cnVjdCBtc21fa21zICprbXMs IHVuc2lnbmVkIGNydGNfbWFzaykKK3sKKwlzdHJ1Y3QgbWRwNF9rbXMgKm1kcDRfa21zID0gdG9f bWRwNF9rbXModG9fbWRwX2ttcyhrbXMpKTsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7CisKKwlm b3JfZWFjaF9jcnRjX21hc2sobWRwNF9rbXMtPmRldiwgY3J0YywgY3J0Y19tYXNrKQorCQltZHA0 X2NydGNfd2FpdF9mb3JfY29tbWl0X2RvbmUoY3J0Yyk7Cit9CisKIHN0YXRpYyB2b2lkIG1kcDRf Y29tcGxldGVfY29tbWl0KHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpzdGF0ZSkKIHsKIAlzdHJ1Y3QgbWRwNF9rbXMgKm1kcDRfa21zID0gdG9fbWRwNF9rbXMo dG9fbWRwX2ttcyhrbXMpKTsKQEAgLTEyMywxMiArMTMyLDYgQEAgc3RhdGljIHZvaWQgbWRwNF9j b21wbGV0ZV9jb21taXQoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnMKIAltZHA0X2Rpc2FibGUobWRwNF9rbXMpOwogfQogCi1zdGF0aWMgdm9pZCBtZHA0X3dh aXRfZm9yX2NydGNfY29tbWl0X2RvbmUoc3RydWN0IG1zbV9rbXMgKmttcywKLQkJCQkJCXN0cnVj dCBkcm1fY3J0YyAqY3J0YykKLXsKLQltZHA0X2NydGNfd2FpdF9mb3JfY29tbWl0X2RvbmUoY3J0 Yyk7Ci19Ci0KIHN0YXRpYyBsb25nIG1kcDRfcm91bmRfcGl4Y2xrKHN0cnVjdCBtc21fa21zICpr bXMsIHVuc2lnbmVkIGxvbmcgcmF0ZSwKIAkJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQog ewpAQCAtMTc5LDggKzE4Miw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWRwX2ttc19mdW5jcyBr bXNfZnVuY3MgPSB7CiAJCS5lbmFibGVfdmJsYW5rICAgPSBtZHA0X2VuYWJsZV92YmxhbmssCiAJ CS5kaXNhYmxlX3ZibGFuayAgPSBtZHA0X2Rpc2FibGVfdmJsYW5rLAogCQkucHJlcGFyZV9jb21t aXQgID0gbWRwNF9wcmVwYXJlX2NvbW1pdCwKKwkJLndhaXRfZmx1c2ggICAgICA9IG1kcDRfd2Fp dF9mbHVzaCwKIAkJLmNvbXBsZXRlX2NvbW1pdCA9IG1kcDRfY29tcGxldGVfY29tbWl0LAotCQku d2FpdF9mb3JfY3J0Y19jb21taXRfZG9uZSA9IG1kcDRfd2FpdF9mb3JfY3J0Y19jb21taXRfZG9u ZSwKIAkJLmdldF9mb3JtYXQgICAgICA9IG1kcF9nZXRfZm9ybWF0LAogCQkucm91bmRfcGl4Y2xr ICAgID0gbWRwNF9yb3VuZF9waXhjbGssCiAJCS5kZXN0cm95ICAgICAgICAgPSBtZHA0X2Rlc3Ry b3ksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5j IGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYwppbmRleCA4YmY1ZjMy NjRkYzkuLjQ0MGUwMDBjOGMzZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNw L21kcDUvbWRwNV9rbXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1 X2ttcy5jCkBAIC0xNTQsNiArMTU0LDE1IEBAIHN0YXRpYyB2b2lkIG1kcDVfcHJlcGFyZV9jb21t aXQoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0CiAJCW1k cDVfc21wX3ByZXBhcmVfY29tbWl0KG1kcDVfa21zLT5zbXAsICZnbG9iYWxfc3RhdGUtPnNtcCk7 CiB9CiAKK3N0YXRpYyB2b2lkIG1kcDVfd2FpdF9mbHVzaChzdHJ1Y3QgbXNtX2ttcyAqa21zLCB1 bnNpZ25lZCBjcnRjX21hc2spCit7CisJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21k cDVfa21zKHRvX21kcF9rbXMoa21zKSk7CisJc3RydWN0IGRybV9jcnRjICpjcnRjOworCisJZm9y X2VhY2hfY3J0Y19tYXNrKG1kcDVfa21zLT5kZXYsIGNydGMsIGNydGNfbWFzaykKKwkJbWRwNV9j cnRjX3dhaXRfZm9yX2NvbW1pdF9kb25lKGNydGMpOworfQorCiBzdGF0aWMgdm9pZCBtZHA1X2Nv bXBsZXRlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCiB7CiAJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRv X21kcF9rbXMoa21zKSk7CkBAIC0xNzAsMTIgKzE3OSw2IEBAIHN0YXRpYyB2b2lkIG1kcDVfY29t cGxldGVfY29tbWl0KHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRl ICpzCiAJcG1fcnVudGltZV9wdXRfc3luYyhkZXYpOwogfQogCi1zdGF0aWMgdm9pZCBtZHA1X3dh aXRfZm9yX2NydGNfY29tbWl0X2RvbmUoc3RydWN0IG1zbV9rbXMgKmttcywKLQkJCQkJCXN0cnVj dCBkcm1fY3J0YyAqY3J0YykKLXsKLQltZHA1X2NydGNfd2FpdF9mb3JfY29tbWl0X2RvbmUoY3J0 Yyk7Ci19Ci0KIHN0YXRpYyBsb25nIG1kcDVfcm91bmRfcGl4Y2xrKHN0cnVjdCBtc21fa21zICpr bXMsIHVuc2lnbmVkIGxvbmcgcmF0ZSwKIAkJc3RydWN0IGRybV9lbmNvZGVyICplbmNvZGVyKQog ewpAQCAtMjcyLDggKzI3NSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWRwX2ttc19mdW5jcyBr bXNfZnVuY3MgPSB7CiAJCS5lbmFibGVfdmJsYW5rICAgPSBtZHA1X2VuYWJsZV92YmxhbmssCiAJ CS5kaXNhYmxlX3ZibGFuayAgPSBtZHA1X2Rpc2FibGVfdmJsYW5rLAogCQkucHJlcGFyZV9jb21t aXQgID0gbWRwNV9wcmVwYXJlX2NvbW1pdCwKKwkJLndhaXRfZmx1c2ggICAgICA9IG1kcDVfd2Fp dF9mbHVzaCwKIAkJLmNvbXBsZXRlX2NvbW1pdCA9IG1kcDVfY29tcGxldGVfY29tbWl0LAotCQku d2FpdF9mb3JfY3J0Y19jb21taXRfZG9uZSA9IG1kcDVfd2FpdF9mb3JfY3J0Y19jb21taXRfZG9u ZSwKIAkJLmdldF9mb3JtYXQgICAgICA9IG1kcF9nZXRfZm9ybWF0LAogCQkucm91bmRfcGl4Y2xr ICAgID0gbWRwNV9yb3VuZF9waXhjbGssCiAJCS5zZXRfc3BsaXRfZGlzcGxheSA9IG1kcDVfc2V0 X3NwbGl0X2Rpc3BsYXksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9t aWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCmluZGV4IGU1YWFlMTY0NTkz My4uNjM5Y2M4OGMzMWExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9t aWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwpAQCAtMTAsMjggKzEw LDYgQEAKICNpbmNsdWRlICJtc21fZ2VtLmgiCiAjaW5jbHVkZSAibXNtX2ttcy5oIgogCi1zdGF0 aWMgdm9pZCBtc21fYXRvbWljX3dhaXRfZm9yX2NvbW1pdF9kb25lKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCi0JCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCi17Ci0Jc3RydWN0 IGRybV9jcnRjICpjcnRjOwotCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGU7 Ci0Jc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IG9sZF9zdGF0ZS0+ZGV2LT5kZXZfcHJp dmF0ZTsKLQlzdHJ1Y3QgbXNtX2ttcyAqa21zID0gcHJpdi0+a21zOwotCWludCBpOwotCi0JZm9y X2VhY2hfbmV3X2NydGNfaW5fc3RhdGUob2xkX3N0YXRlLCBjcnRjLCBuZXdfY3J0Y19zdGF0ZSwg aSkgewotCQlpZiAoIW5ld19jcnRjX3N0YXRlLT5hY3RpdmUpCi0JCQljb250aW51ZTsKLQotCQlp ZiAoZHJtX2NydGNfdmJsYW5rX2dldChjcnRjKSkKLQkJCWNvbnRpbnVlOwotCi0JCWttcy0+ZnVu Y3MtPndhaXRfZm9yX2NydGNfY29tbWl0X2RvbmUoa21zLCBjcnRjKTsKLQotCQlkcm1fY3J0Y192 YmxhbmtfcHV0KGNydGMpOwotCX0KLX0KLQogaW50IG1zbV9hdG9taWNfcHJlcGFyZV9mYihzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSwKIAkJCSAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqbmV3X3N0 YXRlKQogewpAQCAtNTEsMTEgKzI5LDI4IEBAIGludCBtc21fYXRvbWljX3ByZXBhcmVfZmIoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCiAJcmV0dXJuIG1zbV9mcmFtZWJ1ZmZlcl9wcmVwYXJlKG5l d19zdGF0ZS0+ZmIsIGttcy0+YXNwYWNlKTsKIH0KIAorLyogR2V0IGJpdG1hc2sgb2YgY3J0Y3Mg dGhhdCB3aWxsIG5lZWQgdG8gYmUgZmx1c2hlZC4gIFRoZSBiaXRtYXNrCisgKiBjYW4gYmUgdXNl ZCB3aXRoIGZvcl9lYWNoX2NydGNfbWFzaygpIGl0ZXJhdG9yLCB0byBpdGVyYXRlCisgKiBlZmZl Y3RlZCBjcnRjcyB3aXRob3V0IG5lZWRpbmcgdG8gcHJlc2VydmUgdGhlIGF0b21pYyBzdGF0ZS4K KyAqLworc3RhdGljIHVuc2lnbmVkIGdldF9jcnRjX21hc2soc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQoreworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKwlzdHJ1 Y3QgZHJtX2NydGMgKmNydGM7CisJdW5zaWduZWQgaSwgbWFzayA9IDA7CisKKwlmb3JfZWFjaF9u ZXdfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0ZSwgaSkKKwkJbWFzayB8PSBC SVQoY3J0Yy0+aW5kZXgpOworCisJcmV0dXJuIG1hc2s7Cit9CisKIHZvaWQgbXNtX2F0b21pY19j b21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7CiAJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IHN0YXRlLT5kZXY7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJp diA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IG1zbV9rbXMgKmttcyA9IHByaXYtPmttczsK Kwl1bnNpZ25lZCBjcnRjX21hc2sgPSBnZXRfY3J0Y19tYXNrKHN0YXRlKTsKIAogCWttcy0+ZnVu Y3MtPnByZXBhcmVfY29tbWl0KGttcywgc3RhdGUpOwogCkBAIC03MCw4ICs2NSw3IEBAIHZvaWQg bXNtX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJ CWttcy0+ZnVuY3MtPmNvbW1pdChrbXMsIHN0YXRlKTsKIAl9CiAKLQltc21fYXRvbWljX3dhaXRf Zm9yX2NvbW1pdF9kb25lKGRldiwgc3RhdGUpOwotCisJa21zLT5mdW5jcy0+d2FpdF9mbHVzaChr bXMsIGNydGNfbWFzayk7CiAJa21zLT5mdW5jcy0+Y29tcGxldGVfY29tbWl0KGttcywgc3RhdGUp OwogCiAJZHJtX2F0b21pY19oZWxwZXJfY29tbWl0X2h3X2RvbmUoc3RhdGUpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9rbXMuaAppbmRleCBjNzU4OGE0MjYzNWUuLjg1NjJiYmZkNWRjYSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fa21zLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f a21zLmgKQEAgLTM0LDkgKzM0LDggQEAgc3RydWN0IG1zbV9rbXNfZnVuY3MgewogCXZvaWQgKCpw cmVwYXJlX2NvbW1pdCkoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKTsKIAl2b2lkICgqY29tbWl0KShzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwogCXZvaWQgKCpjb21wbGV0ZV9jb21taXQpKHN0cnVj dCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Ci0JLyogZnVu Y3Rpb25zIHRvIHdhaXQgZm9yIGF0b21pYyBjb21taXQgY29tcGxldGVkIG9uIGVhY2ggQ1JUQyAq LwotCXZvaWQgKCp3YWl0X2Zvcl9jcnRjX2NvbW1pdF9kb25lKShzdHJ1Y3QgbXNtX2ttcyAqa21z LAotCQkJCQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworCXZvaWQgKCp3YWl0X2ZsdXNoKShzdHJ1 Y3QgbXNtX2ttcyAqa21zLCB1bnNpZ25lZCBjcnRjX21hc2spOworCiAJLyogZ2V0IG1zbV9mb3Jt YXQgdy8gb3B0aW9uYWwgZm9ybWF0IG1vZGlmaWVycyBmcm9tIGRybV9tb2RlX2ZiX2NtZDIgKi8K IAljb25zdCBzdHJ1Y3QgbXNtX2Zvcm1hdCAqKCpnZXRfZm9ybWF0KShzdHJ1Y3QgbXNtX2ttcyAq a21zLAogCQkJCQljb25zdCB1aW50MzJfdCBmb3JtYXQsCkBAIC05OCw0ICs5Nyw4IEBAIHN0cnVj dCBtc21fbWRzcyB7CiBpbnQgbWRwNV9tZHNzX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 CiBpbnQgZHB1X21kc3NfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIAorI2RlZmluZSBm b3JfZWFjaF9jcnRjX21hc2soZGV2LCBjcnRjLCBjcnRjX21hc2spIFwKKwlsaXN0X2Zvcl9lYWNo X2VudHJ5KGNydGMsICYoZGV2KS0+bW9kZV9jb25maWcuY3J0Y19saXN0LCBoZWFkKSBcCisJCWZv cl9lYWNoX2lmIChCSVQoKGNydGMpLT5pbmRleCkgJiAoY3J0Y19tYXNrKSkKKwogI2VuZGlmIC8q IF9fTVNNX0tNU19IX18gKi8KLS0gCjIuMjEuMAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vZHJpLWRldmVs