From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v2 8/8] drm/udl: Use drm_fb_helper deferred_io support Date: Mon, 25 Apr 2016 11:17:04 +0200 Message-ID: <20160425091704.GU2510@phenom.ffwll.local> References: <1461530942-22485-1-git-send-email-noralf@tronnes.org> <1461530942-22485-9-git-send-email-noralf@tronnes.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-x229.google.com (mail-wm0-x229.google.com [IPv6:2a00:1450:400c:c09::229]) by gabe.freedesktop.org (Postfix) with ESMTPS id 837E66E54E for ; Mon, 25 Apr 2016 09:17:09 +0000 (UTC) Received: by mail-wm0-x229.google.com with SMTP id e201so78369424wme.0 for ; Mon, 25 Apr 2016 02:17:09 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1461530942-22485-9-git-send-email-noralf@tronnes.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Noralf =?iso-8859-1?Q?Tr=F8nnes?= Cc: linux-fbdev@vger.kernel.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, tomi.valkeinen@ti.com, laurent.pinchart@ideasonboard.com List-Id: dri-devel@lists.freedesktop.org T24gU3VuLCBBcHIgMjQsIDIwMTYgYXQgMTA6NDk6MDJQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IFVzZSB0aGUgZmJkZXYgZGVmZXJyZWQgaW8gc3VwcG9ydCBpbiBkcm1fZmJfaGVs cGVyLgo+IFRoZSAoc3RydWN0IGZiX29wcyAqKS0+ZmJfe2ZpbGxyZWN0LGNvcHlhcmVhLGltYWdl YmxpdH0gZnVuY3Rpb25zIHdpbGwKPiBub3cgc2NoZWR1bGUgYSB3b3JrZXIgaW5zdGVhZCBvZiBi ZWluZyBmbHVzaGVkIGRpcmVjdGx5IGxpa2UgaXQgd2FzCj4gcHJldmlvdXNseSAocmVjb3JkZWQg d2hlbiBpbiBhdG9taWMpLgo+IAo+IFRoaXMgcGF0Y2ggaGFzIG9ubHkgYmVlbiBjb21waWxlIHRl c3RlZC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBOb3JhbGYgVHLDuG5uZXMgPG5vcmFsZkB0cm9ubmVz Lm9yZz4KPiAtLS0KPiAKPiBDaGFuZ2VzIHNpbmNlIHYxOgo+IC0gTm8gbmVlZCB0byBlbmFibGUg ZGVmZXJyZWRfaW8gYnkgZGVmYXVsdCBzaW5jZSBkcm1fZmJfaGVscGVyIHVzZXMKPiAgIGEgZGVk aWNhdGVkIHdvcmtlciBmb3IgZmx1c2hpbmcKCkhvb3JheSBmb3IgZGVsZXRpbmcgY29kZS4gUmV2 aWV3ZWQtYnk6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2g+Cgo+IAo+ICBk cml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuaCB8ICAgMiAtCj4gIGRyaXZlcnMvZ3B1L2RybS91 ZGwvdWRsX2ZiLmMgIHwgMTQwICsrLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQo+ICAyIGZpbGVzIGNoYW5nZWQsIDYgaW5zZXJ0aW9ucygrKSwgMTM2IGRlbGV0aW9ucygt KQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS91ZGwvdWRsX2Rydi5oCj4gaW5kZXggNGEwNjRlZi4uMGIwM2QzNCAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdWRsL3VkbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS91ZGwvdWRsX2Rydi5oCj4gQEAgLTgxLDggKzgxLDYgQEAgc3RydWN0IHVkbF9mcmFtZWJ1 ZmZlciB7Cj4gIAlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyIGJhc2U7Cj4gIAlzdHJ1Y3QgdWRsX2dl bV9vYmplY3QgKm9iajsKPiAgCWJvb2wgYWN0aXZlXzE2OyAvKiBhY3RpdmUgb24gdGhlIDE2LWJp dCBjaGFubmVsICovCj4gLQlpbnQgeDEsIHkxLCB4MiwgeTI7IC8qIGRpcnR5IHJlY3QgKi8KPiAt CXNwaW5sb2NrX3QgZGlydHlfbG9jazsKPiAgfTsKPiAKPiAgI2RlZmluZSB0b191ZGxfZmIoeCkg Y29udGFpbmVyX29mKHgsIHN0cnVjdCB1ZGxfZnJhbWVidWZmZXIsIGJhc2UpCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS91ZGwvdWRsX2ZiLmMgYi9kcml2ZXJzL2dwdS9kcm0vdWRsL3Vk bF9mYi5jCj4gaW5kZXggYTUyZGUyZi4uNGE5YjQzMiAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vdWRsL3VkbF9mYi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3VkbC91ZGxfZmIuYwo+ IEBAIC03Nyw2OCArNzcsNiBAQCBzdGF0aWMgdWludDE2X3QgcmdiMTYodWludDMyX3QgY29sKQo+ ICB9Cj4gICNlbmRpZgo+IAo+IC0vKgo+IC0gKiBOT1RFOiBmYl9kZWZpby5jIGlzIGhvbGRpbmcg aW5mby0+ZmJkZWZpby5tdXRleAo+IC0gKiAgIFRvdWNoaW5nIEFOWSBmcmFtZWJ1ZmZlciBtZW1v cnkgdGhhdCB0cmlnZ2VycyBhIHBhZ2UgZmF1bHQKPiAtICogICBpbiBmYl9kZWZpbyB3aWxsIGNh dXNlIGEgZGVhZGxvY2ssIHdoZW4gaXQgYWxzbyB0cmllcyB0bwo+IC0gKiAgIGdyYWIgdGhlIHNh bWUgbXV0ZXguCj4gLSAqLwo+IC1zdGF0aWMgdm9pZCB1ZGxmYl9kcHlfZGVmZXJyZWRfaW8oc3Ry dWN0IGZiX2luZm8gKmluZm8sCj4gLQkJCQkgIHN0cnVjdCBsaXN0X2hlYWQgKnBhZ2VsaXN0KQo+ IC17Cj4gLQlzdHJ1Y3QgcGFnZSAqY3VyOwo+IC0Jc3RydWN0IGZiX2RlZmVycmVkX2lvICpmYmRl ZmlvID0gaW5mby0+ZmJkZWZpbzsKPiAtCXN0cnVjdCB1ZGxfZmJkZXYgKnVmYmRldiA9IGluZm8t PnBhcjsKPiAtCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSB1ZmJkZXYtPnVmYi5iYXNlLmRldjsK PiAtCXN0cnVjdCB1ZGxfZGV2aWNlICp1ZGwgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0Jc3RydWN0 IHVyYiAqdXJiOwo+IC0JY2hhciAqY21kOwo+IC0JY3ljbGVzX3Qgc3RhcnRfY3ljbGVzLCBlbmRf Y3ljbGVzOwo+IC0JaW50IGJ5dGVzX3NlbnQgPSAwOwo+IC0JaW50IGJ5dGVzX2lkZW50aWNhbCA9 IDA7Cj4gLQlpbnQgYnl0ZXNfcmVuZGVyZWQgPSAwOwo+IC0KPiAtCWlmICghZmJfZGVmaW8pCj4g LQkJcmV0dXJuOwo+IC0KPiAtCXN0YXJ0X2N5Y2xlcyA9IGdldF9jeWNsZXMoKTsKPiAtCj4gLQl1 cmIgPSB1ZGxfZ2V0X3VyYihkZXYpOwo+IC0JaWYgKCF1cmIpCj4gLQkJcmV0dXJuOwo+IC0KPiAt CWNtZCA9IHVyYi0+dHJhbnNmZXJfYnVmZmVyOwo+IC0KPiAtCS8qIHdhbGsgdGhlIHdyaXR0ZW4g cGFnZSBsaXN0IGFuZCByZW5kZXIgZWFjaCB0byBkZXZpY2UgKi8KPiAtCWxpc3RfZm9yX2VhY2hf ZW50cnkoY3VyLCAmZmJkZWZpby0+cGFnZWxpc3QsIGxydSkgewo+IC0KPiAtCQlpZiAodWRsX3Jl bmRlcl9obGluZShkZXYsICh1ZmJkZXYtPnVmYi5iYXNlLmJpdHNfcGVyX3BpeGVsIC8gOCksCj4g LQkJCQkgICAgICZ1cmIsIChjaGFyICopIGluZm8tPmZpeC5zbWVtX3N0YXJ0LAo+IC0JCQkJICAg ICAmY21kLCBjdXItPmluZGV4IDw8IFBBR0VfU0hJRlQsCj4gLQkJCQkgICAgIGN1ci0+aW5kZXgg PDwgUEFHRV9TSElGVCwKPiAtCQkJCSAgICAgUEFHRV9TSVpFLCAmYnl0ZXNfaWRlbnRpY2FsLCAm Ynl0ZXNfc2VudCkpCj4gLQkJCWdvdG8gZXJyb3I7Cj4gLQkJYnl0ZXNfcmVuZGVyZWQgKz0gUEFH RV9TSVpFOwo+IC0JfQo+IC0KPiAtCWlmIChjbWQgPiAoY2hhciAqKSB1cmItPnRyYW5zZmVyX2J1 ZmZlcikgewo+IC0JCS8qIFNlbmQgcGFydGlhbCBidWZmZXIgcmVtYWluaW5nIGJlZm9yZSBleGl0 aW5nICovCj4gLQkJaW50IGxlbiA9IGNtZCAtIChjaGFyICopIHVyYi0+dHJhbnNmZXJfYnVmZmVy Owo+IC0JCXVkbF9zdWJtaXRfdXJiKGRldiwgdXJiLCBsZW4pOwo+IC0JCWJ5dGVzX3NlbnQgKz0g bGVuOwo+IC0JfSBlbHNlCj4gLQkJdWRsX3VyYl9jb21wbGV0aW9uKHVyYik7Cj4gLQo+IC1lcnJv cjoKPiAtCWF0b21pY19hZGQoYnl0ZXNfc2VudCwgJnVkbC0+Ynl0ZXNfc2VudCk7Cj4gLQlhdG9t aWNfYWRkKGJ5dGVzX2lkZW50aWNhbCwgJnVkbC0+Ynl0ZXNfaWRlbnRpY2FsKTsKPiAtCWF0b21p Y19hZGQoYnl0ZXNfcmVuZGVyZWQsICZ1ZGwtPmJ5dGVzX3JlbmRlcmVkKTsKPiAtCWVuZF9jeWNs ZXMgPSBnZXRfY3ljbGVzKCk7Cj4gLQlhdG9taWNfYWRkKCgodW5zaWduZWQgaW50KSAoKGVuZF9j eWNsZXMgLSBzdGFydF9jeWNsZXMpCj4gLQkJICAgID4+IDEwKSksIC8qIEtjeWNsZXMgKi8KPiAt CQkgICAmdWRsLT5jcHVfa2N5Y2xlc191c2VkKTsKPiAtfQo+IC0KPiAgaW50IHVkbF9oYW5kbGVf ZGFtYWdlKHN0cnVjdCB1ZGxfZnJhbWVidWZmZXIgKmZiLCBpbnQgeCwgaW50IHksCj4gIAkJICAg ICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQo+ICB7Cj4gQEAgLTE1Miw5ICs5MCw2IEBAIGludCB1 ZGxfaGFuZGxlX2RhbWFnZShzdHJ1Y3QgdWRsX2ZyYW1lYnVmZmVyICpmYiwgaW50IHgsIGludCB5 LAo+ICAJc3RydWN0IHVyYiAqdXJiOwo+ICAJaW50IGFsaWduZWRfeDsKPiAgCWludCBicHAgPSAo ZmItPmJhc2UuYml0c19wZXJfcGl4ZWwgLyA4KTsKPiAtCWludCB4MiwgeTI7Cj4gLQlib29sIHN0 b3JlX2Zvcl9sYXRlciA9IGZhbHNlOwo+IC0JdW5zaWduZWQgbG9uZyBmbGFnczsKPiAKPiAgCWlm ICghZmItPmFjdGl2ZV8xNikKPiAgCQlyZXR1cm4gMDsKPiBAQCAtMTgwLDM4ICsxMTUsNiBAQCBp bnQgdWRsX2hhbmRsZV9kYW1hZ2Uoc3RydWN0IHVkbF9mcmFtZWJ1ZmZlciAqZmIsIGludCB4LCBp bnQgeSwKPiAgCSAgICAoeSArIGhlaWdodCA+IGZiLT5iYXNlLmhlaWdodCkpCj4gIAkJcmV0dXJu IC1FSU5WQUw7Cj4gCj4gLQkvKiBpZiB3ZSBhcmUgaW4gYXRvbWljIGp1c3Qgc3RvcmUgdGhlIGlu Zm8KPiAtCSAgIGNhbid0IHRlc3QgaW5zaWRlIHNwaW4gbG9jayAqLwo+IC0JaWYgKGluX2F0b21p YygpKQo+IC0JCXN0b3JlX2Zvcl9sYXRlciA9IHRydWU7Cj4gLQo+IC0JeDIgPSB4ICsgd2lkdGgg LSAxOwo+IC0JeTIgPSB5ICsgaGVpZ2h0IC0gMTsKPiAtCj4gLQlzcGluX2xvY2tfaXJxc2F2ZSgm ZmItPmRpcnR5X2xvY2ssIGZsYWdzKTsKPiAtCj4gLQlpZiAoZmItPnkxIDwgeSkKPiAtCQl5ID0g ZmItPnkxOwo+IC0JaWYgKGZiLT55MiA+IHkyKQo+IC0JCXkyID0gZmItPnkyOwo+IC0JaWYgKGZi LT54MSA8IHgpCj4gLQkJeCA9IGZiLT54MTsKPiAtCWlmIChmYi0+eDIgPiB4MikKPiAtCQl4MiA9 IGZiLT54MjsKPiAtCj4gLQlpZiAoc3RvcmVfZm9yX2xhdGVyKSB7Cj4gLQkJZmItPngxID0geDsK PiAtCQlmYi0+eDIgPSB4MjsKPiAtCQlmYi0+eTEgPSB5Owo+IC0JCWZiLT55MiA9IHkyOwo+IC0J CXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmZiLT5kaXJ0eV9sb2NrLCBmbGFncyk7Cj4gLQkJcmV0 dXJuIDA7Cj4gLQl9Cj4gLQo+IC0JZmItPngxID0gZmItPnkxID0gSU5UX01BWDsKPiAtCWZiLT54 MiA9IGZiLT55MiA9IDA7Cj4gLQo+IC0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZmItPmRpcnR5 X2xvY2ssIGZsYWdzKTsKPiAgCXN0YXJ0X2N5Y2xlcyA9IGdldF9jeWNsZXMoKTsKPiAKPiAgCXVy YiA9IHVkbF9nZXRfdXJiKGRldik7Cj4gQEAgLTIxOSwxNCArMTIyLDE0IEBAIGludCB1ZGxfaGFu ZGxlX2RhbWFnZShzdHJ1Y3QgdWRsX2ZyYW1lYnVmZmVyICpmYiwgaW50IHgsIGludCB5LAo+ICAJ CXJldHVybiAwOwo+ICAJY21kID0gdXJiLT50cmFuc2Zlcl9idWZmZXI7Cj4gCj4gLQlmb3IgKGkg PSB5OyBpIDw9IHkyIDsgaSsrKSB7Cj4gKwlmb3IgKGkgPSB5OyBpIDwgaGVpZ2h0IDsgaSsrKSB7 Cj4gIAkJY29uc3QgaW50IGxpbmVfb2Zmc2V0ID0gZmItPmJhc2UucGl0Y2hlc1swXSAqIGk7Cj4g IAkJY29uc3QgaW50IGJ5dGVfb2Zmc2V0ID0gbGluZV9vZmZzZXQgKyAoeCAqIGJwcCk7Cj4gIAkJ Y29uc3QgaW50IGRldl9ieXRlX29mZnNldCA9IChmYi0+YmFzZS53aWR0aCAqIGJwcCAqIGkpICsg KHggKiBicHApOwo+ICAJCWlmICh1ZGxfcmVuZGVyX2hsaW5lKGRldiwgYnBwLCAmdXJiLAo+ICAJ CQkJICAgICAoY2hhciAqKSBmYi0+b2JqLT52bWFwcGluZywKPiAgCQkJCSAgICAgJmNtZCwgYnl0 ZV9vZmZzZXQsIGRldl9ieXRlX29mZnNldCwKPiAtCQkJCSAgICAgKHgyIC0geCArIDEpICogYnBw LAo+ICsJCQkJICAgICB3aWR0aCAqIGJwcCwKPiAgCQkJCSAgICAgJmJ5dGVzX2lkZW50aWNhbCwg JmJ5dGVzX3NlbnQpKQo+ICAJCQlnb3RvIGVycm9yOwo+ICAJfQo+IEBAIC0yODMsMzYgKzE4Niw2 IEBAIHN0YXRpYyBpbnQgdWRsX2ZiX21tYXAoc3RydWN0IGZiX2luZm8gKmluZm8sIHN0cnVjdCB2 bV9hcmVhX3N0cnVjdCAqdm1hKQo+ICAJcmV0dXJuIDA7Cj4gIH0KPiAKPiAtc3RhdGljIHZvaWQg dWRsX2ZiX2ZpbGxyZWN0KHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfZmls bHJlY3QgKnJlY3QpCj4gLXsKPiAtCXN0cnVjdCB1ZGxfZmJkZXYgKnVmYmRldiA9IGluZm8tPnBh cjsKPiAtCj4gLQlzeXNfZmlsbHJlY3QoaW5mbywgcmVjdCk7Cj4gLQo+IC0JdWRsX2hhbmRsZV9k YW1hZ2UoJnVmYmRldi0+dWZiLCByZWN0LT5keCwgcmVjdC0+ZHksIHJlY3QtPndpZHRoLAo+IC0J CQkgIHJlY3QtPmhlaWdodCk7Cj4gLX0KPiAtCj4gLXN0YXRpYyB2b2lkIHVkbF9mYl9jb3B5YXJl YShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywgY29uc3Qgc3RydWN0IGZiX2NvcHlhcmVhICpyZWdpb24p Cj4gLXsKPiAtCXN0cnVjdCB1ZGxfZmJkZXYgKnVmYmRldiA9IGluZm8tPnBhcjsKPiAtCj4gLQlz eXNfY29weWFyZWEoaW5mbywgcmVnaW9uKTsKPiAtCj4gLQl1ZGxfaGFuZGxlX2RhbWFnZSgmdWZi ZGV2LT51ZmIsIHJlZ2lvbi0+ZHgsIHJlZ2lvbi0+ZHksIHJlZ2lvbi0+d2lkdGgsCj4gLQkJCSAg cmVnaW9uLT5oZWlnaHQpOwo+IC19Cj4gLQo+IC1zdGF0aWMgdm9pZCB1ZGxfZmJfaW1hZ2VibGl0 KHN0cnVjdCBmYl9pbmZvICppbmZvLCBjb25zdCBzdHJ1Y3QgZmJfaW1hZ2UgKmltYWdlKQo+IC17 Cj4gLQlzdHJ1Y3QgdWRsX2ZiZGV2ICp1ZmJkZXYgPSBpbmZvLT5wYXI7Cj4gLQo+IC0Jc3lzX2lt YWdlYmxpdChpbmZvLCBpbWFnZSk7Cj4gLQo+IC0JdWRsX2hhbmRsZV9kYW1hZ2UoJnVmYmRldi0+ dWZiLCBpbWFnZS0+ZHgsIGltYWdlLT5keSwgaW1hZ2UtPndpZHRoLAo+IC0JCQkgIGltYWdlLT5o ZWlnaHQpOwo+IC19Cj4gLQo+ICAvKgo+ICAgKiBJdCdzIGNvbW1vbiBmb3Igc2V2ZXJhbCBjbGll bnRzIHRvIGhhdmUgZnJhbWVidWZmZXIgb3BlbiBzaW11bHRhbmVvdXNseS4KPiAgICogZS5nLiBi b3RoIGZiY29uIGFuZCBYLiBNYWtlcyB0aGluZ3MgaW50ZXJlc3RpbmcuCj4gQEAgLTMzOSw3ICsy MTIsNyBAQCBzdGF0aWMgaW50IHVkbF9mYl9vcGVuKHN0cnVjdCBmYl9pbmZvICppbmZvLCBpbnQg dXNlcikKPiAKPiAgCQlpZiAoZmJkZWZpbykgewo+ICAJCQlmYmRlZmlvLT5kZWxheSA9IERMX0RF RklPX1dSSVRFX0RFTEFZOwo+IC0JCQlmYmRlZmlvLT5kZWZlcnJlZF9pbyA9IHVkbGZiX2RweV9k ZWZlcnJlZF9pbzsKPiArCQkJZmJkZWZpby0+ZGVmZXJyZWRfaW8gPSBkcm1fZmJfaGVscGVyX2Rl ZmVycmVkX2lvOwo+ICAJCX0KPiAKPiAgCQlpbmZvLT5mYmRlZmlvID0gZmJkZWZpbzsKPiBAQCAt Mzc5LDkgKzI1Miw5IEBAIHN0YXRpYyBzdHJ1Y3QgZmJfb3BzIHVkbGZiX29wcyA9IHsKPiAgCS5v d25lciA9IFRISVNfTU9EVUxFLAo+ICAJLmZiX2NoZWNrX3ZhciA9IGRybV9mYl9oZWxwZXJfY2hl Y2tfdmFyLAo+ICAJLmZiX3NldF9wYXIgPSBkcm1fZmJfaGVscGVyX3NldF9wYXIsCj4gLQkuZmJf ZmlsbHJlY3QgPSB1ZGxfZmJfZmlsbHJlY3QsCj4gLQkuZmJfY29weWFyZWEgPSB1ZGxfZmJfY29w eWFyZWEsCj4gLQkuZmJfaW1hZ2VibGl0ID0gdWRsX2ZiX2ltYWdlYmxpdCwKPiArCS5mYl9maWxs cmVjdCA9IGRybV9mYl9oZWxwZXJfc3lzX2ZpbGxyZWN0LAo+ICsJLmZiX2NvcHlhcmVhID0gZHJt X2ZiX2hlbHBlcl9zeXNfY29weWFyZWEsCj4gKwkuZmJfaW1hZ2VibGl0ID0gZHJtX2ZiX2hlbHBl cl9zeXNfaW1hZ2VibGl0LAo+ICAJLmZiX3Bhbl9kaXNwbGF5ID0gZHJtX2ZiX2hlbHBlcl9wYW5f ZGlzcGxheSwKPiAgCS5mYl9ibGFuayA9IGRybV9mYl9oZWxwZXJfYmxhbmssCj4gIAkuZmJfc2V0 Y21hcCA9IGRybV9mYl9oZWxwZXJfc2V0Y21hcCwKPiBAQCAtNDU4LDcgKzMzMSw2IEBAIHVkbF9m cmFtZWJ1ZmZlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4gIHsKPiAgCWludCByZXQ7 Cj4gCj4gLQlzcGluX2xvY2tfaW5pdCgmdWZiLT5kaXJ0eV9sb2NrKTsKPiAgCXVmYi0+b2JqID0g b2JqOwo+ICAJZHJtX2hlbHBlcl9tb2RlX2ZpbGxfZmJfc3RydWN0KCZ1ZmItPmJhc2UsIG1vZGVf Y21kKTsKPiAgCXJldCA9IGRybV9mcmFtZWJ1ZmZlcl9pbml0KGRldiwgJnVmYi0+YmFzZSwgJnVk bGZiX2Z1bmNzKTsKPiAtLQo+IDIuMi4yCj4gCgotLSAKRGFuaWVsIFZldHRlcgpTb2Z0d2FyZSBF bmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KaHR0cDovL2Jsb2cuZmZ3bGwuY2gKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcg bGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==