From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v2 03/11] drm/i915: Remove intel_prepare_page_flip. Date: Mon, 18 Apr 2016 07:27:42 +0200 Message-ID: <5714704E.9010302@linux.intel.com> References: <1460539104-15661-1-git-send-email-maarten.lankhorst@linux.intel.com> <1460539104-15661-4-git-send-email-maarten.lankhorst@linux.intel.com> <1460722905.6600.34.camel@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1460722905.6600.34.camel@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Ander Conselvan De Oliveira , intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMTUtMDQtMTYgb20gMTQ6MjEgc2NocmVlZiBBbmRlciBDb25zZWx2YW4gRGUgT2xpdmVpcmE6 Cj4gT24gV2VkLCAyMDE2LTA0LTEzIGF0IDExOjE4ICswMjAwLCBNYWFydGVuIExhbmtob3JzdCB3 cm90ZToKPj4gRG8gaXQgaW4gMSBzdGVwIGluc3RlYWQsIHVzZSBhdG9taWNfcmVhZCBzaW5jZSBJ TlRFTF9GTElQX0NPTVBMRVRFCj4+IGlzIG5vIGxvbmdlciB1c2VmdWwuCj4gV2hhdCdzIHRoZSBk ZWFsIHdpdGggInVzZSBhdG9taWNfcmVhZCI/IEkgY291bGRuJ3QgZmluZCB3aGVyZSB0aGF0IGlz IGRpZmZlcmVudAo+IGZyb20gdGhlIG9sZCBjb2RlLgpUaGlzIGNvdWxkIHByb2JhYmx5IHVzZSBz b21lIHJld29yZGluZywgd2hhdCBJIGJlbGlldmUgd2FzIHRoYXQgd2l0aCB0aGUgcmVtb3ZhbCBv ZgpwcmVwYXJlX3BhZ2VfZmxpcCwgZG9faW50ZWxfZmluaXNoX3BhZ2VfZmxpcCBvbmx5IG5lZWRz IGEgc2luZ2xlIGF0b21pY19yZWFkIHRvIGNvbXBsZXRlLgo+PiBTaWduZWQtb2ZmLWJ5OiBNYWFy dGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgo+PiAtLS0K Pj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICB8ICAzIC0tCj4+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgfCAxOCArKy0tLS0tCj4+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCA5NiArKysrKysrKysrKysrKy0tLS0tLS0t LS0tLS0tLS0tLS0tLQo+PiAtCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAg ICAgfCAgMiAtCj4+ICA0IGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDc5IGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKPj4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+PiBpbmRleCBk ZjgwNzNhMmZmYmUuLmMzYjAyOWU3YmZmZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k ZWJ1Z2ZzLmMKPj4gQEAgLTU4OSw5ICs1ODksNiBAQCBzdGF0aWMgaW50IGk5MTVfZ2VtX3BhZ2Vm bGlwX2luZm8oc3RydWN0IHNlcV9maWxlICptLCB2b2lkCj4+ICpkYXRhKQo+PiAgCQkJaWYgKHBl bmRpbmcgPT0gSU5URUxfRkxJUF9JTkFDVElWRSkgewo+PiAgCQkJCXNlcV9wcmludGYobSwgIkZs aXAgaW9jdGwgcHJlcGFyaW5nIG9uIHBpcGUKPj4gJWMgKHBsYW5lICVjKVxuIiwKPj4gIAkJCQkJ ICAgcGlwZSwgcGxhbmUpOwo+PiAtCQkJfSBlbHNlIGlmIChwZW5kaW5nID49IElOVEVMX0ZMSVBf Q09NUExFVEUpIHsKPj4gLQkJCQlzZXFfcHJpbnRmKG0sICJGbGlwIHF1ZXVlZCBvbiBwaXBlICVj IChwbGFuZQo+PiAlYylcbiIsCj4+IC0JCQkJCSAgIHBpcGUsIHBsYW5lKTsKPj4gIAkJCX0gZWxz ZSB7Cj4+ICAJCQkJc2VxX3ByaW50ZihtLCAiRmxpcCBwZW5kaW5nICh3YWl0aW5nIGZvcgo+PiB2 c3luYykgb24gcGlwZSAlYyAocGxhbmUgJWMpXG4iLAo+PiAgCQkJCQkgICBwaXBlLCBwbGFuZSk7 Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+PiBpbmRleCA2NzlmMDhjOTQ0ZWYuLjVlZDJmNzNh N2VhOSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCj4+IEBAIC0xNzA3LDEwICsxNzA3 LDggQEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19waXBlc3RhdF9pcnFfaGFuZGxlcihzdHJ1Y3QK Pj4gZHJtX2RldmljZSAqZGV2LCB1MzIgaWlyKQo+PiAgCQkgICAgaW50ZWxfcGlwZV9oYW5kbGVf dmJsYW5rKGRldiwgcGlwZSkpCj4+ICAJCQlpbnRlbF9jaGVja19wYWdlX2ZsaXAoZGV2LCBwaXBl KTsKPj4gIAo+PiAtCQlpZiAocGlwZV9zdGF0c1twaXBlXSAmIFBMQU5FX0ZMSVBfRE9ORV9JTlRf U1RBVFVTX1ZMVikgewo+PiAtCQkJaW50ZWxfcHJlcGFyZV9wYWdlX2ZsaXAoZGV2LCBwaXBlKTsK Pj4gKwkJaWYgKHBpcGVfc3RhdHNbcGlwZV0gJiBQTEFORV9GTElQX0RPTkVfSU5UX1NUQVRVU19W TFYpCj4+ICAJCQlpbnRlbF9maW5pc2hfcGFnZV9mbGlwKGRldiwgcGlwZSk7Cj4+IC0JCX0KPj4g IAo+PiAgCQlpZiAocGlwZV9zdGF0c1twaXBlXSAmIFBJUEVfQ1JDX0RPTkVfSU5URVJSVVBUX1NU QVRVUykKPj4gIAkJCWk5eHhfcGlwZV9jcmNfaXJxX2hhbmRsZXIoZGV2LCBwaXBlKTsKPj4gQEAg LTIxMDksMTAgKzIxMDcsOCBAQCBzdGF0aWMgdm9pZCBpbGtfZGlzcGxheV9pcnFfaGFuZGxlcihz dHJ1Y3QgZHJtX2RldmljZQo+PiAqZGV2LCB1MzIgZGVfaWlyKQo+PiAgCQkJaTl4eF9waXBlX2Ny Y19pcnFfaGFuZGxlcihkZXYsIHBpcGUpOwo+PiAgCj4+ICAJCS8qIHBsYW5lL3BpcGVzIG1hcCAx OjEgb24gaWxrKyAqLwo+PiAtCQlpZiAoZGVfaWlyICYgREVfUExBTkVfRkxJUF9ET05FKHBpcGUp KSB7Cj4+IC0JCQlpbnRlbF9wcmVwYXJlX3BhZ2VfZmxpcChkZXYsIHBpcGUpOwo+PiArCQlpZiAo ZGVfaWlyICYgREVfUExBTkVfRkxJUF9ET05FKHBpcGUpKQo+PiAgCQkJaW50ZWxfZmluaXNoX3Bh Z2VfZmxpcF9wbGFuZShkZXYsIHBpcGUpOwo+PiAtCQl9Cj4+ICAJfQo+PiAgCj4+ICAJLyogY2hl Y2sgZXZlbnQgZnJvbSBQQ0ggKi8KPj4gQEAgLTIxNTYsMTAgKzIxNTIsOCBAQCBzdGF0aWMgdm9p ZCBpdmJfZGlzcGxheV9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2RldmljZQo+PiAqZGV2LCB1MzIg ZGVfaWlyKQo+PiAgCQkJaW50ZWxfY2hlY2tfcGFnZV9mbGlwKGRldiwgcGlwZSk7Cj4+ICAKPj4g IAkJLyogcGxhbmUvcGlwZXMgbWFwIDE6MSBvbiBpbGsrICovCj4+IC0JCWlmIChkZV9paXIgJiBE RV9QTEFORV9GTElQX0RPTkVfSVZCKHBpcGUpKSB7Cj4+IC0JCQlpbnRlbF9wcmVwYXJlX3BhZ2Vf ZmxpcChkZXYsIHBpcGUpOwo+PiArCQlpZiAoZGVfaWlyICYgREVfUExBTkVfRkxJUF9ET05FX0lW QihwaXBlKSkKPj4gIAkJCWludGVsX2ZpbmlzaF9wYWdlX2ZsaXBfcGxhbmUoZGV2LCBwaXBlKTsK Pj4gLQkJfQo+PiAgCX0KPj4gIAo+PiAgCS8qIGNoZWNrIGV2ZW50IGZyb20gUENIICovCj4+IEBA IC0yMzYzLDEwICsyMzU3LDggQEAgZ2VuOF9kZV9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCj4+IHUzMiBtYXN0ZXJfY3RsKQo+PiAgCQllbHNlCj4+ICAJCQlm bGlwX2RvbmUgJj0gR0VOOF9QSVBFX1BSSU1BUllfRkxJUF9ET05FOwo+PiAgCj4+IC0JCWlmIChm bGlwX2RvbmUpIHsKPj4gLQkJCWludGVsX3ByZXBhcmVfcGFnZV9mbGlwKGRldiwgcGlwZSk7Cj4+ ICsJCWlmIChmbGlwX2RvbmUpCj4+ICAJCQlpbnRlbF9maW5pc2hfcGFnZV9mbGlwX3BsYW5lKGRl diwgcGlwZSk7Cj4+IC0JCX0KPj4gIAo+PiAgCQlpZiAoaWlyICYgR0VOOF9QSVBFX0NEQ0xLX0NS Q19ET05FKQo+PiAgCQkJaHN3X3BpcGVfY3JjX2lycV9oYW5kbGVyKGRldiwgcGlwZSk7Cj4+IEBA IC00MDI0LDcgKzQwMTYsNiBAQCBzdGF0aWMgYm9vbCBpOHh4X2hhbmRsZV92Ymxhbmsoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPj4gIAlpZiAoSTkxNV9SRUFEMTYoSVNSKSAmIGZsaXBfcGVuZGlu ZykKPj4gIAkJZ290byBjaGVja19wYWdlX2ZsaXA7Cj4+ICAKPj4gLQlpbnRlbF9wcmVwYXJlX3Bh Z2VfZmxpcChkZXYsIHBsYW5lKTsKPj4gIAlpbnRlbF9maW5pc2hfcGFnZV9mbGlwKGRldiwgcGlw ZSk7Cj4+ICAJcmV0dXJuIHRydWU7Cj4+ICAKPj4gQEAgLTQyMTUsNyArNDIwNiw2IEBAIHN0YXRp YyBib29sIGk5MTVfaGFuZGxlX3ZibGFuayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgCWlm IChJOTE1X1JFQUQoSVNSKSAmIGZsaXBfcGVuZGluZykKPj4gIAkJZ290byBjaGVja19wYWdlX2Zs aXA7Cj4+ICAKPj4gLQlpbnRlbF9wcmVwYXJlX3BhZ2VfZmxpcChkZXYsIHBsYW5lKTsKPj4gIAlp bnRlbF9maW5pc2hfcGFnZV9mbGlwKGRldiwgcGlwZSk7Cj4+ICAJcmV0dXJuIHRydWU7Cj4+ICAK Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRleCA2MThlMDM0YTdh NWUuLmRjNDIzMzU0MDliMyAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXku Ywo+PiBAQCAtMzEwMSw3ICszMTAxLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfY29tcGxldGVfcGFn ZV9mbGlwcyhzdHJ1Y3QgZHJtX2RldmljZQo+PiAqZGV2KQo+PiAgCQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Cj4+ICAJCWVudW0gcGxhbmUgcGxh bmUgPSBpbnRlbF9jcnRjLT5wbGFuZTsKPj4gIAo+PiAtCQlpbnRlbF9wcmVwYXJlX3BhZ2VfZmxp cChkZXYsIHBsYW5lKTsKPj4gIAkJaW50ZWxfZmluaXNoX3BhZ2VfZmxpcF9wbGFuZShkZXYsIHBs YW5lKTsKPj4gIAl9Cj4+ICB9Cj4+IEBAIC0xMDkyNSw1MyArMTA5MjQsNiBAQCBzdGF0aWMgdm9p ZCBpbnRlbF91bnBpbl93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdAo+PiAqX193b3JrKQo+PiAg CWtmcmVlKHdvcmspOwo+PiAgfQo+PiAgCj4+IC1zdGF0aWMgdm9pZCBkb19pbnRlbF9maW5pc2hf cGFnZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+IC0JCQkJICAgICAgc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+PiAtewo+PiAtCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0g dG9faW50ZWxfY3J0YyhjcnRjKTsKPj4gLQlzdHJ1Y3QgaW50ZWxfdW5waW5fd29yayAqd29yazsK Pj4gLQl1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiAtCj4+IC0JLyogSWdub3JlIGVhcmx5IHZibGFu ayBpcnFzICovCj4+IC0JaWYgKGludGVsX2NydGMgPT0gTlVMTCkKPj4gLQkJcmV0dXJuOwo+PiAt Cj4+IC0JLyoKPj4gLQkgKiBUaGlzIGlzIGNhbGxlZCBib3RoIGJ5IGlycSBoYW5kbGVycyBhbmQg dGhlIHJlc2V0IGNvZGUgKHRvCj4+IGNvbXBsZXRlCj4+IC0JICogbG9zdCBwYWdlZmxpcHMpIHNv IG5lZWRzIHRoZSBmdWxsIGlycXNhdmUgc3BpbmxvY2tzLgo+PiAtCSAqLwo+PiAtCXNwaW5fbG9j a19pcnFzYXZlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKPj4gLQl3b3JrID0gaW50ZWxfY3J0 Yy0+dW5waW5fd29yazsKPj4gLQo+PiAtCS8qIEVuc3VyZSB3ZSBkb24ndCBtaXNzIGEgd29yay0+ cGVuZGluZyB1cGRhdGUgLi4uICovCj4+IC0Jc21wX3JtYigpOwo+IElmIHRoaXMgaXMgbm90IG5l ZWRlZCBhbnltb3JlLCBzaG91bGQgdGhlIG1hdGNoaW5nIHNtcF93bWIoKSBmcm9tIAo+IGludGVs X21hcmtfcGFnZV9mbGlwX2FjdGl2ZSgpIGJlIHJlbW92ZWQ/Cj4KPgo+PiAtCj4+IC0JaWYgKHdv cmsgPT0gTlVMTCB8fCBhdG9taWNfcmVhZCgmd29yay0+cGVuZGluZykgPAo+PiBJTlRFTF9GTElQ X0NPTVBMRVRFKSB7Cj4+IC0JCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+ZXZlbnRfbG9j aywgZmxhZ3MpOwo+PiAtCQlyZXR1cm47Cj4+IC0JfQo+PiAtCj4+IC0JcGFnZV9mbGlwX2NvbXBs ZXRlZChpbnRlbF9jcnRjKTsKPj4gLQo+PiAtCXNwaW5fdW5sb2NrX2lycXJlc3RvcmUoJmRldi0+ ZXZlbnRfbG9jaywgZmxhZ3MpOwo+PiAtfQo+PiAtCj4+IC12b2lkIGludGVsX2ZpbmlzaF9wYWdl X2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCj4+IC17Cj4+IC0Jc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gLQlzdHJ1 Y3QgZHJtX2NydGMgKmNydGMgPSBkZXZfcHJpdi0+cGlwZV90b19jcnRjX21hcHBpbmdbcGlwZV07 Cj4+IC0KPj4gLQlkb19pbnRlbF9maW5pc2hfcGFnZV9mbGlwKGRldiwgY3J0Yyk7Cj4+IC19Cj4+ IC0KPj4gLXZvaWQgaW50ZWxfZmluaXNoX3BhZ2VfZmxpcF9wbGFuZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBpbnQgcGxhbmUpCj4+IC17Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBk ZXZfcHJpdi0+cGxhbmVfdG9fY3J0Y19tYXBwaW5nW3BsYW5lXTsKPj4gLQo+PiAtCWRvX2ludGVs X2ZpbmlzaF9wYWdlX2ZsaXAoZGV2LCBjcnRjKTsKPj4gLX0KPj4gLQo+PiAgLyogSXMgJ2EnIGFm dGVyIG9yIGVxdWFsIHRvICdiJz8gKi8KPj4gIHN0YXRpYyBib29sIGc0eF9mbGlwX2NvdW50X2Fm dGVyX2VxKHUzMiBhLCB1MzIgYikKPj4gIHsKPj4gQEAgLTExMDI0LDI4ICsxMDk3Niw1MiBAQCBz dGF0aWMgYm9vbCBwYWdlX2ZsaXBfZmluaXNoZWQoc3RydWN0IGludGVsX2NydGMKPj4gKmNydGMp Cj4+ICAJCQkJICAgIGNydGMtPnVucGluX3dvcmstPmZsaXBfY291bnQpOwo+PiAgfQo+PiAgCj4+ IC12b2lkIGludGVsX3ByZXBhcmVfcGFnZV9mbGlwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGlu dCBwbGFuZSkKPj4gK3N0YXRpYyB2b2lkIGRvX2ludGVsX2ZpbmlzaF9wYWdlX2ZsaXAoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwKPj4gKwkJCQkgICAgICBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4+ ICB7Cj4+IC0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKPj4gLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9Cj4+IC0JCXRvX2ludGVs X2NydGMoZGV2X3ByaXYtPnBsYW5lX3RvX2NydGNfbWFwcGluZ1twbGFuZV0pOwo+PiArCXN0cnVj dCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKPj4gKwlzdHJ1 Y3QgaW50ZWxfdW5waW5fd29yayAqd29yazsKPj4gIAl1bnNpZ25lZCBsb25nIGZsYWdzOwo+PiAg Cj4+ICsJLyogSWdub3JlIGVhcmx5IHZibGFuayBpcnFzICovCj4+ICsJaWYgKGludGVsX2NydGMg PT0gTlVMTCkKPj4gKwkJcmV0dXJuOwo+PiAgCj4+ICAJLyoKPj4gIAkgKiBUaGlzIGlzIGNhbGxl ZCBib3RoIGJ5IGlycSBoYW5kbGVycyBhbmQgdGhlIHJlc2V0IGNvZGUgKHRvCj4+IGNvbXBsZXRl Cj4+ICAJICogbG9zdCBwYWdlZmxpcHMpIHNvIG5lZWRzIHRoZSBmdWxsIGlycXNhdmUgc3Bpbmxv Y2tzLgo+PiAtCSAqCj4+IC0JICogTkI6IEFuIE1NSU8gdXBkYXRlIG9mIHRoZSBwbGFuZSBiYXNl IHBvaW50ZXIgd2lsbCBhbHNvCj4+IC0JICogZ2VuZXJhdGUgYSBwYWdlLWZsaXAgY29tcGxldGlv biBpcnEsIGkuZS4gZXZlcnkgbW9kZXNldAo+PiAtCSAqIGlzIGFsc28gYWNjb21wYW5pZWQgYnkg YSBzcHVyaW91cyBpbnRlbF9wcmVwYXJlX3BhZ2VfZmxpcCgpLgo+PiAgCSAqLwo+PiAgCXNwaW5f bG9ja19pcnFzYXZlKCZkZXYtPmV2ZW50X2xvY2ssIGZsYWdzKTsKPj4gLQlpZiAoaW50ZWxfY3J0 Yy0+dW5waW5fd29yayAmJiBwYWdlX2ZsaXBfZmluaXNoZWQoaW50ZWxfY3J0YykpCj4+IC0JCWF0 b21pY19pbmNfbm90X3plcm8oJmludGVsX2NydGMtPnVucGluX3dvcmstPnBlbmRpbmcpOwo+PiAr CXdvcmsgPSBpbnRlbF9jcnRjLT51bnBpbl93b3JrOwo+PiArCj4+ICsJaWYgKHdvcmsgPT0gTlVM TCB8fAo+PiArCSAgICBhdG9taWNfcmVhZCgmd29yay0+cGVuZGluZykgPT0gSU5URUxfRkxJUF9J TkFDVElWRSB8fAo+PiArCSAgICFwYWdlX2ZsaXBfZmluaXNoZWQoaW50ZWxfY3J0YykpIHsKPiBU aGlzIGxpbmUgaXMgbWlzYWxpZ25lZC4gQWxzbywgaWYgdGhlIGNvbmRpdGlvbiBpcyB3YXMgaW52 ZXJ0ZWQgeW91IGNvdWxkIHNhdmUKPiB0aGUgZXh0cmEgdW5sb2NrIGFuZCByZXR1cm4uCj4KPgo+ IEFuZGVyCj4KPj4gKwkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVudF9sb2NrLCBm bGFncyk7Cj4+ICsJCXJldHVybjsKPj4gKwl9Cj4+ICsKPj4gKwlwYWdlX2ZsaXBfY29tcGxldGVk KGludGVsX2NydGMpOwo+PiArCj4+ICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2LT5ldmVu dF9sb2NrLCBmbGFncyk7Cj4+ICB9Cj4+ICAKPj4gK3ZvaWQgaW50ZWxfZmluaXNoX3BhZ2VfZmxp cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBk cm1fY3J0YyAqY3J0YyA9IGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGluZ1twaXBlXTsKPj4g Kwo+PiArCWRvX2ludGVsX2ZpbmlzaF9wYWdlX2ZsaXAoZGV2LCBjcnRjKTsKPj4gK30KPj4gKwo+ PiArdm9pZCBpbnRlbF9maW5pc2hfcGFnZV9mbGlwX3BsYW5lKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIGludCBwbGFuZSkKPj4gK3sKPj4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGRldl9w cml2LT5wbGFuZV90b19jcnRjX21hcHBpbmdbcGxhbmVdOwo+PiArCj4+ICsJZG9faW50ZWxfZmlu aXNoX3BhZ2VfZmxpcChkZXYsIGNydGMpOwo+PiArfQo+PiArCj4+ICBzdGF0aWMgaW5saW5lIHZv aWQgaW50ZWxfbWFya19wYWdlX2ZsaXBfYWN0aXZlKHN0cnVjdCBpbnRlbF91bnBpbl93b3JrICp3 b3JrKQo+PiAgewo+PiAgCS8qIEVuc3VyZSB0aGF0IHRoZSB3b3JrIGl0ZW0gaXMgY29uc2lzdGVu dCB3aGVuIGFjdGl2YXRpbmcgaXQgLi4uICovCj4+IEBAIC0xMTQ5NSw4ICsxMTQ3MSw4IEBAIHN0 YXRpYyBib29sIF9faW50ZWxfcGFnZWZsaXBfc3RhbGxfY2hlY2soc3RydWN0Cj4+IGRybV9kZXZp Y2UgKmRldiwKPj4gIAl1MzIgcGVuZGluZzsKPj4gIAo+PiAgCXBlbmRpbmcgPSBhdG9taWNfcmVh ZCgmd29yay0+cGVuZGluZyk7Cj4+IC0JaWYgKHBlbmRpbmcgIT0gSU5URUxfRkxJUF9QRU5ESU5H KQo+PiAtCQlyZXR1cm4gcGVuZGluZyA9PSBJTlRFTF9GTElQX0NPTVBMRVRFOwo+PiArCWlmIChw ZW5kaW5nID09IElOVEVMX0ZMSVBfSU5BQ1RJVkUpCj4+ICsJCXJldHVybiBmYWxzZTsKPj4gIAo+ PiAgCWlmICh3b3JrLT5mbGlwX3JlYWR5X3ZibGFuayA9PSAwKSB7Cj4+ICAJCWlmICh3b3JrLT5m bGlwX3F1ZXVlZF9yZXEgJiYKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPj4gaW5kZXgg Y2UyYTZkOTg1YmJlLi5hNzRlZGVjZmQxNzkgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oCj4+IEBAIC05NDYsNyArOTQ2LDYgQEAgc3RydWN0IGludGVsX3VucGluX3dvcmsgewo+PiAg CWF0b21pY190IHBlbmRpbmc7Cj4+ICAjZGVmaW5lIElOVEVMX0ZMSVBfSU5BQ1RJVkUJMAo+PiAg I2RlZmluZSBJTlRFTF9GTElQX1BFTkRJTkcJMQo+PiAtI2RlZmluZSBJTlRFTF9GTElQX0NPTVBM RVRFCTIKPj4gIAl1MzIgZmxpcF9jb3VudDsKPj4gIAl1MzIgZ3R0X29mZnNldDsKPj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKmZsaXBfcXVldWVkX3JlcTsKPj4gQEAgLTExNTksNyAr MTE1OCw2IEBAIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKgo+PiAgX19pbnRlbF9mcmFtZWJ1ZmZl cl9jcmVhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4gIAkJCSAgIHN0cnVjdCBkcm1fbW9k ZV9mYl9jbWQyICptb2RlX2NtZCwKPj4gIAkJCSAgIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpvYmopOwo+PiAtdm9pZCBpbnRlbF9wcmVwYXJlX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBpbnQgcGxhbmUpOwo+PiAgdm9pZCBpbnRlbF9maW5pc2hfcGFnZV9mbGlwKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGludCBwaXBlKTsKPj4gIHZvaWQgaW50ZWxfZmluaXNoX3BhZ2Vf ZmxpcF9wbGFuZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGxhbmUpOwo+PiAgdm9pZCBp bnRlbF9jaGVja19wYWdlX2ZsaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpOwoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVs IG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg==