From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 01/10] drm/i915: Make GEM object alloc/free and stolen created take dev_priv Date: Wed, 30 Nov 2016 11:35:31 +0000 Message-ID: <1480505740-1920-2-git-send-email-tvrtko.ursulin@linux.intel.com> References: <1480505740-1920-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 48F566E048 for ; Wed, 30 Nov 2016 11:35:50 +0000 (UTC) Received: by mail-wj0-x243.google.com with SMTP id jb2so21795228wjb.3 for ; Wed, 30 Nov 2016 03:35:50 -0800 (PST) In-Reply-To: <1480505740-1920-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 RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCldoZXJlIGl0 IGlzIG1vcmUgYXBwcm9wcmlhdGUgYW5kIGFsc28gdG8gYmUgY29uc2lzdGVudCB3aXRoCnRoZSBk aXJlY3Rpb24gb2YgdGhlIGRyaXZlci4KCkFsc28gaW5saW5lIG9iamVjdCBhbGxvYy9mcmVlIHNp bmNlIHRoZXkgYXJlIGp1c3Qgd3JhcHBlcnMKYXJvdW5kIGttZW1fY2FjaGVfYWxsb2MvZnJlZS4K ClNpZ25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+ Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgICAgICB8IDE3ICsrKysr KysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICAgIHwg MTQgKy0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5j ICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYyB8ICAy ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9zdG9sZW4uYyAgIHwgMjEgKysrKysr KysrLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV91c2VycHRyLmMg IHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAgfCAgMiAr LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgICB8ICAyICstCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9mYmRldi5jICAgICAgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYyAgICAgfCAgMyArLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3BtLmMgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9yaW5nYnVmZmVyLmMgIHwgIDIgKy0KIDEyIGZpbGVzIGNoYW5nZWQsIDMzIGluc2VydGlv bnMoKyksIDQwIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDI5N2Fk MDNhYjBjMi4uNzIyYzY4NzY2NTA0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTI5NzYs OCArMjk3NiwxNyBAQCB2b2lkIGk5MTVfZ2VtX2xvYWRfaW5pdF9mZW5jZXMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1X2dlbV9mcmVlemUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGludCBpOTE1X2dlbV9mcmVlemVfbGF0ZShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogCi12b2lkICppOTE1X2dlbV9vYmplY3RfYWxs b2Moc3RydWN0IGRybV9kZXZpY2UgKmRldik7Ci12b2lkIGk5MTVfZ2VtX29iamVjdF9mcmVlKHN0 cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopOworc3RhdGljIGlubGluZSB2b2lkICppOTE1 X2dlbV9vYmplY3RfYWxsb2Moc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQorewor CXJldHVybiBrbWVtX2NhY2hlX3phbGxvYyhkZXZfcHJpdi0+b2JqZWN0cywgR0ZQX0tFUk5FTCk7 Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpOTE1X2dlbV9vYmplY3RfZnJlZShzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUob2JqLT5iYXNlLmRldik7CisJa21lbV9jYWNoZV9mcmVlKGRldl9wcml2 LT5vYmplY3RzLCBvYmopOworfQorCiB2b2lkIGk5MTVfZ2VtX29iamVjdF9pbml0KHN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCiAJCQkgY29uc3Qgc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3Rfb3BzICpvcHMpOwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmk5MTVfZ2VtX29i amVjdF9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKQEAgLTMzNjEsOSArMzM3MCw5IEBA IHZvaWQgaTkxNV9nZW1fc3RvbGVuX3JlbW92ZV9ub2RlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKIGludCBpOTE1X2dlbV9pbml0X3N0b2xlbihzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpOwogdm9pZCBpOTE1X2dlbV9jbGVhbnVwX3N0b2xlbihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKLWk5MTVfZ2VtX29i amVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBzaXplKTsKK2k5 MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwgdTMyIHNpemUpOwogc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKgotaTkxNV9nZW1f b2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJCSAgICAgICB1MzIgc3RvbGVuX29m ZnNldCwKIAkJCQkJICAgICAgIHUzMiBndHRfb2Zmc2V0LAogCQkJCQkgICAgICAgdTMyIHNpemUp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggOGViZWZiNmY2Y2YyLi4wNGFmNDJlZjliMGUg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtNjIyLDE4ICs2MjIsNiBAQCBpOTE1X2dlbV9w aHlzX3B3cml0ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCXJldHVybiByZXQ7 CiB9CiAKLXZvaWQgKmk5MTVfZ2VtX29iamVjdF9hbGxvYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQotewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsK LQlyZXR1cm4ga21lbV9jYWNoZV96YWxsb2MoZGV2X3ByaXYtPm9iamVjdHMsIEdGUF9LRVJORUwp OwotfQotCi12b2lkIGk5MTVfZ2VtX29iamVjdF9mcmVlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2Jq ZWN0ICpvYmopCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShvYmotPmJhc2UuZGV2KTsKLQlrbWVtX2NhY2hlX2ZyZWUoZGV2X3ByaXYtPm9iamVjdHMsIG9i aik7Ci19Ci0KIHN0YXRpYyBpbnQKIGk5MTVfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2ZpbGUgKmZp bGUsCiAJCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCkBAIC0zOTkwLDcgKzM5NzgsNyBAQCBpOTE1 X2dlbV9vYmplY3RfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHU2NCBzaXplKQogCWlm IChvdmVyZmxvd3NfdHlwZShzaXplLCBvYmotPmJhc2Uuc2l6ZSkpCiAJCXJldHVybiBFUlJfUFRS KC1FMkJJRyk7CiAKLQlvYmogPSBpOTE1X2dlbV9vYmplY3RfYWxsb2MoZGV2KTsKKwlvYmogPSBp OTE1X2dlbV9vYmplY3RfYWxsb2MoZGV2X3ByaXYpOwogCWlmIChvYmogPT0gTlVMTCkKIAkJcmV0 dXJuIEVSUl9QVFIoLUVOT01FTSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2RtYWJ1Zi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZG1hYnVm LmMKaW5kZXggNWUzODI5OWI1ZGY2Li5kMDM3YWRjZGE2ZjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZ2VtX2RtYWJ1Zi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX2RtYWJ1Zi5jCkBAIC0yNzgsNyArMjc4LDcgQEAgc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICppOTE1X2dlbV9wcmltZV9pbXBvcnQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWdl dF9kbWFfYnVmKGRtYV9idWYpOwogCi0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKGRldik7 CisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKHRvX2k5MTUoZGV2KSk7CiAJaWYgKG9iaiA9 PSBOVUxMKSB7CiAJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gZmFpbF9kZXRhY2g7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJuYWwuYwppbmRleCA0YjNmZjNlNWI5MTEuLjA4ZDI2 MzA2ZDQwZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1faW50ZXJu YWwuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9pbnRlcm5hbC5jCkBAIC0x NTUsNyArMTU1LDcgQEAgaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9pbnRlcm5hbChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2Jq OwogCi0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKCZpOTE1LT5kcm0pOworCW9iaiA9IGk5 MTVfZ2VtX29iamVjdF9hbGxvYyhpOTE1KTsKIAlpZiAoIW9iaikKIAkJcmV0dXJuIEVSUl9QVFIo LUVOT01FTSk7CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0 b2xlbi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fc3RvbGVuLmMKaW5kZXggZWJh YTk0MWM4M2FmLi5iM2JhYzI1NTc2NjUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtX3N0b2xlbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX3N0 b2xlbi5jCkBAIC01NzksMjIgKzU3OSwyMSBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3Rfb3BzIGk5MTVfZ2VtX29iamVjdF9zdG9sZW5fb3BzID0gewogfTsKIAogc3Rh dGljIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKLV9pOTE1X2dlbV9vYmplY3RfY3JlYXRl X3N0b2xlbihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVf c3RvbGVuKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCSAgICAgICBzdHJ1 Y3QgZHJtX21tX25vZGUgKnN0b2xlbikKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq b2JqOwogCi0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKGRldik7CisJb2JqID0gaTkxNV9n ZW1fb2JqZWN0X2FsbG9jKGRldl9wcml2KTsKIAlpZiAob2JqID09IE5VTEwpCiAJCXJldHVybiBO VUxMOwogCi0JZHJtX2dlbV9wcml2YXRlX29iamVjdF9pbml0KGRldiwgJm9iai0+YmFzZSwgc3Rv bGVuLT5zaXplKTsKKwlkcm1fZ2VtX3ByaXZhdGVfb2JqZWN0X2luaXQoJmRldl9wcml2LT5kcm0s ICZvYmotPmJhc2UsIHN0b2xlbi0+c2l6ZSk7CiAJaTkxNV9nZW1fb2JqZWN0X2luaXQob2JqLCAm aTkxNV9nZW1fb2JqZWN0X3N0b2xlbl9vcHMpOwogCiAJb2JqLT5zdG9sZW4gPSBzdG9sZW47CiAJ b2JqLT5iYXNlLnJlYWRfZG9tYWlucyA9IEk5MTVfR0VNX0RPTUFJTl9DUFUgfCBJOTE1X0dFTV9E T01BSU5fR1RUOwotCW9iai0+Y2FjaGVfbGV2ZWwgPSBIQVNfTExDKHRvX2k5MTUoZGV2KSkgPwot CQkJICAgSTkxNV9DQUNIRV9MTEMgOiBJOTE1X0NBQ0hFX05PTkU7CisJb2JqLT5jYWNoZV9sZXZl bCA9IEhBU19MTEMoZGV2X3ByaXYpID8gSTkxNV9DQUNIRV9MTEMgOiBJOTE1X0NBQ0hFX05PTkU7 CiAKIAlpZiAoaTkxNV9nZW1fb2JqZWN0X3Bpbl9wYWdlcyhvYmopKQogCQlnb3RvIGNsZWFudXA7 CkBAIC02MDcsOSArNjA2LDggQEAgX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiB9CiAKIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICoKLWk5 MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHUzMiBz aXplKQoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2LCB1MzIgc2l6ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsK IAlzdHJ1Y3QgZHJtX21tX25vZGUgKnN0b2xlbjsKIAlpbnQgcmV0OwpAQCAtNjMwLDcgKzYyOCw3 IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYs IHUzMiBzaXplKQogCQlyZXR1cm4gTlVMTDsKIAl9CiAKLQlvYmogPSBfaTkxNV9nZW1fb2JqZWN0 X2NyZWF0ZV9zdG9sZW4oZGV2LCBzdG9sZW4pOworCW9iaiA9IF9pOTE1X2dlbV9vYmplY3RfY3Jl YXRlX3N0b2xlbihkZXZfcHJpdiwgc3RvbGVuKTsKIAlpZiAob2JqKQogCQlyZXR1cm4gb2JqOwog CkBAIC02NDAsMTIgKzYzOCwxMSBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB1MzIgc2l6ZSkKIH0KIAogc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKgotaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAoraTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9y X3ByZWFsbG9jYXRlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkJCSAg ICAgICB1MzIgc3RvbGVuX29mZnNldCwKIAkJCQkJICAgICAgIHUzMiBndHRfb2Zmc2V0LAogCQkJ CQkgICAgICAgdTMyIHNpemUpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpOTE1X2dndHQgKmdndHQgPSAmZGV2X3ByaXYtPmdn dHQ7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgZHJtX21tX25v ZGUgKnN0b2xlbjsKQEAgLTY1NSw3ICs2NTIsNyBAQCBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0 b2xlbl9mb3JfcHJlYWxsb2NhdGVkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJaWYgKCFkcm1f bW1faW5pdGlhbGl6ZWQoJmRldl9wcml2LT5tbS5zdG9sZW4pKQogCQlyZXR1cm4gTlVMTDsKIAot CWxvY2tkZXBfYXNzZXJ0X2hlbGQoJmRldi0+c3RydWN0X211dGV4KTsKKwlsb2NrZGVwX2Fzc2Vy dF9oZWxkKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7CiAKIAlEUk1fREVCVUdfS01TKCJj cmVhdGluZyBwcmVhbGxvY2F0ZWQgc3RvbGVuIG9iamVjdDogc3RvbGVuX29mZnNldD0leCwgZ3R0 X29mZnNldD0leCwgc2l6ZT0leFxuIiwKIAkJCXN0b2xlbl9vZmZzZXQsIGd0dF9vZmZzZXQsIHNp emUpOwpAQCAtNjgwLDcgKzY3Nyw3IEBAIGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zv cl9wcmVhbGxvY2F0ZWQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJcmV0dXJuIE5VTEw7CiAJ fQogCi0Jb2JqID0gX2k5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKGRldiwgc3RvbGVuKTsK KwlvYmogPSBfaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIHN0b2xlbik7 CiAJaWYgKG9iaiA9PSBOVUxMKSB7CiAJCURSTV9ERUJVR19LTVMoImZhaWxlZCB0byBhbGxvY2F0 ZSBzdG9sZW4gb2JqZWN0XG4iKTsKIAkJaTkxNV9nZW1fc3RvbGVuX3JlbW92ZV9ub2RlKGRldl9w cml2LCBzdG9sZW4pOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f dXNlcnB0ci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fdXNlcnB0ci5jCmluZGV4 IDEwN2RkZjUxMDY1ZS4uNDg5NjNhMjA5OTJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV91c2VycHRyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fdXNlcnB0ci5jCkBAIC03ODQsNyArNzg0LDcgQEAgaTkxNV9nZW1fdXNlcnB0cl9pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUK IAkJcmV0dXJuIC1FTk9ERVY7CiAJfQogCi0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKGRl dik7CisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2FsbG9jKGRldl9wcml2KTsKIAlpZiAob2JqID09 IE5VTEwpCiAJCXJldHVybiAtRU5PTUVNOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKaW5kZXggOGNlNTM2YTc2N2FkLi40NDVlNzg1MzlkZWEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKQEAgLTI2ODksNyArMjY4OSw3IEBAIGludGVsX2FsbG9jX2luaXRpYWxf cGxhbmVfb2JqKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCiAJbXV0ZXhfbG9jaygmZGV2LT5z dHJ1Y3RfbXV0ZXgpOwogCi0Jb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9y X3ByZWFsbG9jYXRlZChkZXYsCisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5f Zm9yX3ByZWFsbG9jYXRlZChkZXZfcHJpdiwKIAkJCQkJCQkgICAgIGJhc2VfYWxpZ25lZCwKIAkJ CQkJCQkgICAgIGJhc2VfYWxpZ25lZCwKIAkJCQkJCQkgICAgIHNpemVfYWxpZ25lZCk7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5jCmluZGV4IDNkYTRkNDY2ZTMzMi4uMzQ4ZmFl NjIwODExIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3Mu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwpAQCAtMjU3LDcg KzI1Nyw3IEBAIGludCBpbnRlbF9lbmdpbmVfY3JlYXRlX3NjcmF0Y2goc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lLCBpbnQgc2l6ZSkKIAogCVdBUk5fT04oZW5naW5lLT5zY3JhdGNoKTsK IAotCW9iaiA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKCZlbmdpbmUtPmk5MTUtPmRy bSwgc2l6ZSk7CisJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZW5naW5lLT5p OTE1LCBzaXplKTsKIAlpZiAoIW9iaikKIAkJb2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9p bnRlcm5hbChlbmdpbmUtPmk5MTUsIHNpemUpOwogCWlmIChJU19FUlIob2JqKSkgewpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2ZiZGV2LmMKaW5kZXggYmViMDg5ODJkYzBiLi43YzUxODNkOGUyOWUgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2ZiZGV2LmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZmJkZXYuYwpAQCAtMTQ1LDcgKzE0NSw3IEBAIHN0YXRpYyBp bnQgaW50ZWxmYl9hbGxvYyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAogCSAqIGltcG9y dGFudCBhbmQgd2Ugc2hvdWxkIHByb2JhYmx5IHVzZSB0aGF0IHNwYWNlIHdpdGggRkJDIG9yIG90 aGVyCiAJICogZmVhdHVyZXMuICovCiAJaWYgKHNpemUgKiAyIDwgZ2d0dC0+c3RvbGVuX3VzYWJs ZV9zaXplKQotCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXYsIHNpemUp OworCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbihkZXZfcHJpdiwgc2l6ZSk7 CiAJaWYgKG9iaiA9PSBOVUxMKQogCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKGRldiwg c2l6ZSk7CiAJaWYgKElTX0VSUihvYmopKSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9vdmVybGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9vdmVybGF5 LmMKaW5kZXggZmQwZTRkYWM3Y2MxLi4wYTdiODNhYWEyYjQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX292ZXJsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9vdmVybGF5LmMKQEAgLTEzOTEsOCArMTM5MSw3IEBAIHZvaWQgaW50ZWxfc2V0dXBfb3Zl cmxheShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlyZWdfYm8gPSBOVUxM OwogCWlmICghT1ZFUkxBWV9ORUVEU19QSFlTSUNBTChkZXZfcHJpdikpCi0JCXJlZ19ibyA9IGk5 MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKCZkZXZfcHJpdi0+ZHJtLAotCQkJCQkJICAgICAg IFBBR0VfU0laRSk7CisJCXJlZ19ibyA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuKGRl dl9wcml2LCBQQUdFX1NJWkUpOwogCWlmIChyZWdfYm8gPT0gTlVMTCkKIAkJcmVnX2JvID0gaTkx NV9nZW1fb2JqZWN0X2NyZWF0ZSgmZGV2X3ByaXYtPmRybSwgUEFHRV9TSVpFKTsKIAlpZiAoSVNf RVJSKHJlZ19ibykpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCAyOWI2NjUzNjYxY2QuLmNh MzFjZGQ4MmViZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCkBAIC01ODA1LDcgKzU4MDUsNyBA QCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X3NldHVwX3BjdHgoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQogCQlpbnQgcGNicl9vZmZzZXQ7CiAKIAkJcGNicl9vZmZzZXQgPSAocGNi ciAmICh+NDA5NSkpIC0gZGV2X3ByaXYtPm1tLnN0b2xlbl9iYXNlOwotCQlwY3R4ID0gaTkxNV9n ZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW5fZm9yX3ByZWFsbG9jYXRlZCgmZGV2X3ByaXYtPmRybSwK KwkJcGN0eCA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVfc3RvbGVuX2Zvcl9wcmVhbGxvY2F0ZWQo ZGV2X3ByaXYsCiAJCQkJCQkJCSAgICAgIHBjYnJfb2Zmc2V0LAogCQkJCQkJCQkgICAgICBJOTE1 X0dUVF9PRkZTRVRfTk9ORSwKIAkJCQkJCQkJICAgICAgcGN0eF9zaXplKTsKQEAgLTU4MjIsNyAr NTgyMiw3IEBAIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfc2V0dXBfcGN0eChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICogb3ZlcmxhcCB3aXRoIG90aGVyIHJhbmdlcywgc3Vj aCBhcyB0aGUgZnJhbWUgYnVmZmVyLCBwcm90ZWN0ZWQKIAkgKiBtZW1vcnksIG9yIGFueSBvdGhl ciByZWxldmFudCByYW5nZXMuCiAJICovCi0JcGN0eCA9IGk5MTVfZ2VtX29iamVjdF9jcmVhdGVf c3RvbGVuKCZkZXZfcHJpdi0+ZHJtLCBwY3R4X3NpemUpOworCXBjdHggPSBpOTE1X2dlbV9vYmpl Y3RfY3JlYXRlX3N0b2xlbihkZXZfcHJpdiwgcGN0eF9zaXplKTsKIAlpZiAoIXBjdHgpIHsKIAkJ RFJNX0RFQlVHKCJub3QgZW5vdWdoIHN0b2xlbiBzcGFjZSBmb3IgUENUWCwgZGlzYWJsaW5nXG4i KTsKIAkJZ290byBvdXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKaW5k ZXggYWViNjM3ZGMxZmRmLi5lMTkzZTUyZjY2OWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMKQEAgLTE4NjksNyArMTg2OSw3IEBAIGludGVsX3JpbmdfY3JlYXRlX3Zt YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCBzaXplKQogCXN0cnVjdCBk cm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJc3RydWN0IGk5MTVfdm1hICp2bWE7CiAKLQlvYmog PSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlX3N0b2xlbigmZGV2X3ByaXYtPmRybSwgc2l6ZSk7CisJ b2JqID0gaTkxNV9nZW1fb2JqZWN0X2NyZWF0ZV9zdG9sZW4oZGV2X3ByaXYsIHNpemUpOwogCWlm ICghb2JqKQogCQlvYmogPSBpOTE1X2dlbV9vYmplY3RfY3JlYXRlKCZkZXZfcHJpdi0+ZHJtLCBz aXplKTsKIAlpZiAoSVNfRVJSKG9iaikpCi0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==