From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [DPU PATCH v3] drm/msm: Use atomic private_obj instead of subclassing Date: Mon, 19 Mar 2018 15:58:53 -0400 Message-ID: <20180319195853.49006-1-seanpaul@chromium.org> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yb0-x242.google.com (mail-yb0-x242.google.com [IPv6:2607:f8b0:4002:c09::242]) by gabe.freedesktop.org (Postfix) with ESMTPS id 4E7816E5FE for ; Mon, 19 Mar 2018 19:58:56 +0000 (UTC) Received: by mail-yb0-x242.google.com with SMTP id p186-v6so526169ybg.7 for ; Mon, 19 Mar 2018 12:58:56 -0700 (PDT) In-Reply-To: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: freedreno@lists.freedesktop.org, linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org Cc: hoegsberg@chromium.org, abhinavk@codeaurora.org List-Id: dri-devel@lists.freedesktop.org SW5zdGVhZCBvZiBzdWJjbGFzc2luZyBhdG9taWMgc3RhdGUsIHN0b3JlIGRyaXZlciBwcml2YXRl IGRhdGEgaW4KcHJpdmF0ZV9vYmovc3RhdGUuIFRoaXMgYWxsb3dzIHVzIHRvIHJlbW92ZSB0aGUg c3dhcF9zdGF0ZSBkcml2ZXIgaG9vawpmb3IgbWRwNSBhbmQgZ2V0IGNsb3NlciB0byB1c2luZyB0 aGUgYXRvbWljIGhlbHBlcnMgZW50aXJlbHkuCgpDaGFuZ2VzIGluIHYyOgogLSBVc2Ugc3RhdGUt PnN0YXRlIGluIGRpc3AgZHVwbGljYXRlX3N0YXRlIGNhbGxiYWNrIChKZXlrdW1hcikKQ2hhbmdl cyBpbiB2MzoKIC0gVXBkYXRlIGNvbW1lbnQgZGVzY3JpYmluZyBtc21fa21zX3N0YXRlIChKZXlr dW1hcikKCkNjOiBKZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgpSZXZp ZXdlZC1ieTogSmV5a3VtYXIgU2Fua2FyYW4gPGpzYW5rYUBjb2RlYXVyb3JhLm9yZz4KU2lnbmVk LW9mZi1ieTogU2VhbiBQYXVsIDxzZWFucGF1bEBjaHJvbWl1bS5vcmc+Ci0tLQogZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYyB8IDM3ICsrKysrKy0tLS0tLS0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9hdG9taWMuYyAgICAgICAgIHwgMzAgLS0tLS0tLS0tLS0KIGRy aXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jICAgICAgICAgICAgfCA2NSArKysrKysrKysrKysr KysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oICAgICAgICAgICAgfCAg NCArLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmggICAgICAgICAgICB8IDI3ICsrKysr LS0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgOTQgaW5zZXJ0aW9ucygrKSwgNjkgZGVsZXRpb25zKC0p CgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYyBi L2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMKaW5kZXggNmQ4ZTNhOWE2 ZmMwLi5mMWEyNDg0MTk2NTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vZGlzcC9t ZHA1L21kcDVfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9r bXMuYwpAQCAtNzQsMzYgKzc0LDMyIEBAIHN0cnVjdCBtZHA1X3N0YXRlICptZHA1X2dldF9zdGF0 ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqcykKIHsKIAlzdHJ1Y3QgbXNtX2RybV9wcml2YXRl ICpwcml2ID0gcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21z ID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhwcml2LT5rbXMpKTsKLQlzdHJ1Y3QgbXNtX2ttc19z dGF0ZSAqc3RhdGUgPSB0b19rbXNfc3RhdGUocyk7Ci0Jc3RydWN0IG1kcDVfc3RhdGUgKm5ld19z dGF0ZTsKKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqa21zX3N0YXRlOwogCWludCByZXQ7CiAKLQlp ZiAoc3RhdGUtPnN0YXRlKQotCQlyZXR1cm4gc3RhdGUtPnN0YXRlOwotCiAJcmV0ID0gZHJtX21v ZGVzZXRfbG9jaygmbWRwNV9rbXMtPnN0YXRlX2xvY2ssIHMtPmFjcXVpcmVfY3R4KTsKIAlpZiAo cmV0KQogCQlyZXR1cm4gRVJSX1BUUihyZXQpOwogCi0JbmV3X3N0YXRlID0ga21hbGxvYyhzaXpl b2YoKm1kcDVfa21zLT5zdGF0ZSksIEdGUF9LRVJORUwpOwotCWlmICghbmV3X3N0YXRlKQotCQly ZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKwlrbXNfc3RhdGUgPSBtc21fa21zX2dldF9zdGF0ZShz KTsKKwlpZiAoSVNfRVJSX09SX05VTEwoa21zX3N0YXRlKSkKKwkJcmV0dXJuIChzdHJ1Y3QgbWRw NV9zdGF0ZSAqKWttc19zdGF0ZTsgLyogY2FzdGluZyBFUlJfUFRSICovCiAKLQkvKiBDb3B5IHN0 YXRlOiAqLwotCW5ld19zdGF0ZS0+aHdwaXBlID0gbWRwNV9rbXMtPnN0YXRlLT5od3BpcGU7Ci0J bmV3X3N0YXRlLT5od21peGVyID0gbWRwNV9rbXMtPnN0YXRlLT5od21peGVyOwotCWlmIChtZHA1 X2ttcy0+c21wKQotCQluZXdfc3RhdGUtPnNtcCA9IG1kcDVfa21zLT5zdGF0ZS0+c21wOworCXJl dHVybiBrbXNfc3RhdGUtPnN0YXRlOworfQogCi0Jc3RhdGUtPnN0YXRlID0gbmV3X3N0YXRlOwor c3RhdGljIHZvaWQgKm1kcDVfZHVwbGljYXRlX3N0YXRlKHZvaWQgKnN0YXRlKQoreworCWlmICgh c3RhdGUpCisJCXJldHVybiBremFsbG9jKHNpemVvZihzdHJ1Y3QgbWRwNV9zdGF0ZSksIEdGUF9L RVJORUwpOwogCi0JcmV0dXJuIG5ld19zdGF0ZTsKKwlyZXR1cm4ga21lbWR1cChzdGF0ZSwgc2l6 ZW9mKHN0cnVjdCBtZHA1X3N0YXRlKSwgR0ZQX0tFUk5FTCk7CiB9CiAKLXN0YXRpYyB2b2lkIG1k cDVfc3dhcF9zdGF0ZShzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqc3RhdGUpCitzdGF0aWMgdm9pZCBtZHA1X2Rlc3Ryb3lfc3RhdGUodm9pZCAqc3RhdGUpCiB7 Ci0Jc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRvX21kcF9rbXMoa21z KSk7Ci0Jc3dhcCh0b19rbXNfc3RhdGUoc3RhdGUpLT5zdGF0ZSwgbWRwNV9rbXMtPnN0YXRlKTsK KwlzdHJ1Y3QgbWRwNV9zdGF0ZSAqbWRwX3N0YXRlID0gc3RhdGU7CisJa2ZyZWUobWRwX3N0YXRl KTsKIH0KIAogc3RhdGljIHZvaWQgbWRwNV9wcmVwYXJlX2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAq a21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCkBAIC0yMjksNyArMjI1LDggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBtZHBfa21zX2Z1bmNzIGttc19mdW5jcyA9IHsKIAkJLmlycSAg ICAgICAgICAgICA9IG1kcDVfaXJxLAogCQkuZW5hYmxlX3ZibGFuayAgID0gbWRwNV9lbmFibGVf dmJsYW5rLAogCQkuZGlzYWJsZV92YmxhbmsgID0gbWRwNV9kaXNhYmxlX3ZibGFuaywKLQkJLnN3 YXBfc3RhdGUgICAgICA9IG1kcDVfc3dhcF9zdGF0ZSwKKwkJLmR1cGxpY2F0ZV9zdGF0ZSA9IG1k cDVfZHVwbGljYXRlX3N0YXRlLAorCQkuZGVzdHJveV9zdGF0ZQkgPSBtZHA1X2Rlc3Ryb3lfc3Rh dGUsCiAJCS5wcmVwYXJlX2NvbW1pdCAgPSBtZHA1X3ByZXBhcmVfY29tbWl0LAogCQkuY29tcGxl dGVfY29tbWl0ID0gbWRwNV9jb21wbGV0ZV9jb21taXQsCiAJCS53YWl0X2Zvcl9jcnRjX2NvbW1p dF9kb25lID0gbWRwNV93YWl0X2Zvcl9jcnRjX2NvbW1pdF9kb25lLApAQCAtNzI2LDggKzcyMyw2 IEBAIHN0YXRpYyB2b2lkIG1kcDVfZGVzdHJveShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQogCiAJaWYgKG1kcDVfa21zLT5ycG1fZW5hYmxlZCkKIAkJcG1fcnVudGltZV9kaXNhYmxlKCZw ZGV2LT5kZXYpOwotCi0Ja2ZyZWUobWRwNV9rbXMtPnN0YXRlKTsKIH0KIAogc3RhdGljIGludCBj b25zdHJ1Y3RfcGlwZXMoc3RydWN0IG1kcDVfa21zICptZHA1X2ttcywgaW50IGNudCwKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9tc21fYXRvbWljLmMKaW5kZXggN2U1NGViNjVkMDk2Li4xZjUzMjYyZWE0NmIgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2F0b21pYy5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2F0b21pYy5jCkBAIC0xNjksOSArMTY5LDYgQEAgaW50IG1zbV9hdG9taWNf Y29tbWl0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJICovCiAJQlVHX09OKGRybV9hdG9taWNf aGVscGVyX3N3YXBfc3RhdGUoc3RhdGUsIGZhbHNlKSA8IDApOwogCi0JaWYgKHRvX2ttc19zdGF0 ZShzdGF0ZSktPnN0YXRlKQotCQlwcml2LT5rbXMtPmZ1bmNzLT5zd2FwX3N0YXRlKHByaXYtPmtt cywgc3RhdGUpOwotCiAJLyoKIAkgKiBQcm92aWRlIHRoZSBkcml2ZXIgYSBjaGFuY2UgdG8gcHJl cGFyZSBmb3Igb3V0cHV0IGZlbmNlcy4gVGhpcyBpcwogCSAqIGRvbmUgYWZ0ZXIgdGhlIHBvaW50 IG9mIG5vIHJldHVybiwgYnV0IGJlZm9yZSBhc3luY2hyb25vdXMgY29tbWl0cwpAQCAtMjEwLDMw ICsyMDcsMyBAQCBpbnQgbXNtX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAlkcm1fYXRvbWljX2hlbHBlcl9jbGVhbnVwX3BsYW5lcyhkZXYsIHN0YXRlKTsKIAlyZXR1cm4g cmV0OwogfQotCi1zdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqbXNtX2F0b21pY19zdGF0ZV9hbGxv YyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQotewotCXN0cnVjdCBtc21fa21zX3N0YXRlICpzdGF0 ZSA9IGt6YWxsb2Moc2l6ZW9mKCpzdGF0ZSksIEdGUF9LRVJORUwpOwotCi0JaWYgKCFzdGF0ZSB8 fCBkcm1fYXRvbWljX3N0YXRlX2luaXQoZGV2LCAmc3RhdGUtPmJhc2UpIDwgMCkgewotCQlrZnJl ZShzdGF0ZSk7Ci0JCXJldHVybiBOVUxMOwotCX0KLQotCXJldHVybiAmc3RhdGUtPmJhc2U7Ci19 Ci0KLXZvaWQgbXNtX2F0b21pY19zdGF0ZV9jbGVhcihzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAq cykKLXsKLQlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqc3RhdGUgPSB0b19rbXNfc3RhdGUocyk7Ci0J ZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0X2NsZWFyKCZzdGF0ZS0+YmFzZSk7Ci0Ja2ZyZWUoc3Rh dGUtPnN0YXRlKTsKLQlzdGF0ZS0+c3RhdGUgPSBOVUxMOwotfQotCi12b2lkIG1zbV9hdG9taWNf c3RhdGVfZnJlZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCi17Ci0Ja2ZyZWUodG9f a21zX3N0YXRlKHN0YXRlKS0+c3RhdGUpOwotCWRybV9hdG9taWNfc3RhdGVfZGVmYXVsdF9yZWxl YXNlKHN0YXRlKTsKLQlrZnJlZShzdGF0ZSk7Ci19CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vbXNtL21zbV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCmluZGV4IDUy MTk3OTJlOTNiYy4uNGMwNzQwZGM3ODU0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNt L21zbV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYwpAQCAtMTIxLDkg KzEyMSw2MiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9tb2RlX2NvbmZpZ19mdW5jcyBtb2Rl X2NvbmZpZ19mdW5jcyA9IHsKIAkub3V0cHV0X3BvbGxfY2hhbmdlZCA9IG1zbV9mYl9vdXRwdXRf cG9sbF9jaGFuZ2VkLAogCS5hdG9taWNfY2hlY2sgPSBkcm1fYXRvbWljX2hlbHBlcl9jaGVjaywK IAkuYXRvbWljX2NvbW1pdCA9IG1zbV9hdG9taWNfY29tbWl0LAotCS5hdG9taWNfc3RhdGVfYWxs b2MgPSBtc21fYXRvbWljX3N0YXRlX2FsbG9jLAotCS5hdG9taWNfc3RhdGVfY2xlYXIgPSBtc21f YXRvbWljX3N0YXRlX2NsZWFyLAotCS5hdG9taWNfc3RhdGVfZnJlZSA9IG1zbV9hdG9taWNfc3Rh dGVfZnJlZSwKK307CisKK3N0YXRpYyBpbmxpbmUKK3N0cnVjdCBtc21fa21zICpvYmpfdG9fa21z KHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iaikKK3sKKwlyZXR1cm4gY29udGFpbmVyX29mKG9i aiwgc3RydWN0IG1zbV9rbXMsIGJhc2UpOworfQorCitzdGF0aWMgaW5saW5lCitzdHJ1Y3QgbXNt X2ttc19zdGF0ZSAqc3RhdGVfdG9fa21zX3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSAq c3RhdGUpCit7CisJcmV0dXJuIGNvbnRhaW5lcl9vZihzdGF0ZSwgc3RydWN0IG1zbV9rbXNfc3Rh dGUsIGJhc2UpOworfQorCitzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqbXNtX2ttc19nZXRfc3RhdGUo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCit7CisJc3RydWN0IG1zbV9kcm1fcHJpdmF0ZSAq cHJpdiA9IHMtPmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9wcml2YXRlX29iaiAqb2Jq ID0gJnByaXYtPmttcy0+YmFzZTsKKwlzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnN0YXRlOwor CisJc3RhdGUgPSBkcm1fYXRvbWljX2dldF9wcml2YXRlX29ial9zdGF0ZShzLCBvYmopOworCWlm IChJU19FUlJfT1JfTlVMTChzdGF0ZSkpCisJCXJldHVybiAoc3RydWN0IG1zbV9rbXNfc3RhdGUg KilzdGF0ZTsgLyogY2FzdGluZyBFUlJfUFRSICovCisKKwlyZXR1cm4gc3RhdGVfdG9fa21zX3N0 YXRlKHN0YXRlKTsKK30KKworc3RhdGljIHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSAqCittc21f a21zX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmopCit7CisJc3Ry dWN0IG1zbV9rbXMgKmttcyA9IG9ial90b19rbXMob2JqKTsKKwlzdHJ1Y3QgbXNtX2ttc19zdGF0 ZSAqc3RhdGUgPSBzdGF0ZV90b19rbXNfc3RhdGUob2JqLT5zdGF0ZSk7CisJc3RydWN0IG1zbV9r bXNfc3RhdGUgKm5ld19zdGF0ZTsKKworCWlmIChrbXMtPmZ1bmNzLT5kdXBsaWNhdGVfc3RhdGUp CisJCW5ld19zdGF0ZSA9IGttcy0+ZnVuY3MtPmR1cGxpY2F0ZV9zdGF0ZShzdGF0ZS0+c3RhdGUp OworCisJX19kcm1fYXRvbWljX2hlbHBlcl9wcml2YXRlX29ial9kdXBsaWNhdGVfc3RhdGUob2Jq LCAmbmV3X3N0YXRlLT5iYXNlKTsKKworCXJldHVybiAmbmV3X3N0YXRlLT5iYXNlOworfQorCitz dGF0aWMgdm9pZCBtc21fa21zX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9wcml2YXRlX29iaiAq b2JqLAorCQkJCSAgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlICpzdGF0ZSkKK3sKKwlzdHJ1Y3Qg bXNtX2ttcyAqa21zID0gb2JqX3RvX2ttcyhvYmopOworCXN0cnVjdCBtc21fa21zX3N0YXRlICpr bXNfc3RhdGUgPSBzdGF0ZV90b19rbXNfc3RhdGUob2JqLT5zdGF0ZSk7CisKKwlpZiAoa21zLT5m dW5jcy0+ZGVzdHJveV9zdGF0ZSkKKwkJa21zLT5mdW5jcy0+ZGVzdHJveV9zdGF0ZShrbXNfc3Rh dGUtPnN0YXRlKTsKKwlrZnJlZShrbXNfc3RhdGUpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0 IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNzIGttc19zdGF0ZV9mdW5jcyA9IHsKKwkuYXRvbWljX2R1 cGxpY2F0ZV9zdGF0ZSA9IG1zbV9rbXNfZHVwbGljYXRlX3N0YXRlLAorCS5hdG9taWNfZGVzdHJv eV9zdGF0ZSA9IG1zbV9rbXNfZGVzdHJveV9zdGF0ZSwKIH07CiAKICNpZmRlZiBDT05GSUdfRFJN X01TTV9SRUdJU1RFUl9MT0dHSU5HCkBAIC0zNDEsNiArMzk0LDggQEAgc3RhdGljIGludCBtc21f ZHJtX3VuaW5pdChzdHJ1Y3QgZGV2aWNlICpkZXYpCiAJCX0KIAl9CiAKKwlkcm1fYXRvbWljX3By aXZhdGVfb2JqX2ZpbmkoJmttcy0+YmFzZSk7CisKIAltc21fZ2VtX3Nocmlua2VyX2NsZWFudXAo ZGRldik7CiAKIAlkcm1fa21zX2hlbHBlcl9wb2xsX2ZpbmkoZGRldik7CkBAIC03NzAsNiArODI1 LDEwIEBAIHN0YXRpYyBpbnQgbXNtX2RybV9pbml0KHN0cnVjdCBkZXZpY2UgKmRldiwgc3RydWN0 IGRybV9kcml2ZXIgKmRydikKIAl9CiAjZW5kaWYKIAorCWRybV9hdG9taWNfcHJpdmF0ZV9vYmpf aW5pdCgma21zLT5iYXNlLAorCQkJCSAgICAma21zLT5zdGF0ZS5iYXNlLAorCQkJCSAgICAma21z X3N0YXRlX2Z1bmNzKTsKKwogCS8qIHBlcmZvcm0gc3ViZHJpdmVyIHBvc3QgaW5pdGlhbGl6YXRp b24gKi8KIAlpZiAoa21zICYmIGttcy0+ZnVuY3MgJiYga21zLT5mdW5jcy0+cG9zdGluaXQpIHsK IAkJcmV0ID0ga21zLT5mdW5jcy0+cG9zdGluaXQoa21zKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9tc20vbXNtX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKaW5k ZXggMjkyNDk2YjY4MmU4Li44Y2FiMzMzZGY3MTcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oCkBAIC01 OTgsOSArNTk4LDcgQEAgc3RydWN0IG1zbV9mb3JtYXQgewogCiBpbnQgbXNtX2F0b21pY19jb21t aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlLCBib29sIG5vbmJsb2NrKTsKLXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICptc21fYXRvbWlj X3N0YXRlX2FsbG9jKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwotdm9pZCBtc21fYXRvbWljX3N0 YXRlX2NsZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7Ci12b2lkIG1zbV9hdG9t aWNfc3RhdGVfZnJlZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOworc3RydWN0IG1z bV9rbXNfc3RhdGUgKm1zbV9rbXNfZ2V0X3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSk7CiAKIHZvaWQgbXNtX2dlbV91bm1hcF92bWEoc3RydWN0IG1zbV9nZW1fYWRkcmVzc19z cGFjZSAqYXNwYWNlLAogCQlzdHJ1Y3QgbXNtX2dlbV92bWEgKnZtYSwgc3RydWN0IHNnX3RhYmxl ICpzZ3QpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmggYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaAppbmRleCAwOWJhMWU3OWRiNTAuLjVjMWJjYWY2NWZk OSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fa21zLmgKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9tc21fa21zLmgKQEAgLTU3LDYgKzU3LDggQEAgc3RydWN0IG1zbV9rbXNf ZnVuY3MgewogCXZvaWQgKCpkaXNhYmxlX3ZibGFuaykoc3RydWN0IG1zbV9rbXMgKmttcywgc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKIAkvKiBzd2FwIGdsb2JhbCBhdG9taWMgc3RhdGU6ICovCiAJ dm9pZCAoKnN3YXBfc3RhdGUpKHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSk7CisJdm9pZCAqKCpkdXBsaWNhdGVfc3RhdGUpKHZvaWQgKnN0YXRlKTsK Kwl2b2lkICgqZGVzdHJveV9zdGF0ZSkodm9pZCAqc3RhdGUpOwogCS8qIG1vZGVzZXQsIGJyYWNr ZXRpbmcgYXRvbWljX2NvbW1pdCgpOiAqLwogCXZvaWQgKCpwcmVwYXJlX2ZlbmNlKShzdHJ1Y3Qg bXNtX2ttcyAqa21zLAogCQkJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKQEAgLTEx NCw3ICsxMTYsMjAgQEAgc3RydWN0IG1zbV9rbXNfZnVuY3MgewogI2VuZGlmCiB9OwogCisvKioK KyAqIFN1YmNsYXNzIG9mIGRybV9wcml2YXRlX3N0YXRlLCB0byBhbGxvdyBrbXMgYmFja2VuZCB0 byBoYXZlIGRyaXZlcgorICogcHJpdmF0ZSBnbG9iYWwgc3RhdGUuICBUaGUga21zIGJhY2tlbmQg Y2FuIGRvIHdoYXRldmVyIGl0IHdhbnRzCisgKiB3aXRoIHRoZSAtPnN0YXRlIHB0ci4KKyAqLwor c3RydWN0IG1zbV9rbXNfc3RhdGUgeworCXN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSBiYXNlOwor CXZvaWQgKnN0YXRlOworfTsKKwogc3RydWN0IG1zbV9rbXMgeworCXN0cnVjdCBkcm1fcHJpdmF0 ZV9vYmogYmFzZTsKKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSBzdGF0ZTsKKwogCWNvbnN0IHN0cnVj dCBtc21fa21zX2Z1bmNzICpmdW5jczsKIAogCS8qIGlycSBudW1iZXIgdG8gYmUgcGFzc2VkIG9u IHRvIGRybV9pcnFfaW5zdGFsbCAqLwpAQCAtMTI0LDE4ICsxMzksNiBAQCBzdHJ1Y3QgbXNtX2tt cyB7CiAJc3RydWN0IG1zbV9nZW1fYWRkcmVzc19zcGFjZSAqYXNwYWNlOwogfTsKIAotLyoqCi0g KiBTdWJjbGFzcyBvZiBkcm1fYXRvbWljX3N0YXRlLCB0byBhbGxvdyBrbXMgYmFja2VuZCB0byBo YXZlIGRyaXZlcgotICogcHJpdmF0ZSBnbG9iYWwgc3RhdGUuICBUaGUga21zIGJhY2tlbmQgY2Fu IGRvIHdoYXRldmVyIGl0IHdhbnRzCi0gKiB3aXRoIHRoZSAtPnN0YXRlIHB0ci4gIE9uIC0+YXRv bWljX3N0YXRlX2NsZWFyKCkgdGhlIC0+c3RhdGUgcHRyCi0gKiBpcyBrZnJlZSdkIGFuZCBzZXQg YmFjayB0byBOVUxMLgotICovCi1zdHJ1Y3QgbXNtX2ttc19zdGF0ZSB7Ci0Jc3RydWN0IGRybV9h dG9taWNfc3RhdGUgYmFzZTsKLQl2b2lkICpzdGF0ZTsKLX07Ci0jZGVmaW5lIHRvX2ttc19zdGF0 ZSh4KSBjb250YWluZXJfb2YoeCwgc3RydWN0IG1zbV9rbXNfc3RhdGUsIGJhc2UpCi0KIHN0YXRp YyBpbmxpbmUgdm9pZCBtc21fa21zX2luaXQoc3RydWN0IG1zbV9rbXMgKmttcywKIAkJY29uc3Qg c3RydWN0IG1zbV9rbXNfZnVuY3MgKmZ1bmNzKQogewotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBF bmdpbmVlciwgR29vZ2xlIC8gQ2hyb21pdW0gT1MKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=