From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [DPU PATCH 07/11] drm/msm: Use atomic private_obj instead of subclassing Date: Wed, 28 Feb 2018 14:19:02 -0500 Message-ID: <20180228191906.185417-8-seanpaul@chromium.org> References: <20180228191906.185417-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180228191906.185417-1-seanpaul-F7+t8E8rja9g9hUCZPvPmw@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, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: jsanka-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, robdclark-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org, Sean Paul , hoegsberg-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, abhinavk-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiBzdWJjbGFzc2luZyBhdG9taWMgc3RhdGUsIHN0b3JlIGRyaXZlciBwcml2YXRl IGRhdGEgaW4KcHJpdmF0ZV9vYmovc3RhdGUuIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSB0aGUg c3dhcF9zdGF0ZSBkcml2ZXIgaG9vawpmb3IgbWRwNSBhbmQgZ2V0IGNsb3NlciB0byB1c2luZyB0 aGUgYXRvbWljIGhlbHBlcnMgZW50aXJlbHkuCgpDaGFuZ2UtSWQ6IEk2NWE0YTI4ODc1OTNhZTI1 N2Q1ODRlMDBiMzUyYjVkYWYwMGU0ZTYxClNpZ25lZC1vZmYtYnk6IFNlYW4gUGF1bCA8c2VhbnBh dWxAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVf a21zLmMgfCAzNyArKysrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWlj LmMgICAgICAgICB8IDMwIC0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYu YyAgICAgICAgICAgIHwgNjUgKysrKysrKysrKysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9k cm0vbXNtL21zbV9kcnYuaCAgICAgICAgICAgIHwgIDQgKy0KIGRyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2ttcy5oICAgICAgICAgICAgfCAyOCArKysrKy0tLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDk1 IGluc2VydGlvbnMoKyksIDY5IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av bWRwNS9tZHA1X2ttcy5jCmluZGV4IDZkOGUzYTlhNmZjMC4uZjFhMjQ4NDE5NjU1IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMKQEAgLTc0LDM2ICs3NCwzMiBAQCBz dHJ1Y3QgbWRwNV9zdGF0ZSAqbWRwNV9nZXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUg KnMpCiB7CiAJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IHMtPmRldi0+ZGV2X3ByaXZh dGU7CiAJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRvX21kcF9rbXMo cHJpdi0+a21zKSk7Ci0Jc3RydWN0IG1zbV9rbXNfc3RhdGUgKnN0YXRlID0gdG9fa21zX3N0YXRl KHMpOwotCXN0cnVjdCBtZHA1X3N0YXRlICpuZXdfc3RhdGU7CisJc3RydWN0IG1zbV9rbXNfc3Rh dGUgKmttc19zdGF0ZTsKIAlpbnQgcmV0OwogCi0JaWYgKHN0YXRlLT5zdGF0ZSkKLQkJcmV0dXJu IHN0YXRlLT5zdGF0ZTsKLQogCXJldCA9IGRybV9tb2Rlc2V0X2xvY2soJm1kcDVfa21zLT5zdGF0 ZV9sb2NrLCBzLT5hY3F1aXJlX2N0eCk7CiAJaWYgKHJldCkKIAkJcmV0dXJuIEVSUl9QVFIocmV0 KTsKIAotCW5ld19zdGF0ZSA9IGttYWxsb2Moc2l6ZW9mKCptZHA1X2ttcy0+c3RhdGUpLCBHRlBf S0VSTkVMKTsKLQlpZiAoIW5ld19zdGF0ZSkKLQkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7CisJ a21zX3N0YXRlID0gbXNtX2ttc19nZXRfc3RhdGUocyk7CisJaWYgKElTX0VSUl9PUl9OVUxMKGtt c19zdGF0ZSkpCisJCXJldHVybiAoc3RydWN0IG1kcDVfc3RhdGUgKilrbXNfc3RhdGU7IC8qIGNh c3RpbmcgRVJSX1BUUiAqLwogCi0JLyogQ29weSBzdGF0ZTogKi8KLQluZXdfc3RhdGUtPmh3cGlw ZSA9IG1kcDVfa21zLT5zdGF0ZS0+aHdwaXBlOwotCW5ld19zdGF0ZS0+aHdtaXhlciA9IG1kcDVf a21zLT5zdGF0ZS0+aHdtaXhlcjsKLQlpZiAobWRwNV9rbXMtPnNtcCkKLQkJbmV3X3N0YXRlLT5z bXAgPSBtZHA1X2ttcy0+c3RhdGUtPnNtcDsKKwlyZXR1cm4ga21zX3N0YXRlLT5zdGF0ZTsKK30K IAotCXN0YXRlLT5zdGF0ZSA9IG5ld19zdGF0ZTsKK3N0YXRpYyB2b2lkICptZHA1X2R1cGxpY2F0 ZV9zdGF0ZSh2b2lkICpzdGF0ZSkKK3sKKwlpZiAoIXN0YXRlKQorCQlyZXR1cm4ga3phbGxvYyhz aXplb2Yoc3RydWN0IG1kcDVfc3RhdGUpLCBHRlBfS0VSTkVMKTsKIAotCXJldHVybiBuZXdfc3Rh dGU7CisJcmV0dXJuIGttZW1kdXAoc3RhdGUsIHNpemVvZihzdHJ1Y3QgbWRwNV9zdGF0ZSksIEdG UF9LRVJORUwpOwogfQogCi1zdGF0aWMgdm9pZCBtZHA1X3N3YXBfc3RhdGUoc3RydWN0IG1zbV9r bXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQorc3RhdGljIHZvaWQgbWRw NV9kZXN0cm95X3N0YXRlKHZvaWQgKnN0YXRlKQogewotCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9r bXMgPSB0b19tZHA1X2ttcyh0b19tZHBfa21zKGttcykpOwotCXN3YXAodG9fa21zX3N0YXRlKHN0 YXRlKS0+c3RhdGUsIG1kcDVfa21zLT5zdGF0ZSk7CisJc3RydWN0IG1kcDVfc3RhdGUgKm1kcF9z dGF0ZSA9IHN0YXRlOworCWtmcmVlKG1kcF9zdGF0ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIG1kcDVf cHJlcGFyZV9jb21taXQoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgKnN0YXRlKQpAQCAtMjI5LDcgKzIyNSw4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgbWRwX2tt c19mdW5jcyBrbXNfZnVuY3MgPSB7CiAJCS5pcnEgICAgICAgICAgICAgPSBtZHA1X2lycSwKIAkJ LmVuYWJsZV92YmxhbmsgICA9IG1kcDVfZW5hYmxlX3ZibGFuaywKIAkJLmRpc2FibGVfdmJsYW5r ICA9IG1kcDVfZGlzYWJsZV92YmxhbmssCi0JCS5zd2FwX3N0YXRlICAgICAgPSBtZHA1X3N3YXBf c3RhdGUsCisJCS5kdXBsaWNhdGVfc3RhdGUgPSBtZHA1X2R1cGxpY2F0ZV9zdGF0ZSwKKwkJLmRl c3Ryb3lfc3RhdGUJID0gbWRwNV9kZXN0cm95X3N0YXRlLAogCQkucHJlcGFyZV9jb21taXQgID0g bWRwNV9wcmVwYXJlX2NvbW1pdCwKIAkJLmNvbXBsZXRlX2NvbW1pdCA9IG1kcDVfY29tcGxldGVf Y29tbWl0LAogCQkud2FpdF9mb3JfY3J0Y19jb21taXRfZG9uZSA9IG1kcDVfd2FpdF9mb3JfY3J0 Y19jb21taXRfZG9uZSwKQEAgLTcyNiw4ICs3MjMsNiBAQCBzdGF0aWMgdm9pZCBtZHA1X2Rlc3Ry b3koc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKIAogCWlmIChtZHA1X2ttcy0+cnBtX2Vu YWJsZWQpCiAJCXBtX3J1bnRpbWVfZGlzYWJsZSgmcGRldi0+ZGV2KTsKLQotCWtmcmVlKG1kcDVf a21zLT5zdGF0ZSk7CiB9CiAKIHN0YXRpYyBpbnQgY29uc3RydWN0X3BpcGVzKHN0cnVjdCBtZHA1 X2ttcyAqbWRwNV9rbXMsIGludCBjbnQsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9hdG9taWMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCmluZGV4IDdl NTRlYjY1ZDA5Ni4uMWY1MzI2MmVhNDZiIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9hdG9taWMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYwpAQCAt MTY5LDkgKzE2OSw2IEBAIGludCBtc21fYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCSAqLwogCUJVR19PTihkcm1fYXRvbWljX2hlbHBlcl9zd2FwX3N0YXRlKHN0YXRlLCBm YWxzZSkgPCAwKTsKIAotCWlmICh0b19rbXNfc3RhdGUoc3RhdGUpLT5zdGF0ZSkKLQkJcHJpdi0+ a21zLT5mdW5jcy0+c3dhcF9zdGF0ZShwcml2LT5rbXMsIHN0YXRlKTsKLQogCS8qCiAJICogUHJv dmlkZSB0aGUgZHJpdmVyIGEgY2hhbmNlIHRvIHByZXBhcmUgZm9yIG91dHB1dCBmZW5jZXMuIFRo aXMgaXMKIAkgKiBkb25lIGFmdGVyIHRoZSBwb2ludCBvZiBubyByZXR1cm4sIGJ1dCBiZWZvcmUg YXN5bmNocm9ub3VzIGNvbW1pdHMKQEAgLTIxMCwzMCArMjA3LDMgQEAgaW50IG1zbV9hdG9taWNf Y29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJZHJtX2F0b21pY19oZWxwZXJfY2xlYW51 cF9wbGFuZXMoZGV2LCBzdGF0ZSk7CiAJcmV0dXJuIHJldDsKIH0KLQotc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKm1zbV9hdG9taWNfc3RhdGVfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldikK LXsKLQlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGUgPSBremFsbG9jKHNpemVvZigqc3RhdGUp LCBHRlBfS0VSTkVMKTsKLQotCWlmICghc3RhdGUgfHwgZHJtX2F0b21pY19zdGF0ZV9pbml0KGRl diwgJnN0YXRlLT5iYXNlKSA8IDApIHsKLQkJa2ZyZWUoc3RhdGUpOwotCQlyZXR1cm4gTlVMTDsK LQl9Ci0KLQlyZXR1cm4gJnN0YXRlLT5iYXNlOwotfQotCi12b2lkIG1zbV9hdG9taWNfc3RhdGVf Y2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCi17Ci0Jc3RydWN0IG1zbV9rbXNfc3Rh dGUgKnN0YXRlID0gdG9fa21zX3N0YXRlKHMpOwotCWRybV9hdG9taWNfc3RhdGVfZGVmYXVsdF9j bGVhcigmc3RhdGUtPmJhc2UpOwotCWtmcmVlKHN0YXRlLT5zdGF0ZSk7Ci0Jc3RhdGUtPnN0YXRl ID0gTlVMTDsKLX0KLQotdm9pZCBtc21fYXRvbWljX3N0YXRlX2ZyZWUoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQotewotCWtmcmVlKHRvX2ttc19zdGF0ZShzdGF0ZSktPnN0YXRlKTsK LQlkcm1fYXRvbWljX3N0YXRlX2RlZmF1bHRfcmVsZWFzZShzdGF0ZSk7Ci0Ja2ZyZWUoc3RhdGUp OwotfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9kcnYuYwppbmRleCBiMzU0NDI0Y2NjYjUuLmU1ODJkNTg4OWI2NiAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZHJ2LmMKQEAgLTEyMSw5ICsxMjEsNjIgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fbW9kZV9jb25maWdfZnVuY3MgbW9kZV9jb25maWdfZnVuY3MgPSB7CiAJLm91dHB1 dF9wb2xsX2NoYW5nZWQgPSBtc21fZmJfb3V0cHV0X3BvbGxfY2hhbmdlZCwKIAkuYXRvbWljX2No ZWNrID0gbXNtX2F0b21pY19jaGVjaywKIAkuYXRvbWljX2NvbW1pdCA9IG1zbV9hdG9taWNfY29t bWl0LAotCS5hdG9taWNfc3RhdGVfYWxsb2MgPSBtc21fYXRvbWljX3N0YXRlX2FsbG9jLAotCS5h dG9taWNfc3RhdGVfY2xlYXIgPSBtc21fYXRvbWljX3N0YXRlX2NsZWFyLAotCS5hdG9taWNfc3Rh dGVfZnJlZSA9IG1zbV9hdG9taWNfc3RhdGVfZnJlZSwKK307CisKK3N0YXRpYyBpbmxpbmUKK3N0 cnVjdCBtc21fa21zICpvYmpfdG9fa21zKHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iaikKK3sK KwlyZXR1cm4gY29udGFpbmVyX29mKG9iaiwgc3RydWN0IG1zbV9rbXMsIGJhc2UpOworfQorCitz dGF0aWMgaW5saW5lCitzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGVfdG9fa21zX3N0YXRlKHN0 cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSAqc3RhdGUpCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZihz dGF0ZSwgc3RydWN0IG1zbV9rbXNfc3RhdGUsIGJhc2UpOworfQorCitzdHJ1Y3QgbXNtX2ttc19z dGF0ZSAqbXNtX2ttc19nZXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCit7CisJ c3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAqcHJpdiA9IHMtPmRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGRybV9wcml2YXRlX29iaiAqb2JqID0gJnByaXYtPmttcy0+YmFzZTsKKwlzdHJ1Y3QgZHJt X3ByaXZhdGVfc3RhdGUgKnN0YXRlOworCisJc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wcml2YXRl X29ial9zdGF0ZShzLCBvYmopOworCWlmIChJU19FUlJfT1JfTlVMTChzdGF0ZSkpCisJCXJldHVy biAoc3RydWN0IG1zbV9rbXNfc3RhdGUgKilzdGF0ZTsgLyogY2FzdGluZyBFUlJfUFRSICovCisK KwlyZXR1cm4gc3RhdGVfdG9fa21zX3N0YXRlKHN0YXRlKTsKK30KKworc3RhdGljIHN0cnVjdCBk cm1fcHJpdmF0ZV9zdGF0ZSAqCittc21fa21zX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX3By aXZhdGVfb2JqICpvYmopCit7CisJc3RydWN0IG1zbV9rbXMgKmttcyA9IG9ial90b19rbXMob2Jq KTsKKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGUgPSBzdGF0ZV90b19rbXNfc3RhdGUob2Jq LT5zdGF0ZSk7CisJc3RydWN0IG1zbV9rbXNfc3RhdGUgKm5ld19zdGF0ZTsKKworCWlmIChrbXMt PmZ1bmNzLT5kdXBsaWNhdGVfc3RhdGUpCisJCW5ld19zdGF0ZSA9IGttcy0+ZnVuY3MtPmR1cGxp Y2F0ZV9zdGF0ZShzdGF0ZSk7CisKKwlfX2RybV9hdG9taWNfaGVscGVyX3ByaXZhdGVfb2JqX2R1 cGxpY2F0ZV9zdGF0ZShvYmosICZuZXdfc3RhdGUtPmJhc2UpOworCisJcmV0dXJuICZuZXdfc3Rh dGUtPmJhc2U7Cit9CisKK3N0YXRpYyB2b2lkIG1zbV9rbXNfZGVzdHJveV9zdGF0ZShzdHJ1Y3Qg ZHJtX3ByaXZhdGVfb2JqICpvYmosCisJCQkJICBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnN0 YXRlKQoreworCXN0cnVjdCBtc21fa21zICprbXMgPSBvYmpfdG9fa21zKG9iaik7CisJc3RydWN0 IG1zbV9rbXNfc3RhdGUgKmttc19zdGF0ZSA9IHN0YXRlX3RvX2ttc19zdGF0ZShvYmotPnN0YXRl KTsKKworCWlmIChrbXMtPmZ1bmNzLT5kZXN0cm95X3N0YXRlKQorCQlrbXMtPmZ1bmNzLT5kZXN0 cm95X3N0YXRlKGttc19zdGF0ZS0+c3RhdGUpOworCWtmcmVlKGttc19zdGF0ZSk7Cit9CisKK3N0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3Mga21zX3N0YXRlX2Z1bmNz ID0geworCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gbXNtX2ttc19kdXBsaWNhdGVfc3RhdGUs CisJLmF0b21pY19kZXN0cm95X3N0YXRlID0gbXNtX2ttc19kZXN0cm95X3N0YXRlLAogfTsKIAog I2lmZGVmIENPTkZJR19EUk1fTVNNX1JFR0lTVEVSX0xPR0dJTkcKQEAgLTM0MSw2ICszOTQsOCBA QCBzdGF0aWMgaW50IG1zbV9kcm1fdW5pbml0KHN0cnVjdCBkZXZpY2UgKmRldikKIAkJfQogCX0K IAorCWRybV9hdG9taWNfcHJpdmF0ZV9vYmpfZmluaSgma21zLT5iYXNlKTsKKwogCW1zbV9nZW1f c2hyaW5rZXJfY2xlYW51cChkZGV2KTsKIAogCWRybV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2 KTsKQEAgLTc3MCw2ICs4MjUsMTAgQEAgc3RhdGljIGludCBtc21fZHJtX2luaXQoc3RydWN0IGRl dmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZlciAqZHJ2KQogCX0KICNlbmRpZgogCisJZHJtX2F0 b21pY19wcml2YXRlX29ial9pbml0KCZrbXMtPmJhc2UsCisJCQkJICAgICZrbXMtPnN0YXRlLmJh c2UsCisJCQkJICAgICZrbXNfc3RhdGVfZnVuY3MpOworCiAJLyogcGVyZm9ybSBzdWJkcml2ZXIg cG9zdCBpbml0aWFsaXphdGlvbiAqLwogCWlmIChrbXMgJiYga21zLT5mdW5jcyAmJiBrbXMtPmZ1 bmNzLT5wb3N0aW5pdCkgewogCQlyZXQgPSBrbXMtPmZ1bmNzLT5wb3N0aW5pdChrbXMpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9kcnYuaAppbmRleCAyOTI0OTZiNjgyZTguLjhjYWIzMzNkZjcxNyAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21z bS9tc21fZHJ2LmgKQEAgLTU5OCw5ICs1OTgsNyBAQCBzdHJ1Y3QgbXNtX2Zvcm1hdCB7CiAKIGlu dCBtc21fYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUsIGJvb2wgbm9uYmxvY2spOwotc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKm1zbV9hdG9taWNfc3RhdGVfYWxsb2Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci12 b2lkIG1zbV9hdG9taWNfc3RhdGVfY2xlYXIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRl KTsKLXZvaWQgbXNtX2F0b21pY19zdGF0ZV9mcmVlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSk7CitzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqbXNtX2ttc19nZXRfc3RhdGUoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKIAogdm9pZCBtc21fZ2VtX3VubWFwX3ZtYShzdHJ1Y3Qg bXNtX2dlbV9hZGRyZXNzX3NwYWNlICphc3BhY2UsCiAJCXN0cnVjdCBtc21fZ2VtX3ZtYSAqdm1h LCBzdHJ1Y3Qgc2dfdGFibGUgKnNndCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2ttcy5oCmluZGV4IDA5YmExZTc5 ZGI1MC4uNGM1YTY5MjU4YzQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9r bXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaApAQCAtNTcsNiArNTcsOCBA QCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyB7CiAJdm9pZCAoKmRpc2FibGVfdmJsYW5rKShzdHJ1Y3Qg bXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwogCS8qIHN3YXAgZ2xvYmFsIGF0 b21pYyBzdGF0ZTogKi8KIAl2b2lkICgqc3dhcF9zdGF0ZSkoc3RydWN0IG1zbV9rbXMgKmttcywg c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKKwl2b2lkICooKmR1cGxpY2F0ZV9zdGF0 ZSkodm9pZCAqc3RhdGUpOworCXZvaWQgKCpkZXN0cm95X3N0YXRlKSh2b2lkICpzdGF0ZSk7CiAJ LyogbW9kZXNldCwgYnJhY2tldGluZyBhdG9taWNfY29tbWl0KCk6ICovCiAJdm9pZCAoKnByZXBh cmVfZmVuY2UpKHN0cnVjdCBtc21fa21zICprbXMsCiAJCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpOwpAQCAtMTE0LDE2ICsxMTYsNiBAQCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyB7CiAj ZW5kaWYKIH07CiAKLXN0cnVjdCBtc21fa21zIHsKLQljb25zdCBzdHJ1Y3QgbXNtX2ttc19mdW5j cyAqZnVuY3M7Ci0KLQkvKiBpcnEgbnVtYmVyIHRvIGJlIHBhc3NlZCBvbiB0byBkcm1faXJxX2lu c3RhbGwgKi8KLQlpbnQgaXJxOwotCi0JLyogbWFwcGVyLWlkIHVzZWQgdG8gcmVxdWVzdCBHRU0g YnVmZmVyIG1hcHBlZCBmb3Igc2Nhbm91dDogKi8KLQlzdHJ1Y3QgbXNtX2dlbV9hZGRyZXNzX3Nw YWNlICphc3BhY2U7Ci19OwotCiAvKioKICAqIFN1YmNsYXNzIG9mIGRybV9hdG9taWNfc3RhdGUs IHRvIGFsbG93IGttcyBiYWNrZW5kIHRvIGhhdmUgZHJpdmVyCiAgKiBwcml2YXRlIGdsb2JhbCBz dGF0ZS4gIFRoZSBrbXMgYmFja2VuZCBjYW4gZG8gd2hhdGV2ZXIgaXQgd2FudHMKQEAgLTEzMSwx MCArMTIzLDIyIEBAIHN0cnVjdCBtc21fa21zIHsKICAqIGlzIGtmcmVlJ2QgYW5kIHNldCBiYWNr IHRvIE5VTEwuCiAgKi8KIHN0cnVjdCBtc21fa21zX3N0YXRlIHsKLQlzdHJ1Y3QgZHJtX2F0b21p Y19zdGF0ZSBiYXNlOworCXN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSBiYXNlOwogCXZvaWQgKnN0 YXRlOwogfTsKLSNkZWZpbmUgdG9fa21zX3N0YXRlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3Qg bXNtX2ttc19zdGF0ZSwgYmFzZSkKKworc3RydWN0IG1zbV9rbXMgeworCXN0cnVjdCBkcm1fcHJp dmF0ZV9vYmogYmFzZTsKKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSBzdGF0ZTsKKworCWNvbnN0IHN0 cnVjdCBtc21fa21zX2Z1bmNzICpmdW5jczsKKworCS8qIGlycSBudW1iZXIgdG8gYmUgcGFzc2Vk IG9uIHRvIGRybV9pcnFfaW5zdGFsbCAqLworCWludCBpcnE7CisKKwkvKiBtYXBwZXItaWQgdXNl ZCB0byByZXF1ZXN0IEdFTSBidWZmZXIgbWFwcGVkIGZvciBzY2Fub3V0OiAqLworCXN0cnVjdCBt c21fZ2VtX2FkZHJlc3Nfc3BhY2UgKmFzcGFjZTsKK307CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBt c21fa21zX2luaXQoc3RydWN0IG1zbV9rbXMgKmttcywKIAkJY29uc3Qgc3RydWN0IG1zbV9rbXNf ZnVuY3MgKmZ1bmNzKQotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8g Q2hyb21pdW0gT1MKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVu bwo=