From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 02/10] drm/i915: Make GEM object create and create from data take dev_priv Date: Thu, 1 Dec 2016 14:16:37 +0000 Message-ID: <1480601805-14391-3-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1480601805-14391-1-git-send-email-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wj0-x243.google.com (mail-wj0-x243.google.com [IPv6:2a00:1450:400c:c01::243]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6F4A46E7DD for ; Thu, 1 Dec 2016 14:16:55 +0000 (UTC) Received: by mail-wj0-x243.google.com with SMTP id kp2so26545888wjc.0 for ; Thu, 01 Dec 2016 06:16:55 -0800 (PST) In-Reply-To: <1480601805-14391-1-git-send-email-tvrtko.ursulin@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk1ha2VzIGFs bCBHRU0gb2JqZWN0IGNvbnN0cnVjdG9ycyBjb25zaXN0ZW50LgoKdjI6IEZpeCBjb21waWxhdGlv biBpbiBHVlQgY29kZS4KClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJz dWxpbkBpbnRlbC5jb20+ClJldmlld2VkLWJ5OiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdp bHNvbi5jby51az4gKHYxKQpSZXZpZXdlZC1ieTogSm9vbmFzIExhaHRpbmVuIDxqb29uYXMubGFo dGluZW5AbGludXguaW50ZWwuY29tPiAodjEpCi0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0 L2NtZF9wYXJzZXIuYyAgICAgIHwgIDUgKystLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggICAgICAgICAgICB8ICA5ICsrKysrLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyAgICAgICAgICAgIHwgMjAgKysrKysrKysrKy0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyAgICB8ICA1ICsrKy0tCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9wZXJmLmMgICAgICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9m YmRldi5jICAgICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xv YWRlci5jICAgIHwgIDUgKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAg ICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyAg ICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgICAg fCAgNCArKy0tCiAxMiBmaWxlcyBjaGFuZ2VkLCAzMiBpbnNlcnRpb25zKCspLCAzMCBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvY21kX3BhcnNlci5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2NtZF9wYXJzZXIuYwppbmRleCBkMjZhMDkyYzcw ZTguLjlhNGIyM2MzZWU5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2Nt ZF9wYXJzZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvY21kX3BhcnNlci5jCkBA IC0xNjAyLDcgKzE2MDIsNyBAQCBzdGF0aWMgaW50IHBlcmZvcm1fYmJfc2hhZG93KHN0cnVjdCBw YXJzZXJfZXhlY19zdGF0ZSAqcykKIAkJcmV0dXJuIC1FTk9NRU07CiAKIAllbnRyeV9vYmotPm9i aiA9Ci0JCWk5MTVfZ2VtX29iamVjdF9jcmVhdGUoJihzLT52Z3B1LT5ndnQtPmRldl9wcml2LT5k cm0pLAorCQlpOTE1X2dlbV9vYmplY3RfY3JlYXRlKHMtPnZncHUtPmd2dC0+ZGV2X3ByaXYsCiAJ CQkJICAgICAgIHJvdW5kdXAoYmJfc2l6ZSwgUEFHRV9TSVpFKSk7CiAJaWYgKElTX0VSUihlbnRy eV9vYmotPm9iaikpIHsKIAkJcmV0ID0gUFRSX0VSUihlbnRyeV9vYmotPm9iaik7CkBAIC0yNjY1 LDE0ICsyNjY1LDEzIEBAIGludCBpbnRlbF9ndnRfc2Nhbl9hbmRfc2hhZG93X3dvcmtsb2FkKHN0 cnVjdCBpbnRlbF92Z3B1X3dvcmtsb2FkICp3b3JrbG9hZCkKIAogc3RhdGljIGludCBzaGFkb3df aW5kaXJlY3RfY3R4KHN0cnVjdCBpbnRlbF9zaGFkb3dfd2FfY3R4ICp3YV9jdHgpCiB7Ci0Jc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9ICZ3YV9jdHgtPndvcmtsb2FkLT52Z3B1LT5ndnQtPmRldl9w cml2LT5kcm07CiAJaW50IGN0eF9zaXplID0gd2FfY3R4LT5pbmRpcmVjdF9jdHguc2l6ZTsKIAl1 bnNpZ25lZCBsb25nIGd1ZXN0X2dtYSA9IHdhX2N0eC0+aW5kaXJlY3RfY3R4Lmd1ZXN0X2dtYTsK IAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwogCWludCByZXQgPSAwOwogCXZvaWQg Km1hcDsKIAotCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoZGV2LAorCW9iaiA9IGk5MTVf Z2VtX29iamVjdF9jcmVhdGUod2FfY3R4LT53b3JrbG9hZC0+dmdwdS0+Z3Z0LT5kZXZfcHJpdiwK IAkJCQkgICAgIHJvdW5kdXAoY3R4X3NpemUgKyBDQUNIRUxJTkVfQllURVMsCiAJCQkJCSAgICAg UEFHRV9TSVpFKSk7CiAJaWYgKElTX0VSUihvYmopKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggNjVkN2E3ODExMjM2Li44YjcyNWQxM2QyNGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApA QCAtMjk4NSwxMCArMjk4NSwxMSBAQCB2b2lkICppOTE1X2dlbV9vYmplY3RfYWxsb2Moc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHZvaWQgaTkxNV9nZW1fb2JqZWN0X2ZyZWUo c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaik7CiB2b2lkIGk5MTVfZ2VtX29iamVjdF9p bml0KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgY29uc3Qgc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3Rfb3BzICpvcHMpOwotc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg Kmk5MTVfZ2VtX29iamVjdF9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKLQkJCQkJCSAg IHU2NCBzaXplKTsKLXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICppOTE1X2dlbV9vYmplY3Rf Y3JlYXRlX2Zyb21fZGF0YSgKLQkJc3RydWN0IGRybV9kZXZpY2UgKmRldiwgY29uc3Qgdm9pZCAq ZGF0YSwgc2l6ZV90IHNpemUpOworc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgoraTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHU2NCBz aXplKTsKK3N0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKK2k5MTVfZ2VtX29iamVjdF9jcmVh dGVfZnJvbV9kYXRhKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJCQkgY29u c3Qgdm9pZCAqZGF0YSwgc2l6ZV90IHNpemUpOwogdm9pZCBpOTE1X2dlbV9jbG9zZV9vYmplY3Qo c3RydWN0IGRybV9nZW1fb2JqZWN0ICpnZW0sIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSk7CiB2b2lk IGk5MTVfZ2VtX2ZyZWVfb2JqZWN0KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKIApkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggYWI3NWQyN2I3NGQ1Li4xMGMzYjUwNWY0OWEgMTAwNjQ0 Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNjM1LDcgKzYzNSw3IEBAIHZvaWQgaTkxNV9nZW1fb2Jq ZWN0X2ZyZWUoc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKIAogc3RhdGljIGludAog aTkxNV9nZW1fY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKLQkJc3RydWN0IGRybV9kZXZp Y2UgKmRldiwKKwkJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQl1aW50NjRf dCBzaXplLAogCQl1aW50MzJfdCAqaGFuZGxlX3ApCiB7CkBAIC02NDgsNyArNjQ4LDcgQEAgaTkx NV9nZW1fY3JlYXRlKHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKIAkJcmV0dXJuIC1FSU5WQUw7CiAK IAkvKiBBbGxvY2F0ZSB0aGUgbmV3IG9iamVjdCAqLwotCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9j cmVhdGUoZGV2LCBzaXplKTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldl9wcml2 LCBzaXplKTsKIAlpZiAoSVNfRVJSKG9iaikpCiAJCXJldHVybiBQVFJfRVJSKG9iaik7CiAKQEAg LTY3MCw3ICs2NzAsNyBAQCBpOTE1X2dlbV9kdW1iX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUsCiAJLyogaGF2ZSB0byB3b3JrIG91dCBzaXplL3BpdGNoIGFuZCByZXR1cm4gdGhlbSAqLwog CWFyZ3MtPnBpdGNoID0gQUxJR04oYXJncy0+d2lkdGggKiBESVZfUk9VTkRfVVAoYXJncy0+YnBw LCA4KSwgNjQpOwogCWFyZ3MtPnNpemUgPSBhcmdzLT5waXRjaCAqIGFyZ3MtPmhlaWdodDsKLQly ZXR1cm4gaTkxNV9nZW1fY3JlYXRlKGZpbGUsIGRldiwKKwlyZXR1cm4gaTkxNV9nZW1fY3JlYXRl KGZpbGUsIHRvX2k5MTUoZGV2KSwKIAkJCSAgICAgICBhcmdzLT5zaXplLCAmYXJncy0+aGFuZGxl KTsKIH0KIApAQCAtNjg0LDExICs2ODQsMTIgQEAgaW50CiBpOTE1X2dlbV9jcmVhdGVfaW9jdGwo c3RydWN0IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwKIAkJICAgICAgc3RydWN0IGRybV9m aWxlICpmaWxlKQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX2NyZWF0ZSAqYXJncyA9IGRhdGE7CiAKLQlp OTE1X2dlbV9mbHVzaF9mcmVlX29iamVjdHModG9faTkxNShkZXYpKTsKKwlpOTE1X2dlbV9mbHVz aF9mcmVlX29iamVjdHMoZGV2X3ByaXYpOwogCi0JcmV0dXJuIGk5MTVfZ2VtX2NyZWF0ZShmaWxl LCBkZXYsCisJcmV0dXJuIGk5MTVfZ2VtX2NyZWF0ZShmaWxlLCBkZXZfcHJpdiwKIAkJCSAgICAg ICBhcmdzLT5zaXplLCAmYXJncy0+aGFuZGxlKTsKIH0KIApAQCAtMzk3MCw5ICszOTcxLDggQEAg c3RhdGljIGNvbnN0IHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0X29wcyBpOTE1X2dlbV9vYmpl Y3Rfb3BzID0gewogCShzaXplb2YoeCkgPiBzaXplb2YoVCkgJiYgKHgpID4+IChzaXplb2YoVCkg KiBCSVRTX1BFUl9CWVRFKSkKIAogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1NjQgc2l6ZSkKK2k5MTVf Z2VtX29iamVjdF9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1NjQg c2l6ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRl dik7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgYWRkcmVzc19z cGFjZSAqbWFwcGluZzsKIAlnZnBfdCBtYXNrOwpAQCAtMzk5Myw3ICszOTkzLDcgQEAgaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1NjQgc2l6ZSkKIAlpZiAo b2JqID09IE5VTEwpCiAJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwogCi0JcmV0ID0gZHJtX2dl bV9vYmplY3RfaW5pdChkZXYsICZvYmotPmJhc2UsIHNpemUpOworCXJldCA9IGRybV9nZW1fb2Jq ZWN0X2luaXQoJmRldl9wcml2LT5kcm0sICZvYmotPmJhc2UsIHNpemUpOwogCWlmIChyZXQpCiAJ CWdvdG8gZmFpbDsKIApAQCAtNDc0OSw3ICs0NzQ5LDcgQEAgdm9pZCBpOTE1X2dlbV90cmFja19m YihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2xkLAogCiAvKiBBbGxvY2F0ZSBhIG5ldyBH RU0gb2JqZWN0IGFuZCBmaWxsIGl0IHdpdGggdGhlIHN1cHBsaWVkIGRhdGEgKi8KIHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICoKLWk5MTVfZ2VtX29iamVjdF9jcmVhdGVfZnJvbV9kYXRhKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCitpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2Zyb21fZGF0YShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAgICAgICBjb25zdCB2b2lk ICpkYXRhLCBzaXplX3Qgc2l6ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq OwpAQCAtNDc1Nyw3ICs0NzU3LDcgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9mcm9tX2RhdGEo c3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlzaXplX3QgYnl0ZXM7CiAJaW50IHJldDsKIAotCW9i aiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoZGV2LCByb3VuZF91cChzaXplLCBQQUdFX1NJWkUp KTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldl9wcml2LCByb3VuZF91cChzaXpl LCBQQUdFX1NJWkUpKTsKIAlpZiAoSVNfRVJSKG9iaikpCiAJCXJldHVybiBvYmo7CiAKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwppbmRleCBhNmFkZDBjMTQwNDUuLjUyNDFi NTFkZDk4NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4 dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMTY5 LDEyICsxNjksMTMgQEAgdm9pZCBpOTE1X2dlbV9jb250ZXh0X2ZyZWUoc3RydWN0IGtyZWYgKmN0 eF9yZWYpCiBzdGF0aWMgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgogYWxsb2NfY29udGV4 dF9vYmooc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTY0IHNpemUpCiB7CisJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmo7CiAJaW50IHJldDsKIAogCWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldi0+ c3RydWN0X211dGV4KTsKIAotCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoZGV2LCBzaXpl KTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldl9wcml2LCBzaXplKTsKIAlpZiAo SVNfRVJSKG9iaikpCiAJCXJldHVybiBvYmo7CiAKQEAgLTE5Myw3ICsxOTQsNyBAQCBhbGxvY19j b250ZXh0X29iaihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB1NjQgc2l6ZSkKIAkgKiBUaGlzIGlz IG9ubHkgYXBwbGljYWJsZSBmb3IgSXZ5IEJyaWRnZSBkZXZpY2VzIHNpbmNlCiAJICogbGF0ZXIg cGxhdGZvcm1zIGRvbid0IGhhdmUgTDMgY29udHJvbCBiaXRzIGluIHRoZSBQVEUuCiAJICovCi0J aWYgKElTX0lWWUJSSURHRSh0b19pOTE1KGRldikpKSB7CisJaWYgKElTX0lWWUJSSURHRShkZXZf cHJpdikpIHsKIAkJcmV0ID0gaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNoZV9sZXZlbChvYmosIEk5 MTVfQ0FDSEVfTDNfTExDKTsKIAkJLyogRmFpbHVyZSBzaG91bGRuJ3QgZXZlciBoYXBwZW4gdGhp cyBlYXJseSAqLwogCQlpZiAoV0FSTl9PTihyZXQpKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXggNTg0MTM4MDNiYTNjLi4xMDAzYjQ0MzExMmMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKQEAgLTU3NCw3ICs1 NzQsNyBAQCBzdGF0aWMgc3RydWN0IGk5MTVfdm1hICpndWNfYWxsb2NhdGVfdm1hKHN0cnVjdCBp bnRlbF9ndWMgKmd1YywgdTMyIHNpemUpCiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJaW50IHJl dDsKIAotCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoJmRldl9wcml2LT5kcm0sIHNpemUp OworCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoZGV2X3ByaXYsIHNpemUpOwogCWlmIChJ U19FUlIob2JqKSkKIAkJcmV0dXJuIEVSUl9DQVNUKG9iaik7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9w ZXJmLmMKaW5kZXggMTRkZTlhNGVlZTI3Li41NjY5ZjA4NjI0NTggMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfcGVyZi5jCkBAIC03NzMsNyArNzczLDcgQEAgc3RhdGljIGludCBhbGxvY19vYV9idWZmZXIo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCUJVSUxEX0JVR19PTl9OT1RfUE9X RVJfT0ZfMihPQV9CVUZGRVJfU0laRSk7CiAJQlVJTERfQlVHX09OKE9BX0JVRkZFUl9TSVpFIDwg U1pfMTI4SyB8fCBPQV9CVUZGRVJfU0laRSA+IFNaXzE2TSk7CiAKLQlibyA9IGk5MTVfZ2VtX29i amVjdF9jcmVhdGUoJmRldl9wcml2LT5kcm0sIE9BX0JVRkZFUl9TSVpFKTsKKwlibyA9IGk5MTVf Z2VtX29iamVjdF9jcmVhdGUoZGV2X3ByaXYsIE9BX0JVRkZFUl9TSVpFKTsKIAlpZiAoSVNfRVJS KGJvKSkgewogCQlEUk1fRVJST1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBPQSBidWZmZXJcbiIpOwog CQlyZXQgPSBQVFJfRVJSKGJvKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwppbmRl eCA0NDVlNzg1MzlkZWEuLjI3ODVjNjE5ZmE1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rp c3BsYXkuYwpAQCAtMTA5OTgsNyArMTA5OTgsNyBAQCBpbnRlbF9mcmFtZWJ1ZmZlcl9jcmVhdGVf Zm9yX21vZGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29i amVjdCAqb2JqOwogCXN0cnVjdCBkcm1fbW9kZV9mYl9jbWQyIG1vZGVfY21kID0geyAwIH07CiAK LQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldiwKKwlvYmogPSBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlKHRvX2k5MTUoZGV2KSwKIAkJCQkgICAgaW50ZWxfZnJhbWVidWZmZXJfc2l6ZV9m b3JfbW9kZShtb2RlLCBicHApKTsKIAlpZiAoSVNfRVJSKG9iaikpCiAJCXJldHVybiBFUlJfQ0FT VChvYmopOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKaW5kZXggN2M1MTgzZDhlMjllLi4y MTYzYWFhZDZhMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2 LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwpAQCAtMTQ3LDcgKzE0 Nyw3IEBAIHN0YXRpYyBpbnQgaW50ZWxmYl9hbGxvYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVs cGVyLAogCWlmIChzaXplICogMiA8IGdndHQtPnN0b2xlbl91c2FibGVfc2l6ZSkKIAkJb2JqID0g aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIHNpemUpOwogCWlmIChvYmog PT0gTlVMTCkKLQkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZShkZXYsIHNpemUpOworCQlv YmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldl9wcml2LCBzaXplKTsKIAlpZiAoSVNfRVJS KG9iaikpIHsKIAkJRFJNX0VSUk9SKCJmYWlsZWQgdG8gYWxsb2NhdGUgZnJhbWVidWZmZXJcbiIp OwogCQlyZXQgPSBQVFJfRVJSKG9iaik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9ndWNfbG9hZGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9h ZGVyLmMKaW5kZXggYTMzMGZhNDk5Mzg0Li45OTI2NzQ3ZDE2MGYgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKQEAgLTU5MCw2ICs1OTAsNyBAQCBpbnQgaW50ZWxfZ3Vj X3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIHN0YXRpYyB2b2lkIGd1Y19md19mZXRj aChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfZ3VjX2Z3ICpndWNfZncpCiB7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0 cnVjdCBwY2lfZGV2ICpwZGV2ID0gZGV2LT5wZGV2OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmo7CiAJY29uc3Qgc3RydWN0IGZpcm13YXJlICpmdyA9IE5VTEw7CkBAIC02NDgsNyAr NjQ5LDcgQEAgc3RhdGljIHZvaWQgZ3VjX2Z3X2ZldGNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHN0cnVjdCBpbnRlbF9ndWNfZncgKmd1Y19mdykKIAogCS8qIEhlYWRlciBhbmQgdUNvZGUgd2ls bCBiZSBsb2FkZWQgdG8gV09QQ00uIFNpemUgb2YgdGhlIHR3by4gKi8KIAlzaXplID0gZ3VjX2Z3 LT5oZWFkZXJfc2l6ZSArIGd1Y19mdy0+dWNvZGVfc2l6ZTsKLQlpZiAoc2l6ZSA+IGd1Y193b3Bj bV9zaXplKHRvX2k5MTUoZGV2KSkpIHsKKwlpZiAoc2l6ZSA+IGd1Y193b3BjbV9zaXplKGRldl9w cml2KSkgewogCQlEUk1fTk9URSgiRmlybXdhcmUgaXMgdG9vIGxhcmdlIHRvIGZpdCBpbiBXT1BD TVxuIik7CiAJCWdvdG8gZmFpbDsKIAl9CkBAIC02NzYsNyArNjc3LDcgQEAgc3RhdGljIHZvaWQg Z3VjX2Z3X2ZldGNoKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBpbnRlbF9ndWNfZncg Kmd1Y19mdykKIAkJCWd1Y19mdy0+Z3VjX2Z3X21ham9yX3dhbnRlZCwgZ3VjX2Z3LT5ndWNfZndf bWlub3Jfd2FudGVkKTsKIAogCW11dGV4X2xvY2soJmRldi0+c3RydWN0X211dGV4KTsKLQlvYmog PSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX2Zyb21fZGF0YShkZXYsIGZ3LT5kYXRhLCBmdy0+c2l6 ZSk7CisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9mcm9tX2RhdGEoZGV2X3ByaXYsIGZ3 LT5kYXRhLCBmdy0+c2l6ZSk7CiAJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7CiAJ aWYgKElTX0VSUl9PUl9OVUxMKG9iaikpIHsKIAkJZXJyID0gb2JqID8gUFRSX0VSUihvYmopIDog LUVOT01FTTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggYjJjMGQ1MDllMTkxLi42N2Fl YzhmMzNjMWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0xMjQzLDcgKzEyNDMsNyBA QCBzdGF0aWMgaW50IGxyY19zZXR1cF93YV9jdHhfb2JqKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KmVuZ2luZSwgdTMyIHNpemUpCiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAJaW50IGVycjsKIAot CW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoJmVuZ2luZS0+aTkxNS0+ZHJtLCBQQUdFX0FM SUdOKHNpemUpKTsKKwlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGVuZ2luZS0+aTkxNSwg UEFHRV9BTElHTihzaXplKSk7CiAJaWYgKElTX0VSUihvYmopKQogCQlyZXR1cm4gUFRSX0VSUihv YmopOwogCkBAIC0yMjQyLDcgKzIyNDIsNyBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0 X2RlZmVycmVkX2FsbG9jKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJLyogT25lIGV4 dHJhIHBhZ2UgYXMgdGhlIHNoYXJpbmcgZGF0YSBiZXR3ZWVuIGRyaXZlciBhbmQgR3VDICovCiAJ Y29udGV4dF9zaXplICs9IFBBR0VfU0laRSAqIExSQ19QUEhXU1BfUE47CiAKLQljdHhfb2JqID0g aTkxNV9nZW1fb2JqZWN0X2NyZWF0ZSgmY3R4LT5pOTE1LT5kcm0sIGNvbnRleHRfc2l6ZSk7CisJ Y3R4X29iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUoY3R4LT5pOTE1LCBjb250ZXh0X3NpemUp OwogCWlmIChJU19FUlIoY3R4X29iaikpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiQWxsb2MgTFJD IGJhY2tpbmcgb2JqIGZhaWxlZC5cbiIpOwogCQlyZXR1cm4gUFRSX0VSUihjdHhfb2JqKTsKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwppbmRleCAwYTdiODNhYWEyYjQuLjkwZGE2YTcw N2RlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfb3ZlcmxheS5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYwpAQCAtMTM5Myw3ICsxMzkz LDcgQEAgdm9pZCBpbnRlbF9zZXR1cF9vdmVybGF5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdikKIAlpZiAoIU9WRVJMQVlfTkVFRFNfUEhZU0lDQUwoZGV2X3ByaXYpKQogCQlyZWdf Ym8gPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXZfcHJpdiwgUEFHRV9TSVpFKTsK IAlpZiAocmVnX2JvID09IE5VTEwpCi0JCXJlZ19ibyA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUo JmRldl9wcml2LT5kcm0sIFBBR0VfU0laRSk7CisJCXJlZ19ibyA9IGk5MTVfZ2VtX29iamVjdF9j cmVhdGUoZGV2X3ByaXYsIFBBR0VfU0laRSk7CiAJaWYgKElTX0VSUihyZWdfYm8pKQogCQlnb3Rv IG91dF9mcmVlOwogCW92ZXJsYXktPnJlZ19ibyA9IHJlZ19ibzsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYwppbmRleCBlMTkzZTUyZjY2OWQuLmJjMThhNGYyNjQzZCAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYwpAQCAtMTg3MSw3ICsxODcxLDcg QEAgaW50ZWxfcmluZ19jcmVhdGVfdm1hKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwgaW50IHNpemUpCiAKIAlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXZf cHJpdiwgc2l6ZSk7CiAJaWYgKCFvYmopCi0JCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGUo JmRldl9wcml2LT5kcm0sIHNpemUpOworCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRl dl9wcml2LCBzaXplKTsKIAlpZiAoSVNfRVJSKG9iaikpCiAJCXJldHVybiBFUlJfQ0FTVChvYmop OwogCkBAIC0yNDUyLDcgKzI0NTIsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9yaW5nX2luaXRfc2Vt YXBob3JlcyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKElOVEVMX0dF TihkZXZfcHJpdikgPj0gOCAmJiAhZGV2X3ByaXYtPnNlbWFwaG9yZSkgewogCQlzdHJ1Y3QgaTkx NV92bWEgKnZtYTsKIAotCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKCZkZXZfcHJpdi0+ ZHJtLCA0MDk2KTsKKwkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZShkZXZfcHJpdiwgNDA5 Nik7CiAJCWlmIChJU19FUlIob2JqKSkKIAkJCWdvdG8gZXJyOwogCi0tIAoyLjcuNAoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxp bmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJl ZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==