From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC v2 1/6] drm: Add top level Kconfig option for DRM fbdev emulation Date: Mon, 13 Jul 2015 08:59:52 +0200 Message-ID: <20150713065952.GI3736@phenom.ffwll.local> References: <1425980493-27533-1-git-send-email-architt@codeaurora.org> <1436769731-4816-2-git-send-email-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1436769731-4816-2-git-send-email-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Archit Taneja Cc: benjamin.gaignard@linaro.org, linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, treding@nvidia.com List-Id: linux-arm-msm@vger.kernel.org T24gTW9uLCBKdWwgMTMsIDIwMTUgYXQgMTI6MTI6MDZQTSArMDUzMCwgQXJjaGl0IFRhbmVqYSB3 cm90ZToKPiBMZWdhY3kgZmJkZXYgZW11bGF0aW9uIHN1cHBvcnQgdmlhIERSTSBpcyBhY2hpZXZl ZCB0aHJvdWdoIEtNUyBGQiBoZWxwZXJzLgo+IE1vc3QgbW9kZXNldHRpbmcgZHJpdmVycyBlbmFi bGUgcHJvdmlkZSBmYmRldiBlbXVsYXRpb24gYnkgZGVmYXVsdCBieQo+IHNlbGVjdGluZyBLTVMg RkIgaGVscGVycy4gQSBmZXcgcHJvdmlkZSBhIHNlcGFyYXRlIEtjb25maWcgb3B0aW9uIGZvciB0 aGUKPiB1c2VyIHRvIGVuYWJsZSBvciBkaXNiYWxlIGZiZGV2IGVtdWxhdGlvbi4KPiAKPiBFbmFi bGluZyBmYmRldiBlbXVsYXRpb24gaXMgZmluYWxseSBhIGRpc3Ryby1sZXZlbCBkZWNpc2lvbi4g SGF2aW5nIGEgdG9wCj4gbGV2ZWwgS2NvbmZpZyBvcHRpb24gZm9yIGZiZGV2IGVtdWxhdGlvbiBo ZWxwcyBieSBwcm92aWRpbmcgYSB1bmlmb3JtIHdheQo+IHRvIGVuYWJsZS9kaXNhYmxlIGZiZGV2 IGVtdWxhdGlvbiBmb3IgYW55IG1vZGVzZXR0aW5nIGRyaXZlci4gSXQgYWxzbyBsZXRzCj4gdXMg cmVtb3ZlIHVubmVjZXNzYXJ5IGRyaXZlciBzcGVjaWZpYyBLY29uZmlnIG9wdGlvbnMgdGhhdCBj YXVzZXMgYmxvYXQuCj4gCj4gV2l0aCBhIHRvcCBsZXZlbCBLY29uZmlnIGluIHBsYWNlLCB3ZSBj YW4gc3R1YiBvdXQgdGhlIGZiIGhlbHBlciBmdW5jdGlvbnMKPiB3aGVuIG5vdCBuZWVkZWQgd2l0 aG91dCBicmVha2luZyBmdW5jdGlvbmFsaXR5LiBIYXZpbmcgc3R1YiBmdW5jdGlvbnMgYWxzbwo+ IHByZXZlbnRzIGRyaXZlcnMgdG8gcmVxdWlyZSB3cmFwcGluZyBmYiBoZWxwZXIgZnVuY3Rpb24g Y2FsbHMgd2l0aCAjaWZkZWZzLgo+IAo+IERSTV9GQkRFVl9FTVVMQVRJT04gZGVmYXVsdHMgdG8g eSBzaW5jZSBtYW55IGRyaXZlcnMgZW5hYmxlIGZiZGV2Cj4gZW11bGF0aW9uIGJ5IGRlZmF1bHQg YW5kIG1ham9yaXR5IG9mIGRpc3RyaWJ1dGlvbnMgZXhwZWN0IHRoZSBmYmRldgo+IGludGVyZmFj ZSBpbiB0aGUga2VybmVsLgo+IAo+IFNpZ25lZC1vZmYtYnk6IEFyY2hpdCBUYW5lamEgPGFyY2hp dHRAY29kZWF1cm9yYS5vcmc+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9LY29uZmlnICAgICB8 ICAxMiArKysKPiAgZHJpdmVycy9ncHUvZHJtL01ha2VmaWxlICAgIHwgICAyICstCj4gIGluY2x1 ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCB8IDE5MiArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKwo+ICAzIGZpbGVzIGNoYW5nZWQsIDIwNSBpbnNlcnRpb25zKCspLCAx IGRlbGV0aW9uKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnIGIv ZHJpdmVycy9ncHUvZHJtL0tjb25maWcKPiBpbmRleCBlMzczZjhhLi44ZmQ2NzBiIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9LY29uZmlnCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL0tj b25maWcKPiBAQCAtNDcsNiArNDcsMTggQEAgY29uZmlnIERSTV9LTVNfRkJfSEVMUEVSCj4gIAlo ZWxwCj4gIAkgIEZCREVWIGhlbHBlcnMgZm9yIEtNUyBkcml2ZXJzLgo+ICAKPiArY29uZmlnIERS TV9GQkRFVl9FTVVMQVRJT04KPiArCWJvb2wgIkVuYWJsZSBsZWdhY3kgZmJkZXYgc3VwcG9ydCBm b3IgeW91ciBtb2Rlc2V0dGluZyBkcml2ZXIiCj4gKwlkZXBlbmRzIG9uIERSTQo+ICsJc2VsZWN0 IERSTV9LTVNfSEVMUEVSCj4gKwlzZWxlY3QgRFJNX0tNU19GQl9IRUxQRVIKPiArCWRlZmF1bHQg eQo+ICsJaGVscAo+ICsJICBDaG9vc2UgdGhpcyBvcHRpb24gaWYgeW91IGhhdmUgYSBuZWVkIGZv ciB0aGUgbGVnYWN5IGZiZGV2Cj4gKwkgIHN1cHBvcnQuIE5vdGUgdGhhdCB0aGlzIHN1cHBvcnQg YWxzbyBwcm92aWRlIHRoZSBsaW51eCBjb25zb2xlCj4gKwkgIHN1cHBvcnQgb24gdG9wIG9mIHlv dXIgbW9kZXNldHRpbmcgZHJpdmVyLiBZb3UnZCBuZWVkIHRoaXMgaWYKPiArCSAgeW91J3JlIGxv b2tpbmcgZm9yIGNvbnNvbGUgc3VwcG9ydCB0b28uCgpNYXliZSBhZGQgYW4gIklmIHVuc3VyZSBz YXkgWS4iIGhlcmUuCgo+ICsKPiAgY29uZmlnIERSTV9MT0FEX0VESURfRklSTVdBUkUKPiAgCWJv b2wgIkFsbG93IHRvIHNwZWNpZnkgYW4gRURJRCBkYXRhIHNldCBpbnN0ZWFkIG9mIHByb2Jpbmcg Zm9yIGl0Igo+ICAJZGVwZW5kcyBvbiBEUk1fS01TX0hFTFBFUgo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vTWFrZWZpbGUKPiBpbmRleCA1 NzEzZDA1Li44ODU4NTEwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9NYWtlZmlsZQo+IEBAIC0yMyw3ICsyMyw3IEBAIGRybS0k KENPTkZJR19PRikgKz0gZHJtX29mLm8KPiAgZHJtX2ttc19oZWxwZXIteSA6PSBkcm1fY3J0Y19o ZWxwZXIubyBkcm1fZHBfaGVscGVyLm8gZHJtX3Byb2JlX2hlbHBlci5vIFwKPiAgCQlkcm1fcGxh bmVfaGVscGVyLm8gZHJtX2RwX21zdF90b3BvbG9neS5vIGRybV9hdG9taWNfaGVscGVyLm8KPiAg ZHJtX2ttc19oZWxwZXItJChDT05GSUdfRFJNX0xPQURfRURJRF9GSVJNV0FSRSkgKz0gZHJtX2Vk aWRfbG9hZC5vCj4gLWRybV9rbXNfaGVscGVyLSQoQ09ORklHX0RSTV9LTVNfRkJfSEVMUEVSKSAr PSBkcm1fZmJfaGVscGVyLm8KPiArZHJtX2ttc19oZWxwZXItJChDT05GSUdfRFJNX0ZCREVWX0VN VUxBVElPTikgKz0gZHJtX2ZiX2hlbHBlci5vCj4gIGRybV9rbXNfaGVscGVyLSQoQ09ORklHX0RS TV9LTVNfQ01BX0hFTFBFUikgKz0gZHJtX2ZiX2NtYV9oZWxwZXIubwo+ICAKPiAgb2JqLSQoQ09O RklHX0RSTV9LTVNfSEVMUEVSKSArPSBkcm1fa21zX2hlbHBlci5vCj4gZGlmZiAtLWdpdCBhL2lu Y2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9mYl9oZWxwZXIuaAo+ IGluZGV4IGNjMTllODguLjhmOTcyZGEgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9kcm0vZHJtX2Zi X2hlbHBlci5oCj4gKysrIGIvaW5jbHVkZS9kcm0vZHJtX2ZiX2hlbHBlci5oCj4gQEAgLTEyMiw2 ICsxMjIsNyBAQCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciB7Cj4gIAlib29sIGRlbGF5ZWRfaG90cGx1 ZzsKPiAgfTsKPiAgCj4gKyNpZmRlZiBDT05GSUdfRFJNX0ZCREVWX0VNVUxBVElPTgo+ICB2b2lk IGRybV9mYl9oZWxwZXJfcHJlcGFyZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJt X2ZiX2hlbHBlciAqaGVscGVyLAo+ICAJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9m dW5jcyAqZnVuY3MpOwo+ICBpbnQgZHJtX2ZiX2hlbHBlcl9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gQEAgLTE4OCw0ICsxODksMTk1IEBAIGRybV9waWNrX2NtZGxpbmVfbW9kZShzdHJ1 Y3QgZHJtX2ZiX2hlbHBlcl9jb25uZWN0b3IgKmZiX2hlbHBlcl9jb25uLAo+ICBpbnQgZHJtX2Zi X2hlbHBlcl9hZGRfb25lX2Nvbm5lY3RvcihzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVy LCBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiAgaW50IGRybV9mYl9oZWxwZXJf cmVtb3ZlX29uZV9jb25uZWN0b3Ioc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKPiAg CQkJCSAgICAgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKPiArI2Vsc2UKPiAr c3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfcHJlcGFyZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICsJCQkJCXN0cnVjdCBkcm1fZmJfaGVscGVyICpoZWxwZXIsCj4gKwkJCQkJY29u c3Qgc3RydWN0IGRybV9mYl9oZWxwZXJfZnVuY3MgKmZ1bmNzKQo+ICt7Cj4gK30KPiArCj4gK3N0 YXRpYyBpbmxpbmUgaW50IGRybV9mYl9oZWxwZXJfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAo+ICsJCSAgICAgICBzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqaGVscGVyLCBpbnQgY3J0Y19jb3Vu dCwKPiArCQkgICAgICAgaW50IG1heF9jb25uKQo+ICt7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsK PiArc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfZmluaShzdHJ1Y3QgZHJtX2ZiX2hl bHBlciAqaGVscGVyKQo+ICt7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50IGRybV9mYl9o ZWxwZXJfYmxhbmsoaW50IGJsYW5rLCBzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPiArewo+ICsJcmV0 dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50IGRybV9mYl9oZWxwZXJfcGFuX2Rp c3BsYXkoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCj4gKwkJCQkJICAgIHN0cnVjdCBm Yl9pbmZvICppbmZvKQo+ICt7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGlubGlu ZSBpbnQgZHJtX2ZiX2hlbHBlcl9zZXRfcGFyKHN0cnVjdCBmYl9pbmZvICppbmZvKQo+ICt7Cj4g KwlyZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBpbnQgZHJtX2ZiX2hlbHBlcl9j aGVja192YXIoc3RydWN0IGZiX3Zhcl9zY3JlZW5pbmZvICp2YXIsCj4gKwkJCQkJICBzdHJ1Y3Qg ZmJfaW5mbyAqaW5mbykKPiArewo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp bmUgYm9vbAo+ICtkcm1fZmJfaGVscGVyX3Jlc3RvcmVfZmJkZXZfbW9kZV91bmxvY2tlZChzdHJ1 Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICt7Cj4gKwlyZXR1cm4gdHJ1ZTsKPiArfQo+ ICsKPiArc3RhdGljIGlubGluZSBzdHJ1Y3QgZmJfaW5mbyAqCj4gK2RybV9mYl9oZWxwZXJfYWxs b2NfZmJpKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIpCj4gK3sKPiArCXJldHVybiBO VUxMOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgZHJtX2ZiX2hlbHBlcl91bnJlZ2lz dGVyX2ZiaShzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICt7Cj4gK30KPiArc3Rh dGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfcmVsZWFzZV9mYmkoc3RydWN0IGRybV9mYl9o ZWxwZXIgKmZiX2hlbHBlcikKPiArewo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgZHJt X2ZiX2hlbHBlcl9maWxsX3ZhcihzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKPiArCQkJCQkgIHN0cnVj dCBkcm1fZmJfaGVscGVyICpmYl9oZWxwZXIsCj4gKwkJCQkJICB1aW50MzJfdCBmYl93aWR0aCwg dWludDMyX3QgZmJfaGVpZ2h0KQo+ICt7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9pZCBk cm1fZmJfaGVscGVyX2ZpbGxfZml4KHN0cnVjdCBmYl9pbmZvICppbmZvLCB1aW50MzJfdCBwaXRj aCwKPiArCQkJCQkgIHVpbnQzMl90IGRlcHRoKQo+ICt7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp bmUgaW50IGRybV9mYl9oZWxwZXJfc2V0Y21hcChzdHJ1Y3QgZmJfY21hcCAqY21hcCwKPiArCQkJ CQlzdHJ1Y3QgZmJfaW5mbyAqaW5mbykKPiArewo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0 YXRpYyBpbmxpbmUgdm9pZCBkcm1fZmJfaGVscGVyX3VubGlua19mYmkoc3RydWN0IGRybV9mYl9o ZWxwZXIgKmZiX2hlbHBlcikKPiArewo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHNzaXplX3Qg ZHJtX2ZiX2hlbHBlcl9zeXNfcmVhZChzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKPiArCQkJCQljaGFy IF9fdXNlciAqYnVmLCBzaXplX3QgY291bnQsCj4gKwkJCQkJbG9mZl90ICpwcG9zKQo+ICt7Cj4g KwlyZXR1cm4gLUVOT0RFVjsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBzc2l6ZV90IGRybV9m Yl9oZWxwZXJfc3lzX3dyaXRlKHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ICsJCQkJCWNvbnN0IGNo YXIgX191c2VyICpidWYsIHNpemVfdCBjb3VudCwKPiArCQkJCQlsb2ZmX3QgKnBwb3MpCj4gK3sK PiArCXJldHVybiAtRU5PREVWOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgZHJtX2Zi X2hlbHBlcl9zeXNfZmlsbHJlY3Qoc3RydWN0IGZiX2luZm8gKmluZm8sCj4gKwkJY29uc3Qgc3Ry dWN0IGZiX2ZpbGxyZWN0ICpyZWN0KQo+ICt7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgdm9p ZCBkcm1fZmJfaGVscGVyX3N5c19jb3B5YXJlYShzdHJ1Y3QgZmJfaW5mbyAqaW5mbywKPiArCQlj b25zdCBzdHJ1Y3QgZmJfY29weWFyZWEgKmFyZWEpCj4gK3sKPiArfQo+ICsKPiArc3RhdGljIGlu bGluZSB2b2lkIGRybV9mYl9oZWxwZXJfc3lzX2ltYWdlYmxpdChzdHJ1Y3QgZmJfaW5mbyAqaW5m bywKPiArCQljb25zdCBzdHJ1Y3QgZmJfaW1hZ2UgKmltYWdlKQo+ICt7Cj4gK30KPiArCj4gK3N0 YXRpYyBpbmxpbmUgdm9pZCBkcm1fZmJfaGVscGVyX2NmYl9maWxscmVjdChzdHJ1Y3QgZmJfaW5m byAqaW5mbywKPiArCQljb25zdCBzdHJ1Y3QgZmJfZmlsbHJlY3QgKnJlY3QpCj4gK3sKPiArfQo+ ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfY2ZiX2NvcHlhcmVhKHN0cnVj dCBmYl9pbmZvICppbmZvLAo+ICsJCWNvbnN0IHN0cnVjdCBmYl9jb3B5YXJlYSAqYXJlYSkKPiAr ewo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHZvaWQgZHJtX2ZiX2hlbHBlcl9jZmJfaW1hZ2Vi bGl0KHN0cnVjdCBmYl9pbmZvICppbmZvLAo+ICsJCWNvbnN0IHN0cnVjdCBmYl9pbWFnZSAqaW1h Z2UpCj4gK3sKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSB2b2lkIGRybV9mYl9oZWxwZXJfc2V0 X3N1c3BlbmQoc3RydWN0IGRybV9mYl9oZWxwZXIgKmZiX2hlbHBlciwKPiArCQkJCQkJaW50IHN0 YXRlKQo+ICt7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50Cj4gK2RybV9mYl9oZWxwZXJf cmVtb3ZlX2NvbmZsaWN0aW5nX2ZyYW1lYnVmZmVycyhzdHJ1Y3QgYXBlcnR1cmVzX3N0cnVjdCAq YSwKPiArCQkJCQkJY29uc3QgY2hhciAqbmFtZSwgYm9vbCBwcmltYXJ5KQo+ICt7Cj4gKwlyZXR1 cm4gMDsKPiArfQoKVGhlIGFib3ZlIGR1bW15IGZ1bmN0aW9ucyBkb24ndCBleGlzdCB5ZXQgLSBp cyB0aGlzIHBhcnQgb2YgYSBtb3JlCmV4dGVuc2l2ZSBwYXRjaCBzZXJpZXMgdG8gaW50cm9kdWNl IHRob3NlIGFzIGRybSBmYiBoZWxwZXJzIHRvbz8gU2hvdWxkCnByb2JhYmx5IGJlIGRyb3BwZWQg Zm9yIG5vdy4KLURhbmllbAoKPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50IGRybV9mYl9oZWxwZXJf aG90cGx1Z19ldmVudChzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICt7Cj4gKwly ZXR1cm4gMDsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBpbnQgZHJtX2ZiX2hlbHBlcl9pbml0 aWFsX2NvbmZpZyhzdHJ1Y3QgZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyLAo+ICsJCQkJCSAgICAg ICBpbnQgYnBwX3NlbCkKPiArewo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxp bmUgaW50Cj4gK2RybV9mYl9oZWxwZXJfc2luZ2xlX2FkZF9hbGxfY29ubmVjdG9ycyhzdHJ1Y3Qg ZHJtX2ZiX2hlbHBlciAqZmJfaGVscGVyKQo+ICt7Cj4gKwlyZXR1cm4gMDsKPiArfQo+ICsKPiAr c3RhdGljIGlubGluZSBpbnQgZHJtX2ZiX2hlbHBlcl9kZWJ1Z19lbnRlcihzdHJ1Y3QgZmJfaW5m byAqaW5mbykKPiArewo+ICsJcmV0dXJuIDA7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUgaW50 IGRybV9mYl9oZWxwZXJfZGVidWdfbGVhdmUoc3RydWN0IGZiX2luZm8gKmluZm8pCj4gK3sKPiAr CXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlICoKPiArZHJtX2hhc19wcmVmZXJyZWRfbW9kZShzdHJ1Y3QgZHJtX2ZiX2hlbHBlcl9jb25u ZWN0b3IgKmZiX2Nvbm5lY3RvciwKPiArCQkgICAgICAgaW50IHdpZHRoLCBpbnQgaGVpZ2h0KQo+ ICt7Cj4gKwlyZXR1cm4gTlVMTDsKPiArfQo+ICsKPiArc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJt X2Rpc3BsYXlfbW9kZSAqCj4gK2RybV9waWNrX2NtZGxpbmVfbW9kZShzdHJ1Y3QgZHJtX2ZiX2hl bHBlcl9jb25uZWN0b3IgKmZiX2hlbHBlcl9jb25uLAo+ICsJCSAgICAgIGludCB3aWR0aCwgaW50 IGhlaWdodCkKPiArewo+ICsJcmV0dXJuIE5VTEw7Cj4gK30KPiArCj4gK3N0YXRpYyBpbmxpbmUg aW50Cj4gK2RybV9mYl9oZWxwZXJfYWRkX29uZV9jb25uZWN0b3Ioc3RydWN0IGRybV9mYl9oZWxw ZXIgKmZiX2hlbHBlciwKPiArCQkJCXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCj4g K3sKPiArCXJldHVybiAwOwo+ICt9Cj4gKwo+ICtzdGF0aWMgaW5saW5lIGludAo+ICtkcm1fZmJf aGVscGVyX3JlbW92ZV9vbmVfY29ubmVjdG9yKHN0cnVjdCBkcm1fZmJfaGVscGVyICpmYl9oZWxw ZXIsCj4gKwkJCQkgICBzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQo+ICt7Cj4gKwly ZXR1cm4gMDsKPiArfQo+ICsjZW5kaWYKPiAgI2VuZGlmCj4gLS0gCj4gVGhlIFF1YWxjb21tIElu bm92YXRpb24gQ2VudGVyLCBJbmMuIGlzIGEgbWVtYmVyIG9mIHRoZSBDb2RlIEF1cm9yYSBGb3J1 bSwKPiBob3N0ZWQgYnkgVGhlIExpbnV4IEZvdW5kYXRpb24KPiAKCi0tIApEYW5pZWwgVmV0dGVy ClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRwOi8vYmxvZy5mZndsbC5j aApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2 ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=