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:07:34 +0200 Message-ID: <20180628080734.GQ13978@phenom.ffwll.local> References: <0fa6a92c613087705bd8c6f7131cdaf3b1d0c8c2.1530133610.git.hamohammed.sa@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-ed1-x544.google.com (mail-ed1-x544.google.com [IPv6:2a00:1450:4864:20::544]) by gabe.freedesktop.org (Postfix) with ESMTPS id 996646EC4E for ; Thu, 28 Jun 2018 08:07:38 +0000 (UTC) Received: by mail-ed1-x544.google.com with SMTP id v22-v6so4602889edq.4 for ; Thu, 28 Jun 2018 01:07:38 -0700 (PDT) Content-Disposition: inline In-Reply-To: <0fa6a92c613087705bd8c6f7131cdaf3b1d0c8c2.1530133610.git.hamohammed.sa@gmail.com> 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 T24gVGh1LCBKdW4gMjgsIDIwMTggYXQgMTI6MjQ6MzVBTSArMDMwMCwgSGFuZWVuIE1vaGFtbWVk IHdyb3RlOgo+IEltcGxlbWVudCB0aGUgLnNldF9jcmNfc291cmNlKCkgY2FsbGJhY2suCj4gQ29t cHV0ZSBDUkMgdXNpbmcgY3JjMzIgb24gdGhlIHZpc2libGUgcGFydCBvZiB0aGUgZnJhbWVidWZm ZXIuCj4gVXNlIHdvcmtfc3RydWN0IHRvIGNvbXB1dGUgYW5kIGFkZCBDUkMgYXQgdGhlIGVuZCBv ZiBhIHZibGFuay4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBIYW5lZW4gTW9oYW1tZWQgPGhhbW9oYW1t ZWQuc2FAZ21haWwuY29tPgoKT2sgbG9ja2luZyByZXZpZXcuIEkgc3RpbGwgZG9uJ3QgaGF2ZSBh IGNsZWFyIGlkZWEgaG93IHRvIGJlc3QgZml4IHRoaXMsCmJ1dCBvaCB3ZWxsLgoKPiAtLS0KPiAg ZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMgfCA3NiArKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKwo+ICBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oICB8IDE2ICsr KysrKysKPiAgMiBmaWxlcyBjaGFuZ2VkLCA5MiBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJtL3Zr bXMvdmttc19jcnRjLmMKPiBpbmRleCA3M2FhZTEyOWMzN2QuLmQ3ODkzNGI3NmUzMyAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCj4gQEAgLTcsOCArNyw3OCBAQAo+ICAgKi8KPiAgCj4g ICNpbmNsdWRlICJ2a21zX2Rydi5oIgo+ICsjaW5jbHVkZSA8bGludXgvY3JjMzIuaD4KPiAgI2lu Y2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgo+ICAjaW5jbHVkZSA8ZHJtL2RybV9jcnRj X2hlbHBlci5oPgo+ICsjaW5jbHVkZSA8ZHJtL2RybV9nZW1fZnJhbWVidWZmZXJfaGVscGVyLmg+ Cj4gKwo+ICt1aW50MzJfdCBfdmttc19nZXRfY3JjKHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZi KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKmdlbV9vYmogPSBkcm1fZ2VtX2ZiX2dl dF9vYmooZmIsIDApOwo+ICsJc3RydWN0IHZrbXNfZ2VtX29iamVjdCAqdmttc19vYmogPSBjb250 YWluZXJfb2YoZ2VtX29iaiwKPiArCQkJCQkJCXN0cnVjdCB2a21zX2dlbV9vYmplY3QsCj4gKwkJ CQkJCQlnZW0pOwo+ICsJdTMyIGNyYyA9IDA7Cj4gKwlpbnQgaSA9IDA7Cj4gKwlzdHJ1Y3QgZHJt X3BsYW5lX3N0YXRlICpzdGF0ZSA9IHZrbXNfb2JqLT5wbGFuZV9zdGF0ZTsKCnZrbXNfb2JqLT5w bGFuZV9zdGF0ZSBpcyB0aGUgZmlyc3QgbG9ja2luZyBpc3N1ZTogWW91IHN0b3JlIHRoZSBwb2lu dGVyCndpdGhvdXQgYW55IGxvY2tzIG9yIHN5bmNocm9uaXphdGlvbiwgd2hpY2ggbWVhbnMgdGhl IGNyYyB3b3JrZXIgaGVyZQpjb3VsZCBhY2Nlc3MgaXMgd2hpbGUgaXQncyBiZWluZyBjaGFuZ2Vk LCByZXN1bHRpbmcgaW4gYW4gaW5jb25zaXN0ZW50CmNyYy4gTm90ZSB0aGF0IHRoZSBjb21waWxl ci9jcHUgaXMgYWxsb3dlZCB0byByZWFkIGEgcG9pbnRlciBtdWx0aXBsZQp0aW1lcyBpZiBpdCdz IG5vdCBwcm90ZWN0ZWQgYnkgbG9ja2luZy9iYXJyaWVycywgc28gYWxsIGtpbmRzIG9mIGZ1bm55 CnN0dWZmIGNhbiBoYXBwZW4gaGVyZS4KClNlY29uZCBpc3N1ZSBpcyB0aGF0IHRoZSBtZW1vcnkg eW91J3JlIHBvaW50aW5nIHRvIGlzbid0IG93bmVkIGJ5IHRoZSBjcmMKc3Vic3lzdGVtLCBidXQg YnkgdGhlIGF0b21pYyBjb21taXQgd29ya2VyLiBUaGF0IGNvdWxkIHJlbGVhc2UgdGhlIG1lbW9y eQooYW5kIGl0IG1pZ2h0IGdldCByZXVzZWQgZm9yIHNvbWV0aGluZyBlbHNlIG1lYW53aGlsZSkg YmVmb3JlIHRoZSBjcmMKd29ya2VyIGhlcmUgaXMgZG9uZSB3aXRoIGl0LgoKPiArCXVuc2lnbmVk IGludCB4ID0gc3RhdGUtPnNyYy54MSA+PiAxNjsKPiArCXVuc2lnbmVkIGludCB5ID0gc3RhdGUt PnNyYy55MSA+PiAxNjsKPiArCXVuc2lnbmVkIGludCBoZWlnaHQgPSBkcm1fcmVjdF9oZWlnaHQo JnN0YXRlLT5zcmMpID4+IDE2Owo+ICsJdW5zaWduZWQgaW50IHdpZHRoID0gZHJtX3JlY3Rfd2lk dGgoJnN0YXRlLT5zcmMpID4+IDE2Owo+ICsJdW5zaWduZWQgaW50IGNwcCA9IGZiLT5mb3JtYXQt PmNwcFswXTsKPiArCXVuc2lnbmVkIGludCBzcmNfb2Zmc2V0Owo+ICsJdW5zaWduZWQgaW50IHNp emVfYnl0ZSA9IHdpZHRoICogY3BwOwo+ICsJdm9pZCAqdmFkZHIgPSB2a21zX29iai0+dmFkZHI7 Cj4gKwo+ICsJaWYgKFdBUk5fT04oIXZhZGRyKSkKPiArCQlyZXR1cm4gY3JjOwo+ICsKPiArCWZv ciAoaSA9IHk7IGkgPCB5ICsgaGVpZ2h0OyBpKyspIHsKPiArCQlzcmNfb2Zmc2V0ID0gZmItPm9m ZnNldHNbMF0gKyAoaSAqIGZiLT5waXRjaGVzWzBdKSArICh4ICogY3BwKTsKPiArCQljcmMgPSBj cmMzMl9sZShjcmMsIHZhZGRyICsgc3JjX29mZnNldCwgc2l6ZV9ieXRlKTsKPiArCX0KPiArCj4g KwlyZXR1cm4gY3JjOwo+ICt9Cj4gKwo+ICt2b2lkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yaykKPiArewo+ICsJc3RydWN0IHZrbXNfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSA9IGNvbnRhaW5lcl9vZih3b3JrLAo+ICsJCQkJCSAgICAgc3RydWN0IHZrbXNfY3J0 Y19zdGF0ZSwKPiArCQkJCQkgICAgIGNyY193b3JrcSk7Cj4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNy dGMgPSBjcnRjX3N0YXRlLT5jcnRjOwo+ICsJc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIgPSAo Y3J0Yy0+cHJpbWFyeSA/IGNydGMtPnByaW1hcnktPmZiIDogTlVMTCk7CgpUaGUgZHJtX3BsYW5l LT5mYiBwb2ludGVyIGhhcyBzaW1pbGFyIGlzc3VlczogTm8gbG9ja2luZyAodGhlIG9ubHkgdGhp bmcKdGhhdCdzIHJlYWxseSBhbGxvd2VkIHRvIGNoYW5nZSB0aGlzIGlzIHRoZSBhdG9taWMgY29t bWl0IHdvcmtlciBmb3IKYXRvbWljIGRyaXZlcnMsIG5vdGhpbmcgZWxzZSksIHNvIHNhbWUgaXNz dWVzIHdpdGggaW5jb25zaXN0ZW50IGRhdGEgYW5kCnVzaW5nIHBvc3NpYmx5IGZyZWVkIG1lbW9y eS4KCk9uIHRvcCBWaWxsZSBoYXMgYSBwYXRjaCBzZXJpZXMgdG8gc2V0IGRybV9wbGFuZS0+ZmIg PT0gTlVMTCBmb3IgYWxsCmF0b21pYyBkcml2ZXJzIC0gaXQncyByZWFsbHkgYSBsZWZ0b3ZlciBm cm9tIHRoZSBwcmUtYXRvbWljIGFnZSBhbmQKZG9lc24ndCBmaXQgZm9yIGF0b21pYy4KCk9uIHRv cCBvZiB0aGVzZSBpc3N1ZXMgZm9yIC0+cGxhbmVfc3RhdGUgYW5kIC0+ZmIgd2UgaGF2ZSBhIHRo aXJkIGlzc3VlOgpUaGUgY3JjIGNvbXB1dGF0aW9uIG11c3QgYmUgYXRvbWljIHdydCB0aGUgZ2Vu ZXJhdGVkIHZibGFuayBldmVudCBmb3IgYQpnaXZlbiBhdG9taWMgdXBkYXRlLiBUaGF0IG1lYW5z IHdlIG11c3QgbWFrZSBzdXJlIHRoYXQgdGhlIGNyYyB3ZSdyZQpnZW5lcmF0aW5nIGlzIGV4YWN0 bHkgZm9yIHRoZSBwbGFuZV9zdGF0ZS9mYiB0aGF0IGFsc28gaXNzdWVkIHRoZSB2YmxhbmsKZXZl bnQuIFRoZXJlJ3Mgc29tZSBhdG9taWMga21zIHRlc3RzIGluIGlndCB0aGF0IGNoZWNrIHRoaXMu IE1vcmUKY29uY3JldGVseSB3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0OgotIGlmIHRoZSB2Ymxh bmsgY29kZSBzZWVzIHRoZSBuZXcgdmJsYW5rIGV2ZW50LCB0aGVuIHRoZSBjcmMgX211c3RfCiAg Y29tcHV0ZSB0aGUgY3JjIGZvciB0aGUgbmV3IGNvbmZpZ3VyYXRpb24uCi0gaWYgdGhlIHZibGFu ayBjb2RlIGRvZXMgbm90IHlldCBzZWUgdGhlIG5ldyB2YmxhbmsgZXZlbnQsIHRoZW4gdGhlIGNy YwogIF9tdXN0XyBjb21wdXRlIHRoZSBjcmMgZm9yIHRoZSBvbGQgY29uZmlndXJhdGlvbi4KCk9u ZSBzaW1wbGUgc29sdXRpb24sIGJ1dCBxdWl0ZSBhIGJpdCBvZiBjb2RlIHRvIHR5cGUgd291bGQg YmUuCgoxLiBhZGQgYSBzcGlubG9jayB0byB0aGUgdmttc19jcnRjIHN0cnVjdHVyZSAocHJvYmFi bHkgbmVlZCB0aGF0IGZpcnN0KSB0bwpwcm90ZWN0IGFsbCB0aGUgY3JjL3ZibGFuayBldmVudCBz dHVmZi4gTmVlZHMgdG8gYmUgYSBzcGlubG9jayBzaW5jZSB3ZQptdXN0IGxvb2sgYXQgdGhpcyBm cm9tIHRoZSBocnRpbWVyLgoKMi4gQ3JlYXRlIGEgbmV3IHN0cnVjdHVyZSB3aGVyZSB5b3UgbWFr ZSBhIGNvcHkgKG5vdCBqdXN0IHBvaW50ZXJzKSBvZiBhbGwKdGhlIGRhdGEgdGhlIGhydGltZXIg bmVlZHMuIFNvIHNyYyBvZmZzZXQsIHZibGFuayBldmVudCwgYWxsIHRoYXQgc3R1ZmYuCkZvciB0 aGUgZmIgcG9pbnRlciB5b3UgbmVlZCB0byBtYWtlIHN1cmUgaXQncyBwcm9wZXJseSByZWZlcmVu Y2UgY291bnRlZAooZHJtX2ZyYW1lYnVmZmVyX2dldC9wdXQpLgoKMy4gRm9yIGV2ZXJ5IGF0b21p YyB1cGRhdGUsIGFsbG9jYXRlIGEgbmV3IHN1Y2ggc3RydWN0dXJlIGFuZCBzdG9yZSBpdCBpbgp0 aGUgdmttc19jcnRjIHN0cnVjdHVyZSAoaG9sZGluZyB0aGUgc3BpbmxvY2sgd2hpbGUgdXBkYXRp bmcgdGhlIHBvaW50ZXIpLgoKNC4gSW4gdGhlIGhydGltZXIgZ3JhYiB0aGF0IHBvaW50ZXIgYW5k IHNldCBpdCB0byBOVUxMIChhZ2FpbiBob2xkaW5nIHRoZQpzcGlubG9jayksIGFuZCB0aGVuIGV4 cGxpY2l0bHkgc2VuZCBvdXQgdGhlIHZibGFuayBldmVudCAodXNpbmcKZHJtX2NydGNfc2VuZF92 YmxhbmtfZXZlbnQpLiBBbmQgdGhlbiBwYXNzIHRoYXQgc3RydWN0dXJlIHdpdGggZXZlcnl0aGlu Zwp0aGUgY3JjIHdvcmtlciBuZWVkcyB0byB0aGUgY3JjIHdvcmtlci4KCkkgdGhpbmsgdGhpcyBz aG91bGQgd29yaywgbW9zdGx5LgotRGFuaWVsCgo+ICsKPiArCWlmIChjcnRjX3N0YXRlLT5jcmNf ZW5hYmxlZCAmJiBmYikgewo+ICsJCXUzMiBjcmMzMiA9IF92a21zX2dldF9jcmMoZmIpOwo+ICsJ CXVuc2lnbmVkIGludCBuX2ZyYW1lID0gZHJtX2NydGNfYWNjdXJhdGVfdmJsYW5rX2NvdW50KGNy dGMpOwo+ICsKPiArCQlkcm1fY3J0Y19hZGRfY3JjX2VudHJ5KGNydGMsIHRydWUsIG5fZnJhbWUs ICZjcmMzMik7Cj4gKwl9Cj4gK30KPiArCj4gK3N0YXRpYyBpbnQgdmttc19zZXRfY3JjX3NvdXJj ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGNvbnN0IGNoYXIgKnNyY19uYW1lLAo+ICsJCQkgICAg ICAgc2l6ZV90ICp2YWx1ZXNfY250KQo+ICt7Cj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+ZGV2Owo+ICsJc3RydWN0IHZrbXNfZGV2aWNlICp2a21zX2RldiA9IGNvbnRhaW5lcl9v ZihkZXYsCj4gKwkJCQkJCSAgICBzdHJ1Y3Qgdmttc19kZXZpY2UsCj4gKwkJCQkJCSAgICBkcm0p Owo+ICsJc3RydWN0IHZrbXNfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9ICZ2a21zX2Rldi0+b3V0 cHV0LmNydGNfc3RhdGU7Cj4gKwo+ICsJaWYgKCFzcmNfbmFtZSkgewo+ICsJCWNydGNfc3RhdGUt PmNyY19lbmFibGVkID0gZmFsc2U7Cj4gKwl9IGVsc2UgaWYgKHN0cmNtcChzcmNfbmFtZSwgImF1 dG8iKSA9PSAwKSB7Cj4gKwkJY3J0Y19zdGF0ZS0+Y3JjX2VuYWJsZWQgPSB0cnVlOwo+ICsJfSBl bHNlIHsKPiArCQljcnRjX3N0YXRlLT5jcmNfZW5hYmxlZCA9IGZhbHNlOwo+ICsJCXJldHVybiAt RUlOVkFMOwo+ICsJfQo+ICsKPiArCSp2YWx1ZXNfY250ID0gMTsKPiArCj4gKwlyZXR1cm4gMDsK PiArfQo+ICAKPiAgc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0YXJ0IHZrbXNfdmJsYW5rX3NpbXVs YXRlKHN0cnVjdCBocnRpbWVyICp0aW1lcikKPiAgewo+IEBAIC0yMyw2ICs5Myw4IEBAIHN0YXRp YyBlbnVtIGhydGltZXJfcmVzdGFydCB2a21zX3ZibGFua19zaW11bGF0ZShzdHJ1Y3QgaHJ0aW1l ciAqdGltZXIpCj4gIAlpZiAoIXJldCkKPiAgCQlEUk1fRVJST1IoInZrbXMgZmFpbHVyZSBvbiBo YW5kbGluZyB2YmxhbmsiKTsKPiAgCj4gKwl2a21zX2NyY193b3JrX2hhbmRsZSgmb3V0cHV0LT5j cnRjX3N0YXRlLmNyY193b3JrcSk7Cj4gKwo+ICAJc3Bpbl9sb2NrX2lycXNhdmUoJmNydGMtPmRl di0+ZXZlbnRfbG9jaywgZmxhZ3MpOwo+ICAJaWYgKG91dHB1dC0+ZXZlbnQpIHsKPiAgCQlkcm1f Y3J0Y19zZW5kX3ZibGFua19ldmVudChjcnRjLCBvdXRwdXQtPmV2ZW50KTsKPiBAQCAtNDYsNiAr MTE4LDkgQEAgc3RhdGljIGludCB2a21zX2VuYWJsZV92Ymxhbmsoc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICAJb3V0LT5wZXJpb2RfbnMgPSBrdGltZV9zZXQoMCwgREVGQVVMVF9WQkxBTktfTlMp Owo+ICAJaHJ0aW1lcl9zdGFydCgmb3V0LT52YmxhbmtfaHJ0aW1lciwgb3V0LT5wZXJpb2RfbnMs IEhSVElNRVJfTU9ERV9BQlMpOwo+ICAKPiArCW91dC0+Y3J0Y19zdGF0ZS5jcnRjID0gY3J0YzsK PiArCUlOSVRfV09SSygmb3V0LT5jcnRjX3N0YXRlLmNyY193b3JrcSwgdmttc19jcmNfd29ya19o YW5kbGUpOwo+ICsKPiAgCXJldHVybiAwOwo+ICB9Cj4gIAo+IEBAIC02NSw2ICsxNDAsNyBAQCBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHZrbXNfY3J0Y19mdW5jcyA9IHsKPiAg CS5hdG9taWNfZGVzdHJveV9zdGF0ZSAgID0gZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kZXN0cm95 X3N0YXRlLAo+ICAJLmVuYWJsZV92YmxhbmsJCT0gdmttc19lbmFibGVfdmJsYW5rLAo+ICAJLmRp c2FibGVfdmJsYW5rCQk9IHZrbXNfZGlzYWJsZV92YmxhbmssCj4gKwkuc2V0X2NyY19zb3VyY2UJ CT0gdmttc19zZXRfY3JjX3NvdXJjZSwKPiAgfTsKPiAgCj4gIHN0YXRpYyBpbnQgdmttc19jcnRj X2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Ry di5oCj4gaW5kZXggMzAwZTZhMDVkNDczLi40YTE0NTg3MzFkZDcgMTAwNjQ0Cj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS92a21z L3ZrbXNfZHJ2LmgKPiBAQCAtMjIsNiArMjIsMTggQEAgc3RhdGljIGNvbnN0IHUzMiB2a21zX2Zv cm1hdHNbXSA9IHsKPiAgCURSTV9GT1JNQVRfWFJHQjg4ODgsCj4gIH07Cj4gIAo+ICsvKioKPiAr ICogc3RydWN0IHZrbXNfY3J0Y19zdGF0ZQo+ICsgKiBAY3J0YzogYmFja3BvaW50ZXIgdG8gdGhl IENSVEMKPiArICogQGNyY193b3JrcTogd29ya2VyIHRoYXQgY2FwdHVyZXMgQ1JDcyBmb3IgZWFj aCBmcmFtZQo+ICsgKiBAY3JjX2VuYWJsZWQ6IGZsYWcgdG8gdGVzdCBpZiBjcmMgaXMgZW5hYmxl ZAo+ICsgKi8KPiArc3RydWN0IHZrbXNfY3J0Y19zdGF0ZSB7Cj4gKwlzdHJ1Y3QgZHJtX2NydGMg KmNydGM7Cj4gKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgY3JjX3dvcmtxOwo+ICsJYm9vbCBjcmNfZW5h YmxlZDsKPiArfTsKPiArCj4gIHN0cnVjdCB2a21zX291dHB1dCB7Cj4gIAlzdHJ1Y3QgZHJtX2Ny dGMgY3J0YzsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciBlbmNvZGVyOwo+IEBAIC0yOSw2ICs0MSw3 IEBAIHN0cnVjdCB2a21zX291dHB1dCB7Cj4gIAlzdHJ1Y3QgaHJ0aW1lciB2YmxhbmtfaHJ0aW1l cjsKPiAgCWt0aW1lX3QgcGVyaW9kX25zOwo+ICAJc3RydWN0IGRybV9wZW5kaW5nX3ZibGFua19l dmVudCAqZXZlbnQ7Cj4gKwlzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlIGNydGNfc3RhdGU7Cj4gIH07 Cj4gIAo+ICBzdHJ1Y3Qgdmttc19kZXZpY2Ugewo+IEBAIC01NSw2ICs2OCw5IEBAIGludCB2a21z X291dHB1dF9pbml0KHN0cnVjdCB2a21zX2RldmljZSAqdmttc2Rldik7Cj4gIAo+ICBzdHJ1Y3Qg ZHJtX3BsYW5lICp2a21zX3BsYW5lX2luaXQoc3RydWN0IHZrbXNfZGV2aWNlICp2a21zZGV2KTsK PiAgCj4gKy8qIENSQyBTdXBwb3J0ICovCj4gK3ZvaWQgdmttc19jcmNfd29ya19oYW5kbGUoc3Ry dWN0IHdvcmtfc3RydWN0ICp3b3JrKTsKPiArCj4gIC8qIEdlbSBzdHVmZiAqLwo+ICBzdHJ1Y3Qg ZHJtX2dlbV9vYmplY3QgKnZrbXNfZ2VtX2NyZWF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ ICAJCQkJICAgICAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSwKPiAtLSAKPiAyLjE3LjEKPiAKCi0t IApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3JhdGlvbgpodHRw Oi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmkt ZGV2ZWwK