From mboxrd@z Thu Jan 1 00:00:00 1970 From: Paul Kocialkowski Subject: [PATCH v7 4/4] drm/vc4: Allocate binner bo when starting to use the V3D Date: Thu, 25 Apr 2019 14:29:17 +0200 Message-ID: <20190425122917.26536-5-paul.kocialkowski@bootlin.com> References: <20190425122917.26536-1-paul.kocialkowski@bootlin.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from relay1-d.mail.gandi.net (relay1-d.mail.gandi.net [217.70.183.193]) by gabe.freedesktop.org (Postfix) with ESMTPS id 988BA8919C for ; Thu, 25 Apr 2019 12:30:01 +0000 (UTC) In-Reply-To: <20190425122917.26536-1-paul.kocialkowski@bootlin.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: Maxime Ripard , Eben Upton , David Airlie , Paul Kocialkowski List-Id: dri-devel@lists.freedesktop.org VGhlIGJpbm5lciBCTyBpcyBub3QgcmVxdWlyZWQgdW50aWwgdGhlIFYzRCBpcyBpbiB1c2UsIHNv IGF2b2lkCmFsbG9jYXRpbmcgaXQgYXQgcHJvYmUgYW5kIGRvIGl0IG9uIHRoZSBmaXJzdCBub24t ZHVtYiBCTyBhbGxvY2F0aW9uLgoKS2VlcCB0cmFjayBvZiB3aGljaCBjbGllbnRzIGFyZSB1c2lu ZyB0aGUgVjNEIGFuZCBsaWJlcmF0ZSB0aGUgYnVmZmVyCndoZW4gdGhlcmUgaXMgbm9uZSBsZWZ0 LCB1c2luZyBhIGtyZWYuIFByb3RlY3QgdGhlIGxvZ2ljIHdpdGggYQptdXRleCB0byBhdm9pZCBy YWNlIGNvbmRpdGlvbnMuCgpUaGUgYmlubmVyIEJPIGlzIGNyZWF0ZWQgYXQgdGhlIHRpbWUgb2Yg dGhlIGZpcnN0IHJlbmRlciBpb2N0bCBhbmQgaXMKZGVzdHJveWVkIHdoZW4gdGhlcmUgaXMgbm8g Y2xpZW50IGFuZCBubyBleGVjIGpvYiB1c2luZyBpdCBsZWZ0LgoKVGhlIE91dC1PZi1NZW1vcnkg KE9PTSkgaW50ZXJydXB0IGFsc28gZ2V0cyBzb21lIHR3ZWFraW5nLCB0byBhdm9pZAplbmFibGlu ZyBpdCBiZWZvcmUgaGF2aW5nIGFsbG9jYXRlZCBhIGJpbm5lciBiby4KCldlIGFsc28gd2FudCB0 byBrZWVwIHRoZSBCTyBhbGl2ZSBkdXJpbmcgcnVudGltZSBzdXNwZW5kL3Jlc3VtZSB0byBhdm9p ZApmYWlsaW5nIHRvIGFsbG9jYXRlIGl0IGF0IHJlc3VtZS4gVGhpcyBoYXBwZW5zIHdoZW4gdGhl IENNQSBwb29sIGlzCmZ1bGwgYXQgdGhhdCBwb2ludCBhbmQgcmVzdWx0cyBpbiBhIGhhcmQgY3Jh c2guCgpTaWduZWQtb2ZmLWJ5OiBQYXVsIEtvY2lhbGtvd3NraSA8cGF1bC5rb2NpYWxrb3dza2lA Ym9vdGxpbi5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8uYyAgfCAzMyArKysr KysrKysrKysrKysrKysrLQogZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZHJ2LmMgfCAgNiArKysr CiBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaCB8IDE0ICsrKysrKysrKwogZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfZ2VtLmMgfCAxMyArKysrKysrKwogZHJpdmVycy9ncHUvZHJtL3ZjNC92 YzRfaXJxLmMgfCAyMSArKysrKysrKystLS0tCiBkcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF92M2Qu YyB8IDU4ICsrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tCiA2IGZpbGVzIGNoYW5n ZWQsIDEyNSBpbnNlcnRpb25zKCspLCAyMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vdmM0L3ZjNF9iby5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfYm8uYwpp bmRleCA4OGViZDY4MWQ3ZWIuLjJiM2VjNTkyNmZlMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3ZjNC92YzRfYm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9iby5jCkBAIC03 OTksMTMgKzc5OSwzOCBAQCB2YzRfcHJpbWVfaW1wb3J0X3NnX3RhYmxlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCiAJcmV0dXJuIG9iajsKIH0KIAorc3RhdGljIGludCB2YzRfZ3JhYl9iaW5fYm8o c3RydWN0IHZjNF9kZXYgKnZjNCwgc3RydWN0IHZjNF9maWxlICp2YzRmaWxlKQoreworCWludCBy ZXQ7CisKKwlpZiAoIXZjNC0+djNkKQorCQlyZXR1cm4gLUVOT0RFVjsKKworCWlmICh2YzRmaWxl LT5iaW5fYm9fdXNlZCkKKwkJcmV0dXJuIDA7CisKKwlyZXQgPSB2YzRfdjNkX2Jpbl9ib19nZXQo dmM0KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJdmM0ZmlsZS0+YmluX2JvX3VzZWQg PSB0cnVlOworCisJcmV0dXJuIDA7Cit9CisKIGludCB2YzRfY3JlYXRlX2JvX2lvY3RsKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCQlzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVf cHJpdikKIHsKIAlzdHJ1Y3QgZHJtX3ZjNF9jcmVhdGVfYm8gKmFyZ3MgPSBkYXRhOworCXN0cnVj dCB2YzRfZmlsZSAqdmM0ZmlsZSA9IGZpbGVfcHJpdi0+ZHJpdmVyX3ByaXY7CisJc3RydWN0IHZj NF9kZXYgKnZjNCA9IHRvX3ZjNF9kZXYoZGV2KTsKIAlzdHJ1Y3QgdmM0X2JvICpibyA9IE5VTEw7 CiAJaW50IHJldDsKIAorCXJldCA9IHZjNF9ncmFiX2Jpbl9ibyh2YzQsIHZjNGZpbGUpOworCWlm IChyZXQpCisJCXJldHVybiByZXQ7CisKIAkvKgogCSAqIFdlIGNhbid0IGFsbG9jYXRlIGZyb20g dGhlIEJPIGNhY2hlLCBiZWNhdXNlIHRoZSBCT3MgZG9uJ3QKIAkgKiBnZXQgemVyb2VkLCBhbmQg dGhhdCBtaWdodCBsZWFrIGRhdGEgYmV0d2VlbiB1c2Vycy4KQEAgLTg0Niw2ICs4NzEsOCBAQCB2 YzRfY3JlYXRlX3NoYWRlcl9ib19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpk YXRhLAogCQkJICAgc3RydWN0IGRybV9maWxlICpmaWxlX3ByaXYpCiB7CiAJc3RydWN0IGRybV92 YzRfY3JlYXRlX3NoYWRlcl9ibyAqYXJncyA9IGRhdGE7CisJc3RydWN0IHZjNF9maWxlICp2YzRm aWxlID0gZmlsZV9wcml2LT5kcml2ZXJfcHJpdjsKKwlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9f dmM0X2RldihkZXYpOwogCXN0cnVjdCB2YzRfYm8gKmJvID0gTlVMTDsKIAlpbnQgcmV0OwogCkBA IC04NjUsNiArODkyLDEwIEBAIHZjNF9jcmVhdGVfc2hhZGVyX2JvX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJCXJldHVybiAtRUlOVkFMOwogCX0KIAorCXJldCA9 IHZjNF9ncmFiX2Jpbl9ibyh2YzQsIHZjNGZpbGUpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7 CisKIAlibyA9IHZjNF9ib19jcmVhdGUoZGV2LCBhcmdzLT5zaXplLCB0cnVlLCBWQzRfQk9fVFlQ RV9WM0RfU0hBREVSKTsKIAlpZiAoSVNfRVJSKGJvKSkKIAkJcmV0dXJuIFBUUl9FUlIoYm8pOwpA QCAtODk0LDcgKzkyNSw3IEBAIHZjNF9jcmVhdGVfc2hhZGVyX2JvX2lvY3RsKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIHZvaWQgKmRhdGEsCiAJICovCiAJcmV0ID0gZHJtX2dlbV9oYW5kbGVfY3Jl YXRlKGZpbGVfcHJpdiwgJmJvLT5iYXNlLmJhc2UsICZhcmdzLT5oYW5kbGUpOwogCi0gZmFpbDoK K2ZhaWw6CiAJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2VkKCZiby0+YmFzZS5iYXNlKTsKIAog CXJldHVybiByZXQ7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYyBi L2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2Rydi5jCmluZGV4IDZkOWJlMjBhMzJiZS4uMGY5OWFk MDM2MTRlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYworKysgYi9k cml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuYwpAQCAtMTI4LDggKzEyOCwxMiBAQCBzdGF0aWMg aW50IHZjNF9vcGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSkKIAogc3RhdGljIHZvaWQgdmM0X2Nsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVj dCBkcm1fZmlsZSAqZmlsZSkKIHsKKwlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gdG9fdmM0X2Rldihk ZXYpOwogCXN0cnVjdCB2YzRfZmlsZSAqdmM0ZmlsZSA9IGZpbGUtPmRyaXZlcl9wcml2OwogCisJ aWYgKHZjNGZpbGUtPmJpbl9ib191c2VkKQorCQl2YzRfdjNkX2Jpbl9ib19wdXQodmM0KTsKKwog CXZjNF9wZXJmbW9uX2Nsb3NlX2ZpbGUodmM0ZmlsZSk7CiAJa2ZyZWUodmM0ZmlsZSk7CiB9CkBA IC0yNzQsNiArMjc4LDggQEAgc3RhdGljIGludCB2YzRfZHJtX2JpbmQoc3RydWN0IGRldmljZSAq ZGV2KQogCWRybS0+ZGV2X3ByaXZhdGUgPSB2YzQ7CiAJSU5JVF9MSVNUX0hFQUQoJnZjNC0+ZGVi dWdmc19saXN0KTsKIAorCW11dGV4X2luaXQoJnZjNC0+YmluX2JvX2xvY2spOworCiAJcmV0ID0g dmM0X2JvX2NhY2hlX2luaXQoZHJtKTsKIAlpZiAocmV0KQogCQlnb3RvIGRldl9wdXQ7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS92 YzQvdmM0X2Rydi5oCmluZGV4IDRmMTNmNjI2MjQ5MS4uNWJmY2E4M2RlYjhlIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0 L3ZjNF9kcnYuaApAQCAtMjE2LDYgKzIxNiwxMSBAQCBzdHJ1Y3QgdmM0X2RldiB7CiAJICogdGhl IG1pbm9yIGlzIGF2YWlsYWJsZSAoYWZ0ZXIgZHJtX2Rldl9yZWdpc3RlcigpKS4KIAkgKi8KIAlz dHJ1Y3QgbGlzdF9oZWFkIGRlYnVnZnNfbGlzdDsKKworCS8qIE11dGV4IGZvciBiaW5uZXIgYm8g YWxsb2NhdGlvbi4gKi8KKwlzdHJ1Y3QgbXV0ZXggYmluX2JvX2xvY2s7CisJLyogUmVmZXJlbmNl IGNvdW50IGZvciBvdXIgYmlubmVyIGJvLiAqLworCXN0cnVjdCBrcmVmIGJpbl9ib19rcmVmOwog fTsKIAogc3RhdGljIGlubGluZSBzdHJ1Y3QgdmM0X2RldiAqCkBAIC01ODQsNiArNTg5LDExIEBA IHN0cnVjdCB2YzRfZXhlY19pbmZvIHsKIAkgKiBOVUxMIG90aGVyd2lzZS4KIAkgKi8KIAlzdHJ1 Y3QgdmM0X3BlcmZtb24gKnBlcmZtb247CisKKwkvKiBXaGV0aGVyIHRoZSBleGVjIGhhcyB0YWtl biBhIHJlZmVyZW5jZSB0byB0aGUgYmlubmVyIEJPLCB3aGljaCBzaG91bGQKKwkgKiBoYXBwZW4g d2l0aCBhIFZDNF9QQUNLRVRfVElMRV9CSU5OSU5HX01PREVfQ09ORklHIHBhY2tldC4KKwkgKi8K Kwlib29sIGJpbl9ib191c2VkOwogfTsKIAogLyogUGVyLW9wZW4gZmlsZSBwcml2YXRlIGRhdGEu IEFueSBkcml2ZXItc3BlY2lmaWMgcmVzb3VyY2UgdGhhdCBoYXMgdG8gYmUKQEAgLTU5NCw2ICs2 MDQsOCBAQCBzdHJ1Y3QgdmM0X2ZpbGUgewogCQlzdHJ1Y3QgaWRyIGlkcjsKIAkJc3RydWN0IG11 dGV4IGxvY2s7CiAJfSBwZXJmbW9uOworCisJYm9vbCBiaW5fYm9fdXNlZDsKIH07CiAKIHN0YXRp YyBpbmxpbmUgc3RydWN0IHZjNF9leGVjX2luZm8gKgpAQCAtODMzLDYgKzg0NSw4IEBAIHZvaWQg dmM0X3BsYW5lX2FzeW5jX3NldF9mYihzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKIGV4dGVybiBz dHJ1Y3QgcGxhdGZvcm1fZHJpdmVyIHZjNF92M2RfZHJpdmVyOwogZXh0ZXJuIGNvbnN0IHN0cnVj dCBvZl9kZXZpY2VfaWQgdmM0X3YzZF9kdF9tYXRjaFtdOwogaW50IHZjNF92M2RfZ2V0X2Jpbl9z bG90KHN0cnVjdCB2YzRfZGV2ICp2YzQpOworaW50IHZjNF92M2RfYmluX2JvX2dldChzdHJ1Y3Qg dmM0X2RldiAqdmM0KTsKK3ZvaWQgdmM0X3YzZF9iaW5fYm9fcHV0KHN0cnVjdCB2YzRfZGV2ICp2 YzQpOwogaW50IHZjNF92M2RfcG1fZ2V0KHN0cnVjdCB2YzRfZGV2ICp2YzQpOwogdm9pZCB2YzRf djNkX3BtX3B1dChzdHJ1Y3QgdmM0X2RldiAqdmM0KTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL3ZjNC92YzRfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9nZW0uYwppbmRl eCBkOTMxMWJlMzJhNGYuLjYyMTllOTM2OGVmMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L3ZjNC92YzRfZ2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfZ2VtLmMKQEAgLTgy MCw2ICs4MjAsNyBAQCBzdGF0aWMgaW50CiB2YzRfZ2V0X2JjbChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgdmM0X2V4ZWNfaW5mbyAqZXhlYykKIHsKIAlzdHJ1Y3QgZHJtX3ZjNF9zdWJt aXRfY2wgKmFyZ3MgPSBleGVjLT5hcmdzOworCXN0cnVjdCB2YzRfZGV2ICp2YzQgPSB0b192YzRf ZGV2KGRldik7CiAJdm9pZCAqdGVtcCA9IE5VTEw7CiAJdm9pZCAqYmluOwogCWludCByZXQgPSAw OwpAQCAtOTE4LDYgKzkxOSwxNCBAQCB2YzRfZ2V0X2JjbChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBzdHJ1Y3QgdmM0X2V4ZWNfaW5mbyAqZXhlYykKIAlpZiAocmV0KQogCQlnb3RvIGZhaWw7CiAK KwlpZiAoZXhlYy0+Zm91bmRfdGlsZV9iaW5uaW5nX21vZGVfY29uZmlnX3BhY2tldCkgeworCQly ZXQgPSB2YzRfdjNkX2Jpbl9ib19nZXQodmM0KTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gZmFpbDsK KworCQlleGVjLT5iaW5fYm9fdXNlZCA9IHRydWU7CisJfQorCiAJLyogQmxvY2sgd2FpdGluZyBv biBhbnkgcHJldmlvdXMgcmVuZGVyaW5nIGludG8gdGhlIENTJ3MgVkJPLAogCSAqIElCLCBvciB0 ZXh0dXJlcywgc28gdGhhdCBwaXhlbHMgYXJlIGFjdHVhbGx5IHdyaXR0ZW4gYnkgdGhlCiAJICog dGltZSB3ZSB0cnkgdG8gcmVhZCB0aGVtLgpAQCAtOTY2LDYgKzk3NSwxMCBAQCB2YzRfY29tcGxl dGVfZXhlYyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgdmM0X2V4ZWNfaW5mbyAqZXhl YykKIAl2YzQtPmJpbl9hbGxvY191c2VkICY9IH5leGVjLT5iaW5fc2xvdHM7CiAJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmdmM0LT5qb2JfbG9jaywgaXJxZmxhZ3MpOwogCisJLyogUmVsZWFzZSB0 aGUgcmVmZXJlbmNlIG9uIHRoZSBiaW5uZXIgQk8gaWYgbmVlZGVkLiAqLworCWlmIChleGVjLT5i aW5fYm9fdXNlZCkKKwkJdmM0X3YzZF9iaW5fYm9fcHV0KHZjNCk7CisKIAkvKiBSZWxlYXNlIHRo ZSByZWZlcmVuY2Ugd2UgaGFkIG9uIHRoZSBwZXJmIG1vbml0b3IuICovCiAJdmM0X3BlcmZtb25f cHV0KGV4ZWMtPnBlcmZtb24pOwogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3Zj NF9pcnEuYyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X2lycS5jCmluZGV4IDcyM2RjODZiNDUx MS4uZTIyNmMyNGU1NDNmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9pcnEu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vdmM0L3ZjNF9pcnEuYwpAQCAtNTksMTggKzU5LDIyIEBA IHZjNF9vdmVyZmxvd19tZW1fd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiB7CiAJc3Ry dWN0IHZjNF9kZXYgKnZjNCA9CiAJCWNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3QgdmM0X2Rldiwg b3ZlcmZsb3dfbWVtX3dvcmspOwotCXN0cnVjdCB2YzRfYm8gKmJvID0gdmM0LT5iaW5fYm87CisJ c3RydWN0IHZjNF9ibyAqYm87CiAJaW50IGJpbl9ib19zbG90OwogCXN0cnVjdCB2YzRfZXhlY19p bmZvICpleGVjOwogCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7CiAKLQlpZiAoIWJvKQotCQlyZXR1 cm47CisJbXV0ZXhfbG9jaygmdmM0LT5iaW5fYm9fbG9jayk7CisKKwlpZiAoIXZjNC0+YmluX2Jv KQorCQlnb3RvIGNvbXBsZXRlOworCisJYm8gPSB2YzQtPmJpbl9ibzsKIAogCWJpbl9ib19zbG90 ID0gdmM0X3YzZF9nZXRfYmluX3Nsb3QodmM0KTsKIAlpZiAoYmluX2JvX3Nsb3QgPCAwKSB7CiAJ CURSTV9FUlJPUigiQ291bGRuJ3QgYWxsb2NhdGUgYmlubmVyIG92ZXJmbG93IG1lbVxuIik7Ci0J CXJldHVybjsKKwkJZ290byBjb21wbGV0ZTsKIAl9CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmdmM0 LT5qb2JfbG9jaywgaXJxZmxhZ3MpOwpAQCAtMTAxLDYgKzEwNSw5IEBAIHZjNF9vdmVyZmxvd19t ZW1fd29yayhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJVjNEX1dSSVRFKFYzRF9JTlRDVEws IFYzRF9JTlRfT1VUT01FTSk7CiAJVjNEX1dSSVRFKFYzRF9JTlRFTkEsIFYzRF9JTlRfT1VUT01F TSk7CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmdmM0LT5qb2JfbG9jaywgaXJxZmxhZ3MpOwor Citjb21wbGV0ZToKKwltdXRleF91bmxvY2soJnZjNC0+YmluX2JvX2xvY2spOwogfQogCiBzdGF0 aWMgdm9pZApAQCAtMjUyLDggKzI1OSwxMCBAQCB2YzRfaXJxX3Bvc3RpbnN0YWxsKHN0cnVjdCBk cm1fZGV2aWNlICpkZXYpCiAJaWYgKCF2YzQtPnYzZCkKIAkJcmV0dXJuIDA7CiAKLQkvKiBFbmFi bGUgYm90aCB0aGUgcmVuZGVyIGRvbmUgYW5kIG91dCBvZiBtZW1vcnkgaW50ZXJydXB0cy4gKi8K LQlWM0RfV1JJVEUoVjNEX0lOVEVOQSwgVjNEX0RSSVZFUl9JUlFTKTsKKwkvKiBFbmFibGUgdGhl IHJlbmRlciBkb25lIGludGVycnVwdHMuIFRoZSBvdXQtb2YtbWVtb3J5IGludGVycnVwdCBpcwor CSAqIGVuYWJsZWQgYXMgc29vbiBhcyB3ZSBoYXZlIGEgYmlubmVyIEJPIGFsbG9jYXRlZC4KKwkg Ki8KKwlWM0RfV1JJVEUoVjNEX0lOVEVOQSwgVjNEX0lOVF9GTERPTkUgfCBWM0RfSU5UX0ZSRE9O RSk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0 X3YzZC5jIGIvZHJpdmVycy9ncHUvZHJtL3ZjNC92YzRfdjNkLmMKaW5kZXggYzE2ZGI0NjY1YWY2 Li40ZWRlOGE5MjBhYTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3YzZC5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS92YzQvdmM0X3YzZC5jCkBAIC0yOTQsNiArMjk0LDE0IEBA IHN0YXRpYyBpbnQgYmluX2JvX2FsbG9jKHN0cnVjdCB2YzRfZGV2ICp2YzQpCiAJCQlXQVJOX09O X09OQ0Uoc2l6ZW9mKHZjNC0+YmluX2FsbG9jX3VzZWQpICogOCAhPQogCQkJCSAgICAgYm8tPmJh c2UuYmFzZS5zaXplIC8gdmM0LT5iaW5fYWxsb2Nfc2l6ZSk7CiAKKwkJCWtyZWZfaW5pdCgmdmM0 LT5iaW5fYm9fa3JlZik7CisKKwkJCS8qIEVuYWJsZSB0aGUgb3V0LW9mLW1lbW9yeSBpbnRlcnJ1 cHQgdG8gc2V0IG91cgorCQkJICogbmV3bHktYWxsb2NhdGVkIGJpbm5lciBCTywgcG90ZW50aWFs bHkgZnJvbSBhbgorCQkJICogYWxyZWFkeS1wZW5kaW5nLWJ1dC1tYXNrZWQgaW50ZXJ1cHQuCisJ CQkgKi8KKwkJCVYzRF9XUklURShWM0RfSU5URU5BLCBWM0RfSU5UX09VVE9NRU0pOworCiAJCQli cmVhazsKIAkJfQogCkBAIC0zMTMsNiArMzIxLDQzIEBAIHN0YXRpYyBpbnQgYmluX2JvX2FsbG9j KHN0cnVjdCB2YzRfZGV2ICp2YzQpCiAJcmV0dXJuIHJldDsKIH0KIAoraW50IHZjNF92M2RfYmlu X2JvX2dldChzdHJ1Y3QgdmM0X2RldiAqdmM0KQoreworCWludCByZXQgPSAwOworCisJbXV0ZXhf bG9jaygmdmM0LT5iaW5fYm9fbG9jayk7CisKKwlpZiAodmM0LT5iaW5fYm8pIHsKKwkJa3JlZl9n ZXQoJnZjNC0+YmluX2JvX2tyZWYpOworCQlnb3RvIGNvbXBsZXRlOworCX0KKworCXJldCA9IGJp bl9ib19hbGxvYyh2YzQpOworCitjb21wbGV0ZToKKwltdXRleF91bmxvY2soJnZjNC0+YmluX2Jv X2xvY2spOworCisJcmV0dXJuIHJldDsKK30KKworc3RhdGljIHZvaWQgYmluX2JvX3JlbGVhc2Uo c3RydWN0IGtyZWYgKnJlZikKK3sKKwlzdHJ1Y3QgdmM0X2RldiAqdmM0ID0gY29udGFpbmVyX29m KHJlZiwgc3RydWN0IHZjNF9kZXYsIGJpbl9ib19rcmVmKTsKKworCWlmIChXQVJOX09OX09OQ0Uo IXZjNC0+YmluX2JvKSkKKwkJcmV0dXJuOworCisJZHJtX2dlbV9vYmplY3RfcHV0X3VubG9ja2Vk KCZ2YzQtPmJpbl9iby0+YmFzZS5iYXNlKTsKKwl2YzQtPmJpbl9ibyA9IE5VTEw7Cit9CisKK3Zv aWQgdmM0X3YzZF9iaW5fYm9fcHV0KHN0cnVjdCB2YzRfZGV2ICp2YzQpCit7CisJbXV0ZXhfbG9j aygmdmM0LT5iaW5fYm9fbG9jayk7CisJa3JlZl9wdXQoJnZjNC0+YmluX2JvX2tyZWYsIGJpbl9i b19yZWxlYXNlKTsKKwltdXRleF91bmxvY2soJnZjNC0+YmluX2JvX2xvY2spOworfQorCiAjaWZk ZWYgQ09ORklHX1BNCiBzdGF0aWMgaW50IHZjNF92M2RfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBk ZXZpY2UgKmRldikKIHsKQEAgLTMyMSw5ICszNjYsNiBAQCBzdGF0aWMgaW50IHZjNF92M2RfcnVu dGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmRldikKIAogCXZjNF9pcnFfdW5pbnN0YWxsKHZj NC0+ZGV2KTsKIAotCWRybV9nZW1fb2JqZWN0X3B1dF91bmxvY2tlZCgmdmM0LT5iaW5fYm8tPmJh c2UuYmFzZSk7Ci0JdmM0LT5iaW5fYm8gPSBOVUxMOwotCiAJY2xrX2Rpc2FibGVfdW5wcmVwYXJl KHYzZC0+Y2xrKTsKIAogCXJldHVybiAwOwpAQCAtMzM1LDEwICszNzcsNiBAQCBzdGF0aWMgaW50 IHZjNF92M2RfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqZGV2KQogCXN0cnVjdCB2YzRf ZGV2ICp2YzQgPSB2M2QtPnZjNDsKIAlpbnQgcmV0OwogCi0JcmV0ID0gYmluX2JvX2FsbG9jKHZj NCk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKLQogCXJldCA9IGNsa19wcmVwYXJlX2VuYWJs ZSh2M2QtPmNsayk7CiAJaWYgKHJldCAhPSAwKQogCQlyZXR1cm4gcmV0OwpAQCAtNDA1LDEyICs0 NDMsNiBAQCBzdGF0aWMgaW50IHZjNF92M2RfYmluZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVj dCBkZXZpY2UgKm1hc3Rlciwgdm9pZCAqZGF0YSkKIAlpZiAocmV0ICE9IDApCiAJCXJldHVybiBy ZXQ7CiAKLQlyZXQgPSBiaW5fYm9fYWxsb2ModmM0KTsKLQlpZiAocmV0KSB7Ci0JCWNsa19kaXNh YmxlX3VucHJlcGFyZSh2M2QtPmNsayk7Ci0JCXJldHVybiByZXQ7Ci0JfQotCiAJLyogUmVzZXQg dGhlIGJpbm5lciBvdmVyZmxvdyBhZGRyZXNzL3NpemUgYXQgc2V0dXAsIHRvIGJlIHN1cmUKIAkg KiB3ZSBkb24ndCByZXVzZSBhbiBvbGQgb25lLgogCSAqLwotLSAKMi4yMS4wCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBs aXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWw=