From mboxrd@z Thu Jan 1 00:00:00 1970 From: Arun Siluvery Subject: Re: [PATCH] drm/i915: Expose exec parameter to force non IA-Coherent for Gen9+ Date: Wed, 13 Jan 2016 16:09:11 +0000 Message-ID: <569676A7.4070501@linux.intel.com> References: <1452681879-1645-1-git-send-email-artur.harasimiuk@intel.com> <20160113125329.GA3541@nuc-i3427.alporthouse.com> <56965AF9.40802@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 018386E953 for ; Wed, 13 Jan 2016 08:10:09 -0800 (PST) In-Reply-To: <56965AF9.40802@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dave Gordon , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMTMvMDEvMjAxNiAxNDoxMSwgRGF2ZSBHb3Jkb24gd3JvdGU6Cj4gT24gMTMvMDEvMTYgMTI6 NTMsIENocmlzIFdpbHNvbiB3cm90ZToKPj4gT24gV2VkLCBKYW4gMTMsIDIwMTYgYXQgMTE6NDQ6 MzlBTSArMDEwMCwgQXJ0dXIgSGFyYXNpbWl1ayB3cm90ZToKPj4+IFN0YXJ0aW5nIGZyb20gR2Vu OSB3ZSBjYW4gdXNlIElBLUNvaGVyZW50IGNhY2hlcy4gQ29oZXJlbmNlIG1heSBiZSBub3QKPj4+ IHJlcXVpcmVkIGluIGNlcnRhaW4gY2FzZXMgYW5kIGNhbiBiZSBkaXNhYmxlZCBpbiBhbiBlYXN5 IHdheS4gVG8gZG8gdGhpcwo+Pj4gd2UgY2FuIHNldCBIRENfRk9SQ0VfTk9OX0NPSEVSRU5UIGJp dCBpbiBIRENfQ0hJQ0tFTjAgcmVnaXN0ZXIuIFRoaXMKPj4+IHJlZ2lzdGVyIGlzIHBhcnQgb2Yg SFcgY29udGV4dCwgaG93ZXZlciBpdCBpcyBwcml2YXRlIGFuZCBjYW5ub3QgYmUKPj4+IHByb2dy YW1tZWQgZnJvbSBub24tcHJpdmlsZWdlZCBiYXRjaCBidWZmZXIuCj4+PgpMb29rcyBsaWtlIHdo YXQgeW91IG5lZWQgaXMgdG8gYWRkIHRoaXMgcmVnaXN0ZXIgdG8gSFcgd2hpdGVsaXN0IHNvIHRo YXQgClVNRCBjYW4gcHJvZ3JhbSByZXF1aXJlZCBiZWhhdmlvdXIgYmV0d2VlbiBiYXRjaGVzIGJ1 dCB5b3UgbmVlZCBzdHJvbmcgCmp1c3RpZmljYXRpb24gYW5kIGFwcHJvdmFsIHRvIHdoaXRlbGlz dCBhIHJlZ2lzdGVyLiBJcyB0aGVyZSBhIHJlYWwgCnVzZWNhc2Ugb3IgdGhpcyBpcyBvbmx5IGZv ciBkZWJ1Zz8KCnJlZ2FyZHMKQXJ1bgoKPj4+IE5ldyBwYXJhbWV0ZXIgaXMgdG8gb3ZlcnJpZGUg ZGVmYXVsdCBwcm9ncmFtbWluZyBhbmQgYWxsb3cgVU1EIHRvCj4+PiBkZWNpZGUgd2hldGhlciBJ QS1Db2hlcmVuY3kgaXMgbm90IG5lZWRlZCBmb3Igc3VibWl0dGVkIGJhdGNoIGJ1ZmZlci4KPj4+ IFdoZW4gZmxhZyBpcyBzZXQgS01EIGVtaXRzIGNvbW1hbmRzIHRvIGRpc2FibGUgY29oZXJlbmN5 IGJlZm9yZSBiYXRjaAo+Pj4gYnVmZmVyIGV4ZWN1dGlvbiBzdGFydHMuIEFmdGVyIGV4ZWN1dGlv biBmaW5pc2hlZCBzdGF0ZSBpcyByZXN0b3JlZC4KPj4KPj4gV2hhdCdzIHRoZSB1c2VjYXNlIGZv ciBiYXRjaCB2cyBjb250ZXh0IGZsYWc/Cj4+Cj4+PiBXaGVuIFdhRm9yY2VFbmFibGVOb25Db2hl cmVudCBpcyBwcm9ncmFtbWVkLCBpdCBkb2VzIG5vdCBtYWtlIHNlbnNlIHRvCj4+PiBhbGxvdyBm b3IgY29oZXJlbmN5IGJlY2F1c2UgdGhpcyBjYW4gbGVhZCB0byBHUFUgaGFuZ3MuIEluIHN1Y2gK Pj4+IHNpdHVhdGlvbiBmbGFnIGlzIGlnbm9yZWQuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1ieTogQXJ0 dXIgSGFyYXNpbWl1ayA8YXJ0dXIuaGFyYXNpbWl1a0BpbnRlbC5jb20+Cj4+PiAtLS0KPj4+ICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYyAgICAgICAgICAgIHwgIDMgKysrCj4+PiAg IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICB8ICA0ICsrKysKPj4+ ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jIHwgIDggKysrKysr KysKPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgMjgK Pj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysKPj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcmluZ2J1ZmZlci5jICAgIHwgIDcgKysrKysrKwo+Pj4gICBpbmNsdWRlL3VhcGkv ZHJtL2k5MTVfZHJtLmggICAgICAgICAgICAgICAgfCAgOCArKysrKysrLQo+Pj4gICA2IGZpbGVz IGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDEgZGVsZXRpb24oLSkKPj4+Cj4+PiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RtYS5jCj4+PiBpbmRleCA0NGE4OTZjLi43OWVjZjIwIDEwMDY0NAo+Pj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+Pj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kbWEuYwo+Pj4gQEAgLTE3Miw2ICsxNzIsOSBAQCBzdGF0aWMgaW50 IGk5MTVfZ2V0cGFyYW0oc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPj4+IHZvaWQgKmRhdGEsCj4+ PiAgICAgICBjYXNlIEk5MTVfUEFSQU1fSEFTX0VYRUNfU09GVFBJTjoKPj4+ICAgICAgICAgICB2 YWx1ZSA9IDE7Cj4+PiAgICAgICAgICAgYnJlYWs7Cj4+PiArICAgIGNhc2UgSTkxNV9QQVJBTV9I QVNfRVhFQ19GT1JDRV9OT05fQ09IRVJFTlQ6Cj4+PiArICAgICAgICB2YWx1ZSA9IElOVEVMX0lO Rk8oZGV2KS0+Z2VuID49IDk7Cj4+Cj4+IFRoaXMgc2hvdWxkIGFjdHVhbGx5IHJlcG9ydCB0aGUg dy9hIHN0YXR1cywgb3IgZWxzZSB5b3UgbmVlZCB0byBwcm92aWRlCj4+IHNvbWUgb3RoZXIgbWVh bnMgZm9yIHVzZXJzcGFjZSB0byBkZXRlY3QgaWYgaXQgY2FuIHN1Y2Nlc3NmdWxseSBmb3JjZQo+ PiBub24tY29oZXJlbmN5Lgo+Cj4gQWdyZWVkOyBlc3BlY2lhbGx5IHdpdGggdGhlIG5hbWluZyB1 c2VkLCBzb21ldGhpbmcgY2FsbGVkCj4gKkZvcmNlKlNvbWV0aGluZyBzaG91bGRuJ3QgYmUgcmVw b3J0ZWQgYXMgYXZhaWxhYmxlIGJ1dCB0aGVuIHNpbGVudGx5Cj4gaWdub3JlZCBvbiB1c2UgYmVj YXVzZSBzb21lIHdvcmthcm91bmQgaXMgaW4gZWZmZWN0LiBJZiB1c2VyIGNvZGUga25vd3MKPiB0 aGF0IGl0IHdhbnRzIHRvICpmb3JjZSogdGhlIHVzZSBvZiBhIHBhcnRpY3VsYXIgbW9kZSB0aGVu IGl0IGhhcyB0bwo+IGtub3cgaWYgaXQgZG9lc24ndCB0YWtlIGVmZmVjdC4KPgo+IE9UT0ggaXMg aXQgcmVhbGx5ICJGb3JjZSIsIG9yIGlzIGl0ICJBbGxvdyI/IE9yICJSZXF1ZXN0Iiwgb3IgIlBy ZWZlciI/Cj4KPj4+ICsgICAgICAgIGJyZWFrOwo+Pj4gICAgICAgZGVmYXVsdDoKPj4+ICAgICAg ICAgICBEUk1fREVCVUcoIlVua25vd24gcGFyYW1ldGVyICVkXG4iLCBwYXJhbS0+cGFyYW0pOwo+ Pj4gICAgICAgICAgIHJldHVybiAtRUlOVkFMOwo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+Pj4gaW5kZXggMTA0YmQxOC4uNzFkNzM5YyAxMDA2NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKPj4+IEBAIC04ODYsNiArODg2LDEwIEBAIHN0cnVjdCBpbnRlbF9jb250ZXh0IHsKPj4+ ICAgICAgIH0gZW5naW5lW0k5MTVfTlVNX1JJTkdTXTsKPj4+Cj4+PiAgICAgICBzdHJ1Y3QgbGlz dF9oZWFkIGxpbms7Cj4+PiArCj4+PiArICAgIHN0cnVjdCB7Cj4+PiArICAgICAgICB1bnNpZ25l ZCBpbnQgV2FGb3JjZUVuYWJsZU5vbkNvaGVyZW50OjE7Cj4+PiArICAgIH0gd2E7Cj4+PiAgIH07 Cj4+Pgo+Pj4gICBlbnVtIGZiX29wX29yaWdpbiB7Cj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+Pj4gaW5kZXggZDQ2OWM0Ny4uMjk5N2E1OCAxMDA2 NDQKPj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwo+ Pj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCj4+PiBA QCAtMTQwMCw2ICsxNDAwLDEwIEBAIGk5MTVfZ2VtX2RvX2V4ZWNidWZmZXIoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKPj4+IHZvaWQgKmRhdGEsCj4+PiAgICAgICBpZiAoIWk5MTVfZ2VtX2NoZWNr X2V4ZWNidWZmZXIoYXJncykpCj4+PiAgICAgICAgICAgcmV0dXJuIC1FSU5WQUw7Cj4+Pgo+Pj4g KyAgICBpZiAoKGFyZ3MtPmZsYWdzICYgSTkxNV9FWEVDX0ZPUkNFX05PTl9DT0hFUkVOVCkgJiYK Pj4+ICsgICAgICAgIElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgOSkKPj4+ICsgICAgICAgIHJldHVy biAtRUlOVkFMOwo+Pgo+PiBJdCB3b3VsZCBzZWVtIGVhc2llciB0byBzaW1wbHkgaWdub3JlIHRo aXMgcmVxdWVzdCBpbiBhbGwgc2l0dWF0aW9ucwo+PiB3aGVyZSBpdCBkb2Vzbid0IGFwcGx5LCBy YXRoZXIgdGhhbiB0aGUgY3VycmVudCBzZWxlY3QgZmV3Lgo+Pgo+Pj4gICAgICAgcmV0ID0gdmFs aWRhdGVfZXhlY19saXN0KGRldiwgZXhlYywgYXJncy0+YnVmZmVyX2NvdW50KTsKPj4+ICAgICAg IGlmIChyZXQpCj4+PiAgICAgICAgICAgcmV0dXJuIHJldDsKPj4+IEBAIC0xNDk0LDYgKzE0OTgs MTAgQEAgaTkxNV9nZW1fZG9fZXhlY2J1ZmZlcihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+Pj4g dm9pZCAqZGF0YSwKPj4+Cj4+PiAgICAgICBpOTE1X2dlbV9jb250ZXh0X3JlZmVyZW5jZShjdHgp Owo+Pj4KPj4+ICsgICAgLyogQ2xlYXIgdGhpcyBmbGFnIHdoZW4gV0EgaXMgcHJvZ3JhbW1lZCAq Lwo+Pj4gKyAgICBpZiAoY3R4LT53YS5XYUZvcmNlRW5hYmxlTm9uQ29oZXJlbnQpCj4+PiArICAg ICAgICBhcmdzLT5mbGFncyAmPSB+STkxNV9FWEVDX0ZPUkNFX05PTl9DT0hFUkVOVDsKPj4+ICsK Pgo+IFRoaXMgc2VlbXMgYmFjay10by1mcm9udCAoSSdtIG9ubHkgbG9va2luZyBhdCB0aGUgbmFt ZXMsIHdpdGhvdXQKPiBjaGVja2luZyB3aGF0IHRoaXMgYml0IHJlYWxseSBkb2VzKSwgYnV0IHN1 cmVseSBpZiB0aGUKPiAiRm9yY2VFbmFibGVOb25Db2hlcmVudCIgd29ya2Fyb3VuZCBpcyBpbiBl ZmZlY3QgaXQgc2hvdWxkIGZvcmNlIHRoZQo+ICJGT1JDRV9OT05fQ09IRVJFTlQiIGZsYWcgT04s IG5vdCBPRkY/Cj4KPiBBbHNvLCB0aGUgdXNlIG9mIGEgcGVyLWJhdGNoIGJvb2wgZG9lc24ndCBz ZWVtIHRvIGxlYXZlIGFueSBkb24ndC1jYXJlCj4gb3B0aW9uLiBJcyB0aGVyZSBhbnkgdXNlIGNh c2Ugd2hlcmUgdGhlIHVzZXIgY29kZSBhYnNvbHV0ZWx5ICpkb2Vzbid0Kgo+IHdhbnQgdGhpcyBu b24tY29oZXJlbmN5PyBPciB3aGljaCBvZiB0aGVzZSBhcmUgdXNlZnVsOgo+Cj4gMS4gICAgUmVx dWlyZSBub24tY29oZXJlbnQsIGZhaWwgaWYgbm90IHBvc3NpYmxlCj4gMi4gICAgUmVxdWVzdCBu b24tY29oZXJlbnQsIHdhcm4gbWUgYnV0IGNvbnRpbnVlIGlmIG5vdCBwb3NzaWJsZQo+IDMuICAg IFByZWZlciBub24tY29oZXJlbnQsIGlnbm9yZSBmYWlsdXJlIChkb24ndCBldmVuIHRlbGwgbWUp Cj4gNC4gICAgRG9uJ3QgY2FyZSwgdXNlIHN5c3RlbSBkZWZhdWx0Cj4gNS4gICAgUHJlZmVyIGNv aGVyZW50LCBpZ25vcmUgZmFpbHVyZSAoZG9uJ3QgdGVsbCBtZSkKPiA2LiAgICBSZXF1ZXN0IGNv aGVyZW50LCB3YXJuIG1lIChidXQgY29udGludWUpIGlmIG5vdCBwb3NzaWJsZQo+IDcuICAgIFJl cXVpcmUgY29oZXJlbnQsIGZhaWwgaWYgbm90IHBvc3NpYmxlCj4KPiBUaGVuIHdlIGp1c3QgbmVl ZCB0byBtYWtlIHN1cmUgdGhlIG5hbWVzIG1lYW4gd2hhdCB0aGV5IHdvdWxkIGFwcGVhciB0by4K Pgo+IC5EYXZlLgo+Cj4+PiAgICAgICBpZiAoY3R4LT5wcGd0dCkKPj4+ICAgICAgICAgICB2bSA9 ICZjdHgtPnBwZ3R0LT5iYXNlOwo+Pj4gICAgICAgZWxzZQo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5jCj4+PiBpbmRleCBhYjM0NGUwLi40NDgyYTZhIDEwMDY0NAo+Pj4gLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2xyYy5jCj4+PiBAQCAtODc5LDYgKzg3OSwyNCBAQCBpbnQgaW50ZWxfbG9naWNh bF9yaW5nX3Jlc2VydmVfc3BhY2Uoc3RydWN0Cj4+PiBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVx dWVzdCkKPj4+ICAgICAgIHJldHVybiBpbnRlbF9sb2dpY2FsX3JpbmdfYmVnaW4ocmVxdWVzdCwg MCk7Cj4+PiAgIH0KPj4+Cj4+PiArc3RhdGljIGlubGluZSB2b2lkCj4+PiAraW50ZWxfbHJfZW1p dF9mb3JjZV9ub25fY29oZXJlbnQoc3RydWN0IGk5MTVfZXhlY2J1ZmZlcl9wYXJhbXMgKnBhcmFt cywKPj4+ICsgICAgICAgIHN0cnVjdCBkcm1faTkxNV9nZW1fZXhlY2J1ZmZlcjIgKmFyZ3MsIGJv b2wgZm9yY2UpCj4+PiArewo+Pj4gKyAgICBpZiAoYXJncy0+ZmxhZ3MgJiBJOTE1X0VYRUNfRk9S Q0VfTk9OX0NPSEVSRU5UKSB7Cj4+PiArICAgICAgICBzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAq cmluZ2J1ZiA9Cj4+PiArICAgICAgICAgICAgICAgIHBhcmFtcy0+Y3R4LT5lbmdpbmVbcGFyYW1z LT5yaW5nLT5pZF0ucmluZ2J1ZjsKPj4KPj4gVGhpcyBzaG91bGQgYmUgdXNpbmcgdGhlIHJlcXVl c3QtPnJpbmdidWYKPj4KPj4+ICsKPj4KPj4gTWlzc2luZyByaW5nX2JlZ2luLgo+Pgo+Pj4gKyAg ICAgICAgaW50ZWxfbG9naWNhbF9yaW5nX2VtaXQocmluZ2J1ZiwgTUlfTk9PUCk7Cj4+PiArICAg ICAgICBpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBNSV9MT0FEX1JFR0lTVEVSX0lN TSgxKSk7Cj4+PiArICAgICAgICBpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChyaW5nYnVmLCBIRENf Q0hJQ0tFTjAucmVnKTsKPj4KPj4gaW50ZWxfbG9naWNhbF9yaW5nX2VtaXRfcmVnKHJpbmdidWYs IEhEQ19DSElDS0VOMCk7Cj4+Cj4+PiArICAgICAgICBpbnRlbF9sb2dpY2FsX3JpbmdfZW1pdChy aW5nYnVmLCBmb3JjZSA/Cj4+PiArICAgICAgICAgICAgICAgIF9NQVNLRURfQklUX0VOQUJMRShI RENfRk9SQ0VfTk9OX0NPSEVSRU5UKSA6Cj4+PiArICAgICAgICAgICAgICAgIF9NQVNLRURfQklU X0RJU0FCTEUoSERDX0ZPUkNFX05PTl9DT0hFUkVOVCkpOwo+Pj4gKyAgICAgICAgaW50ZWxfbG9n aWNhbF9yaW5nX2FkdmFuY2UocmluZ2J1Zik7Cj4+PiArICAgIH0KPj4+ICt9Cj4+PiArCj4+PiAg IC8qKgo+Pj4gICAgKiBleGVjbGlzdHNfc3VibWlzc2lvbigpIC0gc3VibWl0IGEgYmF0Y2hidWZm ZXIgZm9yIGV4ZWN1dGlvbiwKPj4+IEV4ZWNsaXN0cyBzdHlsZQo+Pj4gICAgKiBAZGV2OiBEUk0g ZGV2aWNlLgo+Pj4gQEAgLTk1OSw2ICs5NzcsOCBAQCBpbnQgaW50ZWxfZXhlY2xpc3RzX3N1Ym1p c3Npb24oc3RydWN0Cj4+PiBpOTE1X2V4ZWNidWZmZXJfcGFyYW1zICpwYXJhbXMsCj4+PiAgICAg ICAgICAgZGV2X3ByaXYtPnJlbGF0aXZlX2NvbnN0YW50c19tb2RlID0gaW5zdHBfbW9kZTsKPj4+ ICAgICAgIH0KPj4+Cj4+PiArICAgIGludGVsX2xyX2VtaXRfZm9yY2Vfbm9uX2NvaGVyZW50KHBh cmFtcywgYXJncywgdHJ1ZSk7Cj4+Cj4+IFRoaXMgaXMgYWZ0ZXIgY2FjaGUgaW52YWxpZGF0aW9u LiBEbyB5b3UgbmVlZCB0byBzZW5kIGFub3RoZXIgY2FjaGUKPj4gaW52YWxpZGF0ZT8KPj4KPj4+ ICsKPj4+ICAgICAgIGV4ZWNfc3RhcnQgPSBwYXJhbXMtPmJhdGNoX29ial92bV9vZmZzZXQgKwo+ Pj4gICAgICAgICAgICAgICAgYXJncy0+YmF0Y2hfc3RhcnRfb2Zmc2V0Owo+Pj4KPj4+IEBAIC05 NjYsNiArOTg2LDggQEAgaW50IGludGVsX2V4ZWNsaXN0c19zdWJtaXNzaW9uKHN0cnVjdAo+Pj4g aTkxNV9leGVjYnVmZmVyX3BhcmFtcyAqcGFyYW1zLAo+Pj4gICAgICAgaWYgKHJldCkKPj4+ICAg ICAgICAgICByZXR1cm4gcmV0Owo+Pj4KPj4+ICsgICAgaW50ZWxfbHJfZW1pdF9mb3JjZV9ub25f Y29oZXJlbnQocGFyYW1zLCBhcmdzLCBmYWxzZSk7Cj4+Cj4+IFlvdSBhbnRpY2lwYXRlIGEgY29u dGV4dCBzd2l0Y2hpbmcgYmV0d2VlbiBtb2RlcyBiZXR3ZWVuIGV2ZXJ5IGJhdGNoPwo+PiBUaGlz IGdvZXMgYmFjayB0byB3aGV0aGVyIGl0IGlzIGEgY29udGV4dCBmbGFnIHZzIGJhdGNoIGZsYWcs IGFuZAo+PiB3aGV0aGVyIHdlIHNob3VsZCBjYWNoZSB0aGUgcmVnaXN0ZXIgdmFsdWUuCj4+Cj4+ PiArCj4+PiAgICAgICB0cmFjZV9pOTE1X2dlbV9yaW5nX2Rpc3BhdGNoKHBhcmFtcy0+cmVxdWVz dCwKPj4+IHBhcmFtcy0+ZGlzcGF0Y2hfZmxhZ3MpOwo+Pj4KPj4+ICAgICAgIGk5MTVfZ2VtX2V4 ZWNidWZmZXJfbW92ZV90b19hY3RpdmUodm1hcywgcGFyYW1zLT5yZXF1ZXN0KTsKPj4+IEBAIC0x MTEyLDYgKzExMzQsOSBAQCBzdGF0aWMgaW50Cj4+PiBpbnRlbF9sb2dpY2FsX3Jpbmdfd29ya2Fy b3VuZHNfZW1pdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPj4+ICAgICAgIHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7Cj4+PiAgICAgICBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+Pj4gICAgICAgc3RydWN0 IGk5MTVfd29ya2Fyb3VuZHMgKncgPSAmZGV2X3ByaXYtPndvcmthcm91bmRzOwo+Pj4gKyAgICBz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0gcmVxLT5jdHg7Cj4+PiArCj4+PiArICAgIGN0eC0+ d2EuV2FGb3JjZUVuYWJsZU5vbkNvaGVyZW50ID0gMDsKPj4+Cj4+PiAgICAgICBpZiAody0+Y291 bnQgPT0gMCkKPj4+ICAgICAgICAgICByZXR1cm4gMDsKPj4+IEBAIC0xMTI5LDYgKzExNTQsOSBA QCBzdGF0aWMgaW50Cj4+PiBpbnRlbF9sb2dpY2FsX3Jpbmdfd29ya2Fyb3VuZHNfZW1pdChzdHJ1 Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKPj4+ICAgICAgIGZvciAoaSA9IDA7IGkgPCB3 LT5jb3VudDsgaSsrKSB7Cj4+PiAgICAgICAgICAgaW50ZWxfbG9naWNhbF9yaW5nX2VtaXRfcmVn KHJpbmdidWYsIHctPnJlZ1tpXS5hZGRyKTsKPj4+ICAgICAgICAgICBpbnRlbF9sb2dpY2FsX3Jp bmdfZW1pdChyaW5nYnVmLCB3LT5yZWdbaV0udmFsdWUpOwo+Pj4gKyAgICAgICAgY3R4LT53YS5X YUZvcmNlRW5hYmxlTm9uQ29oZXJlbnQgfD0KPj4+ICsgICAgICAgICAgICAgICAgKHctPnJlZ1tp XS5hZGRyLnJlZyA9PSBIRENfQ0hJQ0tFTjAucmVnKSAmJgo+Pj4gKyAgICAgICAgICAgICAgICAo dy0+cmVnW2ldLnZhbHVlICYgSERDX0ZPUkNFX05PTl9DT0hFUkVOVCk7Cj4+Cj4+IEkgZG9uJ3Qg bGlrZSB0aGlzIHNlY29uZCBndWVzc2luZyBvZiB3aGF0IHcvYSBhcmUgYmVpbmcgYXBwbGllZC4g V2UKPj4gY291bGQganVzdCBhcyBlYXNpbHkgZXhwbGljaXRseSBsaXN0IHRoZSB3L2Egb24gdGhl IGVuZ2luZSAoaS5lLiBhCj4+IHN5bm9wc2lzIG9mIHRoZSB3YSByZWcgbGlzdCwgcGx1cyB0aG9z ZSBzZXR1cCBnbG9iYWxseSkgYW5kIHJlZmVyZW5jZQo+PiB0aGF0IGluc3RlYWQgb2YgY29weWlu ZyB0aGF0IGZsYWcgdG8gZXZlcnkgY29udGV4dC4KPj4gLUNocmlzCj4+Cj4KPiBfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5n IGxpc3QKPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK