From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [RFC 3/3] drm/vkms: Implement CRC debugfs API Date: Thu, 28 Jun 2018 10:08:38 +0200 Message-ID: <20180628080838.GR13978@phenom.ffwll.local> References: <0fa6a92c613087705bd8c6f7131cdaf3b1d0c8c2.1530133610.git.hamohammed.sa@gmail.com> <20180628080734.GQ13978@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x543.google.com (mail-ed1-x543.google.com [IPv6:2a00:1450:4864:20::543]) by gabe.freedesktop.org (Postfix) with ESMTPS id 6264688FE1 for ; Thu, 28 Jun 2018 08:08:42 +0000 (UTC) Received: by mail-ed1-x543.google.com with SMTP id c1-v6so4613733edt.2 for ; Thu, 28 Jun 2018 01:08:42 -0700 (PDT) Content-Disposition: inline In-Reply-To: <20180628080734.GQ13978@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Haneen Mohammed Cc: rodrigosiqueiramelo@gmail.com, dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdW4gMjgsIDIwMTggYXQgMTA6MDc6MzRBTSArMDIwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUaHUsIEp1biAyOCwgMjAxOCBhdCAxMjoyNDozNUFNICswMzAwLCBIYW5lZW4g TW9oYW1tZWQgd3JvdGU6Cj4gPiBJbXBsZW1lbnQgdGhlIC5zZXRfY3JjX3NvdXJjZSgpIGNhbGxi YWNrLgo+ID4gQ29tcHV0ZSBDUkMgdXNpbmcgY3JjMzIgb24gdGhlIHZpc2libGUgcGFydCBvZiB0 aGUgZnJhbWVidWZmZXIuCj4gPiBVc2Ugd29ya19zdHJ1Y3QgdG8gY29tcHV0ZSBhbmQgYWRkIENS QyBhdCB0aGUgZW5kIG9mIGEgdmJsYW5rLgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBIYW5lZW4g TW9oYW1tZWQgPGhhbW9oYW1tZWQuc2FAZ21haWwuY29tPgo+IAo+IE9rIGxvY2tpbmcgcmV2aWV3 LiBJIHN0aWxsIGRvbid0IGhhdmUgYSBjbGVhciBpZGVhIGhvdyB0byBiZXN0IGZpeCB0aGlzLAo+ IGJ1dCBvaCB3ZWxsLgo+IAo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19j cnRjLmMgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ID4gIGRyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfZHJ2LmggIHwgMTYgKysrKysrKwo+ID4gIDIgZmlsZXMgY2hhbmdl ZCwgOTIgaW5zZXJ0aW9ucygrKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L3ZrbXMvdmttc19jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+ID4g aW5kZXggNzNhYWUxMjljMzdkLi5kNzg5MzRiNzZlMzMgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMv dmttc19jcnRjLmMKPiA+IEBAIC03LDggKzcsNzggQEAKPiA+ICAgKi8KPiA+ICAKPiA+ICAjaW5j bHVkZSAidmttc19kcnYuaCIKPiA+ICsjaW5jbHVkZSA8bGludXgvY3JjMzIuaD4KPiA+ICAjaW5j bHVkZSA8ZHJtL2RybV9hdG9taWNfaGVscGVyLmg+Cj4gPiAgI2luY2x1ZGUgPGRybS9kcm1fY3J0 Y19oZWxwZXIuaD4KPiA+ICsjaW5jbHVkZSA8ZHJtL2RybV9nZW1fZnJhbWVidWZmZXJfaGVscGVy Lmg+Cj4gPiArCj4gPiArdWludDMyX3QgX3ZrbXNfZ2V0X2NyYyhzdHJ1Y3QgZHJtX2ZyYW1lYnVm ZmVyICpmYikKPiA+ICt7Cj4gPiArCXN0cnVjdCBkcm1fZ2VtX29iamVjdCAqZ2VtX29iaiA9IGRy bV9nZW1fZmJfZ2V0X29iaihmYiwgMCk7Cj4gPiArCXN0cnVjdCB2a21zX2dlbV9vYmplY3QgKnZr bXNfb2JqID0gY29udGFpbmVyX29mKGdlbV9vYmosCj4gPiArCQkJCQkJCXN0cnVjdCB2a21zX2dl bV9vYmplY3QsCj4gPiArCQkJCQkJCWdlbSk7Cj4gPiArCXUzMiBjcmMgPSAwOwo+ID4gKwlpbnQg aSA9IDA7Cj4gPiArCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKnN0YXRlID0gdmttc19vYmotPnBs YW5lX3N0YXRlOwo+IAo+IHZrbXNfb2JqLT5wbGFuZV9zdGF0ZSBpcyB0aGUgZmlyc3QgbG9ja2lu ZyBpc3N1ZTogWW91IHN0b3JlIHRoZSBwb2ludGVyCj4gd2l0aG91dCBhbnkgbG9ja3Mgb3Igc3lu Y2hyb25pemF0aW9uLCB3aGljaCBtZWFucyB0aGUgY3JjIHdvcmtlciBoZXJlCj4gY291bGQgYWNj ZXNzIGlzIHdoaWxlIGl0J3MgYmVpbmcgY2hhbmdlZCwgcmVzdWx0aW5nIGluIGFuIGluY29uc2lz dGVudAo+IGNyYy4gTm90ZSB0aGF0IHRoZSBjb21waWxlci9jcHUgaXMgYWxsb3dlZCB0byByZWFk IGEgcG9pbnRlciBtdWx0aXBsZQo+IHRpbWVzIGlmIGl0J3Mgbm90IHByb3RlY3RlZCBieSBsb2Nr aW5nL2JhcnJpZXJzLCBzbyBhbGwga2luZHMgb2YgZnVubnkKPiBzdHVmZiBjYW4gaGFwcGVuIGhl cmUuCj4gCj4gU2Vjb25kIGlzc3VlIGlzIHRoYXQgdGhlIG1lbW9yeSB5b3UncmUgcG9pbnRpbmcg dG8gaXNuJ3Qgb3duZWQgYnkgdGhlIGNyYwo+IHN1YnN5c3RlbSwgYnV0IGJ5IHRoZSBhdG9taWMg Y29tbWl0IHdvcmtlci4gVGhhdCBjb3VsZCByZWxlYXNlIHRoZSBtZW1vcnkKPiAoYW5kIGl0IG1p Z2h0IGdldCByZXVzZWQgZm9yIHNvbWV0aGluZyBlbHNlIG1lYW53aGlsZSkgYmVmb3JlIHRoZSBj cmMKPiB3b3JrZXIgaGVyZSBpcyBkb25lIHdpdGggaXQuCj4gCj4gPiArCXVuc2lnbmVkIGludCB4 ID0gc3RhdGUtPnNyYy54MSA+PiAxNjsKPiA+ICsJdW5zaWduZWQgaW50IHkgPSBzdGF0ZS0+c3Jj LnkxID4+IDE2Owo+ID4gKwl1bnNpZ25lZCBpbnQgaGVpZ2h0ID0gZHJtX3JlY3RfaGVpZ2h0KCZz dGF0ZS0+c3JjKSA+PiAxNjsKPiA+ICsJdW5zaWduZWQgaW50IHdpZHRoID0gZHJtX3JlY3Rfd2lk dGgoJnN0YXRlLT5zcmMpID4+IDE2Owo+ID4gKwl1bnNpZ25lZCBpbnQgY3BwID0gZmItPmZvcm1h dC0+Y3BwWzBdOwo+ID4gKwl1bnNpZ25lZCBpbnQgc3JjX29mZnNldDsKPiA+ICsJdW5zaWduZWQg aW50IHNpemVfYnl0ZSA9IHdpZHRoICogY3BwOwo+ID4gKwl2b2lkICp2YWRkciA9IHZrbXNfb2Jq LT52YWRkcjsKPiA+ICsKPiA+ICsJaWYgKFdBUk5fT04oIXZhZGRyKSkKPiA+ICsJCXJldHVybiBj cmM7Cj4gPiArCj4gPiArCWZvciAoaSA9IHk7IGkgPCB5ICsgaGVpZ2h0OyBpKyspIHsKPiA+ICsJ CXNyY19vZmZzZXQgPSBmYi0+b2Zmc2V0c1swXSArIChpICogZmItPnBpdGNoZXNbMF0pICsgKHgg KiBjcHApOwo+ID4gKwkJY3JjID0gY3JjMzJfbGUoY3JjLCB2YWRkciArIHNyY19vZmZzZXQsIHNp emVfYnl0ZSk7Cj4gPiArCX0KPiA+ICsKPiA+ICsJcmV0dXJuIGNyYzsKPiA+ICt9Cj4gPiArCj4g PiArdm9pZCB2a21zX2NyY193b3JrX2hhbmRsZShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4g PiArewo+ID4gKwlzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0gY29udGFpbmVy X29mKHdvcmssCj4gPiArCQkJCQkgICAgIHN0cnVjdCB2a21zX2NydGNfc3RhdGUsCj4gPiArCQkJ CQkgICAgIGNyY193b3JrcSk7Cj4gPiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGNydGNfc3Rh dGUtPmNydGM7Cj4gPiArCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gKGNydGMtPnByaW1h cnkgPyBjcnRjLT5wcmltYXJ5LT5mYiA6IE5VTEwpOwo+IAo+IFRoZSBkcm1fcGxhbmUtPmZiIHBv aW50ZXIgaGFzIHNpbWlsYXIgaXNzdWVzOiBObyBsb2NraW5nICh0aGUgb25seSB0aGluZwo+IHRo YXQncyByZWFsbHkgYWxsb3dlZCB0byBjaGFuZ2UgdGhpcyBpcyB0aGUgYXRvbWljIGNvbW1pdCB3 b3JrZXIgZm9yCj4gYXRvbWljIGRyaXZlcnMsIG5vdGhpbmcgZWxzZSksIHNvIHNhbWUgaXNzdWVz IHdpdGggaW5jb25zaXN0ZW50IGRhdGEgYW5kCj4gdXNpbmcgcG9zc2libHkgZnJlZWQgbWVtb3J5 Lgo+IAo+IE9uIHRvcCBWaWxsZSBoYXMgYSBwYXRjaCBzZXJpZXMgdG8gc2V0IGRybV9wbGFuZS0+ ZmIgPT0gTlVMTCBmb3IgYWxsCj4gYXRvbWljIGRyaXZlcnMgLSBpdCdzIHJlYWxseSBhIGxlZnRv dmVyIGZyb20gdGhlIHByZS1hdG9taWMgYWdlIGFuZAo+IGRvZXNuJ3QgZml0IGZvciBhdG9taWMu Cj4gCj4gT24gdG9wIG9mIHRoZXNlIGlzc3VlcyBmb3IgLT5wbGFuZV9zdGF0ZSBhbmQgLT5mYiB3 ZSBoYXZlIGEgdGhpcmQgaXNzdWU6Cj4gVGhlIGNyYyBjb21wdXRhdGlvbiBtdXN0IGJlIGF0b21p YyB3cnQgdGhlIGdlbmVyYXRlZCB2YmxhbmsgZXZlbnQgZm9yIGEKPiBnaXZlbiBhdG9taWMgdXBk YXRlLiBUaGF0IG1lYW5zIHdlIG11c3QgbWFrZSBzdXJlIHRoYXQgdGhlIGNyYyB3ZSdyZQo+IGdl bmVyYXRpbmcgaXMgZXhhY3RseSBmb3IgdGhlIHBsYW5lX3N0YXRlL2ZiIHRoYXQgYWxzbyBpc3N1 ZWQgdGhlIHZibGFuawo+IGV2ZW50LiBUaGVyZSdzIHNvbWUgYXRvbWljIGttcyB0ZXN0cyBpbiBp Z3QgdGhhdCBjaGVjayB0aGlzLiBNb3JlCj4gY29uY3JldGVseSB3ZSBuZWVkIHRvIG1ha2Ugc3Vy ZSB0aGF0Ogo+IC0gaWYgdGhlIHZibGFuayBjb2RlIHNlZXMgdGhlIG5ldyB2YmxhbmsgZXZlbnQs IHRoZW4gdGhlIGNyYyBfbXVzdF8KPiAgIGNvbXB1dGUgdGhlIGNyYyBmb3IgdGhlIG5ldyBjb25m aWd1cmF0aW9uLgo+IC0gaWYgdGhlIHZibGFuayBjb2RlIGRvZXMgbm90IHlldCBzZWUgdGhlIG5l dyB2YmxhbmsgZXZlbnQsIHRoZW4gdGhlIGNyYwo+ICAgX211c3RfIGNvbXB1dGUgdGhlIGNyYyBm b3IgdGhlIG9sZCBjb25maWd1cmF0aW9uLgo+IAo+IE9uZSBzaW1wbGUgc29sdXRpb24sIGJ1dCBx dWl0ZSBhIGJpdCBvZiBjb2RlIHRvIHR5cGUgd291bGQgYmUuCj4gCj4gMS4gYWRkIGEgc3Bpbmxv Y2sgdG8gdGhlIHZrbXNfY3J0YyBzdHJ1Y3R1cmUgKHByb2JhYmx5IG5lZWQgdGhhdCBmaXJzdCkg dG8KPiBwcm90ZWN0IGFsbCB0aGUgY3JjL3ZibGFuayBldmVudCBzdHVmZi4gTmVlZHMgdG8gYmUg YSBzcGlubG9jayBzaW5jZSB3ZQo+IG11c3QgbG9vayBhdCB0aGlzIGZyb20gdGhlIGhydGltZXIu Cj4gCj4gMi4gQ3JlYXRlIGEgbmV3IHN0cnVjdHVyZSB3aGVyZSB5b3UgbWFrZSBhIGNvcHkgKG5v dCBqdXN0IHBvaW50ZXJzKSBvZiBhbGwKPiB0aGUgZGF0YSB0aGUgaHJ0aW1lciBuZWVkcy4gU28g c3JjIG9mZnNldCwgdmJsYW5rIGV2ZW50LCBhbGwgdGhhdCBzdHVmZi4KPiBGb3IgdGhlIGZiIHBv aW50ZXIgeW91IG5lZWQgdG8gbWFrZSBzdXJlIGl0J3MgcHJvcGVybHkgcmVmZXJlbmNlIGNvdW50 ZWQKPiAoZHJtX2ZyYW1lYnVmZmVyX2dldC9wdXQpLgo+IAo+IDMuIEZvciBldmVyeSBhdG9taWMg dXBkYXRlLCBhbGxvY2F0ZSBhIG5ldyBzdWNoIHN0cnVjdHVyZSBhbmQgc3RvcmUgaXQgaW4KPiB0 aGUgdmttc19jcnRjIHN0cnVjdHVyZSAoaG9sZGluZyB0aGUgc3BpbmxvY2sgd2hpbGUgdXBkYXRp bmcgdGhlIHBvaW50ZXIpLgo+IAo+IDQuIEluIHRoZSBocnRpbWVyIGdyYWIgdGhhdCBwb2ludGVy IGFuZCBzZXQgaXQgdG8gTlVMTCAoYWdhaW4gaG9sZGluZyB0aGUKPiBzcGlubG9jayksIGFuZCB0 aGVuIGV4cGxpY2l0bHkgc2VuZCBvdXQgdGhlIHZibGFuayBldmVudCAodXNpbmcKPiBkcm1fY3J0 Y19zZW5kX3ZibGFua19ldmVudCkuIEFuZCB0aGVuIHBhc3MgdGhhdCBzdHJ1Y3R1cmUgd2l0aCBl dmVyeXRoaW5nCj4gdGhlIGNyYyB3b3JrZXIgbmVlZHMgdG8gdGhlIGNyYyB3b3JrZXIuCj4gCj4g SSB0aGluayB0aGlzIHNob3VsZCB3b3JrLCBtb3N0bHkuCgpidHcgdG8gbWFrZSBzdXJlIHlvdXIg Y29kZSBpcyBjb3JyZWN0IHBsZWFzZSBlbmFibGUgYWxsIHRoZSBsb2NrIGRlYnVnZ2luZwpvcHRp b25zIGluIHRoZSBrZXJuZWwgY29uZmlndXJhdGlvbi4gRXNwZWNpYWxseSBDT05GSUdfUFJPVkVf TE9DS0lORy4KLURhbmllbAoKPiAtRGFuaWVsCj4gCj4gPiArCj4gPiArCWlmIChjcnRjX3N0YXRl LT5jcmNfZW5hYmxlZCAmJiBmYikgewo+ID4gKwkJdTMyIGNyYzMyID0gX3ZrbXNfZ2V0X2NyYyhm Yik7Cj4gPiArCQl1bnNpZ25lZCBpbnQgbl9mcmFtZSA9IGRybV9jcnRjX2FjY3VyYXRlX3ZibGFu a19jb3VudChjcnRjKTsKPiA+ICsKPiA+ICsJCWRybV9jcnRjX2FkZF9jcmNfZW50cnkoY3J0Yywg dHJ1ZSwgbl9mcmFtZSwgJmNyYzMyKTsKPiA+ICsJfQo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMg aW50IHZrbXNfc2V0X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBjb25zdCBjaGFy ICpzcmNfbmFtZSwKPiA+ICsJCQkgICAgICAgc2l6ZV90ICp2YWx1ZXNfY250KQo+ID4gK3sKPiA+ ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ICsJc3RydWN0IHZrbXNf ZGV2aWNlICp2a21zX2RldiA9IGNvbnRhaW5lcl9vZihkZXYsCj4gPiArCQkJCQkJICAgIHN0cnVj dCB2a21zX2RldmljZSwKPiA+ICsJCQkJCQkgICAgZHJtKTsKPiA+ICsJc3RydWN0IHZrbXNfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9ICZ2a21zX2Rldi0+b3V0cHV0LmNydGNfc3RhdGU7Cj4gPiAr Cj4gPiArCWlmICghc3JjX25hbWUpIHsKPiA+ICsJCWNydGNfc3RhdGUtPmNyY19lbmFibGVkID0g ZmFsc2U7Cj4gPiArCX0gZWxzZSBpZiAoc3RyY21wKHNyY19uYW1lLCAiYXV0byIpID09IDApIHsK PiA+ICsJCWNydGNfc3RhdGUtPmNyY19lbmFibGVkID0gdHJ1ZTsKPiA+ICsJfSBlbHNlIHsKPiA+ ICsJCWNydGNfc3RhdGUtPmNyY19lbmFibGVkID0gZmFsc2U7Cj4gPiArCQlyZXR1cm4gLUVJTlZB TDsKPiA+ICsJfQo+ID4gKwo+ID4gKwkqdmFsdWVzX2NudCA9IDE7Cj4gPiArCj4gPiArCXJldHVy biAwOwo+ID4gK30KPiA+ICAKPiA+ICBzdGF0aWMgZW51bSBocnRpbWVyX3Jlc3RhcnQgdmttc192 Ymxhbmtfc2ltdWxhdGUoc3RydWN0IGhydGltZXIgKnRpbWVyKQo+ID4gIHsKPiA+IEBAIC0yMyw2 ICs5Myw4IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFydCB2a21zX3ZibGFua19zaW11bGF0 ZShzdHJ1Y3QgaHJ0aW1lciAqdGltZXIpCj4gPiAgCWlmICghcmV0KQo+ID4gIAkJRFJNX0VSUk9S KCJ2a21zIGZhaWx1cmUgb24gaGFuZGxpbmcgdmJsYW5rIik7Cj4gPiAgCj4gPiArCXZrbXNfY3Jj X3dvcmtfaGFuZGxlKCZvdXRwdXQtPmNydGNfc3RhdGUuY3JjX3dvcmtxKTsKPiA+ICsKPiA+ICAJ c3Bpbl9sb2NrX2lycXNhdmUoJmNydGMtPmRldi0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+ID4gIAlp ZiAob3V0cHV0LT5ldmVudCkgewo+ID4gIAkJZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQoY3J0 Yywgb3V0cHV0LT5ldmVudCk7Cj4gPiBAQCAtNDYsNiArMTE4LDkgQEAgc3RhdGljIGludCB2a21z X2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ID4gIAlvdXQtPnBlcmlvZF9u cyA9IGt0aW1lX3NldCgwLCBERUZBVUxUX1ZCTEFOS19OUyk7Cj4gPiAgCWhydGltZXJfc3RhcnQo Jm91dC0+dmJsYW5rX2hydGltZXIsIG91dC0+cGVyaW9kX25zLCBIUlRJTUVSX01PREVfQUJTKTsK PiA+ICAKPiA+ICsJb3V0LT5jcnRjX3N0YXRlLmNydGMgPSBjcnRjOwo+ID4gKwlJTklUX1dPUkso Jm91dC0+Y3J0Y19zdGF0ZS5jcmNfd29ya3EsIHZrbXNfY3JjX3dvcmtfaGFuZGxlKTsKPiA+ICsK PiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ID4gQEAgLTY1LDYgKzE0MCw3IEBAIHN0YXRp YyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfZnVuY3Mgdmttc19jcnRjX2Z1bmNzID0gewo+ID4gIAku YXRvbWljX2Rlc3Ryb3lfc3RhdGUgICA9IGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9z dGF0ZSwKPiA+ICAJLmVuYWJsZV92YmxhbmsJCT0gdmttc19lbmFibGVfdmJsYW5rLAo+ID4gIAku ZGlzYWJsZV92YmxhbmsJCT0gdmttc19kaXNhYmxlX3ZibGFuaywKPiA+ICsJLnNldF9jcmNfc291 cmNlCQk9IHZrbXNfc2V0X2NyY19zb3VyY2UsCj4gPiAgfTsKPiA+ICAKPiA+ICBzdGF0aWMgaW50 IHZrbXNfY3J0Y19hdG9taWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v dmttcy92a21zX2Rydi5oCj4gPiBpbmRleCAzMDBlNmEwNWQ0NzMuLjRhMTQ1ODczMWRkNyAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKPiA+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKPiA+IEBAIC0yMiw2ICsyMiwxOCBAQCBzdGF0 aWMgY29uc3QgdTMyIHZrbXNfZm9ybWF0c1tdID0gewo+ID4gIAlEUk1fRk9STUFUX1hSR0I4ODg4 LAo+ID4gIH07Cj4gPiAgCj4gPiArLyoqCj4gPiArICogc3RydWN0IHZrbXNfY3J0Y19zdGF0ZQo+ ID4gKyAqIEBjcnRjOiBiYWNrcG9pbnRlciB0byB0aGUgQ1JUQwo+ID4gKyAqIEBjcmNfd29ya3E6 IHdvcmtlciB0aGF0IGNhcHR1cmVzIENSQ3MgZm9yIGVhY2ggZnJhbWUKPiA+ICsgKiBAY3JjX2Vu YWJsZWQ6IGZsYWcgdG8gdGVzdCBpZiBjcmMgaXMgZW5hYmxlZAo+ID4gKyAqLwo+ID4gK3N0cnVj dCB2a21zX2NydGNfc3RhdGUgewo+ID4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Cj4gPiArCXN0 cnVjdCB3b3JrX3N0cnVjdCBjcmNfd29ya3E7Cj4gPiArCWJvb2wgY3JjX2VuYWJsZWQ7Cj4gPiAr fTsKPiA+ICsKPiA+ICBzdHJ1Y3Qgdmttc19vdXRwdXQgewo+ID4gIAlzdHJ1Y3QgZHJtX2NydGMg Y3J0YzsKPiA+ICAJc3RydWN0IGRybV9lbmNvZGVyIGVuY29kZXI7Cj4gPiBAQCAtMjksNiArNDEs NyBAQCBzdHJ1Y3Qgdmttc19vdXRwdXQgewo+ID4gIAlzdHJ1Y3QgaHJ0aW1lciB2YmxhbmtfaHJ0 aW1lcjsKPiA+ICAJa3RpbWVfdCBwZXJpb2RfbnM7Cj4gPiAgCXN0cnVjdCBkcm1fcGVuZGluZ192 YmxhbmtfZXZlbnQgKmV2ZW50Owo+ID4gKwlzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlIGNydGNfc3Rh dGU7Cj4gPiAgfTsKPiA+ICAKPiA+ICBzdHJ1Y3Qgdmttc19kZXZpY2Ugewo+ID4gQEAgLTU1LDYg KzY4LDkgQEAgaW50IHZrbXNfb3V0cHV0X2luaXQoc3RydWN0IHZrbXNfZGV2aWNlICp2a21zZGV2 KTsKPiA+ICAKPiA+ICBzdHJ1Y3QgZHJtX3BsYW5lICp2a21zX3BsYW5lX2luaXQoc3RydWN0IHZr bXNfZGV2aWNlICp2a21zZGV2KTsKPiA+ICAKPiA+ICsvKiBDUkMgU3VwcG9ydCAqLwo+ID4gK3Zv aWQgdmttc19jcmNfd29ya19oYW5kbGUoc3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKPiA+ICsK PiA+ICAvKiBHZW0gc3R1ZmYgKi8KPiA+ICBzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKnZrbXNfZ2Vt X2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ID4gIAkJCQkgICAgICAgc3RydWN0IGRy bV9maWxlICpmaWxlLAo+ID4gLS0gCj4gPiAyLjE3LjEKPiA+IAo+IAo+IC0tIAo+IERhbmllbCBW ZXR0ZXIKPiBTb2Z0d2FyZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxv Zy5mZndsbC5jaAoKLS0gCkRhbmllbCBWZXR0ZXIKU29mdHdhcmUgRW5naW5lZXIsIEludGVsIENv cnBvcmF0aW9uCmh0dHA6Ly9ibG9nLmZmd2xsLmNoCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo=