From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [PATCH v2 2/5] drm/rockchip: vop: support verify registers with vop version Date: Thu, 13 Jul 2017 16:33:40 -0400 Message-ID: <20170713203340.asxoah7xgfj2fubs@art_vandelay> References: <1499824991-7391-1-git-send-email-mark.yao@rock-chips.com> <1499825019-7503-1-git-send-email-mark.yao@rock-chips.com> <20170712175305.n7kk7dzvfs2vywz3@art_vandelay> <5966D0A8.6060003@rock-chips.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-qk0-x22f.google.com (mail-qk0-x22f.google.com [IPv6:2607:f8b0:400d:c09::22f]) by gabe.freedesktop.org (Postfix) with ESMTPS id 9098C6E6F1 for ; Thu, 13 Jul 2017 20:33:40 +0000 (UTC) Received: by mail-qk0-x22f.google.com with SMTP id v17so54674264qka.3 for ; Thu, 13 Jul 2017 13:33:40 -0700 (PDT) Content-Disposition: inline In-Reply-To: <5966D0A8.6060003@rock-chips.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Mark yao Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-rockchip@lists.infradead.org, linux-arm-kernel@lists.infradead.org List-Id: dri-devel@lists.freedesktop.org T24gVGh1LCBKdWwgMTMsIDIwMTcgYXQgMDk6NDU6MTJBTSArMDgwMCwgTWFyayB5YW8gd3JvdGU6 Cj4gT24gMjAxN+W5tDA35pyIMTPml6UgMDE6NTMsIFNlYW4gUGF1bCB3cm90ZToKPiA+IE9uIFdl ZCwgSnVsIDEyLCAyMDE3IGF0IDEwOjAzOjM4QU0gKzA4MDAsIE1hcmsgWWFvIHdyb3RlOgo+ID4g Cj4gPiBQbGVhc2UgYWRkIGEgY29tbWl0IG1lc3NhZ2UgZGVzY3JpYmluZyAqd2hhdCogYW5kICp3 aHkqIHlvdSBhcmUgbWFraW5nIHRoZQo+ID4gY2hhbmdlLgo+IAo+IEdvdCBpdCwgSSB3aWxsIGZp eCBpdCBhdCBuZXh0IHZlcnNpb24uCj4gCj4gVGhhbmtzLgo+ID4gCj4gPiA+IFNpZ25lZC1vZmYt Ynk6IE1hcmsgWWFvIDxtYXJrLnlhb0Byb2NrLWNoaXBzLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICAg ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyB8IDY2ICsrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3Jv Y2tjaGlwX2RybV92b3AuaCB8IDE4ICsrKysrKy0tCj4gPiA+ICAgZHJpdmVycy9ncHUvZHJtL3Jv Y2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYyB8IDIwICsrKysrKy0tLQo+ID4gPiAgIDMgZmlsZXMg Y2hhbmdlZCwgNzcgaW5zZXJ0aW9ucygrKSwgMjcgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuYyBi L2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmMKPiA+ID4gaW5kZXgg N2E1ZjgwOS4uYTkxODBmZCAxMDA2NDQKPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JvY2tj aGlwL3JvY2tjaGlwX2RybV92b3AuYwo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2No aXAvcm9ja2NoaXBfZHJtX3ZvcC5jCj4gPiA+IEBAIC00MiwzMyArNDIsNjAgQEAKPiA+ID4gICAj aW5jbHVkZSAicm9ja2NoaXBfZHJtX3Bzci5oIgo+ID4gPiAgICNpbmNsdWRlICJyb2NrY2hpcF9k cm1fdm9wLmgiCj4gPiA+IC0jZGVmaW5lIF9fUkVHX1NFVF9SRUxBWEVEKHgsIG9mZiwgbWFzaywg c2hpZnQsIHYsIHdyaXRlX21hc2spIFwKPiA+ID4gLQkJdm9wX21hc2tfd3JpdGUoeCwgb2ZmLCBt YXNrLCBzaGlmdCwgdiwgd3JpdGVfbWFzaywgdHJ1ZSkKPiA+ID4gKyNkZWZpbmUgVk9QX1JFR19T VVBQT1JUKHZvcCwgcmVnKSBcCj4gPiA+ICsJCSghcmVnLm1ham9yIHx8IChyZWcubWFqb3IgPT0g Vk9QX01BSk9SKHZvcC0+ZGF0YS0+dmVyc2lvbikgJiYgXAo+ID4gPiArCQlyZWcuYmVnaW5fbWlu b3IgPD0gVk9QX01JTk9SKHZvcC0+ZGF0YS0+dmVyc2lvbikgJiYgXAo+ID4gPiArCQlyZWcuZW5k X21pbm9yID49IFZPUF9NSU5PUih2b3AtPmRhdGEtPnZlcnNpb24pICYmIFwKPiA+ID4gKwkJcmVn Lm1hc2spKQo+ID4gVGhpcyB3b3VsZCBiZSBiZXR0ZXIgc3VpdGVkIGFzIGEgc3RhdGljIGlubGlu ZSBmdW5jdGlvbi4gQXMgd291bGQgbWFueSBvZiB0aGUKPiA+IG1hY3JvcyBiZWxvdy4KPiAKPiBH b3QgaXQsIHdpbGwgZml4IGl0IGF0IG5leHQgdmVyc2lvbi4KPiA+IAo+ID4gPiAtI2RlZmluZSBf X1JFR19TRVRfTk9STUFMKHgsIG9mZiwgbWFzaywgc2hpZnQsIHYsIHdyaXRlX21hc2spIFwKPiA+ ID4gLQkJdm9wX21hc2tfd3JpdGUoeCwgb2ZmLCBtYXNrLCBzaGlmdCwgdiwgd3JpdGVfbWFzaywg ZmFsc2UpCj4gPiA+ICsjZGVmaW5lIFZPUF9XSU5fU1VQUE9SVCh2b3AsIHdpbiwgbmFtZSkgXAo+ ID4gPiArCQlWT1BfUkVHX1NVUFBPUlQodm9wLCB3aW4tPnBoeS0+bmFtZSkKPiA+ID4gLSNkZWZp bmUgUkVHX1NFVCh4LCBiYXNlLCByZWcsIHYsIG1vZGUpIFwKPiA+ID4gLQkJX19SRUdfU0VUXyMj bW9kZSh4LCBiYXNlICsgcmVnLm9mZnNldCwgXAo+ID4gPiAtCQkJCSByZWcubWFzaywgcmVnLnNo aWZ0LCB2LCByZWcud3JpdGVfbWFzaykKPiA+ID4gLSNkZWZpbmUgUkVHX1NFVF9NQVNLKHgsIGJh c2UsIHJlZywgbWFzaywgdiwgbW9kZSkgXAo+ID4gPiAtCQlfX1JFR19TRVRfIyNtb2RlKHgsIGJh c2UgKyByZWcub2Zmc2V0LCBcCj4gPiA+IC0JCQkJIG1hc2ssIHJlZy5zaGlmdCwgdiwgcmVnLndy aXRlX21hc2spCj4gPiA+ICsjZGVmaW5lIFZPUF9DVFJMX1NVUFBPUlQodm9wLCBuYW1lKSBcCj4g PiA+ICsJCVZPUF9SRUdfU1VQUE9SVCh2b3AsIHZvcC0+ZGF0YS0+Y3RybC0+bmFtZSkKPiA+ID4g Kwo+ID4gPiArI2RlZmluZSBWT1BfSU5UUl9TVVBQT1JUKHZvcCwgbmFtZSkgXAo+ID4gPiArCQlW T1BfUkVHX1NVUFBPUlQodm9wLCB2b3AtPmRhdGEtPmludHItPm5hbWUpCj4gPiA+ICsKPiA+ID4g KyNkZWZpbmUgX19SRUdfU0VUKHgsIG9mZiwgbWFzaywgc2hpZnQsIHYsIHdyaXRlX21hc2ssIHJl bGF4ZWQpIFwKPiA+ID4gKwkJdm9wX21hc2tfd3JpdGUoeCwgb2ZmLCBtYXNrLCBzaGlmdCwgdiwg d3JpdGVfbWFzaywgcmVsYXhlZCkKPiA+IFRoZXJlJ3MgcmVhbGx5IG5vIHBvaW50IHRvIHRoaXMs IGp1c3QgY2FsbCB2b3BfbWFza193cml0ZSBkaXJlY3RseS4KPiAKPiBHb3QgaXQsIHdpbGwgZml4 IGl0IGF0IG5leHQgdmVyc2lvbi4KPiA+IAo+ID4gPiArCj4gPiA+ICsjZGVmaW5lIF9SRUdfU0VU KHZvcCwgbmFtZSwgb2ZmLCByZWcsIG1hc2ssIHYsIHJlbGF4ZWQpIFwKPiA+ID4gKwlkbyB7IFwK PiA+ID4gKwkJaWYgKFZPUF9SRUdfU1VQUE9SVCh2b3AsIHJlZykpIFwKPiA+ID4gKwkJCV9fUkVH X1NFVCh2b3AsIG9mZiArIHJlZy5vZmZzZXQsIG1hc2ssIHJlZy5zaGlmdCwgXAo+ID4gcy9tYXNr L3JlZy5tYXNrICYgbWFzay8KPiAKPiBHb3QgaXQsIHdpbGwgZml4IGl0IGF0IG5leHQgdmVyc2lv bi4KPiA+IAo+ID4gPiArCQkJCSAgdiwgcmVnLndyaXRlX21hc2ssIHJlbGF4ZWQpOyBcCj4gPiA+ ICsJCWVsc2UgXAo+ID4gPiArCQkJZGV2X2RiZyh2b3AtPmRldiwgIldhcm5pbmc6IG5vdCBzdXBw b3J0ICIjbmFtZSJcbiIpOyBcCj4gPiA+ICsJfSB3aGlsZSAoMCkKPiA+IAo+ID4gQWxzbyBiZXR0 ZXIgYXMgc3RhdGljIGlubGluZSwgSU1PLgo+IAo+IEdvb2QgaWRlYSwgSSB3aWxsIHRyeSBpdC4K PiAKPiA+IAo+ID4gPiArCj4gPiA+ICsjZGVmaW5lIFJFR19TRVQoeCwgbmFtZSwgb2ZmLCByZWcs IHYsIHJlbGF4ZWQpIFwKPiA+ID4gKwkJX1JFR19TRVQoeCwgbmFtZSwgb2ZmLCByZWcsIHJlZy5t YXNrLCB2LCByZWxheGVkKQo+ID4gcy9yZWcubWFzay9+MC8KPiAKPiBHb3QgaXQsIHdpbGwgZml4 IGl0IGF0IG5leHQgdmVyc2lvbi4KPiA+IAo+ID4gPiArI2RlZmluZSBSRUdfU0VUX01BU0soeCwg bmFtZSwgb2ZmLCByZWcsIG1hc2ssIHYsIHJlbGF4ZWQpIFwKPiA+ID4gKwkJX1JFR19TRVQoeCwg bmFtZSwgb2ZmLCByZWcsIHJlZy5tYXNrICYgbWFzaywgdiwgcmVsYXhlZCkKPiA+IHMvcmVnLm1h c2sgJi8vCj4gPiAKPiA+IEFsc28sIHRoZXNlIGNhbiBiZWNvbWUgc3RhdGljIGlubGluZSBmdW5j dGlvbnMgYXMgd2VsbC4KPiAKPiBHb3QgaXQsIHdpbGwgZml4IGl0IGF0IG5leHQgdmVyc2lvbi4K PiA+IAo+ID4gPiAgICNkZWZpbmUgVk9QX1dJTl9TRVQoeCwgd2luLCBuYW1lLCB2KSBcCj4gPiA+ IC0JCVJFR19TRVQoeCwgd2luLT5iYXNlLCB3aW4tPnBoeS0+bmFtZSwgdiwgUkVMQVhFRCkKPiA+ ID4gKwkJUkVHX1NFVCh4LCBuYW1lLCB3aW4tPmJhc2UsIHdpbi0+cGh5LT5uYW1lLCB2LCB0cnVl KQo+ID4gPiArI2RlZmluZSBWT1BfV0lOX1NFVF9FWFQoeCwgd2luLCBleHQsIG5hbWUsIHYpIFwK PiA+ID4gKwkJUkVHX1NFVCh4LCBuYW1lLCAwLCB3aW4tPmV4dC0+bmFtZSwgdiwgdHJ1ZSkKPiA+ ID4gICAjZGVmaW5lIFZPUF9TQ0xfU0VUKHgsIHdpbiwgbmFtZSwgdikgXAo+ID4gPiAtCQlSRUdf U0VUKHgsIHdpbi0+YmFzZSwgd2luLT5waHktPnNjbC0+bmFtZSwgdiwgUkVMQVhFRCkKPiA+ID4g KwkJUkVHX1NFVCh4LCBuYW1lLCB3aW4tPmJhc2UsIHdpbi0+cGh5LT5zY2wtPm5hbWUsIHYsIHRy dWUpCj4gPiA+ICAgI2RlZmluZSBWT1BfU0NMX1NFVF9FWFQoeCwgd2luLCBuYW1lLCB2KSBcCj4g PiA+IC0JCVJFR19TRVQoeCwgd2luLT5iYXNlLCB3aW4tPnBoeS0+c2NsLT5leHQtPm5hbWUsIHYs IFJFTEFYRUQpCj4gPiA+ICsJCVJFR19TRVQoeCwgbmFtZSwgd2luLT5iYXNlLCB3aW4tPnBoeS0+ c2NsLT5leHQtPm5hbWUsIHYsIHRydWUpCj4gPiA+ICsKPiA+ID4gICAjZGVmaW5lIFZPUF9DVFJM X1NFVCh4LCBuYW1lLCB2KSBcCj4gPiA+IC0JCVJFR19TRVQoeCwgMCwgKHgpLT5kYXRhLT5jdHJs LT5uYW1lLCB2LCBOT1JNQUwpCj4gPiA+ICsJCVJFR19TRVQoeCwgbmFtZSwgMCwgKHgpLT5kYXRh LT5jdHJsLT5uYW1lLCB2LCBmYWxzZSkKPiA+ID4gICAjZGVmaW5lIFZPUF9JTlRSX0dFVCh2b3As IG5hbWUpIFwKPiA+ID4gICAJCXZvcF9yZWFkX3JlZyh2b3AsIDAsICZ2b3AtPmRhdGEtPmN0cmwt Pm5hbWUpCj4gPiA+IC0jZGVmaW5lIFZPUF9JTlRSX1NFVCh2b3AsIG5hbWUsIG1hc2ssIHYpIFwK PiA+ID4gLQkJUkVHX1NFVF9NQVNLKHZvcCwgMCwgdm9wLT5kYXRhLT5pbnRyLT5uYW1lLCBtYXNr LCB2LCBOT1JNQUwpCj4gPiA+ICsjZGVmaW5lIFZPUF9JTlRSX1NFVCh2b3AsIG5hbWUsIHYpIFwK PiA+ID4gKwkJUkVHX1NFVCh2b3AsIG5hbWUsIDAsIHZvcC0+ZGF0YS0+aW50ci0+bmFtZSwgXAo+ ID4gPiArCQkJdiwgZmFsc2UpCj4gPiA+ICsjZGVmaW5lIFZPUF9JTlRSX1NFVF9NQVNLKHZvcCwg bmFtZSwgbWFzaywgdikgXAo+ID4gPiArCQlSRUdfU0VUX01BU0sodm9wLCBuYW1lLCAwLCB2b3At PmRhdGEtPmludHItPm5hbWUsIFwKPiA+ID4gKwkJCSAgICAgbWFzaywgdiwgZmFsc2UpCj4gPiA+ ICsKPiA+ID4gICAjZGVmaW5lIFZPUF9JTlRSX1NFVF9UWVBFKHZvcCwgbmFtZSwgdHlwZSwgdikg XAo+ID4gPiAgIAlkbyB7IFwKPiA+ID4gICAJCWludCBpLCByZWcgPSAwLCBtYXNrID0gMDsgXAo+ ID4gPiBAQCAtNzgsMTMgKzEwNSwxNiBAQAo+ID4gPiAgIAkJCQltYXNrIHw9IDEgPDwgaTsgXAo+ ID4gPiAgIAkJCX0gXAo+ID4gPiAgIAkJfSBcCj4gPiA+IC0JCVZPUF9JTlRSX1NFVCh2b3AsIG5h bWUsIG1hc2ssIHJlZyk7IFwKPiA+ID4gKwkJVk9QX0lOVFJfU0VUX01BU0sodm9wLCBuYW1lLCBt YXNrLCByZWcpOyBcCj4gPiA+ICAgCX0gd2hpbGUgKDApCj4gPiA+ICAgI2RlZmluZSBWT1BfSU5U Ul9HRVRfVFlQRSh2b3AsIG5hbWUsIHR5cGUpIFwKPiA+ID4gICAJCXZvcF9nZXRfaW50cl90eXBl KHZvcCwgJnZvcC0+ZGF0YS0+aW50ci0+bmFtZSwgdHlwZSkKPiA+ID4gKyNkZWZpbmUgVk9QX0NU UkxfR0VUKHgsIG5hbWUpIFwKPiA+ID4gKwkJdm9wX3JlYWRfcmVnKHgsIDAsICZ2b3AtPmRhdGEt PmN0cmwtPm5hbWUpCj4gPiA+ICsKPiA+ID4gICAjZGVmaW5lIFZPUF9XSU5fR0VUKHgsIHdpbiwg bmFtZSkgXAo+ID4gPiAtCQl2b3BfcmVhZF9yZWcoeCwgd2luLT5iYXNlLCAmd2luLT5waHktPm5h bWUpCj4gPiA+ICsJCXZvcF9yZWFkX3JlZyh4LCB3aW4tPm9mZnNldCwgd2luLT5waHktPm5hbWUp Cj4gPiA+ICAgI2RlZmluZSBWT1BfV0lOX0dFVF9ZUkdCQUREUih2b3AsIHdpbikgXAo+ID4gPiAg IAkJdm9wX3JlYWRsKHZvcCwgd2luLT5iYXNlICsgd2luLT5waHktPnlyZ2JfbXN0Lm9mZnNldCkK PiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1f dm9wLmggYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX3ZvcC5oCj4gPiA+ IGluZGV4IDA4NGQzYjIuLmU0ZGU4OTAgMTAwNjQ0Cj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9yb2NrY2hpcC9yb2NrY2hpcF9kcm1fdm9wLmgKPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJt L3JvY2tjaGlwL3JvY2tjaGlwX2RybV92b3AuaAo+ID4gPiBAQCAtMTUsNiArMTUsMTQgQEAKPiA+ ID4gICAjaWZuZGVmIF9ST0NLQ0hJUF9EUk1fVk9QX0gKPiA+ID4gICAjZGVmaW5lIF9ST0NLQ0hJ UF9EUk1fVk9QX0gKPiA+ID4gKy8qCj4gPiA+ICsgKiBtYWpvcjogSVAgbWFqb3IgdmVydGlvbiwg dXNlZCBmb3IgSVAgc3RydWN0dXJlCj4gPiBzL3ZlcnRpb24vdmVyc2lvbgo+IAo+IEdvdCBpdCwg d2lsbCBmaXggaXQgYXQgbmV4dCB2ZXJzaW9uLgo+IFRoYW5rcy4KPiAKPiA+IAo+ID4gPiArICog bWlub3I6IGJpZyBmZWF0dXJlIGNoYW5nZSB1bmRlciBzYW1lIHN0cnVjdHVyZQo+ID4gPiArICov Cj4gPiA+ICsjZGVmaW5lIFZPUF9WRVJTSU9OKG1ham9yLCBtaW5vcikJKChtYWpvcikgPDwgOCB8 IChtaW5vcikpCj4gPiA+ICsjZGVmaW5lIFZPUF9NQUpPUih2ZXJzaW9uKQkJKCh2ZXJzaW9uKSA+ PiA4KQo+ID4gPiArI2RlZmluZSBWT1BfTUlOT1IodmVyc2lvbikJCSgodmVyc2lvbikgJiAweGZm KQo+ID4gPiArCj4gPiA+ICAgZW51bSB2b3BfZGF0YV9mb3JtYXQgewo+ID4gPiAgIAlWT1BfRk1U X0FSR0I4ODg4ID0gMCwKPiA+ID4gICAJVk9QX0ZNVF9SR0I4ODgsCj4gPiA+IEBAIC0yNSwxMCAr MzMsMTMgQEAgZW51bSB2b3BfZGF0YV9mb3JtYXQgewo+ID4gPiAgIH07Cj4gPiA+ICAgc3RydWN0 IHZvcF9yZWcgewo+ID4gPiAtCXVpbnQzMl90IG9mZnNldDsKPiA+ID4gLQl1aW50MzJfdCBzaGlm dDsKPiA+ID4gICAJdWludDMyX3QgbWFzazsKPiA+ID4gLQlib29sIHdyaXRlX21hc2s7Cj4gPiA+ ICsJdWludDMyX3Qgb2Zmc2V0OjEyOwo+ID4gPiArCXVpbnQzMl90IHNoaWZ0OjU7Cj4gPiA+ICsJ dWludDMyX3QgYmVnaW5fbWlub3I6NDsKPiA+ID4gKwl1aW50MzJfdCBlbmRfbWlub3I6NDsKPiA+ ID4gKwl1aW50MzJfdCBtYWpvcjozOwo+ID4gPiArCXVpbnQzMl90IHdyaXRlX21hc2s6MTsKPiA+ IFdoeSBhcmUgeW91IHBhY2tpbmcgdGhpcz8KPiAKPiBtYWtlIHN0cnVjdCB2b3BfcmVnIG5vdCB0 b28gYmlnLCBqdXMgdTY0IHNpemUsIHN0cnVjdCB2b3BfcmVnIHVzZSBhIGxvdCBvbiByZWdpc3Rl ciBkZWZpbmUsIHBhY2tpbmcgaXQgd291bGQgcmVkdWNlIHJlZ2lzdGVyIHRhYmxlIHNpemUuCj4g CgpFaGhoLCBsZXQncyBub3QgZ2V0IHRvbyBmYW5jeS4gSWYgeW91IHdhbnQgdG8gc2F2ZSBzcGFj ZSwgeW91IGNhbiB1c2UgdWludDhfdAphbmQgdWludDE2X3QuIFBhY2tpbmcgbGlrZSB0aGlzIG1h a2VzIGl0IGxvb2sgbGlrZSB5b3UncmUgc2VuZGluZyB0aGUgc3RydWN0CmVsc2V3aGVyZSwgd2hp Y2ggaXMganVzdCBjb25mdXNpbmcuCgpTZWFuCgo+ID4gCj4gPiA+ICAgfTsKPiA+ID4gICBzdHJ1 Y3Qgdm9wX2N0cmwgewo+ID4gPiBAQCAtMTM0LDYgKzE0NSw3IEBAIHN0cnVjdCB2b3Bfd2luX2Rh dGEgewo+ID4gPiAgIH07Cj4gPiA+ICAgc3RydWN0IHZvcF9kYXRhIHsKPiA+ID4gKwl1aW50MzJf dCB2ZXJzaW9uOwo+ID4gPiAgIAljb25zdCBzdHJ1Y3Qgdm9wX2N0cmwgKmN0cmw7Cj4gPiA+ICAg CWNvbnN0IHN0cnVjdCB2b3BfaW50ciAqaW50cjsKPiA+ID4gICAJY29uc3Qgc3RydWN0IHZvcF93 aW5fZGF0YSAqd2luOwo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX3ZvcF9yZWcuYyBiL2RyaXZlcnMvZ3B1L2RybS9yb2NrY2hpcC9yb2NrY2hpcF92 b3BfcmVnLmMKPiA+ID4gaW5kZXggMDBlOWQ3OS4uNzc0NDYwMyAxMDA2NDQKPiA+ID4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlwL3JvY2tjaGlwX3ZvcF9yZWcuYwo+ID4gPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfdm9wX3JlZy5jCj4gPiA+IEBAIC0yMCwx NyArMjAsMjUgQEAKPiA+ID4gICAjaW5jbHVkZSAicm9ja2NoaXBfZHJtX3ZvcC5oIgo+ID4gPiAg ICNpbmNsdWRlICJyb2NrY2hpcF92b3BfcmVnLmgiCj4gPiA+IC0jZGVmaW5lIFZPUF9SRUcob2Zm LCBfbWFzaywgcykgXAo+ID4gPiArI2RlZmluZSBWT1BfUkVHX1ZFUl9NQVNLKG9mZiwgX21hc2ss IHMsIF93cml0ZV9tYXNrLCBfbWFqb3IsIFwKPiA+ID4gKwkJCSBfYmVnaW5fbWlub3IsIF9lbmRf bWlub3IpIFwKPiA+ID4gICAJCXsub2Zmc2V0ID0gb2ZmLCBcCj4gPiA+ICAgCQkgLm1hc2sgPSBf bWFzaywgXAo+ID4gPiAgIAkJIC5zaGlmdCA9IHMsIFwKPiA+ID4gLQkJIC53cml0ZV9tYXNrID0g ZmFsc2UsfQo+ID4gPiArCQkgLndyaXRlX21hc2sgPSBfd3JpdGVfbWFzaywgXAo+ID4gPiArCQkg Lm1ham9yID0gX21ham9yLCBcCj4gPiA+ICsJCSAuYmVnaW5fbWlub3IgPSBfYmVnaW5fbWlub3Is IFwKPiA+ID4gKwkJIC5lbmRfbWlub3IgPSBfZW5kX21pbm9yLH0KPiA+ID4gKwo+ID4gPiArI2Rl ZmluZSBWT1BfUkVHX1ZFUihvZmYsIF9tYXNrLCBzLCBfbWFqb3IsIF9iZWdpbl9taW5vciwgX2Vu ZF9taW5vcikgXAo+ID4gPiArCQlWT1BfUkVHX1ZFUl9NQVNLKG9mZiwgX21hc2ssIHMsIGZhbHNl LCBcCj4gPiA+ICsJCQkJIF9tYWpvciwgX2JlZ2luX21pbm9yLCBfZW5kX21pbm9yKQo+ID4gPiAr Cj4gPiA+ICsjZGVmaW5lIFZPUF9SRUcob2ZmLCBfbWFzaywgcykgXAo+ID4gPiArCQlWT1BfUkVH X1ZFUihvZmYsIF9tYXNrLCBzLCAwLCAwLCAtMSkKPiA+ID4gICAjZGVmaW5lIFZPUF9SRUdfTUFT SyhvZmYsIF9tYXNrLCBzKSBcCj4gPiA+IC0JCXsub2Zmc2V0ID0gb2ZmLCBcCj4gPiA+IC0JCSAu bWFzayA9IF9tYXNrLCBcCj4gPiA+IC0JCSAuc2hpZnQgPSBzLCBcCj4gPiA+IC0JCSAud3JpdGVf bWFzayA9IHRydWUsfQo+ID4gPiArCQlWT1BfUkVHX1ZFUl9NQVNLKG9mZiwgX21hc2ssIHMsIHRy dWUsIDAsIDAsIC0xKQo+ID4gPiAgIHN0YXRpYyBjb25zdCB1aW50MzJfdCBmb3JtYXRzX3dpbl9m dWxsW10gPSB7Cj4gPiA+ICAgCURSTV9GT1JNQVRfWFJHQjg4ODgsCj4gPiA+IC0tIAo+ID4gPiAx LjkuMQo+ID4gPiAKPiA+ID4gCj4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCj4gPiA+IGRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKPiA+ID4gZHJpLWRl dmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo+IAo+IAo+IC0tIAo+IO+8rWFyayBZYW8K PiAKPiAKCi0tIApTZWFuIFBhdWwsIFNvZnR3YXJlIEVuZ2luZWVyLCBHb29nbGUgLyBDaHJvbWl1 bSBPUwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmkt ZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK