From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [PATCH v5 17/35] drm/i915: Added scheduler support to __wait_request() calls Date: Fri, 11 Mar 2016 11:47:54 +0000 Message-ID: <56E2B06A.2090201@Intel.com> References: <1455805644-6450-1-git-send-email-John.C.Harrison@Intel.com> <1455805644-6450-18-git-send-email-John.C.Harrison@Intel.com> <1456826530.6867.27.camel@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 309A06EAA3 for ; Fri, 11 Mar 2016 12:10:50 +0000 (UTC) In-Reply-To: <1456826530.6867.27.camel@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Joonas Lahtinen , Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMDEvMDMvMjAxNiAxMDowMiwgSm9vbmFzIExhaHRpbmVuIHdyb3RlOgo+IE9uIHRvLCAyMDE2 LTAyLTE4IGF0IDE0OjI3ICswMDAwLCBKb2huLkMuSGFycmlzb25ASW50ZWwuY29tIHdyb3RlOgo+ PiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Pgo+PiBU aGUgc2NoZWR1bGVyIGNhbiBjYXVzZSBiYXRjaCBidWZmZXJzLCBhbmQgaGVuY2UgcmVxdWVzdHMs IHRvIGJlCj4+IHN1Ym1pdHRlZCB0byB0aGUgcmluZyBvdXQgb2Ygb3JkZXIgYW5kIGFzeW5jaHJv bm91c2x5IHRvIHRoZWlyCj4+IHN1Ym1pc3Npb24gdG8gdGhlIGRyaXZlci4gVGh1cyBhdCB0aGUg cG9pbnQgb2Ygd2FpdGluZyBmb3IgdGhlCj4+IGNvbXBsZXRpb24gb2YgYSBnaXZlbiByZXF1ZXN0 LCBpdCBpcyBub3QgZXZlbiBndWFyYW50ZWVkIHRoYXQgdGhlCj4+IHJlcXVlc3QgaGFzIGFjdHVh bGx5IGJlZW4gc2VudCB0byB0aGUgaGFyZHdhcmUgeWV0LiBFdmVuIGl0IGlzIGhhcwo+PiBiZWVu IHNlbnQsIGl0IGlzIHBvc3NpYmxlIHRoYXQgaXQgY291bGQgYmUgcHJlLWVtcHRlZCBhbmQgdGh1 cwo+PiAndW5zZW50Jy4KPj4KPj4gVGhpcyBtZWFucyB0aGF0IGl0IGlzIG5lY2Vzc2FyeSB0byBi ZSBhYmxlIHRvIHN1Ym1pdCByZXF1ZXN0cyB0byB0aGUKPj4gaGFyZHdhcmUgZHVyaW5nIHRoZSB3 YWl0IGNhbGwgaXRzZWxmLiBVbmZvcnR1bmF0ZWx5LCB3aGlsZSBzb21lCj4+IGNhbGxlcnMgb2Yg X193YWl0X3JlcXVlc3QoKSByZWxlYXNlIHRoZSBtdXRleCBsb2NrIGZpcnN0LCBvdGhlcnMgZG8K Pj4gbm90IChhbmQgYXBwYXJlbnRseSBjYW4gbm90KS4gSGVuY2UgdGhlcmUgaXMgdGhlIGFiaWxp dHkgdG8gZGVhZGxvY2sKPj4gYXMgdGhlIHdhaXQgc3RhbGxzIGZvciBzdWJtaXNzaW9uIGJ1dCB0 aGUgYXN5bmNocm9ub3VzIHN1Ym1pc3Npb24gaXMKPj4gc3RhbGxlZCBmb3IgdGhlIG11dGV4IGxv Y2suCj4+Cj4+IFRoaXMgY2hhbmdlIGhvb2tzIHRoZSBzY2hlZHVsZXIgaW4gdG8gdGhlIF9fd2Fp dF9yZXF1ZXN0KCkgY29kZSB0bwo+PiBlbnN1cmUgY29ycmVjdCBiZWhhdmlvdXIuIFRoYXQgaXMs IGZsdXNoIHRoZSB0YXJnZXQgYmF0Y2ggYnVmZmVyCj4+IHRocm91Z2ggdG8gdGhlIGhhcmR3YXJl IGFuZCBkbyBub3QgZGVhZGxvY2sgd2FpdGluZyBmb3Igc29tZXRoaW5nIHRoYXQKPj4gY2Fubm90 IGN1cnJlbnRseSBiZSBzdWJtaXR0ZWQuIEluc3RlYWQsIHRoZSB3YWl0IGNhbGwgbXVzdCByZXR1 cm4KPj4gRUFHQUlOIGF0IGxlYXN0IGFzIGZhciBiYWNrIGFzIG5lY2Vzc2FyeSB0byByZWxlYXNl IHRoZSBtdXRleCBsb2NrIGFuZAo+PiBhbGxvdyB0aGUgc2NoZWR1bGVyJ3MgYXN5bmNocm9ub3Vz IHByb2Nlc3NpbmcgdG8gZ2V0IGluIGFuZCBoYW5kbGUgdGhlCj4+IHByZS1lbXB0aW9uIG9wZXJh dGlvbiBhbmQgZXZlbnR1YWxseSAocmUtKXN1Ym1pdCB0aGUgd29yay4KPj4KPj4gdjM6IFJlbW92 ZWQgdGhlIGV4cGxpY2l0IHNjaGVkdWxlciBmbHVzaCBmcm9tIGk5MTVfd2FpdF9yZXF1ZXN0KCku Cj4+IFRoaXMgaXMgbm8gbG9uZ2VyIG5lY2Vzc2FyeSBhbmQgd2FzIGNhdXNpbmcgdW5pbnRlbmRl ZCBjaGFuZ2VzIHRvIHRoZQo+PiBzY2hlZHVsZXIgcHJpb3JpdHkgbGV2ZWwgd2hpY2ggYnJva2Ug YSB2YWxpZGF0aW9uIHRlYW0gdGVzdC4KPj4KPj4gdjQ6IENvcnJlY3RlZCB0aGUgZm9ybWF0IG9m IHNvbWUgY29tbWVudHMgdG8ga2VlcCB0aGUgc3R5bGUgY2hlY2tlcgo+PiBoYXBweS4KPj4KPj4g djU6IEFkZGVkIGZ1bmN0aW9uIGRlc2NyaXB0aW9uLiBbSm9vbmFzIExhaHRpbmVuXQo+Pgo+PiBG b3I6IFZJWi0xNTg3Cj4+IFNpZ25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJy aXNvbkBJbnRlbC5jb20+Cj4+IENjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBs aW51eC5pbnRlbC5jb20+Cj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICB8ICAzICsrLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg ICAgICAgICB8IDM3ICsrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+PiAgIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmMgICB8IDMxICsrKysrKysrKysrKysrKysr KysrKysrKysrKwo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmggICB8 ICAyICsrCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgIDUg KysrLS0KPj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMgfCAgMiAr LQo+PiAgIDYgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9ucygrKSwgMTEgZGVsZXRpb25zKC0p Cj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+PiBpbmRleCA0ZDU0NGYxLi41ZWVlY2VkIDEw MDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gQEAgLTMwNzEsNyArMzA3MSw4IEBAIGlu dCBfX2k5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ PiAgIAkJCXVuc2lnbmVkIHJlc2V0X2NvdW50ZXIsCj4+ICAgCQkJYm9vbCBpbnRlcnJ1cHRpYmxl LAo+PiAgIAkJCXM2NCAqdGltZW91dCwKPj4gLQkJCXN0cnVjdCBpbnRlbF9ycHNfY2xpZW50ICpy cHMpOwo+PiArCQkJc3RydWN0IGludGVsX3Jwc19jbGllbnQgKnJwcywKPj4gKwkJCWJvb2wgaXNf bG9ja2VkKTsKPiBNdWx0aXBsZSBib29sIHBhcmFtZXRlcnMgYXJlIGJldHRlciBjb252ZXJ0ZWQg dG8gaW50IGZsYWdzLCBpdCBtYWtlcwo+IHRoZSBjYWxsc2l0ZSBjb2RlIG1vcmUgcmVhZGFibGUg aWYgeW91IGhhdmUgZW51bSBJOTE1X1dBSVRfUkVRXyogZmxhZ3MuCj4KPj4gICBpbnQgX19tdXN0 X2NoZWNrIGk5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx KTsKPj4gICBpbnQgaTkxNV9nZW1fZmF1bHQoc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEsIHN0 cnVjdCB2bV9mYXVsdCAqdm1mKTsKPj4gICBpbnQgX19tdXN0X2NoZWNrCj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW0uYwo+PiBpbmRleCAyZGQ5YjU1Li4xN2I0NGIzIDEwMDY0NAo+PiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMKPj4gQEAgLTEyNTgsNyArMTI1OCw4IEBAIGludCBfX2k5MTVfd2FpdF9yZXF1 ZXN0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+PiAgIAkJCXVuc2lnbmVkIHJl c2V0X2NvdW50ZXIsCj4+ICAgCQkJYm9vbCBpbnRlcnJ1cHRpYmxlLAo+PiAgIAkJCXM2NCAqdGlt ZW91dCwKPj4gLQkJCXN0cnVjdCBpbnRlbF9ycHNfY2xpZW50ICpycHMpCj4+ICsJCQlzdHJ1Y3Qg aW50ZWxfcnBzX2NsaWVudCAqcnBzLAo+PiArCQkJYm9vbCBpc19sb2NrZWQpCj4+ICAgewo+PiAg IAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gaTkxNV9nZW1fcmVxdWVzdF9nZXRfcmlu ZyhyZXEpOwo+PiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2Owo+PiBAQCAt MTI2OCw4ICsxMjY5LDEwIEBAIGludCBfX2k5MTVfd2FpdF9yZXF1ZXN0KHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxLAo+PiAgIAlERUZJTkVfV0FJVCh3YWl0KTsKPj4gICAJdW5zaWdu ZWQgbG9uZyB0aW1lb3V0X2V4cGlyZTsKPj4gICAJczY0IGJlZm9yZSA9IDA7IC8qIE9ubHkgdG8g c2lsZW5jZSBhIGNvbXBpbGVyIHdhcm5pbmcuICovCj4+IC0JaW50IHJldDsKPj4gKwlpbnQgcmV0 ID0gMDsKPj4gKwlib29sICAgIGJ1c3k7Cj4gU3RyYW5nZSB3aGl0ZXNwYWNlLgo+Cj4+ICAgCj4+ ICsJbWlnaHRfc2xlZXAoKTsKPiBUaGlzIHdpbGwgc3BsYXQgaWYgaXNfbG9ja2VkIGlzIHRydWU/ IFNvIG1heWJlIGl0IHNob3VsZCBiZSBwcm90ZWN0ZWQKPiBieSBpZiAoIWlzX2xvY2tlZCk/ClRo ZSBsb2NraW5nIGhlcmUgaXMganVzdCB0aGUgZHJpdmVyIG11dGV4IGxvY2suIFdoZXJlYXMgdGhl IHRlc3Qgd2lsbCAKb25seSBnbyBiYW5nIGlmIGluIGF0b21pYyBjb250ZXh0IChzcGlubG9jaywg SVJRLCBldGMuKS4gU28gaXQgc2hvdWxkIGJlIApzYWZlLiBJZiBpdCBpc24ndCB0aGVuIHRoZSBk cml2ZXIgaXMgYWxyZWFkeSBicm9rZW4gYmVjYXVzZSB0aGUgd2hvbGUgCnBvaW50IG9mIF93YWl0 X3JlcXVlc3QoKSBpcyB0aGF0IGl0IHdpbGwgc2xlZXAhIEFsdGhvdWdoIG9uZSBjb3VsZCBhcmd1 ZSAKaXQgaXMgYWxyZWFkeSBicm9rZW4gYmVjYXVzZSBpdCBxdWl0ZSBsaWtlcyBzbGVlcGluZyB3 aXRoIHRoZSBtdXRleCBsb2NrIApoZWxkLgoKPj4gICAJV0FSTighaW50ZWxfaXJxc19lbmFibGVk KGRldl9wcml2KSwgIklSUXMgZGlzYWJsZWQiKTsKPj4gICAKPj4gICAJaWYgKGk5MTVfZ2VtX3Jl cXVlc3RfY29tcGxldGVkKHJlcSkpCj4+IEBAIC0xMzI0LDYgKzEzMjcsMjYgQEAgaW50IF9faTkx NV93YWl0X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4+ICAgCQkJ YnJlYWs7Cj4+ICAgCQl9Cj4+ICAgCj4+ICsJCWlmIChpc19sb2NrZWQpIHsKPj4gKwkJCS8qCj4+ ICsJCQkgKiBJZiB0aGlzIHJlcXVlc3QgaXMgYmVpbmcgcHJvY2Vzc2VkIGJ5IHRoZSBzY2hlZHVs ZXIKPj4gKwkJCSAqIHRoZW4gaXQgaXMgdW5zYWZlIHRvIHNsZWVwIHdpdGggdGhlIG11dGV4IGxv Y2sgaGVsZAo+PiArCQkJICogYXMgdGhlIHNjaGVkdWxlciBtYXkgcmVxdWlyZSB0aGUgbG9jayBp biBvcmRlciB0bwo+PiArCQkJICogcHJvZ3Jlc3MgdGhlIHJlcXVlc3QuCj4+ICsJCQkgKi8KPiBU aGlzIGlzIGJlY29taW5nIGEgbW9uc3Ryb3VzIGZ1bmN0aW9uLCBJIHRoaW5rIGl0IGNvdWxkIGJl IHNwbGl0IGRvd24KPiB0byB0d28gZnVuY3Rpb25zLCBfX2k5MTVfd2FpdF9yZXF1ZXN0IGFuZAo+ IF9faTkxNV93YWl0X3JlcXVlc3RfbG9ja2VkL25vbmJsb2NraW5nLCBiZWNhdXNlIGlmIHlvdSB0 YWtlIGFsbCB0aGUKPiB0aW1lb3V0L3NsZWVwaW5nIHJlbGF0ZWQgc3R1ZmYgYXdheSwgbm90IG11 Y2ggaXMgbGVmdC4KSSBkb24ndCBzZWUgd2hhdCB5b3UgbWVhbi4gWW91IGNhbid0IHRha2UgYXdh eSBhbGwgdGhlIHRpbWVvdXQvc2xlZXBpbmcgCnJlbGF0ZWQgc3R1ZmYsIHRoYXQgaXMgdGhlIHdo b2xlIHBvaW50IG9mIHRoZSBmdW5jdGlvbiEgRXZlcnl0aGluZyB0aGF0IAppcyBpbnNpZGUgdGhl IGxvb3AgbmVlZHMgdG8gYmUgaW5zaWRlIHRoZSBsb29wLiBJdCBpcyBhIGhpZGVvdXNseSAKY29t cGxpY2F0ZWQgd2FpdCBmdW5jdGlvbiBidXQgYXMgZmFyIGFzIEkgY2FuIHRlbGwsIGl0IG5lZWRz IHRvIGJlIHN1Y2guIApJIHJlY2FsbCBhdCBzb21lIHBvaW50IHNvbWVvbmUgZGlkIGEgcmVmYWN0 b3IgdG8gbW92ZSB0aGUgY29udGVudHMgb2YgCnRoZSBsb29wIGludG8gYSBzZXBhcmF0ZSBmdW5j dGlvbiBidXQgdGhhdApkb2Vzbid0IHNlZW0gdG8gaGF2ZSBtYWRlIGl0IHVwc3RyZWFtLiBPciBt YXliZSBpdCBkaWQgYW5kIGl0IGhhcyBzaW5jZSAKYmVlbiByZXZlcnRlZD8KClRoZSBzY2hlZHVs ZXIgYWRkaXRpb24gaXMgbm93IG11Y2ggc2ltcGxlciBkdWUgdG8gdGhlIHJlLWltcGxlbWVudGlu ZyBvZiAKdGhlIF9pc190cmFja2VkKCkgZnVuY3Rpb24gLSBzZWUgY29tbWVudHMgYmVsb3cuCgoK Pj4gKwkJCWlmIChpOTE1X3NjaGVkdWxlcl9pc19yZXF1ZXN0X3RyYWNrZWQocmVxLCBOVUxMLCAm YnVzeSkpIHsKPj4gKwkJCQlpZiAoYnVzeSkgewo+PiArCQkJCQlyZXQgPSAtRUFHQUlOOwo+PiAr CQkJCQlicmVhazsKPj4gKwkJCQl9Cj4+ICsJCQl9Cj4gSWYgdGhpcyBpcyBrZXB0IGluIHNpbmds ZSBmdW5jdGlvbiwgd291bGQgbm90IGl0IGJlIGVub3VnaCB0byBleGVjdXRlCj4gdGhpcyBiZWZv cmUgdGhlIGxvb3A/Ckl0IG1pZ2h0IGhhdmUgY2hhbmdlZC4gVGhlIHNsZWVwIG1pZ2h0IGhhdmUg YmVlbiBhYm9ydGVkIGR1ZSB0byAKc29tZXRoaW5nIHRoYXQgbWVhbnMgdGhlIHNjaGVkdWxlciBp cyBub3cgYnVzeSBhbmQgc2xlZXBpbmcgd2l0aCB0aGUgCm11dGV4IGxvY2sgaGVsZCB3aWxsIGNh dXNlIGEgZGVhZGxvY2suCgo+PiArCj4+ICsJCQkvKgo+PiArCQkJICogSWYgdGhlIHJlcXVlc3Qg aXMgbm90IHRyYWNrZWQgYnkgdGhlIHNjaGVkdWxlcgo+PiArCQkJICogdGhlbiB0aGUgcmVndWxh ciB0ZXN0IGNhbiBiZSBkb25lLgo+PiArCQkJICovCj4+ICsJCX0KPj4gKwo+PiAgIAkJaWYgKGk5 MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKHJlcSkpIHsKPj4gICAJCQlyZXQgPSAwOwo+PiAgIAkJ CWJyZWFrOwo+PiBAQCAtMTU0Miw3ICsxNTY1LDcgQEAgaTkxNV93YWl0X3JlcXVlc3Qoc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpCj4+ICAgCj4+ICAgCXJldCA9IF9faTkxNV93YWl0 X3JlcXVlc3QocmVxLAo+PiAgIAkJCQkgIGF0b21pY19yZWFkKCZkZXZfcHJpdi0+Z3B1X2Vycm9y LnJlc2V0X2NvdW50ZXIpLAo+PiAtCQkJCSAgaW50ZXJydXB0aWJsZSwgTlVMTCwgTlVMTCk7Cj4+ ICsJCQkJICBpbnRlcnJ1cHRpYmxlLCBOVUxMLCBOVUxMLCB0cnVlKTsKPj4gICAJaWYgKHJldCkK Pj4gICAJCXJldHVybiByZXQ7Cj4+ICAgCj4+IEBAIC0xNjU1LDcgKzE2NzgsNyBAQCBpOTE1X2dl bV9vYmplY3Rfd2FpdF9yZW5kZXJpbmdfX25vbmJsb2NraW5nKHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmosCj4+ICAgCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwo+PiAg IAlmb3IgKGkgPSAwOyByZXQgPT0gMCAmJiBpIDwgbjsgaSsrKQo+PiAgIAkJcmV0ID0gX19pOTE1 X3dhaXRfcmVxdWVzdChyZXF1ZXN0c1tpXSwgcmVzZXRfY291bnRlciwgdHJ1ZSwKPj4gLQkJCQkJ ICBOVUxMLCBycHMpOwo+PiArCQkJCQkgIE5VTEwsIHJwcywgZmFsc2UpOwo+PiAgIAltdXRleF9s b2NrKCZkZXYtPnN0cnVjdF9tdXRleCk7Cj4+ICAgCj4+ICAgCWZvciAoaSA9IDA7IGkgPCBuOyBp KyspIHsKPj4gQEAgLTM1MTEsNyArMzUzNCw3IEBAIGk5MTVfZ2VtX3dhaXRfaW9jdGwoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgdm9pZCAqZGF0YSwgc3RydWN0IGRybV9maWxlICpmaWxlKQo+PiAg IAkJaWYgKHJldCA9PSAwKQo+PiAgIAkJCXJldCA9IF9faTkxNV93YWl0X3JlcXVlc3QocmVxW2ld LCByZXNldF9jb3VudGVyLCB0cnVlLAo+PiAgIAkJCQkJCSAgYXJncy0+dGltZW91dF9ucyA+IDAg PyAmYXJncy0+dGltZW91dF9ucyA6IE5VTEwsCj4+IC0JCQkJCQkgIHRvX3Jwc19jbGllbnQoZmls ZSkpOwo+PiArCQkJCQkJICB0b19ycHNfY2xpZW50KGZpbGUpLCBmYWxzZSk7Cj4+ICAgCQlpOTE1 X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcVtpXSk7Cj4+ICAgCX0KPj4gICAJcmV0dXJuIHJl dDsKPj4gQEAgLTM1NDQsNyArMzU2Nyw3IEBAIF9faTkxNV9nZW1fb2JqZWN0X3N5bmMoc3RydWN0 IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiwKPj4gICAJCQkJCSAgYXRvbWljX3JlYWQoJmk5MTUt PmdwdV9lcnJvci5yZXNldF9jb3VudGVyKSwKPj4gICAJCQkJCSAgaTkxNS0+bW0uaW50ZXJydXB0 aWJsZSwKPj4gICAJCQkJCSAgTlVMTCwKPj4gLQkJCQkJICAmaTkxNS0+cnBzLnNlbWFwaG9yZXMp Owo+PiArCQkJCQkgICZpOTE1LT5ycHMuc2VtYXBob3JlcywgdHJ1ZSk7Cj4+ICAgCQlpZiAocmV0 KQo+PiAgIAkJCXJldHVybiByZXQ7Cj4+ICAgCj4+IEBAIC00NTIzLDcgKzQ1NDYsNyBAQCBpOTE1 X2dlbV9yaW5nX3Rocm90dGxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSkKPj4gICAJaWYgKHRhcmdldCA9PSBOVUxMKQo+PiAgIAkJcmV0dXJuIDA7Cj4+ICAg Cj4+IC0JcmV0ID0gX19pOTE1X3dhaXRfcmVxdWVzdCh0YXJnZXQsIHJlc2V0X2NvdW50ZXIsIHRy dWUsIE5VTEwsIE5VTEwpOwo+PiArCXJldCA9IF9faTkxNV93YWl0X3JlcXVlc3QodGFyZ2V0LCBy ZXNldF9jb3VudGVyLCB0cnVlLCBOVUxMLCBOVUxMLCBmYWxzZSk7Cj4+ICAgCWlmIChyZXQgPT0g MCkKPj4gICAJCXF1ZXVlX2RlbGF5ZWRfd29yayhkZXZfcHJpdi0+d3EsICZkZXZfcHJpdi0+bW0u cmV0aXJlX3dvcmssIDApOwo+PiAgIAo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zY2hlZHVsZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVy LmMKPj4gaW5kZXggNjBhNTlkMy4uZWRhYjYzZCAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X3NjaGVkdWxlci5jCj4+IEBAIC05MTgsNiArOTE4LDM3IEBAIHZvaWQgaTkxNV9zY2hlZHVs ZXJfd29ya19oYW5kbGVyKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29yaykKPj4gICB9Cj4+ICAgCj4+ ICAgLyoqCj4+ICsgKiBpOTE1X3NjaGVkdWxlcl9pc19yZXF1ZXN0X3RyYWNrZWQgLSByZXR1cm4g aW5mbyB0byBzYXkgd2hhdCB0aGUgc2NoZWR1bGVyJ3MKPj4gKyAqIGNvbm5lY3Rpb24gdG8gdGhp cyByZXF1ZXN0IGlzIChpZiBhbnkpLgo+PiArICogQHJlcTogcmVxdWVzdCB0byBiZSBxdWVyaWVk Cj4+ICsgKiBAY29tcGVsZXRlZDogaWYgbm9uLW51bGwsIHNldCB0byBjb21wbGV0aW9uIHN0YXR1 cwo+PiArICogQGJ1c3k6IGlmIG5vbi1udWxsIHNldCB0byBidXN5IHN0YXR1cwo+PiArICoKPj4g KyAqIExvb2tzIHVwIHRoZSBnaXZlbiByZXF1ZXN0IGluIHRoZSBzY2hlZHVsZXIncyBpbnRlcm5h bCBxdWV1ZSBhbmQgcmVwb3J0cwo+PiArICogb24gd2hldGhlciB0aGUgcmVxdWVzdCBoYXMgY29t cGxldGVkIG9yIGlzIHN0aWxsIHBlbmRpbmcuCj4+ICsgKiBSZXR1cm5zIHRydWUgaWYgdGhlIHJl cXVlc3Qgd2FzIGZvdW5kIG9yIGZhbHNlIGlmIGl0IHdhcyBub3QuCj4+ICsgKi8KPj4gK2Jvb2wg aTkxNV9zY2hlZHVsZXJfaXNfcmVxdWVzdF90cmFja2VkKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxLAo+PiArCQkJCSAgICAgICBib29sICpjb21wbGV0ZWQsIGJvb2wgKmJ1c3kpCj4+ ICt7Cj4+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gcmVxLT5yaW5nLT5k ZXYtPmRldl9wcml2YXRlOwo+PiArCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAqc2NoZWR1bGVyID0g ZGV2X3ByaXYtPnNjaGVkdWxlcjsKPj4gKwo+PiArCWlmICghc2NoZWR1bGVyKQo+PiArCQlyZXR1 cm4gZmFsc2U7Cj4+ICsKPj4gKwlpZiAocmVxLT5zY2hlZHVsZXJfcWUgPT0gTlVMTCkKPj4gKwkJ cmV0dXJuIGZhbHNlOwo+PiArCj4gVGhlc2UgYmV0dGVyIGJlIHRoZWlyIG93biBmdW5jdGlvbnMs IG1ha2luZyB0aGUgY29kZSBtb3JlIHJlYWRhYmxlLgo+Cj4gX2lzX3JlcXVlc3RfY29tcGxldGVk KCkKPiBfaXNfcmVxdWVzdF9idXN5KCkKWWVhaCwgdGhlIG9yaWdpbmFsIG5lZWQgaGFzIGFjdHVh bGx5IGNoYW5nZWQgc29tZXdoYXQgc2luY2UgdGhpcyB3YXMgCndyaXR0ZW4uIFRoZXJlIGlzIG5v IGxvbmdlciBhbnkgY29kZSB3aGljaCByZXF1aXJlcyBhbGwgdGhyZWUgaXRlbXMgCnRvZ2V0aGVy LiBTbyBJJ3ZlIHNwbGl0IGl0IGludG8gdHdvIHNpbXBsZXIgZnVuY3Rpb25zIHdoaWNoIGFyZSBt b3JlIAphcHByb3ByaWF0ZSB0byB0aGVpciB1c2UgY2FzZXMuCgo+PiArCWlmIChjb21wbGV0ZWQp Cj4+ICsJCSpjb21wbGV0ZWQgPSBJOTE1X1NRU19JU19DT01QTEVURShyZXEtPnNjaGVkdWxlcl9x ZSk7Cj4+ICsJaWYgKGJ1c3kpCj4+ICsJCSpidXN5ICAgICAgPSBJOTE1X1NRU19JU19RVUVVRUQo cmVxLT5zY2hlZHVsZXJfcWUpOwo+PiArCj4+ICsJcmV0dXJuIHRydWU7Cj4+ICt9Cj4+ICsKPj4g Ky8qKgo+PiAgICAqIGk5MTVfc2NoZWR1bGVyX2Nsb3NlZmlsZSAtIG5vdGlmeSB0aGUgc2NoZWR1 bGVyIHRoYXQgYSBEUk0gZmlsZSBoYW5kbGUKPj4gICAgKiBoYXMgYmVlbiBjbG9zZWQuCj4+ICAg ICogQGRldjogRFJNIGRldmljZQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9zY2hlZHVsZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmgK Pj4gaW5kZXggMTgwZDc1Zi4uYTg4YWRjZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9zY2hlZHVsZXIuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3NjaGVkdWxlci5oCj4+IEBAIC05NCw1ICs5NCw3IEBAIGludCBpOTE1X3NjaGVkdWxlcl9xdWV1 ZV9leGVjYnVmZmVyKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqcWUpOwo+PiAg IGJvb2wgaTkxNV9zY2hlZHVsZXJfbm90aWZ5X3JlcXVlc3Qoc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpyZXEpOwo+PiAgIHZvaWQgaTkxNV9zY2hlZHVsZXJfd2FrZXVwKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpOwo+PiAgIHZvaWQgaTkxNV9zY2hlZHVsZXJfd29ya19oYW5kbGVyKHN0cnVj dCB3b3JrX3N0cnVjdCAqd29yayk7Cj4+ICtib29sIGk5MTVfc2NoZWR1bGVyX2lzX3JlcXVlc3Rf dHJhY2tlZChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPj4gKwkJCQkgICAgICAg Ym9vbCAqY29tcGxldGVkLCBib29sICpidXN5KTsKPj4gICAKPj4gICAjZW5kaWYgIC8qIF9JOTE1 X1NDSEVEVUxFUl9IXyAqLwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4+IGlu ZGV4IDczMWQyMGEuLjU5NTM1OTAgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKPj4gQEAgLTExNDU4LDcgKzExNDU4LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfbW1pb19m bGlwX3dvcmtfZnVuYyhzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCj4+ICAgCQlXQVJOX09OKF9f aTkxNV93YWl0X3JlcXVlc3QobW1pb19mbGlwLT5yZXEsCj4+ICAgCQkJCQkgICAgbW1pb19mbGlw LT5jcnRjLT5yZXNldF9jb3VudGVyLAo+PiAgIAkJCQkJICAgIGZhbHNlLCBOVUxMLAo+PiAtCQkJ CQkgICAgJm1taW9fZmxpcC0+aTkxNS0+cnBzLm1taW9mbGlwcykpOwo+PiArCQkJCQkgICAgJm1t aW9fZmxpcC0+aTkxNS0+cnBzLm1taW9mbGlwcywKPj4gKwkJCQkJICAgIGZhbHNlKSk7Cj4+ICAg CQlpOTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKG1taW9fZmxpcC0+cmVxKTsKPj4gICAJfQo+ PiAgIAo+PiBAQCAtMTM1MjMsNyArMTM1MjQsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19w cmVwYXJlX2NvbW1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+PiAgIAo+PiAgIAkJCXJldCA9 IF9faTkxNV93YWl0X3JlcXVlc3QoaW50ZWxfcGxhbmVfc3RhdGUtPndhaXRfcmVxLAo+PiAgIAkJ CQkJCSAgcmVzZXRfY291bnRlciwgdHJ1ZSwKPj4gLQkJCQkJCSAgTlVMTCwgTlVMTCk7Cj4+ICsJ CQkJCQkgIE5VTEwsIE5VTEwsIGZhbHNlKTsKPj4gICAKPj4gICAJCQkvKiBTd2FsbG93IC1FSU8g ZXJyb3JzIHRvIGFsbG93IHVwZGF0ZXMgZHVyaW5nIGh3IGxvY2t1cC4gKi8KPj4gICAJCQlpZiAo cmV0ID09IC1FSU8pCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9y aW5nYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKPj4g aW5kZXggY2E3YjhhZi4uYTIwOTNmNSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3JpbmdidWZmZXIuYwo+PiBAQCAtMjMwNCw3ICsyMzA0LDcgQEAgaW50IGludGVsX3JpbmdfaWRs ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+PiAgIAlyZXR1cm4gX19pOTE1X3dhaXRf cmVxdWVzdChyZXEsCj4+ICAgCQkJCSAgIGF0b21pY19yZWFkKCZ0b19pOTE1KHJpbmctPmRldikt PmdwdV9lcnJvci5yZXNldF9jb3VudGVyKSwKPj4gICAJCQkJICAgdG9faTkxNShyaW5nLT5kZXYp LT5tbS5pbnRlcnJ1cHRpYmxlLAo+PiAtCQkJCSAgIE5VTEwsIE5VTEwpOwo+PiArCQkJCSAgIE5V TEwsIE5VTEwsIHRydWUpOwo+PiAgIH0KPj4gICAKPj4gICBpbnQgaW50ZWxfcmluZ19hbGxvY19y ZXF1ZXN0X2V4dHJhcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK