From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tomas Elf Subject: Re: [PATCH 39/59] drm/i915: Update ring->flush() to take a requests structure Date: Tue, 31 Mar 2015 17:59:14 +0100 Message-ID: <551AD262.6020807@intel.com> References: <1426768264-16996-1-git-send-email-John.C.Harrison@Intel.com> <1426768264-16996-40-git-send-email-John.C.Harrison@Intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 4414D6E738 for ; Tue, 31 Mar 2015 09:59:16 -0700 (PDT) In-Reply-To: <1426768264-16996-40-git-send-email-John.C.Harrison@Intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "John.C.Harrison@Intel.com" , "Intel-GFX@Lists.FreeDesktop.Org" List-Id: intel-gfx@lists.freedesktop.org T24gMTkvMDMvMjAxNSAxMjozMCwgSm9obi5DLkhhcnJpc29uQEludGVsLmNvbSB3cm90ZToKPiBG cm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+Cj4gVWRwYXRl ZCB0aGUgdmFyaW91cyByaW5nLT5mbHVzaCgpIGZ1bmN0aW9ucyB0byB0YWtlIGEgcmVxdWVzdCBp bnN0ZWFkIG9mIGEgcmluZy4KCk5pdHBpY2s6ICJVZHBhdGVkIiAtPiAiVXBkYXRlZCIuCgpSZXZp ZXdlZC1ieTogVG9tYXMgRWxmIDx0b21hcy5lbGZAaW50ZWwuY29tPgoKVGhhbmtzLApUb21hcwoK PiBBbHNvIHVwZGF0ZWQgdGhlIHRyYWNlciB0byBpbmNsdWRlIHRoZSByZXF1ZXN0IGlkLgo+Cj4g Rm9yOiBWSVotNTExNQo+IFNpZ25lZC1vZmYtYnk6IEpvaG4gSGFycmlzb24gPEpvaG4uQy5IYXJy aXNvbkBJbnRlbC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9j b250ZXh0LmMgfCAgICAyICstCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9ndHQu YyAgICAgfCAgICA2ICsrKy0tLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5o ICAgICAgIHwgICAxNCArKysrKysrLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9yaW5nYnVmZmVyLmMgfCAgIDM0ICsrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KPiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCB8ICAgIDIgKy0KPiAgIDUg ZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25zKC0pCj4KPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXggMzUxMTZkMy4uMmM5NGM4 OCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBAQCAtNDkz LDcgKzQ5Myw3IEBAIG1pX3NldF9jb250ZXh0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAq cmVxLCB1MzIgaHdfZmxhZ3MpCj4gICAJICogaXRsYl9iZWZvcmVfY3R4X3N3aXRjaC4KPiAgIAkg Ki8KPiAgIAlpZiAoSVNfR0VONihyaW5nLT5kZXYpKSB7Cj4gLQkJcmV0ID0gcmluZy0+Zmx1c2go cmluZywgSTkxNV9HRU1fR1BVX0RPTUFJTlMsIDApOwo+ICsJCXJldCA9IHJpbmctPmZsdXNoKHJl cSwgSTkxNV9HRU1fR1BVX0RPTUFJTlMsIDApOwo+ICAgCQlpZiAocmV0KQo+ICAgCQkJcmV0dXJu IHJldDsKPiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBpbmRleCA5NmZk OGUwLi41ODIyNDI5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt X2d0dC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZ3R0LmMKPiBAQCAt ODg1LDcgKzg4NSw3IEBAIHN0YXRpYyBpbnQgaHN3X21tX3N3aXRjaChzdHJ1Y3QgaTkxNV9od19w cGd0dCAqcHBndHQsCj4gICAJaW50IHJldDsKPgo+ICAgCS8qIE5COiBUTEJzIG11c3QgYmUgZmx1 c2hlZCBhbmQgaW52YWxpZGF0ZWQgYmVmb3JlIGEgc3dpdGNoICovCj4gLQlyZXQgPSByaW5nLT5m bHVzaChyaW5nLCBJOTE1X0dFTV9HUFVfRE9NQUlOUywgSTkxNV9HRU1fR1BVX0RPTUFJTlMpOwo+ ICsJcmV0ID0gcmluZy0+Zmx1c2gocmVxLCBJOTE1X0dFTV9HUFVfRE9NQUlOUywgSTkxNV9HRU1f R1BVX0RPTUFJTlMpOwo+ICAgCWlmIChyZXQpCj4gICAJCXJldHVybiByZXQ7Cj4KPiBAQCAtOTIy LDcgKzkyMiw3IEBAIHN0YXRpYyBpbnQgZ2VuN19tbV9zd2l0Y2goc3RydWN0IGk5MTVfaHdfcHBn dHQgKnBwZ3R0LAo+ICAgCWludCByZXQ7Cj4KPiAgIAkvKiBOQjogVExCcyBtdXN0IGJlIGZsdXNo ZWQgYW5kIGludmFsaWRhdGVkIGJlZm9yZSBhIHN3aXRjaCAqLwo+IC0JcmV0ID0gcmluZy0+Zmx1 c2gocmluZywgSTkxNV9HRU1fR1BVX0RPTUFJTlMsIEk5MTVfR0VNX0dQVV9ET01BSU5TKTsKPiAr CXJldCA9IHJpbmctPmZsdXNoKHJlcSwgSTkxNV9HRU1fR1BVX0RPTUFJTlMsIEk5MTVfR0VNX0dQ VV9ET01BSU5TKTsKPiAgIAlpZiAocmV0KQo+ICAgCQlyZXR1cm4gcmV0Owo+Cj4gQEAgLTk0MCw3 ICs5NDAsNyBAQCBzdGF0aWMgaW50IGdlbjdfbW1fc3dpdGNoKHN0cnVjdCBpOTE1X2h3X3BwZ3R0 ICpwcGd0dCwKPgo+ICAgCS8qIFhYWDogUkNTIGlzIHRoZSBvbmx5IG9uZSB0byBhdXRvIGludmFs aWRhdGUgdGhlIFRMQnM/ICovCj4gICAJaWYgKHJpbmctPmlkICE9IFJDUykgewo+IC0JCXJldCA9 IHJpbmctPmZsdXNoKHJpbmcsIEk5MTVfR0VNX0dQVV9ET01BSU5TLCBJOTE1X0dFTV9HUFVfRE9N QUlOUyk7Cj4gKwkJcmV0ID0gcmluZy0+Zmx1c2gocmVxLCBJOTE1X0dFTV9HUFVfRE9NQUlOUywg STkxNV9HRU1fR1BVX0RPTUFJTlMpOwo+ICAgCQlpZiAocmV0KQo+ICAgCQkJcmV0dXJuIHJldDsK PiAgIAl9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfdHJhY2UuaAo+IGluZGV4IGYwMDRkM2QuLmYwNDRl MjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oCj4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV90cmFjZS5oCj4gQEAgLTM3NywyNSArMzc3LDI3 IEBAIFRSQUNFX0VWRU5UKGk5MTVfZ2VtX3JpbmdfZGlzcGF0Y2gsCj4gICApOwo+Cj4gICBUUkFD RV9FVkVOVChpOTE1X2dlbV9yaW5nX2ZsdXNoLAo+IC0JICAgIFRQX1BST1RPKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKnJpbmcsIHUzMiBpbnZhbGlkYXRlLCB1MzIgZmx1c2gpLAo+IC0JICAgIFRQ X0FSR1MocmluZywgaW52YWxpZGF0ZSwgZmx1c2gpLAo+ICsJICAgIFRQX1BST1RPKHN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLCB1MzIgaW52YWxpZGF0ZSwgdTMyIGZsdXNoKSwKPiAr CSAgICBUUF9BUkdTKHJlcSwgaW52YWxpZGF0ZSwgZmx1c2gpLAo+Cj4gICAJICAgIFRQX1NUUlVD VF9fZW50cnkoCj4gICAJCQkgICAgIF9fZmllbGQodTMyLCBkZXYpCj4gICAJCQkgICAgIF9fZmll bGQodTMyLCByaW5nKQo+ICsJCQkgICAgIF9fZmllbGQodTMyLCB1bmlxKQo+ICAgCQkJICAgICBf X2ZpZWxkKHUzMiwgaW52YWxpZGF0ZSkKPiAgIAkJCSAgICAgX19maWVsZCh1MzIsIGZsdXNoKQo+ ICAgCQkJICAgICApLAo+Cj4gICAJICAgIFRQX2Zhc3RfYXNzaWduKAo+IC0JCQkgICBfX2VudHJ5 LT5kZXYgPSByaW5nLT5kZXYtPnByaW1hcnktPmluZGV4Owo+IC0JCQkgICBfX2VudHJ5LT5yaW5n ID0gcmluZy0+aWQ7Cj4gKwkJCSAgIF9fZW50cnktPmRldiA9IHJlcS0+cmluZy0+ZGV2LT5wcmlt YXJ5LT5pbmRleDsKPiArCQkJICAgX19lbnRyeS0+cmluZyA9IHJlcS0+cmluZy0+aWQ7Cj4gKwkJ CSAgIF9fZW50cnktPnVuaXEgPSByZXEtPnVuaXE7Cj4gICAJCQkgICBfX2VudHJ5LT5pbnZhbGlk YXRlID0gaW52YWxpZGF0ZTsKPiAgIAkJCSAgIF9fZW50cnktPmZsdXNoID0gZmx1c2g7Cj4gICAJ CQkgICApLAo+Cj4gLQkgICAgVFBfcHJpbnRrKCJkZXY9JXUsIHJpbmc9JXgsIGludmFsaWRhdGU9 JTA0eCwgZmx1c2g9JTA0eCIsCj4gLQkJICAgICAgX19lbnRyeS0+ZGV2LCBfX2VudHJ5LT5yaW5n LAo+ICsJICAgIFRQX3ByaW50aygiZGV2PSV1LCByaW5nPSV4LCByZXF1ZXN0PSV1LCBpbnZhbGlk YXRlPSUwNHgsIGZsdXNoPSUwNHgiLAo+ICsJCSAgICAgIF9fZW50cnktPmRldiwgX19lbnRyeS0+ cmluZywgX19lbnRyeS0+dW5pcSwKPiAgIAkJICAgICAgX19lbnRyeS0+aW52YWxpZGF0ZSwgX19l bnRyeS0+Zmx1c2gpCj4gICApOwo+Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3JpbmdidWZmZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZm ZXIuYwo+IGluZGV4IGI3NjQ2YjcuLmEyOWZhNDAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCj4gQEAgLTkxLDEwICs5MSwxMSBAQCBzdGF0aWMgdm9pZCBfX2lu dGVsX3JpbmdfYWR2YW5jZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICAgfQo+Cj4g ICBzdGF0aWMgaW50Cj4gLWdlbjJfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywKPiArZ2VuMl9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKPiAgIAkJICAgICAgIHUzMglpbnZhbGlkYXRlX2RvbWFpbnMsCj4gICAJ CSAgICAgICB1MzIJZmx1c2hfZG9tYWlucykKPiAgIHsKPiArCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcgPSByZXEtPnJpbmc7Cj4gICAJdTMyIGNtZDsKPiAgIAlpbnQgcmV0Owo+Cj4gQEAg LTExNywxMCArMTE4LDExIEBAIGdlbjJfcmVuZGVyX3JpbmdfZmx1c2goc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqcmluZywKPiAgIH0KPgo+ICAgc3RhdGljIGludAo+IC1nZW40X3JlbmRlcl9yaW5n X2ZsdXNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gK2dlbjRfcmVuZGVyX3Jpbmdf Zmx1c2goc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gICAJCSAgICAgICB1MzIJ aW52YWxpZGF0ZV9kb21haW5zLAo+ICAgCQkgICAgICAgdTMyCWZsdXNoX2RvbWFpbnMpCj4gICB7 Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwo+ICAgCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7Cj4gICAJdTMyIGNtZDsKPiAgIAlpbnQgcmV0 Owo+IEBAIC0yNDcsOSArMjQ5LDEwIEBAIGludGVsX2VtaXRfcG9zdF9zeW5jX25vbnplcm9fZmx1 c2goc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAgIH0KPgo+ICAgc3RhdGljIGludAo+ IC1nZW42X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4g LSAgICAgICAgICAgICAgICAgICAgICAgICB1MzIgaW52YWxpZGF0ZV9kb21haW5zLCB1MzIgZmx1 c2hfZG9tYWlucykKPiArZ2VuNl9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2Vt X3JlcXVlc3QgKnJlcSwKPiArCQkgICAgICAgdTMyIGludmFsaWRhdGVfZG9tYWlucywgdTMyIGZs dXNoX2RvbWFpbnMpCj4gICB7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVx LT5yaW5nOwo+ICAgCXUzMiBmbGFncyA9IDA7Cj4gICAJdTMyIHNjcmF0Y2hfYWRkciA9IHJpbmct PnNjcmF0Y2guZ3R0X29mZnNldCArIDIgKiBDQUNIRUxJTkVfQllURVM7Cj4gICAJaW50IHJldDsK PiBAQCAtMzE4LDkgKzMyMSwxMCBAQCBnZW43X3JlbmRlcl9yaW5nX2NzX3N0YWxsX3dhKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCj4gICB9Cj4KPiAgIHN0YXRpYyBpbnQKPiAtZ2VuN19y ZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICtnZW43X3Jl bmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAgCQkg ICAgICAgdTMyIGludmFsaWRhdGVfZG9tYWlucywgdTMyIGZsdXNoX2RvbWFpbnMpCj4gICB7Cj4g KwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOwo+ICAgCXUzMiBmbGFn cyA9IDA7Cj4gICAJdTMyIHNjcmF0Y2hfYWRkciA9IHJpbmctPnNjcmF0Y2guZ3R0X29mZnNldCAr IDIgKiBDQUNIRUxJTkVfQllURVM7Cj4gICAJaW50IHJldDsKPiBAQCAtNDAwLDkgKzQwNCwxMCBA QCBnZW44X2VtaXRfcGlwZV9jb250cm9sKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4g ICB9Cj4KPiAgIHN0YXRpYyBpbnQKPiAtZ2VuOF9yZW5kZXJfcmluZ19mbHVzaChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICpyaW5nLAo+ICtnZW44X3JlbmRlcl9yaW5nX2ZsdXNoKHN0cnVjdCBkcm1f aTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAgCQkgICAgICAgdTMyIGludmFsaWRhdGVfZG9tYWlu cywgdTMyIGZsdXNoX2RvbWFpbnMpCj4gICB7Cj4gKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW5nID0gcmVxLT5yaW5nOwo+ICAgCXUzMiBmbGFncyA9IDA7Cj4gICAJdTMyIHNjcmF0Y2hfYWRk ciA9IHJpbmctPnNjcmF0Y2guZ3R0X29mZnNldCArIDIgKiBDQUNIRUxJTkVfQllURVM7Cj4gICAJ aW50IHJldDsKPiBAQCAtMTU0NSwxMCArMTU1MCwxMSBAQCBpOHh4X3JpbmdfcHV0X2lycShzdHJ1 Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICAgfQo+Cj4gICBzdGF0aWMgaW50Cj4gLWJzZF9y aW5nX2ZsdXNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gK2JzZF9yaW5nX2ZsdXNo KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAgCSAgICAgICB1MzIgICAgIGlu dmFsaWRhdGVfZG9tYWlucywKPiAgIAkgICAgICAgdTMyICAgICBmbHVzaF9kb21haW5zKQo+ICAg ewo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKPiAgIAlpbnQg cmV0Owo+Cj4gICAJcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCAyKTsKPiBAQCAtMjM1MSw5 ICsyMzU3LDEwIEBAIHN0YXRpYyB2b2lkIGdlbjZfYnNkX3Jpbmdfd3JpdGVfdGFpbChzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAgCQkgICBfTUFTS0VEX0JJVF9ESVNBQkxFKEdFTjZf QlNEX1NMRUVQX01TR19ESVNBQkxFKSk7Cj4gICB9Cj4KPiAtc3RhdGljIGludCBnZW42X2JzZF9y aW5nX2ZsdXNoKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4gK3N0YXRpYyBpbnQgZ2Vu Nl9ic2RfcmluZ19mbHVzaChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSwKPiAgIAkJ CSAgICAgICB1MzIgaW52YWxpZGF0ZSwgdTMyIGZsdXNoKQo+ICAgewo+ICsJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKPiAgIAl1aW50MzJfdCBjbWQ7Cj4gICAJaW50 IHJldDsKPgo+IEBAIC0yNDYzLDkgKzI0NzAsMTAgQEAgZ2VuNl9yaW5nX2Rpc3BhdGNoX2V4ZWNi dWZmZXIoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPgo+ICAgLyogQmxpdHRlciBzdXBw b3J0IChTYW5keUJyaWRnZSspICovCj4KPiAtc3RhdGljIGludCBnZW42X3JpbmdfZmx1c2goc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKPiArc3RhdGljIGludCBnZW42X3JpbmdfZmx1c2go c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCj4gICAJCQkgICB1MzIgaW52YWxpZGF0 ZSwgdTMyIGZsdXNoKQo+ICAgewo+ICsJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJl cS0+cmluZzsKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcmluZy0+ZGV2Owo+ICAgCXVp bnQzMl90IGNtZDsKPiAgIAlpbnQgcmV0Owo+IEBAIC0yODc5LDExICsyODg3LDExIEBAIGludGVs X3JpbmdfZmx1c2hfYWxsX2NhY2hlcyhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkK PiAgIAlpZiAoIXJpbmctPmdwdV9jYWNoZXNfZGlydHkpCj4gICAJCXJldHVybiAwOwo+Cj4gLQly ZXQgPSByaW5nLT5mbHVzaChyaW5nLCAwLCBJOTE1X0dFTV9HUFVfRE9NQUlOUyk7Cj4gKwlyZXQg PSByaW5nLT5mbHVzaChyZXEsIDAsIEk5MTVfR0VNX0dQVV9ET01BSU5TKTsKPiAgIAlpZiAocmV0 KQo+ICAgCQlyZXR1cm4gcmV0Owo+Cj4gLQl0cmFjZV9pOTE1X2dlbV9yaW5nX2ZsdXNoKHJpbmcs IDAsIEk5MTVfR0VNX0dQVV9ET01BSU5TKTsKPiArCXRyYWNlX2k5MTVfZ2VtX3JpbmdfZmx1c2go cmVxLCAwLCBJOTE1X0dFTV9HUFVfRE9NQUlOUyk7Cj4KPiAgIAlyaW5nLT5ncHVfY2FjaGVzX2Rp cnR5ID0gZmFsc2U7Cj4gICAJcmV0dXJuIDA7Cj4gQEAgLTI5MDAsMTEgKzI5MDgsMTEgQEAgaW50 ZWxfcmluZ19pbnZhbGlkYXRlX2FsbF9jYWNoZXMoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEpCj4gICAJaWYgKHJpbmctPmdwdV9jYWNoZXNfZGlydHkpCj4gICAJCWZsdXNoX2RvbWFp bnMgPSBJOTE1X0dFTV9HUFVfRE9NQUlOUzsKPgo+IC0JcmV0ID0gcmluZy0+Zmx1c2gocmluZywg STkxNV9HRU1fR1BVX0RPTUFJTlMsIGZsdXNoX2RvbWFpbnMpOwo+ICsJcmV0ID0gcmluZy0+Zmx1 c2gocmVxLCBJOTE1X0dFTV9HUFVfRE9NQUlOUywgZmx1c2hfZG9tYWlucyk7Cj4gICAJaWYgKHJl dCkKPiAgIAkJcmV0dXJuIHJldDsKPgo+IC0JdHJhY2VfaTkxNV9nZW1fcmluZ19mbHVzaChyaW5n LCBJOTE1X0dFTV9HUFVfRE9NQUlOUywgZmx1c2hfZG9tYWlucyk7Cj4gKwl0cmFjZV9pOTE1X2dl bV9yaW5nX2ZsdXNoKHJlcSwgSTkxNV9HRU1fR1BVX0RPTUFJTlMsIGZsdXNoX2RvbWFpbnMpOwo+ Cj4gICAJcmluZy0+Z3B1X2NhY2hlc19kaXJ0eSA9IGZhbHNlOwo+ICAgCXJldHVybiAwOwo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKPiBpbmRleCAyZDA1OWQxLi41NWY2 ZjM1IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IEBAIC0x NTAsNyArMTUwLDcgQEAgc3RydWN0ICBpbnRlbF9lbmdpbmVfY3Mgewo+Cj4gICAJdm9pZAkJKCp3 cml0ZV90YWlsKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAo+ICAgCQkJCSAgICAgIHUz MiB2YWx1ZSk7Cj4gLQlpbnQgX19tdXN0X2NoZWNrICgqZmx1c2gpKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcsCj4gKwlpbnQgX19tdXN0X2NoZWNrICgqZmx1c2gpKHN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqcmVxLAo+ICAgCQkJCSAgdTMyCWludmFsaWRhdGVfZG9tYWlucywKPiAg IAkJCQkgIHUzMglmbHVzaF9kb21haW5zKTsKPiAgIAlpbnQJCSgqYWRkX3JlcXVlc3QpKHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwo+CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=