From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?Q?Christian_K=c3=b6nig?= Subject: Re: [PATCH 2/2] drm/amdgpu: use amdgpu_bo_param for amdgpu_bo_create v2 Date: Tue, 17 Apr 2018 12:12:42 +0200 Message-ID: References: <20180417055406.19902-1-david1.zhou@amd.com> <20180417055406.19902-2-david1.zhou@amd.com> Reply-To: christian.koenig-5C7GfCeVMHo@public.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180417055406.19902-2-david1.zhou-5C7GfCeVMHo@public.gmane.org> Content-Language: en-US List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: Chunming Zhou , amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Felix.Kuehling-5C7GfCeVMHo@public.gmane.org, christian.koenig-5C7GfCeVMHo@public.gmane.org QW0gMTcuMDQuMjAxOCB1bSAwNzo1NCBzY2hyaWViIENodW5taW5nIFpob3U6Cj4gQWZ0ZXIgdGhh dCwgd2UgY2FuIGVhc2lseSBhZGQgbmV3IHBhcmFtZXRlciB3aGVuIG5lZWQuCj4KPiB2MjoKPiBh KSByZWJhc2UuCj4gYikgSW5pdGlhbGl6ZSBzdHJ1Y3QgYW1kZ3B1X2JvX3BhcmFtLCBmdXR1cmUg bmV3Cj4gbWVtYmVyIGNvdWxkIG9ubHkgYmUgdXNlZCBpbiBzb21lIG9uZSBjYXNlLCBidXQgYWxs IG1lbWJlcgo+IHNob3VsZCBoYXZlIGl0cyBvd24gaW5pdGlhbCB2YWx1ZS4KPgo+IENoYW5nZS1J ZDogSTZlODAwMzljMzgwMWYxNjMxMjllY2M2MDVkOTMxNDgzZmRiYzkxZGIKPiBTaWduZWQtb2Zm LWJ5OiBDaHVubWluZyBaaG91IDxkYXZpZDEuemhvdUBhbWQuY29tPgo+IFJldmlld2VkLWJ5OiBI dWFuZyBSdWkgPHJheS5odWFuZ0BhbWQuY29tPiAodjEpCj4gUmV2aWV3ZWQtYnk6IENocmlzdGlh biBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4gKHYxKQoKUmV2aWV3ZWQtYnk6IENo cmlzdGlhbiBLw7ZuaWcgPGNocmlzdGlhbi5rb2VuaWdAYW1kLmNvbT4KCj4gQ2M6IGNocmlzdGlh bi5rb2VuaWdAYW1kLmNvbQo+IENjOiBGZWxpeC5LdWVobGluZ0BhbWQuY29tCj4gLS0tCj4gICBk cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMgICAgICAgfCAxMiArKyst LQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2FtZGtmZF9ncHV2bS5jIHwg MTEgKysrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9iZW5jaG1hcmsu YyAgICB8IDE1ICsrKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dh cnQuYyAgICAgICAgIHwgMTcgKysrKy0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X2dlbS5jICAgICAgICAgIHwgMTEgKysrKy0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9vYmplY3QuYyAgICAgICB8IDU4ICsrKysrKysrKysrKy0tLS0tLS0tLS0t LQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X29iamVjdC5oICAgICAgIHwg IDYgKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYyAgICAg ICAgfCAxMiArKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3Rlc3Qu YyAgICAgICAgIHwgMTggKysrKystLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV90dG0uYyAgICAgICAgICB8IDE1ICsrKystLQo+ICAgZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1X3ZtLmMgICAgICAgICAgIHwgMjYgKysrKysrKystLS0KPiAgIDExIGZpbGVz IGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspLCA3MSBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMgYi9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYW1ka2ZkLmMKPiBpbmRleCA0ZDM2MjAzZmZiMTEu Ljg4NzcwMmM1OTQ4OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9h bWRncHVfYW1ka2ZkLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVf YW1ka2ZkLmMKPiBAQCAtMjE3LDEzICsyMTcsMTkgQEAgaW50IGFsbG9jX2d0dF9tZW0oc3RydWN0 IGtnZF9kZXYgKmtnZCwgc2l6ZV90IHNpemUsCj4gICB7Cj4gICAJc3RydWN0IGFtZGdwdV9kZXZp Y2UgKmFkZXYgPSAoc3RydWN0IGFtZGdwdV9kZXZpY2UgKilrZ2Q7Cj4gICAJc3RydWN0IGFtZGdw dV9ibyAqYm8gPSBOVUxMOwo+ICsJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicDsKPiAgIAlpbnQg cjsKPiAgIAl1aW50NjRfdCBncHVfYWRkcl90bXAgPSAwOwo+ICAgCXZvaWQgKmNwdV9wdHJfdG1w ID0gTlVMTDsKPiAgIAo+IC0JciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgc2l6ZSwgUEFHRV9T SVpFLCBBTURHUFVfR0VNX0RPTUFJTl9HVFQsCj4gLQkJCSAgICAgQU1ER1BVX0dFTV9DUkVBVEVf Q1BVX0dUVF9VU1dDLCB0dG1fYm9fdHlwZV9rZXJuZWwsCj4gLQkJCSAgICAgTlVMTCwgJmJvKTsK PiArCW1lbXNldCgmYnAsIDAsIHNpemVvZihicCkpOwo+ICsJYnAuc2l6ZSA9IHNpemU7Cj4gKwli cC5ieXRlX2FsaWduID0gUEFHRV9TSVpFOwo+ICsJYnAuZG9tYWluID0gQU1ER1BVX0dFTV9ET01B SU5fR1RUOwo+ICsJYnAuZmxhZ3MgPSBBTURHUFVfR0VNX0NSRUFURV9DUFVfR1RUX1VTV0M7Cj4g KwlicC50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVsOwo+ICsJYnAucmVzdiA9IE5VTEw7Cj4gKwly ID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZibyk7Cj4gICAJaWYgKHIpIHsKPiAgIAkJ ZGV2X2VycihhZGV2LT5kZXYsCj4gICAJCQkiZmFpbGVkIHRvIGFsbG9jYXRlIEJPIGZvciBhbWRr ZmQgKCVkKVxuIiwgcik7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9hbWRrZmRfZ3B1dm0uYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdw dV9hbWRrZmRfZ3B1dm0uYwo+IGluZGV4IDFkNmUxNDc5ZGEzOC4uYzFiMGNkYjQwMWRjIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0u Ywo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9hbWRrZmRfZ3B1dm0u Ywo+IEBAIC0xMDA0LDYgKzEwMDQsNyBAQCBpbnQgYW1kZ3B1X2FtZGtmZF9ncHV2bV9hbGxvY19t ZW1vcnlfb2ZfZ3B1KAo+ICAgCXN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2ID0gZ2V0X2FtZGdw dV9kZXZpY2Uoa2dkKTsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X3ZtICphdm0gPSAoc3RydWN0IGFtZGdw dV92bSAqKXZtOwo+ICAgCXN0cnVjdCBhbWRncHVfYm8gKmJvOwo+ICsJc3RydWN0IGFtZGdwdV9i b19wYXJhbSBicDsKPiAgIAlpbnQgYnl0ZV9hbGlnbjsKPiAgIAl1MzIgYWxsb2NfZG9tYWluOwo+ ICAgCXU2NCBhbGxvY19mbGFnczsKPiBAQCAtMTA2OSw4ICsxMDcwLDE0IEBAIGludCBhbWRncHVf YW1ka2ZkX2dwdXZtX2FsbG9jX21lbW9yeV9vZl9ncHUoCj4gICAJcHJfZGVidWcoIlx0Y3JlYXRl IEJPIFZBIDB4JWxseCBzaXplIDB4JWxseCBkb21haW4gJXNcbiIsCj4gICAJCQl2YSwgc2l6ZSwg ZG9tYWluX3N0cmluZyhhbGxvY19kb21haW4pKTsKPiAgIAo+IC0JcmV0ID0gYW1kZ3B1X2JvX2Ny ZWF0ZShhZGV2LCBzaXplLCBieXRlX2FsaWduLAo+IC0JCQkJYWxsb2NfZG9tYWluLCBhbGxvY19m bGFncywgdHRtX2JvX3R5cGVfZGV2aWNlLCBOVUxMLCAmYm8pOwo+ICsJbWVtc2V0KCZicCwgMCwg c2l6ZW9mKGJwKSk7Cj4gKwlicC5zaXplID0gc2l6ZTsKPiArCWJwLmJ5dGVfYWxpZ24gPSBieXRl X2FsaWduOwo+ICsJYnAuZG9tYWluID0gYWxsb2NfZG9tYWluOwo+ICsJYnAuZmxhZ3MgPSBhbGxv Y19mbGFnczsKPiArCWJwLnR5cGUgPSB0dG1fYm9fdHlwZV9kZXZpY2U7Cj4gKwlicC5yZXN2ID0g TlVMTDsKPiArCXJldCA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgJmJwLCAmYm8pOwo+ICAgCWlm IChyZXQpIHsKPiAgIAkJcHJfZGVidWcoIkZhaWxlZCB0byBjcmVhdGUgQk8gb24gZG9tYWluICVz LiByZXQgJWRcbiIsCj4gICAJCQkJZG9tYWluX3N0cmluZyhhbGxvY19kb21haW4pLCByZXQpOwo+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJr LmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJrLmMKPiBpbmRl eCAwMmI4NDliZTA4M2IuLjE5Y2ZmZjMxZjJlMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJrLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfYmVuY2htYXJrLmMKPiBAQCAtNzUsMTMgKzc1LDIwIEBAIHN0YXRp YyB2b2lkIGFtZGdwdV9iZW5jaG1hcmtfbW92ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwg dW5zaWduZWQgc2l6ZSwKPiAgIHsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2JvICpkb2JqID0gTlVMTDsK PiAgIAlzdHJ1Y3QgYW1kZ3B1X2JvICpzb2JqID0gTlVMTDsKPiArCXN0cnVjdCBhbWRncHVfYm9f cGFyYW0gYnA7Cj4gICAJdWludDY0X3Qgc2FkZHIsIGRhZGRyOwo+ICAgCWludCByLCBuOwo+ICAg CWludCB0aW1lOwo+ICAgCj4gKwltZW1zZXQoJmJwLCAwLCBzaXplb2YoYnApKTsKPiArCWJwLnNp emUgPSBzaXplOwo+ICsJYnAuYnl0ZV9hbGlnbiA9IFBBR0VfU0laRTsKPiArCWJwLmRvbWFpbiA9 IHNkb21haW47Cj4gKwlicC5mbGFncyA9IDA7Cj4gKwlicC50eXBlID0gdHRtX2JvX3R5cGVfa2Vy bmVsOwo+ICsJYnAucmVzdiA9IE5VTEw7Cj4gICAJbiA9IEFNREdQVV9CRU5DSE1BUktfSVRFUkFU SU9OUzsKPiAtCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIHNpemUsIFBBR0VfU0laRSxzZG9t YWluLCAwLAo+IC0JCQkgICAgIHR0bV9ib190eXBlX2tlcm5lbCwgTlVMTCwgJnNvYmopOwo+ICsJ ciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgJmJwLCAmc29iaik7Cj4gICAJaWYgKHIpIHsKPiAg IAkJZ290byBvdXRfY2xlYW51cDsKPiAgIAl9Cj4gQEAgLTkzLDggKzEwMCw4IEBAIHN0YXRpYyB2 b2lkIGFtZGdwdV9iZW5jaG1hcmtfbW92ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdW5z aWduZWQgc2l6ZSwKPiAgIAlpZiAocikgewo+ICAgCQlnb3RvIG91dF9jbGVhbnVwOwo+ICAgCX0K PiAtCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIHNpemUsIFBBR0VfU0laRSwgZGRvbWFpbiwg MCwKPiAtCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsICZkb2JqKTsKPiArCWJwLmRv bWFpbiA9IGRkb21haW47Cj4gKwlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZkb2Jq KTsKPiAgIAlpZiAocikgewo+ICAgCQlnb3RvIG91dF9jbGVhbnVwOwo+ICAgCX0KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQuYyBiL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9nYXJ0LmMKPiBpbmRleCBjZjBmMTg2YzYwOTIuLjE3 ZDZiOWZiNmQ3NyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRn cHVfZ2FydC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2dhcnQu Ywo+IEBAIC0xMTMsMTIgKzExMywxNyBAQCBpbnQgYW1kZ3B1X2dhcnRfdGFibGVfdnJhbV9hbGxv YyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIAlpbnQgcjsKPiAgIAo+ICAgCWlmIChh ZGV2LT5nYXJ0LnJvYmogPT0gTlVMTCkgewo+IC0JCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYs IGFkZXYtPmdhcnQudGFibGVfc2l6ZSwgUEFHRV9TSVpFLAo+IC0JCQkJICAgICBBTURHUFVfR0VN X0RPTUFJTl9WUkFNLAo+IC0JCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNTX1JF UVVJUkVEIHwKPiAtCQkJCSAgICAgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VTLAo+ IC0JCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsCj4gLQkJCQkgICAgICZhZGV2LT5n YXJ0LnJvYmopOwo+ICsJCXN0cnVjdCBhbWRncHVfYm9fcGFyYW0gYnA7Cj4gKwo+ICsJCW1lbXNl dCgmYnAsIDAsIHNpemVvZihicCkpOwo+ICsJCWJwLnNpemUgPSBhZGV2LT5nYXJ0LnRhYmxlX3Np emU7Cj4gKwkJYnAuYnl0ZV9hbGlnbiA9IFBBR0VfU0laRTsKPiArCQlicC5kb21haW4gPSBBTURH UFVfR0VNX0RPTUFJTl9WUkFNOwo+ICsJCWJwLmZsYWdzID0gQU1ER1BVX0dFTV9DUkVBVEVfQ1BV X0FDQ0VTU19SRVFVSVJFRCB8Cj4gKwkJCUFNREdQVV9HRU1fQ1JFQVRFX1ZSQU1fQ09OVElHVU9V UzsKPiArCQlicC50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVsOwo+ICsJCWJwLnJlc3YgPSBOVUxM Owo+ICsJCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsICZicCwgJmFkZXYtPmdhcnQucm9iaik7 Cj4gICAJCWlmIChyKSB7Cj4gICAJCQlyZXR1cm4gcjsKPiAgIAkJfQo+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKPiBpbmRleCA0NmI5ZWE0ZTYxMDMuLjEyMDBjNWJhMzdk YSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZ2VtLmMKPiBAQCAtNDgs MTcgKzQ4LDI0IEBAIGludCBhbWRncHVfZ2VtX29iamVjdF9jcmVhdGUoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiAgIAkJCSAgICAgc3RydWN0IGRybV9n ZW1fb2JqZWN0ICoqb2JqKQo+ICAgewo+ICAgCXN0cnVjdCBhbWRncHVfYm8gKmJvOwo+ICsJc3Ry dWN0IGFtZGdwdV9ib19wYXJhbSBicDsKPiAgIAlpbnQgcjsKPiAgIAo+ICsJbWVtc2V0KCZicCwg MCwgc2l6ZW9mKGJwKSk7Cj4gICAJKm9iaiA9IE5VTEw7Cj4gICAJLyogQXQgbGVhc3QgYWxpZ24g b24gcGFnZSBzaXplICovCj4gICAJaWYgKGFsaWdubWVudCA8IFBBR0VfU0laRSkgewo+ICAgCQlh bGlnbm1lbnQgPSBQQUdFX1NJWkU7Cj4gICAJfQo+ICAgCj4gKwlicC5zaXplID0gc2l6ZTsKPiAr CWJwLmJ5dGVfYWxpZ24gPSBhbGlnbm1lbnQ7Cj4gKwlicC50eXBlID0gdHlwZTsKPiArCWJwLnJl c3YgPSByZXN2Owo+ICAgcmV0cnk6Cj4gLQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBzaXpl LCBhbGlnbm1lbnQsIGluaXRpYWxfZG9tYWluLAo+IC0JCQkgICAgIGZsYWdzLCB0eXBlLCByZXN2 LCAmYm8pOwo+ICsJYnAuZmxhZ3MgPSBmbGFnczsKPiArCWJwLmRvbWFpbiA9IGluaXRpYWxfZG9t YWluOwo+ICsJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgJmJwLCAmYm8pOwo+ICAgCWlmIChy KSB7Cj4gICAJCWlmIChyICE9IC1FUkVTVEFSVFNZUykgewo+ICAgCQkJaWYgKGZsYWdzICYgQU1E R1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCkgewo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMgYi9kcml2ZXJzL2dwdS9kcm0v YW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMKPiBpbmRleCBiMzNhN2ZkZWE3ZjIuLmNhYzY1ZTMy YTBiOSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2Jq ZWN0LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmMK PiBAQCAtMTkxLDE0ICsxOTEsMjEgQEAgaW50IGFtZGdwdV9ib19jcmVhdGVfcmVzZXJ2ZWQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkgICAgICB1MzIgZG9tYWluLCBzdHJ1Y3Qg YW1kZ3B1X2JvICoqYm9fcHRyLAo+ICAgCQkJICAgICAgdTY0ICpncHVfYWRkciwgdm9pZCAqKmNw dV9hZGRyKQo+ICAgewo+ICsJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicDsKPiAgIAlib29sIGZy ZWUgPSBmYWxzZTsKPiAgIAlpbnQgcjsKPiAgIAo+ICsJbWVtc2V0KCZicCwgMCwgc2l6ZW9mKGJw KSk7Cj4gKwlicC5zaXplID0gc2l6ZTsKPiArCWJwLmJ5dGVfYWxpZ24gPSBhbGlnbjsKPiArCWJw LmRvbWFpbiA9IGRvbWFpbjsKPiArCWJwLmZsYWdzID0gQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FD Q0VTU19SRVFVSVJFRCB8Cj4gKwkJQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VTOwo+ ICsJYnAudHlwZSA9IHR0bV9ib190eXBlX2tlcm5lbDsKPiArCWJwLnJlc3YgPSBOVUxMOwo+ICsK PiAgIAlpZiAoISpib19wdHIpIHsKPiAtCQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCBzaXpl LCBhbGlnbiwgZG9tYWluLAo+IC0JCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9DUFVfQUNDRVNT X1JFUVVJUkVEIHwKPiAtCQkJCSAgICAgQU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VT LAo+IC0JCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsIGJvX3B0cik7Cj4gKwkJciA9 IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgJmJwLCBib19wdHIpOwo+ICAgCQlpZiAocikgewo+ICAg CQkJZGV2X2VycihhZGV2LT5kZXYsICIoJWQpIGZhaWxlZCB0byBhbGxvY2F0ZSBrZXJuZWwgYm9c biIsCj4gICAJCQkJcik7Cj4gQEAgLTQ3MCwyMCArNDc3LDIxIEBAIHN0YXRpYyBpbnQgYW1kZ3B1 X2JvX2NyZWF0ZV9zaGFkb3coc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkJICAg dW5zaWduZWQgbG9uZyBzaXplLCBpbnQgYnl0ZV9hbGlnbiwKPiAgIAkJCQkgICBzdHJ1Y3QgYW1k Z3B1X2JvICpibykKPiAgIHsKPiAtCXN0cnVjdCBhbWRncHVfYm9fcGFyYW0gYnAgPSB7Cj4gLQkJ LnNpemUgPSBzaXplLAo+IC0JCS5ieXRlX2FsaWduID0gYnl0ZV9hbGlnbiwKPiAtCQkuZG9tYWlu ID0gQU1ER1BVX0dFTV9ET01BSU5fR1RULAo+IC0JCS5mbGFncyA9IEFNREdQVV9HRU1fQ1JFQVRF X0NQVV9HVFRfVVNXQyB8Cj4gLQkJCUFNREdQVV9HRU1fQ1JFQVRFX1NIQURPVywKPiAtCQkudHlw ZSA9IHR0bV9ib190eXBlX2tlcm5lbCwKPiAtCQkucmVzdiA9IGJvLT50Ym8ucmVzdgo+IC0JfTsK PiArCXN0cnVjdCBhbWRncHVfYm9fcGFyYW0gYnA7Cj4gICAJaW50IHI7Cj4gICAKPiAgIAlpZiAo Ym8tPnNoYWRvdykKPiAgIAkJcmV0dXJuIDA7Cj4gICAKPiArCW1lbXNldCgmYnAsIDAsIHNpemVv ZihicCkpOwo+ICsJYnAuc2l6ZSA9IHNpemU7Cj4gKwlicC5ieXRlX2FsaWduID0gYnl0ZV9hbGln bjsKPiArCWJwLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX0dUVDsKPiArCWJwLmZsYWdzID0g QU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0dUVF9VU1dDIHwKPiArCQlBTURHUFVfR0VNX0NSRUFURV9T SEFET1c7Cj4gKwlicC50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVsOwo+ICsJYnAucmVzdiA9IGJv LT50Ym8ucmVzdjsKPiArCj4gICAJciA9IGFtZGdwdV9ib19kb19jcmVhdGUoYWRldiwgJmJwLCAm Ym8tPnNoYWRvdyk7Cj4gICAJaWYgKCFyKSB7Cj4gICAJCWJvLT5zaGFkb3ctPnBhcmVudCA9IGFt ZGdwdV9ib19yZWYoYm8pOwo+IEBAIC00OTUsMzQgKzUwMywyNiBAQCBzdGF0aWMgaW50IGFtZGdw dV9ib19jcmVhdGVfc2hhZG93KHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LAo+ICAgCXJldHVy biByOwo+ICAgfQo+ICAgCj4gLWludCBhbWRncHVfYm9fY3JlYXRlKHN0cnVjdCBhbWRncHVfZGV2 aWNlICphZGV2LCB1bnNpZ25lZCBsb25nIHNpemUsCj4gLQkJICAgICBpbnQgYnl0ZV9hbGlnbiwg dTMyIGRvbWFpbiwKPiAtCQkgICAgIHU2NCBmbGFncywgZW51bSB0dG1fYm9fdHlwZSB0eXBlLAo+ IC0JCSAgICAgc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqcmVzdiwKPiAraW50IGFtZGdwdV9i b19jcmVhdGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gKwkJICAgICBzdHJ1Y3QgYW1k Z3B1X2JvX3BhcmFtICpicCwKPiAgIAkJICAgICBzdHJ1Y3QgYW1kZ3B1X2JvICoqYm9fcHRyKQo+ ICAgewo+IC0Jc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicCA9IHsKPiAtCQkuc2l6ZSA9IHNpemUs Cj4gLQkJLmJ5dGVfYWxpZ24gPSBieXRlX2FsaWduLAo+IC0JCS5kb21haW4gPSBkb21haW4sCj4g LQkJLmZsYWdzID0gZmxhZ3MgJiB+QU1ER1BVX0dFTV9DUkVBVEVfU0hBRE9XLAo+IC0JCS50eXBl ID0gdHlwZSwKPiAtCQkucmVzdiA9IHJlc3YKPiAtCX07Cj4gKwl1NjQgZmxhZ3MgPSBicC0+Zmxh Z3M7Cj4gICAJaW50IHI7Cj4gICAKPiAtCXIgPSBhbWRncHVfYm9fZG9fY3JlYXRlKGFkZXYsICZi cCwgYm9fcHRyKTsKPiArCWJwLT5mbGFncyA9IGJwLT5mbGFncyAmIH5BTURHUFVfR0VNX0NSRUFU RV9TSEFET1c7Cj4gKwlyID0gYW1kZ3B1X2JvX2RvX2NyZWF0ZShhZGV2LCBicCwgYm9fcHRyKTsK PiAgIAlpZiAocikKPiAgIAkJcmV0dXJuIHI7Cj4gICAKPiAgIAlpZiAoKGZsYWdzICYgQU1ER1BV X0dFTV9DUkVBVEVfU0hBRE9XKSAmJiBhbWRncHVfbmVlZF9iYWNrdXAoYWRldikpIHsKPiAtCQlp ZiAoIXJlc3YpCj4gKwkJaWYgKCFicC0+cmVzdikKPiAgIAkJCVdBUk5fT04ocmVzZXJ2YXRpb25f b2JqZWN0X2xvY2soKCpib19wdHIpLT50Ym8ucmVzdiwKPiAgIAkJCQkJCQlOVUxMKSk7Cj4gICAK PiAtCQlyID0gYW1kZ3B1X2JvX2NyZWF0ZV9zaGFkb3coYWRldiwgc2l6ZSwgYnl0ZV9hbGlnbiwg KCpib19wdHIpKTsKPiArCQlyID0gYW1kZ3B1X2JvX2NyZWF0ZV9zaGFkb3coYWRldiwgYnAtPnNp emUsIGJwLT5ieXRlX2FsaWduLCAoKmJvX3B0cikpOwo+ICAgCj4gLQkJaWYgKCFyZXN2KQo+ICsJ CWlmICghYnAtPnJlc3YpCj4gICAJCQlyZXNlcnZhdGlvbl9vYmplY3RfdW5sb2NrKCgqYm9fcHRy KS0+dGJvLnJlc3YpOwo+ICAgCj4gICAJCWlmIChyKQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmggYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfb2JqZWN0LmgKPiBpbmRleCA0YmI2ZjBhOGQ3OTkuLmU5YTIxZDk5MWU3NyAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfb2JqZWN0LmgKPiBAQCAt MjMzLDEwICsyMzMsOCBAQCBzdGF0aWMgaW5saW5lIGJvb2wgYW1kZ3B1X2JvX2V4cGxpY2l0X3N5 bmMoc3RydWN0IGFtZGdwdV9ibyAqYm8pCj4gICAJcmV0dXJuIGJvLT5mbGFncyAmIEFNREdQVV9H RU1fQ1JFQVRFX0VYUExJQ0lUX1NZTkM7Cj4gICB9Cj4gICAKPiAtaW50IGFtZGdwdV9ib19jcmVh dGUoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVuc2lnbmVkIGxvbmcgc2l6ZSwKPiAtCQkg ICAgIGludCBieXRlX2FsaWduLCB1MzIgZG9tYWluLAo+IC0JCSAgICAgdTY0IGZsYWdzLCBlbnVt IHR0bV9ib190eXBlIHR5cGUsCj4gLQkJICAgICBzdHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpy ZXN2LAo+ICtpbnQgYW1kZ3B1X2JvX2NyZWF0ZShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwK PiArCQkgICAgIHN0cnVjdCBhbWRncHVfYm9fcGFyYW0gKmJwLAo+ICAgCQkgICAgIHN0cnVjdCBh bWRncHVfYm8gKipib19wdHIpOwo+ICAgaW50IGFtZGdwdV9ib19jcmVhdGVfcmVzZXJ2ZWQoc3Ry dWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsCj4gICAJCQkgICAgICB1bnNpZ25lZCBsb25nIHNpemUs IGludCBhbGlnbiwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1k Z3B1X3ByaW1lLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfcHJpbWUuYwo+ IGluZGV4IDRiNTg0Y2I3NWJmNC4uNzEzNDE3YjZkMTVkIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMv Z3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9wcmltZS5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2FtZC9hbWRncHUvYW1kZ3B1X3ByaW1lLmMKPiBAQCAtMTAyLDEyICsxMDIsMTggQEAgYW1kZ3B1 X2dlbV9wcmltZV9pbXBvcnRfc2dfdGFibGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAgIAlz dHJ1Y3QgcmVzZXJ2YXRpb25fb2JqZWN0ICpyZXN2ID0gYXR0YWNoLT5kbWFidWYtPnJlc3Y7Cj4g ICAJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCXN0 cnVjdCBhbWRncHVfYm8gKmJvOwo+ICsJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicDsKPiAgIAlp bnQgcmV0Owo+ICAgCj4gKwltZW1zZXQoJmJwLCAwLCBzaXplb2YoYnApKTsKPiArCWJwLnNpemUg PSBhdHRhY2gtPmRtYWJ1Zi0+c2l6ZTsKPiArCWJwLmJ5dGVfYWxpZ24gPSBQQUdFX1NJWkU7Cj4g KwlicC5kb21haW4gPSBBTURHUFVfR0VNX0RPTUFJTl9DUFU7Cj4gKwlicC5mbGFncyA9IDA7Cj4g KwlicC50eXBlID0gdHRtX2JvX3R5cGVfc2c7Cj4gKwlicC5yZXN2ID0gcmVzdjsKPiAgIAl3d19t dXRleF9sb2NrKCZyZXN2LT5sb2NrLCBOVUxMKTsKPiAtCXJldCA9IGFtZGdwdV9ib19jcmVhdGUo YWRldiwgYXR0YWNoLT5kbWFidWYtPnNpemUsIFBBR0VfU0laRSwKPiAtCQkJICAgICAgIEFNREdQ VV9HRU1fRE9NQUlOX0NQVSwgMCwgdHRtX2JvX3R5cGVfc2csCj4gLQkJCSAgICAgICByZXN2LCAm Ym8pOwo+ICsJcmV0ID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsICZibyk7Cj4gICAJaWYg KHJldCkKPiAgIAkJZ290byBlcnJvcjsKPiAgIAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdGVzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUv YW1kZ3B1X3Rlc3QuYwo+IGluZGV4IDJkYmU4NzU5MWY4MS4uZDE2N2U4YWI3NmQzIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV90ZXN0LmMKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdGVzdC5jCj4gQEAgLTMzLDYgKzMzLDcg QEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RvX3Rlc3RfbW92ZXMoc3RydWN0IGFtZGdwdV9kZXZpY2Ug KmFkZXYpCj4gICAJc3RydWN0IGFtZGdwdV9yaW5nICpyaW5nID0gYWRldi0+bW1hbi5idWZmZXJf ZnVuY3NfcmluZzsKPiAgIAlzdHJ1Y3QgYW1kZ3B1X2JvICp2cmFtX29iaiA9IE5VTEw7Cj4gICAJ c3RydWN0IGFtZGdwdV9ibyAqKmd0dF9vYmogPSBOVUxMOwo+ICsJc3RydWN0IGFtZGdwdV9ib19w YXJhbSBicDsKPiAgIAl1aW50NjRfdCBnYXJ0X2FkZHIsIHZyYW1fYWRkcjsKPiAgIAl1bnNpZ25l ZCBuLCBzaXplOwo+ICAgCWludCBpLCByOwo+IEBAIC01OCw5ICs1OSwxNSBAQCBzdGF0aWMgdm9p ZCBhbWRncHVfZG9fdGVzdF9tb3ZlcyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIAkJ ciA9IDE7Cj4gICAJCWdvdG8gb3V0X2NsZWFudXA7Cj4gICAJfQo+IC0KPiAtCXIgPSBhbWRncHVf Ym9fY3JlYXRlKGFkZXYsIHNpemUsIFBBR0VfU0laRSwgQU1ER1BVX0dFTV9ET01BSU5fVlJBTSwg MCwKPiAtCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsICZ2cmFtX29iaik7Cj4gKwlt ZW1zZXQoJmJwLCAwLCBzaXplb2YoYnApKTsKPiArCWJwLnNpemUgPSBzaXplOwo+ICsJYnAuYnl0 ZV9hbGlnbiA9IFBBR0VfU0laRTsKPiArCWJwLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX1ZS QU07Cj4gKwlicC5mbGFncyA9IDA7Cj4gKwlicC50eXBlID0gdHRtX2JvX3R5cGVfa2VybmVsOwo+ ICsJYnAucmVzdiA9IE5VTEw7Cj4gKwo+ICsJciA9IGFtZGdwdV9ib19jcmVhdGUoYWRldiwgJmJw LCAmdnJhbV9vYmopOwo+ICAgCWlmIChyKSB7Cj4gICAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGNy ZWF0ZSBWUkFNIG9iamVjdFxuIik7Cj4gICAJCWdvdG8gb3V0X2NsZWFudXA7Cj4gQEAgLTc5LDkg Kzg2LDggQEAgc3RhdGljIHZvaWQgYW1kZ3B1X2RvX3Rlc3RfbW92ZXMoc3RydWN0IGFtZGdwdV9k ZXZpY2UgKmFkZXYpCj4gICAJCXZvaWQgKip2cmFtX3N0YXJ0LCAqKnZyYW1fZW5kOwo+ICAgCQlz dHJ1Y3QgZG1hX2ZlbmNlICpmZW5jZSA9IE5VTEw7Cj4gICAKPiAtCQlyID0gYW1kZ3B1X2JvX2Ny ZWF0ZShhZGV2LCBzaXplLCBQQUdFX1NJWkUsCj4gLQkJCQkgICAgIEFNREdQVV9HRU1fRE9NQUlO X0dUVCwgMCwKPiAtCQkJCSAgICAgdHRtX2JvX3R5cGVfa2VybmVsLCBOVUxMLCBndHRfb2JqICsg aSk7Cj4gKwkJYnAuZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fR1RUOwo+ICsJCXIgPSBhbWRn cHVfYm9fY3JlYXRlKGFkZXYsICZicCwgZ3R0X29iaiArIGkpOwo+ICAgCQlpZiAocikgewo+ICAg CQkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gY3JlYXRlIEdUVCBvYmplY3QgJWRcbiIsIGkpOwo+ICAg CQkJZ290byBvdXRfbGNsZWFuOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfdHRtLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRt LmMKPiBpbmRleCAyOWVmYWFjNmUzZWQuLmRmZDIyZGIxM2ZiMSAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vYW1kL2FtZGdwdS9hbWRncHVfdHRtLmMKPiBAQCAtMTMxNiw2ICsxMzE2LDcgQEAgc3RhdGlj IHZvaWQgYW1kZ3B1X3R0bV9md19yZXNlcnZlX3ZyYW1fZmluaShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldikKPiAgIHN0YXRpYyBpbnQgYW1kZ3B1X3R0bV9md19yZXNlcnZlX3ZyYW1faW5pdChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKPiAgIHsKPiAgIAlzdHJ1Y3QgdHRtX29wZXJhdGlv bl9jdHggY3R4ID0geyBmYWxzZSwgZmFsc2UgfTsKPiArCXN0cnVjdCBhbWRncHVfYm9fcGFyYW0g YnA7Cj4gICAJaW50IHIgPSAwOwo+ICAgCWludCBpOwo+ICAgCXU2NCB2cmFtX3NpemUgPSBhZGV2 LT5nbWMudmlzaWJsZV92cmFtX3NpemU7Cj4gQEAgLTEzMjMsMTcgKzEzMjQsMjEgQEAgc3RhdGlj IGludCBhbWRncHVfdHRtX2Z3X3Jlc2VydmVfdnJhbV9pbml0KHN0cnVjdCBhbWRncHVfZGV2aWNl ICphZGV2KQo+ICAgCXU2NCBzaXplID0gYWRldi0+ZndfdnJhbV91c2FnZS5zaXplOwo+ICAgCXN0 cnVjdCBhbWRncHVfYm8gKmJvOwo+ICAgCj4gKwltZW1zZXQoJmJwLCAwLCBzaXplb2YoYnApKTsK PiArCWJwLnNpemUgPSBhZGV2LT5md192cmFtX3VzYWdlLnNpemU7Cj4gKwlicC5ieXRlX2FsaWdu ID0gUEFHRV9TSVpFOwo+ICsJYnAuZG9tYWluID0gQU1ER1BVX0dFTV9ET01BSU5fVlJBTTsKPiAr CWJwLmZsYWdzID0gQU1ER1BVX0dFTV9DUkVBVEVfQ1BVX0FDQ0VTU19SRVFVSVJFRCB8Cj4gKwkJ QU1ER1BVX0dFTV9DUkVBVEVfVlJBTV9DT05USUdVT1VTOwo+ICsJYnAudHlwZSA9IHR0bV9ib190 eXBlX2tlcm5lbDsKPiArCWJwLnJlc3YgPSBOVUxMOwo+ICAgCWFkZXYtPmZ3X3ZyYW1fdXNhZ2Uu dmEgPSBOVUxMOwo+ICAgCWFkZXYtPmZ3X3ZyYW1fdXNhZ2UucmVzZXJ2ZWRfYm8gPSBOVUxMOwo+ ICAgCj4gICAJaWYgKGFkZXYtPmZ3X3ZyYW1fdXNhZ2Uuc2l6ZSA+IDAgJiYKPiAgIAkJYWRldi0+ ZndfdnJhbV91c2FnZS5zaXplIDw9IHZyYW1fc2l6ZSkgewo+ICAgCj4gLQkJciA9IGFtZGdwdV9i b19jcmVhdGUoYWRldiwgYWRldi0+ZndfdnJhbV91c2FnZS5zaXplLCBQQUdFX1NJWkUsCj4gLQkJ CQkgICAgIEFNREdQVV9HRU1fRE9NQUlOX1ZSQU0sCj4gLQkJCQkgICAgIEFNREdQVV9HRU1fQ1JF QVRFX0NQVV9BQ0NFU1NfUkVRVUlSRUQgfAo+IC0JCQkJICAgICBBTURHUFVfR0VNX0NSRUFURV9W UkFNX0NPTlRJR1VPVVMsCj4gLQkJCQkgICAgIHR0bV9ib190eXBlX2tlcm5lbCwgTlVMTCwKPiAr CQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAsCj4gICAJCQkJICAgICAmYWRldi0+Zndf dnJhbV91c2FnZS5yZXNlcnZlZF9ibyk7Cj4gICAJCWlmIChyKQo+ICAgCQkJZ290byBlcnJvcl9j cmVhdGU7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV92 bS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X3ZtLmMKPiBpbmRleCBmMGZi YzMzMWFhMzAuLjllYzdjMTA0MWRmMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1k L2FtZGdwdS9hbWRncHVfdm0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2Ft ZGdwdV92bS5jCj4gQEAgLTQxMiwxMSArNDEyLDE2IEBAIHN0YXRpYyBpbnQgYW1kZ3B1X3ZtX2Fs bG9jX2xldmVscyhzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwKPiAgIAkJc3RydWN0IGFtZGdw dV9ibyAqcHQ7Cj4gICAKPiAgIAkJaWYgKCFlbnRyeS0+YmFzZS5ibykgewo+IC0JCQlyID0gYW1k Z3B1X2JvX2NyZWF0ZShhZGV2LAo+IC0JCQkJCSAgICAgYW1kZ3B1X3ZtX2JvX3NpemUoYWRldiwg bGV2ZWwpLAo+IC0JCQkJCSAgICAgQU1ER1BVX0dQVV9QQUdFX1NJWkUsCj4gLQkJCQkJICAgICBB TURHUFVfR0VNX0RPTUFJTl9WUkFNLCBmbGFncywKPiAtCQkJCQkgICAgIHR0bV9ib190eXBlX2tl cm5lbCwgcmVzdiwgJnB0KTsKPiArCQkJc3RydWN0IGFtZGdwdV9ib19wYXJhbSBicDsKPiArCj4g KwkJCW1lbXNldCgmYnAsIDAsIHNpemVvZihicCkpOwo+ICsJCQlicC5zaXplID0gYW1kZ3B1X3Zt X2JvX3NpemUoYWRldiwgbGV2ZWwpOwo+ICsJCQlicC5ieXRlX2FsaWduID0gQU1ER1BVX0dQVV9Q QUdFX1NJWkU7Cj4gKwkJCWJwLmRvbWFpbiA9IEFNREdQVV9HRU1fRE9NQUlOX1ZSQU07Cj4gKwkJ CWJwLmZsYWdzID0gZmxhZ3M7Cj4gKwkJCWJwLnR5cGUgPSB0dG1fYm9fdHlwZV9rZXJuZWw7Cj4g KwkJCWJwLnJlc3YgPSByZXN2Owo+ICsJCQlyID0gYW1kZ3B1X2JvX2NyZWF0ZShhZGV2LCAmYnAs ICZwdCk7Cj4gICAJCQlpZiAocikKPiAgIAkJCQlyZXR1cm4gcjsKPiAgIAo+IEBAIC0yMzY4LDYg KzIzNzMsNyBAQCB2b2lkIGFtZGdwdV92bV9hZGp1c3Rfc2l6ZShzdHJ1Y3QgYW1kZ3B1X2Rldmlj ZSAqYWRldiwgdWludDMyX3Qgdm1fc2l6ZSwKPiAgIGludCBhbWRncHVfdm1faW5pdChzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldiwgc3RydWN0IGFtZGdwdV92bSAqdm0sCj4gICAJCSAgIGludCB2 bV9jb250ZXh0LCB1bnNpZ25lZCBpbnQgcGFzaWQpCj4gICB7Cj4gKwlzdHJ1Y3QgYW1kZ3B1X2Jv X3BhcmFtIGJwOwo+ICAgCWNvbnN0IHVuc2lnbmVkIGFsaWduID0gbWluKEFNREdQVV9WTV9QVEJf QUxJR05fU0laRSwKPiAgIAkJQU1ER1BVX1ZNX1BURV9DT1VOVChhZGV2KSAqIDgpOwo+ICAgCXVu c2lnbmVkIHJpbmdfaW5zdGFuY2U7Cj4gQEAgLTI0MjIsOCArMjQyOCwxNCBAQCBpbnQgYW1kZ3B1 X3ZtX2luaXQoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHN0cnVjdCBhbWRncHVfdm0gKnZt LAo+ICAgCQlmbGFncyB8PSBBTURHUFVfR0VNX0NSRUFURV9TSEFET1c7Cj4gICAKPiAgIAlzaXpl ID0gYW1kZ3B1X3ZtX2JvX3NpemUoYWRldiwgYWRldi0+dm1fbWFuYWdlci5yb290X2xldmVsKTsK PiAtCXIgPSBhbWRncHVfYm9fY3JlYXRlKGFkZXYsIHNpemUsIGFsaWduLCBBTURHUFVfR0VNX0RP TUFJTl9WUkFNLCBmbGFncywKPiAtCQkJICAgICB0dG1fYm9fdHlwZV9rZXJuZWwsIE5VTEwsICZ2 bS0+cm9vdC5iYXNlLmJvKTsKPiArCW1lbXNldCgmYnAsIDAsIHNpemVvZihicCkpOwo+ICsJYnAu c2l6ZSA9IHNpemU7Cj4gKwlicC5ieXRlX2FsaWduID0gYWxpZ247Cj4gKwlicC5kb21haW4gPSBB TURHUFVfR0VNX0RPTUFJTl9WUkFNOwo+ICsJYnAuZmxhZ3MgPSBmbGFnczsKPiArCWJwLnR5cGUg PSB0dG1fYm9fdHlwZV9rZXJuZWw7Cj4gKwlicC5yZXN2ID0gTlVMTDsKPiArCXIgPSBhbWRncHVf Ym9fY3JlYXRlKGFkZXYsICZicCwgJnZtLT5yb290LmJhc2UuYm8pOwo+ICAgCWlmIChyKQo+ICAg CQlnb3RvIGVycm9yX2ZyZWVfc2NoZWRfZW50aXR5Owo+ICAgCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngK