From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v2 5/5] drm/vkms: Implement CRC debugfs API Date: Mon, 16 Jul 2018 14:22:56 -0400 Message-ID: <20180716182256.GY20303@art_vandelay> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-yb0-x232.google.com (mail-yb0-x232.google.com [IPv6:2607:f8b0:4002:c09::232]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9D5586E534 for ; Mon, 16 Jul 2018 18:22:58 +0000 (UTC) Received: by mail-yb0-x232.google.com with SMTP id x15-v6so15800631ybm.2 for ; Mon, 16 Jul 2018 11:22:58 -0700 (PDT) Content-Disposition: inline In-Reply-To: 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 T24gU2F0LCBKdWwgMTQsIDIwMTggYXQgMDM6MjM6MzJQTSArMDMwMCwgSGFuZWVuIE1vaGFtbWVk IHdyb3RlOgo+IEltcGxlbWVudCB0aGUgc2V0X2NyY19zb3VyY2UoKSBjYWxsYmFjay4KPiBDb21w dXRlIENSQyB1c2luZyBjcmMzMiBvbiB0aGUgdmlzaWJsZSBwYXJ0IG9mIHRoZSBmcmFtZWJ1ZmZl ci4KPiBVc2Ugb3JkZXJlZCB3b3JrcXVldWUgdG8gY29tcHV0ZSBhbmQgYWRkIENSQyBhdCB0aGUg ZW5kIG9mIGEgdmJsYW5rLgo+IAo+IFVzZSBhcHByb3ByaWF0ZSBzeW5jaHJvbml6YXRpb24gbWV0 aG9kcyBzaW5jZSB0aGUgY3JjIGNvbXB1dGF0aW9uIG11c3QKPiBiZSBhdG9taWMgd3J0IHRoZSBn ZW5lcmF0ZWQgdmJsYW5rIGV2ZW50IGZvciBhIGdpdmVuIGF0b21pYyB1cGRhdGUsCj4gCj4gU2ln bmVkLW9mZi1ieTogSGFuZWVuIE1vaGFtbWVkIDxoYW1vaGFtbWVkLnNhQGdtYWlsLmNvbT4KCkhl eSBIYW5lZW4sClRoYW5rcyBmb3IgcmV2aXNpbmcgdGhpcyBwYXRjaCBzZXQuIFRoaW5ncyBhcmUg bG9va2luZyBnb29kIGFjcm9zcyB0aGUgc2VyaWVzLApqdXN0IGEgZmV3IG1vcmUgY29tbWVudHMg Oi0pCgo+IC0tLQo+IENoYW5nZXMgaW4gdjI6Cj4gLSBJbmNsdWRlIHRoaXMgcGF0Y2ggaW4gdGhp cyBwYXRjaHNldC4KPiAKPiAgZHJpdmVycy9ncHUvZHJtL3ZrbXMvTWFrZWZpbGUgICAgIHwgIDIg Ky0KPiAgZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRjLmMgIHwgNjAgKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5jICAg fCAgMSArCj4gIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmggICB8IDIxICsrKysrKysr KysrCj4gIGRyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfcGxhbmUuYyB8IDEwICsrKysrKwo+ICA1 IGZpbGVzIGNoYW5nZWQsIDg1IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4gCj4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL01ha2VmaWxlIGIvZHJpdmVycy9ncHUvZHJt L3ZrbXMvTWFrZWZpbGUKPiBpbmRleCA5ODYyOTdkYTUxYmYuLjM3OTY2OTE0ZjcwYiAxMDA2NDQK PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy9NYWtlZmlsZQo+ICsrKyBiL2RyaXZlcnMvZ3B1 L2RybS92a21zL01ha2VmaWxlCj4gQEAgLTEsMyArMSwzIEBACj4gLXZrbXMteSA6PSB2a21zX2Ry di5vIHZrbXNfcGxhbmUubyB2a21zX291dHB1dC5vIHZrbXNfY3J0Yy5vIHZrbXNfZ2VtLm8KPiAr dmttcy15IDo9IHZrbXNfZHJ2Lm8gdmttc19wbGFuZS5vIHZrbXNfb3V0cHV0Lm8gdmttc19jcnRj Lm8gdmttc19nZW0ubyB2a21zX2NyYy5vCj4gIAo+ICBvYmotJChDT05GSUdfRFJNX1ZLTVMpICs9 IHZrbXMubwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYyBi L2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfY3J0Yy5jCj4gaW5kZXggMjZiYWJiODVjYTc3Li5m M2E2NzRkYjMzYjggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19jcnRj LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2NydGMuYwo+IEBAIC0xMCwxOCAr MTAsMzYgQEAKPiAgI2luY2x1ZGUgPGRybS9kcm1fYXRvbWljX2hlbHBlci5oPgo+ICAjaW5jbHVk ZSA8ZHJtL2RybV9jcnRjX2hlbHBlci5oPgo+ICAKPiAtc3RhdGljIGVudW0gaHJ0aW1lcl9yZXN0 YXJ0IHZrbXNfdmJsYW5rX3NpbXVsYXRlKHN0cnVjdCBocnRpbWVyICp0aW1lcikKPiArc3RhdGlj IHZvaWQgX3ZibGFua19oYW5kbGUoc3RydWN0IHZrbXNfb3V0cHV0ICpvdXRwdXQpCj4gIHsKPiAt CXN0cnVjdCB2a21zX291dHB1dCAqb3V0cHV0ID0gY29udGFpbmVyX29mKHRpbWVyLCBzdHJ1Y3Qg dmttc19vdXRwdXQsCj4gLQkJCQkJCSAgdmJsYW5rX2hydGltZXIpOwo+ICAJc3RydWN0IGRybV9j cnRjICpjcnRjID0gJm91dHB1dC0+Y3J0YzsKPiAtCWludCByZXRfb3ZlcnJ1bjsKPiArCXN0cnVj dCB2a21zX2NydGNfc3RhdGUgKnN0YXRlID0gdG9fdmttc19jcnRjX3N0YXRlKGNydGMtPnN0YXRl KTsKPiAgCWJvb2wgcmV0Owo+ICAKPiArCWludCBjcmNfZW5hYmxlZCA9IDA7Cj4gKwo+ICsJc3Bp bl9sb2NrKCZvdXRwdXQtPmxvY2spOwo+ICsJY3JjX2VuYWJsZWQgPSBvdXRwdXQtPmNyY19lbmFi bGVkOwoKQXNpZGUgZnJvbSB0aGUgaW1wbGljaXQgYm9vbCAtPiBpbnQgY2FzdCwgSSBkb24ndCB0 aGluayB5b3UgbmVlZCB0aGlzIGxvY2FsIHZhciwKanVzdCB1c2Ugb3V0cHV0LT5jcmNfZW5hYmxl ZCBkaXJlY3RseSBiZWxvdy4KCj4gIAlyZXQgPSBkcm1fY3J0Y19oYW5kbGVfdmJsYW5rKGNydGMp Owo+ICAJaWYgKCFyZXQpCj4gIAkJRFJNX0VSUk9SKCJ2a21zIGZhaWx1cmUgb24gaGFuZGxpbmcg dmJsYW5rIik7CgpUaGlzIHdvdWxkIGJlIG1vcmUgdXNlZnVsIHdpdGggdGhlIGVycm9yIGNvZGUg cHJpbnRlZC4KCj4gIAo+ICsJaWYgKHN0YXRlICYmIGNyY19lbmFibGVkKSB7Cj4gKwkJc3RhdGUt Pm5fZnJhbWUgPSBkcm1fY3J0Y19hY2N1cmF0ZV92YmxhbmtfY291bnQoY3J0Yyk7Cj4gKwkJcXVl dWVfd29yayhvdXRwdXQtPmNyY193b3JrcSwgJnN0YXRlLT5jcmNfd29yayk7Cj4gKwl9Cj4gKwo+ ICsJc3Bpbl91bmxvY2soJm91dHB1dC0+bG9jayk7Cj4gK30KPiArCj4gK3N0YXRpYyBlbnVtIGhy dGltZXJfcmVzdGFydCB2a21zX3ZibGFua19zaW11bGF0ZShzdHJ1Y3QgaHJ0aW1lciAqdGltZXIp Cj4gK3sKPiArCXN0cnVjdCB2a21zX291dHB1dCAqb3V0cHV0ID0gY29udGFpbmVyX29mKHRpbWVy LCBzdHJ1Y3Qgdmttc19vdXRwdXQsCj4gKwkJCQkJCSAgdmJsYW5rX2hydGltZXIpOwo+ICsJaW50 IHJldF9vdmVycnVuOwo+ICsKPiArCV92YmxhbmtfaGFuZGxlKG91dHB1dCk7Cj4gKwo+ICAJcmV0 X292ZXJydW4gPSBocnRpbWVyX2ZvcndhcmRfbm93KCZvdXRwdXQtPnZibGFua19ocnRpbWVyLAo+ ICAJCQkJCSAgb3V0cHV0LT5wZXJpb2RfbnMpOwo+ICAKPiBAQCAtOTcsNiArMTE1LDggQEAgdmtt c19hdG9taWNfY3J0Y19kdXBsaWNhdGVfc3RhdGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAK PiAgCV9fZHJtX2F0b21pY19oZWxwZXJfY3J0Y19kdXBsaWNhdGVfc3RhdGUoY3J0YywgJnZrbXNf c3RhdGUtPmJhc2UpOwo+ICAKPiArCUlOSVRfV09SSygmdmttc19zdGF0ZS0+Y3JjX3dvcmssIHZr bXNfY3JjX3dvcmtfaGFuZGxlKTsKPiArCj4gIAlyZXR1cm4gJnZrbXNfc3RhdGUtPmJhc2U7Cj4g IH0KPiAgCj4gQEAgLTEwNCwxMSArMTI0LDE4IEBAIHN0YXRpYyB2b2lkIHZrbXNfYXRvbWljX2Ny dGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJCQkJICAgc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiAgewo+ICAJc3RydWN0IHZrbXNfY3J0Y19zdGF0ZSAq dmttc19zdGF0ZTsKPiArCXN0cnVjdCB2a21zX291dHB1dCAqdmttc19vdXQgPSBkcm1fY3J0Y190 b192a21zX291dHB1dChjcnRjKTsKPiAgCj4gIAl2a21zX3N0YXRlID0gdG9fdmttc19jcnRjX3N0 YXRlKHN0YXRlKTsKPiAgCj4gIAlfX2RybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0 ZShzdGF0ZSk7Cj4gLQlrZnJlZSh2a21zX3N0YXRlKTsKPiArCj4gKwlpZiAodmttc19zdGF0ZSkg ewo+ICsJCWZsdXNoX3dvcmtxdWV1ZSh2a21zX291dC0+Y3JjX3dvcmtxKTsKCkknbSBhIGxpdHRs ZSB3b3JyaWVkIGFib3V0IHRoaXMgYml0LiBTaW5jZSB0aGUgd29ya3F1ZXVlIGlzIHBlci1vdXRw dXQsIGlzIGl0CnBvc3NpYmxlIHlvdSdsbCBiZSB3YWl0aW5nIGZvciBtb3JlIGZyYW1lcyB0byBj b21wbGV0ZSB0aGFuIHlvdSBuZWVkIHRvIGJlPwoKPiArCQlkcm1fZnJhbWVidWZmZXJfcHV0KCZ2 a21zX3N0YXRlLT5kYXRhLmZiKTsKPiArCQltZW1zZXQoJnZrbXNfc3RhdGUtPmRhdGEsIDAsIHNp emVvZihzdHJ1Y3Qgdmttc19jcmNfZGF0YSkpOwo+ICsJCWtmcmVlKHZrbXNfc3RhdGUpOwo+ICsJ fQo+ICB9Cj4gIAo+ICBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jcnRjX2Z1bmNzIHZrbXNfY3J0 Y19mdW5jcyA9IHsKPiBAQCAtMTIwLDYgKzE0Nyw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJt X2NydGNfZnVuY3Mgdmttc19jcnRjX2Z1bmNzID0gewo+ICAJLmF0b21pY19kZXN0cm95X3N0YXRl ICAgPSB2a21zX2F0b21pY19jcnRjX2Rlc3Ryb3lfc3RhdGUsCj4gIAkuZW5hYmxlX3ZibGFuawkJ PSB2a21zX2VuYWJsZV92YmxhbmssCj4gIAkuZGlzYWJsZV92YmxhbmsJCT0gdmttc19kaXNhYmxl X3ZibGFuaywKPiArCS5zZXRfY3JjX3NvdXJjZQkJPSB2a21zX3NldF9jcmNfc291cmNlLAo+ICB9 Owo+ICAKPiAgc3RhdGljIHZvaWQgdmttc19jcnRjX2F0b21pY19lbmFibGUoc3RydWN0IGRybV9j cnRjICpjcnRjLAo+IEBAIC0xMzQsMjYgKzE2MiwzNyBAQCBzdGF0aWMgdm9pZCB2a21zX2NydGNf YXRvbWljX2Rpc2FibGUoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAJZHJtX2NydGNfdmJsYW5r X29mZihjcnRjKTsKPiAgfQo+ICAKPiArc3RhdGljIHZvaWQgdmttc19jcnRjX2F0b21pY19iZWdp bihzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gKwkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg Km9sZF9jcnRjX3N0YXRlKQo+ICt7Cj4gKwlzdHJ1Y3Qgdmttc19vdXRwdXQgKnZrbXNfb3V0cHV0 ID0gZHJtX2NydGNfdG9fdmttc19vdXRwdXQoY3J0Yyk7Cj4gKwo+ICsJc3Bpbl9sb2NrX2lycSgm dmttc19vdXRwdXQtPmxvY2spOwoKSG1tLCB5b3UgY2FuJ3QgbG9jayBhY3Jvc3MgYXRvbWljX2Jl Z2luL2ZsdXNoLiBXaGF0IGlzIHRoaXMgcHJvdGVjdGluZyBhZ2FpbnN0PwoKPiArfQo+ICsKPiAg c3RhdGljIHZvaWQgdmttc19jcnRjX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMs Cj4gIAkJCQkgICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQo+ICB7Cj4g LQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+ICsJc3RydWN0IHZrbXNfb3V0cHV0ICp2a21zX291dHB1 dCA9IGRybV9jcnRjX3RvX3ZrbXNfb3V0cHV0KGNydGMpOwo+ICAKPiAgCWlmIChjcnRjLT5zdGF0 ZS0+ZXZlbnQpIHsKPiAtCQlzcGluX2xvY2tfaXJxc2F2ZSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2Nr LCBmbGFncyk7Cj4gKwkJc3Bpbl9sb2NrKCZjcnRjLT5kZXYtPmV2ZW50X2xvY2spOwoKV2hhdCdz IHRoZSByYXRpb25hbGUgYmVoaW5kIHRoaXMgY2hhbmdlPwoKPiAgCj4gIAkJaWYgKGRybV9jcnRj X3ZibGFua19nZXQoY3J0YykgIT0gMCkKPiAgCQkJZHJtX2NydGNfc2VuZF92YmxhbmtfZXZlbnQo Y3J0YywgY3J0Yy0+c3RhdGUtPmV2ZW50KTsKPiAgCQllbHNlCj4gIAkJCWRybV9jcnRjX2FybV92 YmxhbmtfZXZlbnQoY3J0YywgY3J0Yy0+c3RhdGUtPmV2ZW50KTsKPiAgCj4gLQkJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmY3J0Yy0+ZGV2LT5ldmVudF9sb2NrLCBmbGFncyk7Cj4gKwkJc3Bpbl91 bmxvY2soJmNydGMtPmRldi0+ZXZlbnRfbG9jayk7Cj4gIAo+ICAJCWNydGMtPnN0YXRlLT5ldmVu dCA9IE5VTEw7Cj4gIAl9Cj4gKwo+ICsJc3Bpbl91bmxvY2tfaXJxKCZ2a21zX291dHB1dC0+bG9j ayk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNz IHZrbXNfY3J0Y19oZWxwZXJfZnVuY3MgPSB7Cj4gKwkuYXRvbWljX2JlZ2luCT0gdmttc19jcnRj X2F0b21pY19iZWdpbiwKPiAgCS5hdG9taWNfZmx1c2gJPSB2a21zX2NydGNfYXRvbWljX2ZsdXNo LAo+ICAJLmF0b21pY19lbmFibGUJPSB2a21zX2NydGNfYXRvbWljX2VuYWJsZSwKPiAgCS5hdG9t aWNfZGlzYWJsZQk9IHZrbXNfY3J0Y19hdG9taWNfZGlzYWJsZSwKPiBAQCAtMTYyLDYgKzIwMSw3 IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2NydGNfaGVscGVyX2Z1bmNzIHZrbXNfY3J0Y19o ZWxwZXJfZnVuY3MgPSB7Cj4gIGludCB2a21zX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gIAkJICAgc3RydWN0IGRybV9wbGFuZSAqcHJp bWFyeSwgc3RydWN0IGRybV9wbGFuZSAqY3Vyc29yKQo+ICB7Cj4gKwlzdHJ1Y3Qgdmttc19vdXRw dXQgKnZrbXNfb3V0ID0gZHJtX2NydGNfdG9fdmttc19vdXRwdXQoY3J0Yyk7Cj4gIAlpbnQgcmV0 Owo+ICAKPiAgCXJldCA9IGRybV9jcnRjX2luaXRfd2l0aF9wbGFuZXMoZGV2LCBjcnRjLCBwcmlt YXJ5LCBjdXJzb3IsCj4gQEAgLTE3Myw1ICsyMTMsOSBAQCBpbnQgdmttc19jcnRjX2luaXQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAKPiAgCWRybV9j cnRjX2hlbHBlcl9hZGQoY3J0YywgJnZrbXNfY3J0Y19oZWxwZXJfZnVuY3MpOwo+ICAKPiArCXNw aW5fbG9ja19pbml0KCZ2a21zX291dC0+bG9jayk7Cj4gKwo+ICsJdmttc19vdXQtPmNyY193b3Jr cSA9IGFsbG9jX29yZGVyZWRfd29ya3F1ZXVlKCJ2a21zX2NyY193b3JrcSIsIDApOwo+ICsKPiAg CXJldHVybiByZXQ7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmtt c19kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmMKPiBpbmRleCAzN2FhMmVm MzNiMjEuLjVkNzhiZDk3ZTY5YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92 a21zX2Rydi5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3ZrbXMvdmttc19kcnYuYwo+IEBAIC00 Niw2ICs0Niw3IEBAIHN0YXRpYyB2b2lkIHZrbXNfcmVsZWFzZShzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KQo+ICAJcGxhdGZvcm1fZGV2aWNlX3VucmVnaXN0ZXIodmttcy0+cGxhdGZvcm0pOwo+ICAJ ZHJtX21vZGVfY29uZmlnX2NsZWFudXAoJnZrbXMtPmRybSk7Cj4gIAlkcm1fZGV2X2ZpbmkoJnZr bXMtPmRybSk7Cj4gKwlkZXN0cm95X3dvcmtxdWV1ZSh2a21zLT5vdXRwdXQuY3JjX3dvcmtxKTsK PiAgfQo+ICAKPiAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIHZrbXNfZHJpdmVyID0gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL3ZrbXMvdmttc19kcnYuaAo+IGluZGV4IGJmODExZDBlYzM0OS4uOTU5ODU2NDk3NjhjIDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfZHJ2LmgKPiArKysgYi9kcml2 ZXJzL2dwdS9kcm0vdmttcy92a21zX2Rydi5oCj4gQEAgLTIwLDEyICsyMCwyMyBAQCBzdGF0aWMg Y29uc3QgdTMyIHZrbXNfZm9ybWF0c1tdID0gewo+ICAJRFJNX0ZPUk1BVF9YUkdCODg4OCwKPiAg fTsKPiAgCj4gK3N0cnVjdCB2a21zX2NyY19kYXRhIHsKPiArCXN0cnVjdCBkcm1fcmVjdCBzcmM7 Cj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyIGZiOwo+ICt9Owo+ICsKPiAgLyoqCj4gICAqIHZr bXNfY3J0Y19zdGF0ZSAtIERyaXZlciBzcGVjaWZpYyBDUlRDIHN0YXRlCj4gICAqIEBiYXNlOiBi YXNlIENSVEMgc3RhdGUKPiArICogQGNyY193b3JrOiB3b3JrIHN0cnVjdCB0byBjb21wdXRlIGFu ZCBhZGQgQ1JDIGVudHJpZXMKPiArICogQGRhdGE6IGRhdGEgcmVxdWlyZWQgZm9yIENSQyBjb21w dXRhdGlvbgo+ICsgKiBAbl9mcmFtZTogZnJhbWUgbnVtYmVyIGZvciBjb21wdXRlZCBDUkMKPiAg ICovCj4gIHN0cnVjdCB2a21zX2NydGNfc3RhdGUgewo+ICAJc3RydWN0IGRybV9jcnRjX3N0YXRl IGJhc2U7Cj4gKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgY3JjX3dvcms7Cj4gKwlzdHJ1Y3Qgdmttc19j cmNfZGF0YSBkYXRhOwo+ICsJdW5zaWduZWQgaW50IG5fZnJhbWU7Cj4gIH07Cj4gIAo+ICBzdHJ1 Y3Qgdmttc19vdXRwdXQgewo+IEBAIC0zNSw2ICs0NiwxMSBAQCBzdHJ1Y3Qgdmttc19vdXRwdXQg ewo+ICAJc3RydWN0IGhydGltZXIgdmJsYW5rX2hydGltZXI7Cj4gIAlrdGltZV90IHBlcmlvZF9u czsKPiAgCXN0cnVjdCBkcm1fcGVuZGluZ192YmxhbmtfZXZlbnQgKmV2ZW50Owo+ICsJYm9vbCBj cmNfZW5hYmxlZDsKCldoZXJlIGlzIHRoaXMgc2V0IHRvIHRydWU/Cgo+ICsJLyogb3JkZXJlZCB3 cSBmb3IgY3JjX3dvcmsgKi8KPiArCXN0cnVjdCB3b3JrcXVldWVfc3RydWN0ICpjcmNfd29ya3E7 Cj4gKwkvKiBwcm90ZWN0cyBjb25jdXJyZW50IGFjY2VzcyB0byBjcmNfZGF0YSAqLwo+ICsJc3Bp bmxvY2tfdCBsb2NrOwo+ICB9Owo+ICAKPiAgc3RydWN0IHZrbXNfZGV2aWNlIHsKPiBAQCAtOTUs NCArMTExLDkgQEAgdm9pZCAqdmttc19nZW1fdm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9i aik7Cj4gIAo+ICB2b2lkIHZrbXNfZ2VtX3Z1bm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9i aik7Cj4gIAo+ICsvKiBDUkMgU3VwcG9ydCAqLwo+ICtpbnQgdmttc19zZXRfY3JjX3NvdXJjZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIGNvbnN0IGNoYXIgKnNyY19uYW1lLAo+ICsJCQlzaXplX3Qg KnZhbHVlc19jbnQpOwo+ICt2b2lkIHZrbXNfY3JjX3dvcmtfaGFuZGxlKHN0cnVjdCB3b3JrX3N0 cnVjdCAqd29yayk7Cj4gKwo+ICAjZW5kaWYgLyogX1ZLTVNfRFJWX0hfICovCj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfcGxhbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS92 a21zL3ZrbXNfcGxhbmUuYwo+IGluZGV4IGFhZjdjMzVmYWVkNi4uMWUwZWU4Y2E4YmQ2IDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS92a21zL3ZrbXNfcGxhbmUuYwo+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS92a21zL3ZrbXNfcGxhbmUuYwo+IEBAIC0yNCw2ICsyNCwxNiBAQCBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9wbGFuZV9mdW5jcyB2a21zX3BsYW5lX2Z1bmNzID0gewo+ICBzdGF0 aWMgdm9pZCB2a21zX3ByaW1hcnlfcGxhbmVfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5l LAo+ICAJCQkJICAgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlKQo+ICB7Cj4g KwlzdHJ1Y3Qgdmttc19jcnRjX3N0YXRlICpzdGF0ZTsKPiArCj4gKwlpZiAoIXBsYW5lLT5zdGF0 ZS0+Y3J0YyB8fCAhcGxhbmUtPnN0YXRlLT5mYikKPiArCQlyZXR1cm47Cj4gKwo+ICsJc3RhdGUg PSB0b192a21zX2NydGNfc3RhdGUocGxhbmUtPnN0YXRlLT5jcnRjLT5zdGF0ZSk7Cj4gKwltZW1j cHkoJnN0YXRlLT5kYXRhLnNyYywgJnBsYW5lLT5zdGF0ZS0+c3JjLCBzaXplb2Yoc3RydWN0IGRy bV9yZWN0KSk7Cj4gKwltZW1jcHkoJnN0YXRlLT5kYXRhLmZiLCBwbGFuZS0+c3RhdGUtPmZiLAo+ ICsJICAgICAgIHNpemVvZihzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyKSk7Cj4gKwlkcm1fZnJhbWVi dWZmZXJfZ2V0KCZzdGF0ZS0+ZGF0YS5mYik7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpbnQgdmttc19w bGFuZV9hdG9taWNfY2hlY2soc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gLS0gCj4gMi4xNy4x Cj4gCgotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8gQ2hyb21pdW0g T1MKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRl dmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==