From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH v3 3/7] drm/fb-helper: Add fb_deferred_io support Date: Wed, 27 Apr 2016 21:20:52 +0200 Message-ID: <20160427192052.GG2558@phenom.ffwll.local> References: <1461780996-8612-1-git-send-email-noralf@tronnes.org> <1461780996-8612-4-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-x241.google.com (mail-wm0-x241.google.com [IPv6:2a00:1450:400c:c09::241]) by gabe.freedesktop.org (Postfix) with ESMTPS id C62256E350 for ; Wed, 27 Apr 2016 19:20:56 +0000 (UTC) Received: by mail-wm0-x241.google.com with SMTP id e201so15950966wme.2 for ; Wed, 27 Apr 2016 12:20:56 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1461780996-8612-4-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 T24gV2VkLCBBcHIgMjcsIDIwMTYgYXQgMDg6MTY6MzJQTSArMDIwMCwgTm9yYWxmIFRyw7hubmVz IHdyb3RlOgo+IFRoaXMgYWRkcyBkZWZlcnJlZCBpbyBzdXBwb3J0IHRvIGRybV9mYl9oZWxwZXIu Cj4gVGhlIGZiZGV2IGZyYW1lYnVmZmVyIGNoYW5nZXMgYXJlIGZsdXNoZWQgdXNpbmcgdGhlIGNh bGxiYWNrCj4gKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKiktPmZ1bmNzLT5kaXJ0eSgpIGJ5IGEg ZGVkaWNhdGVkIHdvcmtlcgo+IGVuc3VyaW5nIHRoYXQgaXQgYWx3YXlzIHJ1bnMgaW4gcHJvY2Vz cyBjb250ZXh0Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IE5vcmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRy b25uZXMub3JnPgo+IC0tLQo+IAo+IENoYW5nZXMgc2luY2UgdjI6Cj4gLSBGQl9ERUZFUlJFRF9J TyBpcyBub3cgYWx3YXlzIHNlbGVjdGVkIGJ5IERSTV9LTVNfRkJfSEVMUEVSLCBpZmRlZiByZW1v dmVkCj4gLSBUaGUgZHJtX2NsaXBfcmVjdCB1dGlsaXR5IGZ1bmN0aW9ucyBhcmUgZHJvcHBlZCwg c28gb3BlbiBjb2RlIGl0Cj4gLSBkb2NzOiB1c2UgJiB0byBkZW5vdGUgc3RydWN0cwo+IAo+IENo YW5nZXMgc2luY2UgdjE6Cj4gLSBVc2UgYSBkZWRpY2F0ZWQgd29ya2VyIHRvIHJ1biB0aGUgZnJh bWVidWZmZXIgZmx1c2hpbmcgbGlrZSBxeGwgZG9lcwo+IC0gQWRkIHBhcmFtZXRlciBkZXNjcmlw dGlvbnMgdG8gZHJtX2ZiX2hlbHBlcl9kZWZlcnJlZF9pbwo+IAo+ICBkcml2ZXJzL2dwdS9kcm0v S2NvbmZpZyAgICAgICAgIHwgICAxICsKPiAgZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIu YyB8IDEwOSArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystCj4gIGluY2x1 ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCAgICAgfCAgMTUgKysrKysrCj4gIDMgZmlsZXMgY2hhbmdl ZCwgMTI0IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL0tjb25maWcgYi9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZwo+IGluZGV4IDll NGYyZjEuLjhlNmYzNGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vS2NvbmZpZwo+IEBAIC01Miw2ICs1Miw3IEBAIGNvbmZpZyBE Uk1fS01TX0ZCX0hFTFBFUgo+ICAJc2VsZWN0IEZCX0NGQl9GSUxMUkVDVAo+ICAJc2VsZWN0IEZC X0NGQl9DT1BZQVJFQQo+ICAJc2VsZWN0IEZCX0NGQl9JTUFHRUJMSVQKPiArCXNlbGVjdCBGQl9E RUZFUlJFRF9JTwo+ICAJaGVscAo+ICAJICBGQkRFViBoZWxwZXJzIGZvciBLTVMgZHJpdmVycy4K PiAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9mYl9oZWxwZXIuYyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiBpbmRleCA4NTUxMDhlLi41MTEyYjVkIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fZmJfaGVscGVyLmMKPiArKysgYi9kcml2ZXJz L2dwdS9kcm0vZHJtX2ZiX2hlbHBlci5jCj4gQEAgLTQ4LDYgKzQ4LDggQEAgTU9EVUxFX1BBUk1f REVTQyhmYmRldl9lbXVsYXRpb24sCj4gCj4gIHN0YXRpYyBMSVNUX0hFQUQoa2VybmVsX2ZiX2hl bHBlcl9saXN0KTsKPiAKPiArc3RhdGljIHZvaWQgZHJtX2ZiX2hlbHBlcl9kaXJ0eV9pbml0KHN0 cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIpOwoKSW5zdGVhZCBvZiB0aGlzIGZvcndhcmQgZGVj bCBqdXN0IGlubGluZSB0aGUgZmV3IHNldHVwIGNvbW1hbmRzIGludG8KZHJtX2ZiX2hlbHBlcl9w cmVwYXJlLgoKPiArCj4gIC8qKgo+ICAgKiBET0M6IGZiZGV2IGhlbHBlcnMKPiAgICoKPiBAQCAt ODQsNiArODYsMTUgQEAgc3RhdGljIExJU1RfSEVBRChrZXJuZWxfZmJfaGVscGVyX2xpc3QpOwo+ ICAgKiBhbmQgc2V0IHVwIGFuIGluaXRpYWwgY29uZmlndXJhdGlvbiB1c2luZyB0aGUgZGV0ZWN0 ZWQgaGFyZHdhcmUsIGRyaXZlcnMKPiAgICogc2hvdWxkIGNhbGwgZHJtX2ZiX2hlbHBlcl9zaW5n bGVfYWRkX2FsbF9jb25uZWN0b3JzKCkgZm9sbG93ZWQgYnkKPiAgICogZHJtX2ZiX2hlbHBlcl9p bml0aWFsX2NvbmZpZygpLgo+ICsgKgo+ICsgKiBJZiBDT05GSUdfRkJfREVGRVJSRURfSU8gaXMg ZW5hYmxlZCBhbmQgJmRybV9mcmFtZWJ1ZmZlcl9mdW5jcyAtPmRpcnR5IGlzCj4gKyAqIHNldCwg dGhlIGRybV9mYl9oZWxwZXJfe2NmYixzeXN9X3t3cml0ZSxmaWxscmVjdCxjb3B5YXJlYSxpbWFn ZWJsaXR9Cj4gKyAqIGZ1bmN0aW9ucyB3aWxsIGFjY3VtdWxhdGUgY2hhbmdlcyBhbmQgc2NoZWR1 bGUgJmZiX2hlbHBlciAuZGlydHlfd29yayB0byBydW4KPiArICogcmlnaHQgYXdheS4gVGhpcyB3 b3JrZXIgdGhlbiBjYWxscyB0aGUgZGlydHkoKSBmdW5jdGlvbiBlbnN1cmluZyB0aGF0IGl0Cj4g KyAqIHdpbGwgYWx3YXlzIHJ1biBpbiBwcm9jZXNzIGNvbnRleHQgc2luY2UgdGhlIGZiXyooKSBm dW5jdGlvbiBjb3VsZCBiZQo+ICsgKiBydW5uaW5nIGluIGF0b21pYyBjb250ZXh0LiBJZiBkcm1f ZmJfaGVscGVyX2RlZmVycmVkX2lvKCkgaXMgdXNlZCBhcyB0aGUKPiArICogZGVmZXJyZWRfaW8g Y2FsbGJhY2sgaXQgd2lsbCBhbHNvIHNjaGVkdWxlIGRpcnR5X3dvcmsgd2l0aCB0aGUgZGFtYWdl Cj4gKyAqIGNvbGxlY3RlZCBmcm9tIHRoZSBtbWFwIHBhZ2Ugd3JpdGVzLgo+ICAgKi8KPiAKPiAg LyoqCj4gQEAgLTY1MCw2ICs2NjEsNyBAQCB2b2lkIGRybV9mYl9oZWxwZXJfcHJlcGFyZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLAo+ICAJCQkg ICBjb25zdCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9mdW5jcyAqZnVuY3MpCj4gIHsKPiAgCUlOSVRf TElTVF9IRUFEKCZoZWxwZXItPmtlcm5lbF9mYl9saXN0KTsKPiArCWRybV9mYl9oZWxwZXJfZGly dHlfaW5pdChoZWxwZXIpOwo+ICAJaGVscGVyLT5mdW5jcyA9IGZ1bmNzOwo+ICAJaGVscGVyLT5k ZXYgPSBkZXY7Cj4gIH0KPiBAQCAtODM0LDYgKzg0Niw4MiBAQCB2b2lkIGRybV9mYl9oZWxwZXJf dW5saW5rX2ZiaShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICB9Cj4gIEVYUE9S VF9TWU1CT0woZHJtX2ZiX2hlbHBlcl91bmxpbmtfZmJpKTsKPiAKPiArc3RhdGljIHZvaWQgZHJt X2ZiX2hlbHBlcl9kaXJ0eV93b3JrKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPiArewo+ICsJ c3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlciA9IGNvbnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlciwKPiArCQkJCQkJICAgIGRpcnR5X3dvcmspOwo+ICsJc3RydWN0IGRybV9j bGlwX3JlY3QgKmNsaXAgPSAmaGVscGVyLT5kaXJ0eV9jbGlwOwo+ICsJc3RydWN0IGRybV9jbGlw X3JlY3QgY2xpcF9jb3B5Owo+ICsJdW5zaWduZWQgbG9uZyBmbGFnczsKPiArCj4gKwlzcGluX2xv Y2tfaXJxc2F2ZSgmaGVscGVyLT5kaXJ0eV9sb2NrLCBmbGFncyk7Cj4gKwljbGlwX2NvcHkgPSAq Y2xpcDsKPiArCWNsaXAtPngxID0gY2xpcC0+eTEgPSB+MDsKPiArCWNsaXAtPngyID0gY2xpcC0+ eTIgPSAwOwo+ICsJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmaGVscGVyLT5kaXJ0eV9sb2NrLCBm bGFncyk7Cj4gKwo+ICsJaGVscGVyLT5mYi0+ZnVuY3MtPmRpcnR5KGhlbHBlci0+ZmIsIE5VTEws IDAsIDAsICZjbGlwX2NvcHksIDEpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBkcm1fZmJfaGVs cGVyX2RpcnR5X2luaXQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmhlbHBlcikKPiArewo+ICsJc3Bp bl9sb2NrX2luaXQoJmhlbHBlci0+ZGlydHlfbG9jayk7Cj4gKwlJTklUX1dPUksoJmhlbHBlci0+ ZGlydHlfd29yaywgZHJtX2ZiX2hlbHBlcl9kaXJ0eV93b3JrKTsKPiArCWhlbHBlci0+ZGlydHlf Y2xpcC54MSA9IGhlbHBlci0+ZGlydHlfY2xpcC55MSA9IH4wOwo+ICt9Cj4gKwo+ICtzdGF0aWMg dm9pZCBkcm1fZmJfaGVscGVyX2RpcnR5KHN0cnVjdCBmYl9pbmZvICppbmZvLCB1MzIgeCwgdTMy IHksCj4gKwkJCQl1MzIgd2lkdGgsIHUzMiBoZWlnaHQpCj4gK3sKPiArCXN0cnVjdCBkcm1fZmJf aGVscGVyICpoZWxwZXIgPSBpbmZvLT5wYXI7Cj4gKwlzdHJ1Y3QgZHJtX2NsaXBfcmVjdCAqY2xp cCA9ICZoZWxwZXItPmRpcnR5X2NsaXA7Cj4gKwl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICsKPiAr CWlmICghaGVscGVyLT5mYi0+ZnVuY3MtPmRpcnR5KQo+ICsJCXJldHVybjsKPiArCj4gKwlzcGlu X2xvY2tfaXJxc2F2ZSgmaGVscGVyLT5kaXJ0eV9sb2NrLCBmbGFncyk7Cj4gKwljbGlwLT54MSA9 IG1pbl90KHUzMiwgY2xpcC0+eDEsIHgpOwo+ICsJY2xpcC0+eTEgPSBtaW5fdCh1MzIsIGNsaXAt PnkxLCB5KTsKPiArCWNsaXAtPngyID0gbWF4X3QodTMyLCBjbGlwLT54MiwgeCArIHdpZHRoKTsK PiArCWNsaXAtPnkyID0gbWF4X3QodTMyLCBjbGlwLT55MiwgeSArIGhlaWdodCk7Cj4gKwlzcGlu X3VubG9ja19pcnFyZXN0b3JlKCZoZWxwZXItPmRpcnR5X2xvY2ssIGZsYWdzKTsKPiArCj4gKwlz Y2hlZHVsZV93b3JrKCZoZWxwZXItPmRpcnR5X3dvcmspOwo+ICt9Cj4gKwo+ICsvKioKPiArICog ZHJtX2ZiX2hlbHBlcl9kZWZlcnJlZF9pbygpIC0gZmJkZXYgZGVmZXJyZWRfaW8gY2FsbGJhY2sg ZnVuY3Rpb24KPiArICogQGluZm86IGZiX2luZm8gc3RydWN0IHBvaW50ZXIKPiArICogQHBhZ2Vs aXN0OiBsaXN0IG9mIGRpcnR5IG1tYXAgZnJhbWVidWZmZXIgcGFnZXMKPiArICoKPiArICogVGhp cyBmdW5jdGlvbiBpcyB1c2VkIGFzIHRoZSAmZmJfZGVmZXJyZWRfaW8gLT5kZWZlcnJlZF9pbwo+ ICsgKiBjYWxsYmFjayBmdW5jdGlvbiBmb3IgZmx1c2hpbmcgdGhlIGZiZGV2IG1tYXAgd3JpdGVz Lgo+ICsgKi8KPiArdm9pZCBkcm1fZmJfaGVscGVyX2RlZmVycmVkX2lvKHN0cnVjdCBmYl9pbmZv ICppbmZvLAo+ICsJCQkgICAgICAgc3RydWN0IGxpc3RfaGVhZCAqcGFnZWxpc3QpCj4gK3sKPiAr CXVuc2lnbmVkIGxvbmcgc3RhcnQsIGVuZCwgbWluLCBtYXg7Cj4gKwlzdHJ1Y3QgcGFnZSAqcGFn ZTsKPiArCXUzMiB5MSwgeTI7Cj4gKwo+ICsJbWluID0gVUxPTkdfTUFYOwo+ICsJbWF4ID0gMDsK PiArCWxpc3RfZm9yX2VhY2hfZW50cnkocGFnZSwgcGFnZWxpc3QsIGxydSkgewo+ICsJCXN0YXJ0 ID0gcGFnZS0+aW5kZXggPDwgUEFHRV9TSElGVDsKPiArCQllbmQgPSBzdGFydCArIFBBR0VfU0la RSAtIDE7Cj4gKwkJbWluID0gbWluKG1pbiwgc3RhcnQpOwo+ICsJCW1heCA9IG1heChtYXgsIGVu ZCk7Cj4gKwl9Cj4gKwo+ICsJaWYgKG1pbiA8IG1heCkgewo+ICsJCXkxID0gbWluIC8gaW5mby0+ Zml4LmxpbmVfbGVuZ3RoOwo+ICsJCXkyID0gbWluX3QodTMyLCBtYXggLyBpbmZvLT5maXgubGlu ZV9sZW5ndGgsIGluZm8tPnZhci55cmVzKTsKCk5lZWRzIGEgRElWX1JPVU5EX1VQIGhlcmUgSSB0 aGluay4KCkJlc2lkZXMgdGhlc2UgdHdvIG5pdHMgbm90aGluZyBlbHNlIEkndmUgc3BvdHRlZC4K ClJldmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgoKCj4g KwkJZHJtX2ZiX2hlbHBlcl9kaXJ0eShpbmZvLCAwLCB5MSwgaW5mby0+dmFyLnhyZXMsIHkyIC0g eTEpOwo+ICsJfQo+ICt9Cj4gK0VYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9kZWZlcnJlZF9p byk7Cj4gKwo+ICAvKioKPiAgICogZHJtX2ZiX2hlbHBlcl9zeXNfcmVhZCAtIHdyYXBwZXIgYXJv dW5kIGZiX3N5c19yZWFkCj4gICAqIEBpbmZvOiBmYl9pbmZvIHN0cnVjdCBwb2ludGVyCj4gQEAg LTg2Miw3ICs5NTAsMTQgQEAgRVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX3N5c19yZWFkKTsK PiAgc3NpemVfdCBkcm1fZmJfaGVscGVyX3N5c193cml0ZShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywg Y29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwKPiAgCQkJCXNpemVfdCBjb3VudCwgbG9mZl90ICpwcG9z KQo+ICB7Cj4gLQlyZXR1cm4gZmJfc3lzX3dyaXRlKGluZm8sIGJ1ZiwgY291bnQsIHBwb3MpOwo+ ICsJc3NpemVfdCByZXQ7Cj4gKwo+ICsJcmV0ID0gZmJfc3lzX3dyaXRlKGluZm8sIGJ1ZiwgY291 bnQsIHBwb3MpOwo+ICsJaWYgKHJldCA+IDApCj4gKwkJZHJtX2ZiX2hlbHBlcl9kaXJ0eShpbmZv LCAwLCAwLCBpbmZvLT52YXIueHJlcywKPiArCQkJCSAgICBpbmZvLT52YXIueXJlcyk7Cj4gKwo+ ICsJcmV0dXJuIHJldDsKPiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9mYl9oZWxwZXJfc3lzX3dy aXRlKTsKPiAKPiBAQCAtODc3LDYgKzk3Miw4IEBAIHZvaWQgZHJtX2ZiX2hlbHBlcl9zeXNfZmls bHJlY3Qoc3RydWN0IGZiX2luZm8gKmluZm8sCj4gIAkJCQljb25zdCBzdHJ1Y3QgZmJfZmlsbHJl Y3QgKnJlY3QpCj4gIHsKPiAgCXN5c19maWxscmVjdChpbmZvLCByZWN0KTsKPiArCWRybV9mYl9o ZWxwZXJfZGlydHkoaW5mbywgcmVjdC0+ZHgsIHJlY3QtPmR5LAo+ICsJCQkgICAgcmVjdC0+d2lk dGgsIHJlY3QtPmhlaWdodCk7Cj4gIH0KPiAgRVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX3N5 c19maWxscmVjdCk7Cj4gCj4gQEAgLTg5MSw2ICs5ODgsOCBAQCB2b2lkIGRybV9mYl9oZWxwZXJf c3lzX2NvcHlhcmVhKHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ICAJCQkJY29uc3Qgc3RydWN0IGZi X2NvcHlhcmVhICphcmVhKQo+ICB7Cj4gIAlzeXNfY29weWFyZWEoaW5mbywgYXJlYSk7Cj4gKwlk cm1fZmJfaGVscGVyX2RpcnR5KGluZm8sIGFyZWEtPmR4LCBhcmVhLT5keSwKPiArCQkJICAgIGFy ZWEtPndpZHRoLCBhcmVhLT5oZWlnaHQpOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hl bHBlcl9zeXNfY29weWFyZWEpOwo+IAo+IEBAIC05MDUsNiArMTAwNCw4IEBAIHZvaWQgZHJtX2Zi X2hlbHBlcl9zeXNfaW1hZ2VibGl0KHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ICAJCQkJIGNvbnN0 IHN0cnVjdCBmYl9pbWFnZSAqaW1hZ2UpCj4gIHsKPiAgCXN5c19pbWFnZWJsaXQoaW5mbywgaW1h Z2UpOwo+ICsJZHJtX2ZiX2hlbHBlcl9kaXJ0eShpbmZvLCBpbWFnZS0+ZHgsIGltYWdlLT5keSwK PiArCQkJICAgIGltYWdlLT53aWR0aCwgaW1hZ2UtPmhlaWdodCk7Cj4gIH0KPiAgRVhQT1JUX1NZ TUJPTChkcm1fZmJfaGVscGVyX3N5c19pbWFnZWJsaXQpOwo+IAo+IEBAIC05MTksNiArMTAyMCw4 IEBAIHZvaWQgZHJtX2ZiX2hlbHBlcl9jZmJfZmlsbHJlY3Qoc3RydWN0IGZiX2luZm8gKmluZm8s Cj4gIAkJCQljb25zdCBzdHJ1Y3QgZmJfZmlsbHJlY3QgKnJlY3QpCj4gIHsKPiAgCWNmYl9maWxs cmVjdChpbmZvLCByZWN0KTsKPiArCWRybV9mYl9oZWxwZXJfZGlydHkoaW5mbywgcmVjdC0+ZHgs IHJlY3QtPmR5LAo+ICsJCQkgICAgcmVjdC0+d2lkdGgsIHJlY3QtPmhlaWdodCk7Cj4gIH0KPiAg RVhQT1JUX1NZTUJPTChkcm1fZmJfaGVscGVyX2NmYl9maWxscmVjdCk7Cj4gCj4gQEAgLTkzMyw2 ICsxMDM2LDggQEAgdm9pZCBkcm1fZmJfaGVscGVyX2NmYl9jb3B5YXJlYShzdHJ1Y3QgZmJfaW5m byAqaW5mbywKPiAgCQkJCWNvbnN0IHN0cnVjdCBmYl9jb3B5YXJlYSAqYXJlYSkKPiAgewo+ICAJ Y2ZiX2NvcHlhcmVhKGluZm8sIGFyZWEpOwo+ICsJZHJtX2ZiX2hlbHBlcl9kaXJ0eShpbmZvLCBh cmVhLT5keCwgYXJlYS0+ZHksCj4gKwkJCSAgICBhcmVhLT53aWR0aCwgYXJlYS0+aGVpZ2h0KTsK PiAgfQo+ICBFWFBPUlRfU1lNQk9MKGRybV9mYl9oZWxwZXJfY2ZiX2NvcHlhcmVhKTsKPiAKPiBA QCAtOTQ3LDYgKzEwNTIsOCBAQCB2b2lkIGRybV9mYl9oZWxwZXJfY2ZiX2ltYWdlYmxpdChzdHJ1 Y3QgZmJfaW5mbyAqaW5mbywKPiAgCQkJCSBjb25zdCBzdHJ1Y3QgZmJfaW1hZ2UgKmltYWdlKQo+ ICB7Cj4gIAljZmJfaW1hZ2VibGl0KGluZm8sIGltYWdlKTsKPiArCWRybV9mYl9oZWxwZXJfZGly dHkoaW5mbywgaW1hZ2UtPmR4LCBpbWFnZS0+ZHksCj4gKwkJCSAgICBpbWFnZS0+d2lkdGgsIGlt YWdlLT5oZWlnaHQpOwo+ICB9Cj4gIEVYUE9SVF9TWU1CT0woZHJtX2ZiX2hlbHBlcl9jZmJfaW1h Z2VibGl0KTsKPiAKPiBkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oIGIv aW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCj4gaW5kZXggMDYyNzIzYi4uNWI0YWEzNSAxMDA2 NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9kcm1fZmJfaGVscGVyLmgKPiArKysgYi9pbmNsdWRlL2Ry bS9kcm1fZmJfaGVscGVyLmgKPiBAQCAtMTcyLDYgKzE3MiwxMCBAQCBzdHJ1Y3QgZHJtX2ZiX2hl bHBlcl9jb25uZWN0b3Igewo+ICAgKiBAZnVuY3M6IGRyaXZlciBjYWxsYmFja3MgZm9yIGZiIGhl bHBlcgo+ICAgKiBAZmJkZXY6IGVtdWxhdGVkIGZiZGV2IGRldmljZSBpbmZvIHN0cnVjdAo+ICAg KiBAcHNldWRvX3BhbGV0dGU6IGZha2UgcGFsZXR0ZSBvZiAxNiBjb2xvcnMKPiArICogQGRpcnR5 X2NsaXA6IGNsaXAgcmVjdGFuZ2xlIHVzZWQgd2l0aCBkZWZlcnJlZF9pbyB0byBhY2N1bXVsYXRl IGRhbWFnZSB0bwo+ICsgKiAgICAgICAgICAgICAgdGhlIHNjcmVlbiBidWZmZXIKPiArICogQGRp cnR5X2xvY2s6IHNwaW5sb2NrIHByb3RlY3RpbmcgQGRpcnR5X2NsaXAKPiArICogQGRpcnR5X3dv cms6IHdvcmtlciB1c2VkIHRvIGZsdXNoIHRoZSBmcmFtZWJ1ZmZlcgo+ICAgKgo+ICAgKiBUaGlz IGlzIHRoZSBtYWluIHN0cnVjdHVyZSB1c2VkIGJ5IHRoZSBmYmRldiBoZWxwZXJzLiBEcml2ZXJz IHN1cHBvcnRpbmcKPiAgICogZmJkZXYgZW11bGF0aW9uIHNob3VsZCBlbWJlZGRlZCB0aGlzIGlu dG8gdGhlaXIgb3ZlcmFsbCBkcml2ZXIgc3RydWN0dXJlLgo+IEBAIC0xODksNiArMTkzLDkgQEAg c3RydWN0IGRybV9mYl9oZWxwZXIgewo+ICAJY29uc3Qgc3RydWN0IGRybV9mYl9oZWxwZXJfZnVu Y3MgKmZ1bmNzOwo+ICAJc3RydWN0IGZiX2luZm8gKmZiZGV2Owo+ICAJdTMyIHBzZXVkb19wYWxl dHRlWzE3XTsKPiArCXN0cnVjdCBkcm1fY2xpcF9yZWN0IGRpcnR5X2NsaXA7Cj4gKwlzcGlubG9j a190IGRpcnR5X2xvY2s7Cj4gKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZGlydHlfd29yazsKPiAKPiAg CS8qKgo+ICAJICogQGtlcm5lbF9mYl9saXN0Ogo+IEBAIC0yNDUsNiArMjUyLDkgQEAgdm9pZCBk cm1fZmJfaGVscGVyX2ZpbGxfZml4KHN0cnVjdCBmYl9pbmZvICppbmZvLCB1aW50MzJfdCBwaXRj aCwKPiAKPiAgdm9pZCBkcm1fZmJfaGVscGVyX3VubGlua19mYmkoc3RydWN0IGRybV9mYl9oZWxw ZXIgKmZiX2hlbHBlcik7Cj4gCj4gK3ZvaWQgZHJtX2ZiX2hlbHBlcl9kZWZlcnJlZF9pbyhzdHJ1 Y3QgZmJfaW5mbyAqaW5mbywKPiArCQkJICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKnBhZ2VsaXN0 KTsKPiArCj4gIHNzaXplX3QgZHJtX2ZiX2hlbHBlcl9zeXNfcmVhZChzdHJ1Y3QgZmJfaW5mbyAq aW5mbywgY2hhciBfX3VzZXIgKmJ1ZiwKPiAgCQkJICAgICAgIHNpemVfdCBjb3VudCwgbG9mZl90 ICpwcG9zKTsKPiAgc3NpemVfdCBkcm1fZmJfaGVscGVyX3N5c193cml0ZShzdHJ1Y3QgZmJfaW5m byAqaW5mbywgY29uc3QgY2hhciBfX3VzZXIgKmJ1ZiwKPiBAQCAtMzY4LDYgKzM3OCwxMSBAQCBz dGF0aWMgaW5saW5lIHZvaWQgZHJtX2ZiX2hlbHBlcl91bmxpbmtfZmJpKHN0cnVjdCBkcm1fZmJf aGVscGVyICpmYl9oZWxwZXIpCj4gIHsKPiAgfQo+IAo+ICtzdGF0aWMgaW5saW5lIHZvaWQgZHJt X2ZiX2hlbHBlcl9kZWZlcnJlZF9pbyhzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKPiArCQkJCQkgICAg IHN0cnVjdCBsaXN0X2hlYWQgKnBhZ2VsaXN0KQo+ICt7Cj4gK30KPiArCj4gIHN0YXRpYyBpbmxp bmUgc3NpemVfdCBkcm1fZmJfaGVscGVyX3N5c19yZWFkKHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ ICAJCQkJCSAgICAgY2hhciBfX3VzZXIgKmJ1Ziwgc2l6ZV90IGNvdW50LAo+ICAJCQkJCSAgICAg bG9mZl90ICpwcG9zKQo+IC0tCj4gMi4yLjIKPiAKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJl IEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGlu ZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVl ZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK