From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [DPU PATCH v2] drm/msm: Use atomic private_obj instead of subclassing Date: Mon, 19 Mar 2018 13:31:13 -0400 Message-ID: <20180319173113.94879-1-seanpaul@chromium.org> References: <20180312202823.GC223881@art_vandelay> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180312202823.GC223881@art_vandelay> 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 aGUgYXRvbWljIGhlbHBlcnMgZW50aXJlbHkuCgpDaGFuZ2VzIGluIHYyOgogLSBVc2Ugc3RhdGUt PnN0YXRlIGluIGRpc3AgZHVwbGljYXRlX3N0YXRlIGNhbGxiYWNrIChKZXlrdW1hcikKCkNjOiBK ZXlrdW1hciBTYW5rYXJhbiA8anNhbmthQGNvZGVhdXJvcmEub3JnPgpTaWduZWQtb2ZmLWJ5OiBT ZWFuIFBhdWwgPHNlYW5wYXVsQGNocm9taXVtLm9yZz4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNt L2Rpc3AvbWRwNS9tZHA1X2ttcy5jIHwgMzcgKysrKysrLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2F0b21pYy5jICAgICAgICAgfCAzMCAtLS0tLS0tLS0tLQogZHJpdmVycy9ncHUv ZHJtL21zbS9tc21fZHJ2LmMgICAgICAgICAgICB8IDY1ICsrKysrKysrKysrKysrKysrKysrKyst LQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggICAgICAgICAgICB8ICA0ICstCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaCAgICAgICAgICAgIHwgMjggKysrKystLS0tLQogNSBm aWxlcyBjaGFuZ2VkLCA5NSBpbnNlcnRpb25zKCspLCA2OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYwppbmRleCA2ZDhlM2E5YTZmYzAuLmYxYTI0 ODQxOTY1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9r bXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jCkBAIC03 NCwzNiArNzQsMzIgQEAgc3RydWN0IG1kcDVfc3RhdGUgKm1kcDVfZ2V0X3N0YXRlKHN0cnVjdCBk cm1fYXRvbWljX3N0YXRlICpzKQogewogCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBz LT5kZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMgPSB0b19tZHA1 X2ttcyh0b19tZHBfa21zKHByaXYtPmttcykpOwotCXN0cnVjdCBtc21fa21zX3N0YXRlICpzdGF0 ZSA9IHRvX2ttc19zdGF0ZShzKTsKLQlzdHJ1Y3QgbWRwNV9zdGF0ZSAqbmV3X3N0YXRlOworCXN0 cnVjdCBtc21fa21zX3N0YXRlICprbXNfc3RhdGU7CiAJaW50IHJldDsKIAotCWlmIChzdGF0ZS0+ c3RhdGUpCi0JCXJldHVybiBzdGF0ZS0+c3RhdGU7Ci0KIAlyZXQgPSBkcm1fbW9kZXNldF9sb2Nr KCZtZHA1X2ttcy0+c3RhdGVfbG9jaywgcy0+YWNxdWlyZV9jdHgpOwogCWlmIChyZXQpCiAJCXJl dHVybiBFUlJfUFRSKHJldCk7CiAKLQluZXdfc3RhdGUgPSBrbWFsbG9jKHNpemVvZigqbWRwNV9r bXMtPnN0YXRlKSwgR0ZQX0tFUk5FTCk7Ci0JaWYgKCFuZXdfc3RhdGUpCi0JCXJldHVybiBFUlJf UFRSKC1FTk9NRU0pOworCWttc19zdGF0ZSA9IG1zbV9rbXNfZ2V0X3N0YXRlKHMpOworCWlmIChJ U19FUlJfT1JfTlVMTChrbXNfc3RhdGUpKQorCQlyZXR1cm4gKHN0cnVjdCBtZHA1X3N0YXRlICop a21zX3N0YXRlOyAvKiBjYXN0aW5nIEVSUl9QVFIgKi8KIAotCS8qIENvcHkgc3RhdGU6ICovCi0J bmV3X3N0YXRlLT5od3BpcGUgPSBtZHA1X2ttcy0+c3RhdGUtPmh3cGlwZTsKLQluZXdfc3RhdGUt Pmh3bWl4ZXIgPSBtZHA1X2ttcy0+c3RhdGUtPmh3bWl4ZXI7Ci0JaWYgKG1kcDVfa21zLT5zbXAp Ci0JCW5ld19zdGF0ZS0+c21wID0gbWRwNV9rbXMtPnN0YXRlLT5zbXA7CisJcmV0dXJuIGttc19z dGF0ZS0+c3RhdGU7Cit9CiAKLQlzdGF0ZS0+c3RhdGUgPSBuZXdfc3RhdGU7CitzdGF0aWMgdm9p ZCAqbWRwNV9kdXBsaWNhdGVfc3RhdGUodm9pZCAqc3RhdGUpCit7CisJaWYgKCFzdGF0ZSkKKwkJ cmV0dXJuIGt6YWxsb2Moc2l6ZW9mKHN0cnVjdCBtZHA1X3N0YXRlKSwgR0ZQX0tFUk5FTCk7CiAK LQlyZXR1cm4gbmV3X3N0YXRlOworCXJldHVybiBrbWVtZHVwKHN0YXRlLCBzaXplb2Yoc3RydWN0 IG1kcDVfc3RhdGUpLCBHRlBfS0VSTkVMKTsKIH0KIAotc3RhdGljIHZvaWQgbWRwNV9zd2FwX3N0 YXRlKHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkK K3N0YXRpYyB2b2lkIG1kcDVfZGVzdHJveV9zdGF0ZSh2b2lkICpzdGF0ZSkKIHsKLQlzdHJ1Y3Qg bWRwNV9rbXMgKm1kcDVfa21zID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhrbXMpKTsKLQlzd2Fw KHRvX2ttc19zdGF0ZShzdGF0ZSktPnN0YXRlLCBtZHA1X2ttcy0+c3RhdGUpOworCXN0cnVjdCBt ZHA1X3N0YXRlICptZHBfc3RhdGUgPSBzdGF0ZTsKKwlrZnJlZShtZHBfc3RhdGUpOwogfQogCiBz dGF0aWMgdm9pZCBtZHA1X3ByZXBhcmVfY29tbWl0KHN0cnVjdCBtc21fa21zICprbXMsIHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKQEAgLTIyOSw3ICsyMjUsOCBAQCBzdGF0aWMgY29u c3Qgc3RydWN0IG1kcF9rbXNfZnVuY3Mga21zX2Z1bmNzID0gewogCQkuaXJxICAgICAgICAgICAg ID0gbWRwNV9pcnEsCiAJCS5lbmFibGVfdmJsYW5rICAgPSBtZHA1X2VuYWJsZV92YmxhbmssCiAJ CS5kaXNhYmxlX3ZibGFuayAgPSBtZHA1X2Rpc2FibGVfdmJsYW5rLAotCQkuc3dhcF9zdGF0ZSAg ICAgID0gbWRwNV9zd2FwX3N0YXRlLAorCQkuZHVwbGljYXRlX3N0YXRlID0gbWRwNV9kdXBsaWNh dGVfc3RhdGUsCisJCS5kZXN0cm95X3N0YXRlCSA9IG1kcDVfZGVzdHJveV9zdGF0ZSwKIAkJLnBy ZXBhcmVfY29tbWl0ICA9IG1kcDVfcHJlcGFyZV9jb21taXQsCiAJCS5jb21wbGV0ZV9jb21taXQg PSBtZHA1X2NvbXBsZXRlX2NvbW1pdCwKIAkJLndhaXRfZm9yX2NydGNfY29tbWl0X2RvbmUgPSBt ZHA1X3dhaXRfZm9yX2NydGNfY29tbWl0X2RvbmUsCkBAIC03MjYsOCArNzIzLDYgQEAgc3RhdGlj IHZvaWQgbWRwNV9kZXN0cm95KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAKIAlpZiAo bWRwNV9rbXMtPnJwbV9lbmFibGVkKQogCQlwbV9ydW50aW1lX2Rpc2FibGUoJnBkZXYtPmRldik7 Ci0KLQlrZnJlZShtZHA1X2ttcy0+c3RhdGUpOwogfQogCiBzdGF0aWMgaW50IGNvbnN0cnVjdF9w aXBlcyhzdHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zLCBpbnQgY250LApkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9h dG9taWMuYwppbmRleCA3ZTU0ZWI2NWQwOTYuLjFmNTMyNjJlYTQ2YiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL21zbS9tc21fYXRvbWljLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fYXRvbWljLmMKQEAgLTE2OSw5ICsxNjksNiBAQCBpbnQgbXNtX2F0b21pY19jb21taXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwKIAkgKi8KIAlCVUdfT04oZHJtX2F0b21pY19oZWxwZXJfc3dh cF9zdGF0ZShzdGF0ZSwgZmFsc2UpIDwgMCk7CiAKLQlpZiAodG9fa21zX3N0YXRlKHN0YXRlKS0+ c3RhdGUpCi0JCXByaXYtPmttcy0+ZnVuY3MtPnN3YXBfc3RhdGUocHJpdi0+a21zLCBzdGF0ZSk7 Ci0KIAkvKgogCSAqIFByb3ZpZGUgdGhlIGRyaXZlciBhIGNoYW5jZSB0byBwcmVwYXJlIGZvciBv dXRwdXQgZmVuY2VzLiBUaGlzIGlzCiAJICogZG9uZSBhZnRlciB0aGUgcG9pbnQgb2Ygbm8gcmV0 dXJuLCBidXQgYmVmb3JlIGFzeW5jaHJvbm91cyBjb21taXRzCkBAIC0yMTAsMzAgKzIwNywzIEBA IGludCBtc21fYXRvbWljX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCWRybV9hdG9t aWNfaGVscGVyX2NsZWFudXBfcGxhbmVzKGRldiwgc3RhdGUpOwogCXJldHVybiByZXQ7CiB9Ci0K LXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICptc21fYXRvbWljX3N0YXRlX2FsbG9jKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCi17Ci0Jc3RydWN0IG1zbV9rbXNfc3RhdGUgKnN0YXRlID0ga3phbGxv YyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tFUk5FTCk7Ci0KLQlpZiAoIXN0YXRlIHx8IGRybV9hdG9t aWNfc3RhdGVfaW5pdChkZXYsICZzdGF0ZS0+YmFzZSkgPCAwKSB7Ci0JCWtmcmVlKHN0YXRlKTsK LQkJcmV0dXJuIE5VTEw7Ci0JfQotCi0JcmV0dXJuICZzdGF0ZS0+YmFzZTsKLX0KLQotdm9pZCBt c21fYXRvbWljX3N0YXRlX2NsZWFyKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzKQotewotCXN0 cnVjdCBtc21fa21zX3N0YXRlICpzdGF0ZSA9IHRvX2ttc19zdGF0ZShzKTsKLQlkcm1fYXRvbWlj X3N0YXRlX2RlZmF1bHRfY2xlYXIoJnN0YXRlLT5iYXNlKTsKLQlrZnJlZShzdGF0ZS0+c3RhdGUp OwotCXN0YXRlLT5zdGF0ZSA9IE5VTEw7Ci19Ci0KLXZvaWQgbXNtX2F0b21pY19zdGF0ZV9mcmVl KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKLXsKLQlrZnJlZSh0b19rbXNfc3RhdGUo c3RhdGUpLT5zdGF0ZSk7Ci0JZHJtX2F0b21pY19zdGF0ZV9kZWZhdWx0X3JlbGVhc2Uoc3RhdGUp OwotCWtmcmVlKHN0YXRlKTsKLX0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNt X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKaW5kZXggNTIxOTc5MmU5M2Jj Li40YzA3NDBkYzc4NTQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBAIC0xMjEsOSArMTIxLDYyIEBA IHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX21vZGVfY29uZmlnX2Z1bmNzIG1vZGVfY29uZmlnX2Z1 bmNzID0gewogCS5vdXRwdXRfcG9sbF9jaGFuZ2VkID0gbXNtX2ZiX291dHB1dF9wb2xsX2NoYW5n ZWQsCiAJLmF0b21pY19jaGVjayA9IGRybV9hdG9taWNfaGVscGVyX2NoZWNrLAogCS5hdG9taWNf Y29tbWl0ID0gbXNtX2F0b21pY19jb21taXQsCi0JLmF0b21pY19zdGF0ZV9hbGxvYyA9IG1zbV9h dG9taWNfc3RhdGVfYWxsb2MsCi0JLmF0b21pY19zdGF0ZV9jbGVhciA9IG1zbV9hdG9taWNfc3Rh dGVfY2xlYXIsCi0JLmF0b21pY19zdGF0ZV9mcmVlID0gbXNtX2F0b21pY19zdGF0ZV9mcmVlLAor fTsKKworc3RhdGljIGlubGluZQorc3RydWN0IG1zbV9rbXMgKm9ial90b19rbXMoc3RydWN0IGRy bV9wcml2YXRlX29iaiAqb2JqKQoreworCXJldHVybiBjb250YWluZXJfb2Yob2JqLCBzdHJ1Y3Qg bXNtX2ttcywgYmFzZSk7Cit9CisKK3N0YXRpYyBpbmxpbmUKK3N0cnVjdCBtc21fa21zX3N0YXRl ICpzdGF0ZV90b19rbXNfc3RhdGUoc3RydWN0IGRybV9wcml2YXRlX3N0YXRlICpzdGF0ZSkKK3sK KwlyZXR1cm4gY29udGFpbmVyX29mKHN0YXRlLCBzdHJ1Y3QgbXNtX2ttc19zdGF0ZSwgYmFzZSk7 Cit9CisKK3N0cnVjdCBtc21fa21zX3N0YXRlICptc21fa21zX2dldF9zdGF0ZShzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqcykKK3sKKwlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gcy0+ ZGV2LT5kZXZfcHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmogPSAmcHJpdi0+ a21zLT5iYXNlOworCXN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSAqc3RhdGU7CisKKwlzdGF0ZSA9 IGRybV9hdG9taWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRlKHMsIG9iaik7CisJaWYgKElTX0VSUl9P Ul9OVUxMKHN0YXRlKSkKKwkJcmV0dXJuIChzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAqKXN0YXRlOyAv KiBjYXN0aW5nIEVSUl9QVFIgKi8KKworCXJldHVybiBzdGF0ZV90b19rbXNfc3RhdGUoc3RhdGUp OworfQorCitzdGF0aWMgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlICoKK21zbV9rbXNfZHVwbGlj YXRlX3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iaikKK3sKKwlzdHJ1Y3QgbXNtX2tt cyAqa21zID0gb2JqX3RvX2ttcyhvYmopOworCXN0cnVjdCBtc21fa21zX3N0YXRlICpzdGF0ZSA9 IHN0YXRlX3RvX2ttc19zdGF0ZShvYmotPnN0YXRlKTsKKwlzdHJ1Y3QgbXNtX2ttc19zdGF0ZSAq bmV3X3N0YXRlOworCisJaWYgKGttcy0+ZnVuY3MtPmR1cGxpY2F0ZV9zdGF0ZSkKKwkJbmV3X3N0 YXRlID0ga21zLT5mdW5jcy0+ZHVwbGljYXRlX3N0YXRlKHN0YXRlLT5zdGF0ZSk7CisKKwlfX2Ry bV9hdG9taWNfaGVscGVyX3ByaXZhdGVfb2JqX2R1cGxpY2F0ZV9zdGF0ZShvYmosICZuZXdfc3Rh dGUtPmJhc2UpOworCisJcmV0dXJuICZuZXdfc3RhdGUtPmJhc2U7Cit9CisKK3N0YXRpYyB2b2lk IG1zbV9rbXNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmosCisJCQkJ ICBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBtc21fa21zICpr bXMgPSBvYmpfdG9fa21zKG9iaik7CisJc3RydWN0IG1zbV9rbXNfc3RhdGUgKmttc19zdGF0ZSA9 IHN0YXRlX3RvX2ttc19zdGF0ZShvYmotPnN0YXRlKTsKKworCWlmIChrbXMtPmZ1bmNzLT5kZXN0 cm95X3N0YXRlKQorCQlrbXMtPmZ1bmNzLT5kZXN0cm95X3N0YXRlKGttc19zdGF0ZS0+c3RhdGUp OworCWtmcmVlKGttc19zdGF0ZSk7Cit9CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX3ByaXZh dGVfc3RhdGVfZnVuY3Mga21zX3N0YXRlX2Z1bmNzID0geworCS5hdG9taWNfZHVwbGljYXRlX3N0 YXRlID0gbXNtX2ttc19kdXBsaWNhdGVfc3RhdGUsCisJLmF0b21pY19kZXN0cm95X3N0YXRlID0g bXNtX2ttc19kZXN0cm95X3N0YXRlLAogfTsKIAogI2lmZGVmIENPTkZJR19EUk1fTVNNX1JFR0lT VEVSX0xPR0dJTkcKQEAgLTM0MSw2ICszOTQsOCBAQCBzdGF0aWMgaW50IG1zbV9kcm1fdW5pbml0 KHN0cnVjdCBkZXZpY2UgKmRldikKIAkJfQogCX0KIAorCWRybV9hdG9taWNfcHJpdmF0ZV9vYmpf ZmluaSgma21zLT5iYXNlKTsKKwogCW1zbV9nZW1fc2hyaW5rZXJfY2xlYW51cChkZGV2KTsKIAog CWRybV9rbXNfaGVscGVyX3BvbGxfZmluaShkZGV2KTsKQEAgLTc3MCw2ICs4MjUsMTAgQEAgc3Rh dGljIGludCBtc21fZHJtX2luaXQoc3RydWN0IGRldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2RyaXZl ciAqZHJ2KQogCX0KICNlbmRpZgogCisJZHJtX2F0b21pY19wcml2YXRlX29ial9pbml0KCZrbXMt PmJhc2UsCisJCQkJICAgICZrbXMtPnN0YXRlLmJhc2UsCisJCQkJICAgICZrbXNfc3RhdGVfZnVu Y3MpOworCiAJLyogcGVyZm9ybSBzdWJkcml2ZXIgcG9zdCBpbml0aWFsaXphdGlvbiAqLwogCWlm IChrbXMgJiYga21zLT5mdW5jcyAmJiBrbXMtPmZ1bmNzLT5wb3N0aW5pdCkgewogCQlyZXQgPSBr bXMtPmZ1bmNzLT5wb3N0aW5pdChrbXMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9tc21fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAppbmRleCAyOTI0OTZi NjgyZTguLjhjYWIzMzNkZjcxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKQEAgLTU5OCw5ICs1OTgs NyBAQCBzdHJ1Y3QgbXNtX2Zvcm1hdCB7CiAKIGludCBtc21fYXRvbWljX2NvbW1pdChzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAogCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsIGJvb2wg bm9uYmxvY2spOwotc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm1zbV9hdG9taWNfc3RhdGVfYWxs b2Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci12b2lkIG1zbV9hdG9taWNfc3RhdGVfY2xlYXIo c3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKLXZvaWQgbXNtX2F0b21pY19zdGF0ZV9m cmVlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7CitzdHJ1Y3QgbXNtX2ttc19zdGF0 ZSAqbXNtX2ttc19nZXRfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKTsKIAog dm9pZCBtc21fZ2VtX3VubWFwX3ZtYShzdHJ1Y3QgbXNtX2dlbV9hZGRyZXNzX3NwYWNlICphc3Bh Y2UsCiAJCXN0cnVjdCBtc21fZ2VtX3ZtYSAqdm1hLCBzdHJ1Y3Qgc2dfdGFibGUgKnNndCk7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2ttcy5oCmluZGV4IDA5YmExZTc5ZGI1MC4uNGM1YTY5MjU4YzQyIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9rbXMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9rbXMuaApAQCAtNTcsNiArNTcsOCBAQCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyB7CiAJ dm9pZCAoKmRpc2FibGVfdmJsYW5rKShzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2Ny dGMgKmNydGMpOwogCS8qIHN3YXAgZ2xvYmFsIGF0b21pYyBzdGF0ZTogKi8KIAl2b2lkICgqc3dh cF9zdGF0ZSkoc3RydWN0IG1zbV9rbXMgKmttcywgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlKTsKKwl2b2lkICooKmR1cGxpY2F0ZV9zdGF0ZSkodm9pZCAqc3RhdGUpOworCXZvaWQgKCpk ZXN0cm95X3N0YXRlKSh2b2lkICpzdGF0ZSk7CiAJLyogbW9kZXNldCwgYnJhY2tldGluZyBhdG9t aWNfY29tbWl0KCk6ICovCiAJdm9pZCAoKnByZXBhcmVfZmVuY2UpKHN0cnVjdCBtc21fa21zICpr bXMsCiAJCQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpOwpAQCAtMTE0LDE2ICsxMTYs NiBAQCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyB7CiAjZW5kaWYKIH07CiAKLXN0cnVjdCBtc21fa21z IHsKLQljb25zdCBzdHJ1Y3QgbXNtX2ttc19mdW5jcyAqZnVuY3M7Ci0KLQkvKiBpcnEgbnVtYmVy IHRvIGJlIHBhc3NlZCBvbiB0byBkcm1faXJxX2luc3RhbGwgKi8KLQlpbnQgaXJxOwotCi0JLyog bWFwcGVyLWlkIHVzZWQgdG8gcmVxdWVzdCBHRU0gYnVmZmVyIG1hcHBlZCBmb3Igc2Nhbm91dDog Ki8KLQlzdHJ1Y3QgbXNtX2dlbV9hZGRyZXNzX3NwYWNlICphc3BhY2U7Ci19OwotCiAvKioKICAq IFN1YmNsYXNzIG9mIGRybV9hdG9taWNfc3RhdGUsIHRvIGFsbG93IGttcyBiYWNrZW5kIHRvIGhh dmUgZHJpdmVyCiAgKiBwcml2YXRlIGdsb2JhbCBzdGF0ZS4gIFRoZSBrbXMgYmFja2VuZCBjYW4g ZG8gd2hhdGV2ZXIgaXQgd2FudHMKQEAgLTEzMSwxMCArMTIzLDIyIEBAIHN0cnVjdCBtc21fa21z IHsKICAqIGlzIGtmcmVlJ2QgYW5kIHNldCBiYWNrIHRvIE5VTEwuCiAgKi8KIHN0cnVjdCBtc21f a21zX3N0YXRlIHsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSBiYXNlOworCXN0cnVjdCBkcm1f cHJpdmF0ZV9zdGF0ZSBiYXNlOwogCXZvaWQgKnN0YXRlOwogfTsKLSNkZWZpbmUgdG9fa21zX3N0 YXRlKHgpIGNvbnRhaW5lcl9vZih4LCBzdHJ1Y3QgbXNtX2ttc19zdGF0ZSwgYmFzZSkKKworc3Ry dWN0IG1zbV9rbXMgeworCXN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogYmFzZTsKKwlzdHJ1Y3QgbXNt X2ttc19zdGF0ZSBzdGF0ZTsKKworCWNvbnN0IHN0cnVjdCBtc21fa21zX2Z1bmNzICpmdW5jczsK KworCS8qIGlycSBudW1iZXIgdG8gYmUgcGFzc2VkIG9uIHRvIGRybV9pcnFfaW5zdGFsbCAqLwor CWludCBpcnE7CisKKwkvKiBtYXBwZXItaWQgdXNlZCB0byByZXF1ZXN0IEdFTSBidWZmZXIgbWFw cGVkIGZvciBzY2Fub3V0OiAqLworCXN0cnVjdCBtc21fZ2VtX2FkZHJlc3Nfc3BhY2UgKmFzcGFj ZTsKK307CiAKIHN0YXRpYyBpbmxpbmUgdm9pZCBtc21fa21zX2luaXQoc3RydWN0IG1zbV9rbXMg KmttcywKIAkJY29uc3Qgc3RydWN0IG1zbV9rbXNfZnVuY3MgKmZ1bmNzKQotLSAKU2VhbiBQYXVs LCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hyb21pdW0gT1MKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QK RnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=