From mboxrd@z Thu Jan 1 00:00:00 1970 From: John Harrison Subject: Re: [RFC 21/21] drm/i915: Remove 'obj->ring' Date: Tue, 28 Oct 2014 15:09:07 +0000 Message-ID: <544FB193.30205@Intel.com> References: <1412604925-11290-13-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-14-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-15-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-16-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-17-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-18-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-19-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-20-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-21-git-send-email-John.C.Harrison@Intel.com> <1412604925-11290-22-git-send-email-John.C.Harrison@Intel.com> <20141019141242.GE26941@phenom.ffwll.local> 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 B55BE6E3EF for ; Tue, 28 Oct 2014 08:10:38 -0700 (PDT) In-Reply-To: <20141019141242.GE26941@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: Intel-GFX@Lists.FreeDesktop.Org List-Id: intel-gfx@lists.freedesktop.org T24gMTkvMTAvMjAxNCAxNToxMiwgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBNb24sIE9jdCAw NiwgMjAxNCBhdCAwMzoxNToyNVBNICswMTAwLCBKb2huLkMuSGFycmlzb25ASW50ZWwuY29tIHdy b3RlOgo+PiBGcm9tOiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29tPgo+ Pgo+PiBGb3I6IFZJWi00Mzc3Cj4+IFNpZ25lZC1vZmYtYnk6IEpvaG4uQy5IYXJyaXNvbkBJbnRl bC5jb20KPiBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIHNwbGl0IHVwIGludG8gdGhlIGRpZmZlcmVu dCBwYXJ0czoKPgo+IC0gcy9vYmotPnJpbmcvb2JqLT5sYXN0X3JlYWRfcmVxLT5yaW5nLyBmb3Ig YWxsIHRoZSBjYXNlcyB0aGF0IGp1c3Qgd2FudAo+ICAgIHRoZSBjdXJyZW50IHJpbmcuCj4gLSBz L29iai0+cmluZy9vYmotPmxhc3RfcmVhZF9yZXEvIEkgdGhpbmsgaW4gYSBidW5jaCBvZiBwbGFj ZXMgdGhlIGNvZGUKPiAgICB3b3VsZCBhY3R1YWxseSBiZSBtb3JlIHJlYWRhYmxlIGlmIHdlJ2Qg Y2hlY2sgZm9yIG9iai0+YWN0aXZlIGluc3RlYWQuCj4gLSBBbGwgdGhlIG9kZGJhbGwgc3BlY2lh bCBjYXNlcyBwcm9iYWJseSBkZXNlcnZlIHRoZWlyIG93biBjb21taXQgKyBuaWNlCj4gICAgZXhw bGFuYXRpb24gaW4gdGhlIGNvbW1pdCBtZXNzYWdlIGFib3V0IHdoeSB0aGUgY2hhbmdlIGlzIGNv cnJlY3QuCgpDYW4geW91IGV4cGxhaW4gd2hpY2ggaXMgd2hpY2g/IEFzIGZvciB3aHkgdGhlIGNo YW5nZSBpcyBjb3JyZWN0LCBpdCBpcyAKbm90IGEgZnVuY3Rpb25hbCBjaGFuZ2UuIG9iai0+cmlu ZyB3YXMgYXNzaWduZWQgd2l0aCAKb2JqLT5sYXN0X3JlYWRfc2Vxbm8gYW5kIGNsZWFyZWQgd2l0 aCBvYmotPmxhc3RfcmVhZF9zZXFuby4gVGh1cyAKcXVlcnlpbmcgb2JqLT5yaW5nIGlzIGVxdWl2 YWxlbnQgdG8gcXVlcnlpbmcgb2JqLT5sYXN0X3JlYWRfcmVxLT5yaW5nIGluIAphbGwgY2FzZXMu IEdpdmVuIHRoYXQgdGhlIHJpbmcgaXMgbm93IGF2YWlsYWJsZSBmcm9tIG9iai0+bHJyLCBpdCBz ZWVtZWQgCnJlZHVuZGFudCB0byBhbHNvIGhhdmUgaXQgZXhwbGljaXRseSBzYXZlZCBpbiBvYmot PnJpbmcsIGhlbmNlIHRoZSBwYXRjaCAKdG8gcmVtb3ZlIGl0LgoKQUZBSUNULCB0aGVyZSBhcmUg dHdvIGV4YW1wbGVzIGluIGRlYnVnZnMgdGhhdCBzaG91bGQganVzdCBiZSBxdWVyeWluZyAKb2Jq LT5hY3RpdmUuIFRoZSByZXN0IGFyZSBwcmV0dHkgbXVjaCB3YW50aW5nIHRoZSBjdXJyZW50bHkg aW4gdXNlIHJpbmcgCmFuZC9vciBhcmUgYWJvdXQgdG8gdXNlIGxhc3RfcmVhZF9yZXEgYW55d2F5 LiBJdCBzZWVtcyBtb3JlIHNlbnNpYmxlIHRvIApzYXkgJ2lmKG9iai0+bHJyKSB7IGRvX3N0dWZm KG9iai0+bHJyKTsgfScgdGhhbiAnaWYob2JqLT5hY3RpdmUpIHsgCmRvX3N0dWZmKG9iai0+bHJy KTsgfScuIE5vdGhpbmcgbG9va3MgcGFydGljdWxhcmx5ICdvZGRiYWxsJyB0byBtZSEKCgo+IENo ZWVycywgRGFuaWVsCj4+IC0tLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdm cy5jICAgICB8ICAgIDkgKysrKystLS0tCj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCAgICAgICAgIHwgICAgMiAtLQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2Vt LmMgICAgICAgICB8ICAgMzIgKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLQo+PiAgIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYyB8ICAgMTIgKysrKysrKysrKyst Cj4+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyAgIHwgICAgMyArKy0K Pj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgICAgfCAgIDE1ICsrKysr KysrLS0tLS0tLQo+PiAgIDYgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0aW9ucygrKSwgMjcgZGVs ZXRpb25zKC0pCj4+Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+IGluZGV4IGRm NTM1MTUuLmIxZDk4OWYgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+ IEBAIC0xNjgsOCArMTY4LDkgQEAgZGVzY3JpYmVfb2JqKHN0cnVjdCBzZXFfZmlsZSAqbSwgc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPj4gICAJCSp0ID0gJ1wwJzsKPj4gICAJCXNl cV9wcmludGYobSwgIiAoJXMgbWFwcGFibGUpIiwgcyk7Cj4+ICAgCX0KPj4gLQlpZiAob2JqLT5y aW5nICE9IE5VTEwpCj4+IC0JCXNlcV9wcmludGYobSwgIiAoJXMpIiwgb2JqLT5yaW5nLT5uYW1l KTsKPj4gKwlpZiAob2JqLT5sYXN0X3JlYWRfcmVxICE9IE5VTEwpCj4+ICsJCXNlcV9wcmludGYo bSwgIiAoJXMpIiwKPj4gKwkJCSAgIGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jpbmcob2JqLT5sYXN0 X3JlYWRfcmVxKS0+bmFtZSk7Cj4+ICAgCWlmIChvYmotPmZyb250YnVmZmVyX2JpdHMpCj4+ICAg CQlzZXFfcHJpbnRmKG0sICIgKGZyb250YnVmZmVyOiAweCUwM3gpIiwgb2JqLT5mcm9udGJ1ZmZl cl9iaXRzKTsKPj4gICB9Cj4+IEBAIC0zMzYsNyArMzM3LDcgQEAgc3RhdGljIGludCBwZXJfZmls ZV9zdGF0cyhpbnQgaWQsIHZvaWQgKnB0ciwgdm9pZCAqZGF0YSkKPj4gICAJCQlpZiAocHBndHQt PmZpbGVfcHJpdiAhPSBzdGF0cy0+ZmlsZV9wcml2KQo+PiAgIAkJCQljb250aW51ZTsKPj4gICAK Pj4gLQkJCWlmIChvYmotPnJpbmcpIC8qIFhYWCBwZXItdm1hIHN0YXRpc3RpYyAqLwo+PiArCQkJ aWYgKG9iai0+bGFzdF9yZWFkX3JlcSkgLyogWFhYIHBlci12bWEgc3RhdGlzdGljICovCj4+ICAg CQkJCXN0YXRzLT5hY3RpdmUgKz0gb2JqLT5iYXNlLnNpemU7Cj4+ICAgCQkJZWxzZQo+PiAgIAkJ CQlzdGF0cy0+aW5hY3RpdmUgKz0gb2JqLT5iYXNlLnNpemU7Cj4+IEBAIC0zNDYsNyArMzQ3LDcg QEAgc3RhdGljIGludCBwZXJfZmlsZV9zdGF0cyhpbnQgaWQsIHZvaWQgKnB0ciwgdm9pZCAqZGF0 YSkKPj4gICAJfSBlbHNlIHsKPj4gICAJCWlmIChpOTE1X2dlbV9vYmpfZ2d0dF9ib3VuZChvYmop KSB7Cj4+ICAgCQkJc3RhdHMtPmdsb2JhbCArPSBvYmotPmJhc2Uuc2l6ZTsKPj4gLQkJCWlmIChv YmotPnJpbmcpCj4+ICsJCQlpZiAob2JqLT5sYXN0X3JlYWRfcmVxKQo+PiAgIAkJCQlzdGF0cy0+ YWN0aXZlICs9IG9iai0+YmFzZS5zaXplOwo+PiAgIAkJCWVsc2UKPj4gICAJCQkJc3RhdHMtPmlu YWN0aXZlICs9IG9iai0+YmFzZS5zaXplOwo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPj4gaW5k ZXggMDc5MDU5My4uY2RiYmRlYiAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4+IEBA IC0xODU5LDggKzE4NTksNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCB7Cj4+ICAgCXZv aWQgKmRtYV9idWZfdm1hcHBpbmc7Cj4+ICAgCWludCB2bWFwcGluZ19jb3VudDsKPj4gICAKPj4g LQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwo+PiAtCj4+ICAgCS8qKiBCcmVhZGNydW1i IG9mIGxhc3QgcmVuZGVyaW5nIHRvIHRoZSBidWZmZXIuICovCj4+ICAgCXN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqbGFzdF9yZWFkX3JlcTsKPj4gICAJc3RydWN0IGRybV9pOTE1X2dlbV9y ZXF1ZXN0ICpsYXN0X3dyaXRlX3JlcTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4+IGluZGV4 IGQ0MGRhZDcuLjU2MWZiODEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZ2VtLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+PiBAQCAt MjE4NCwxNCArMjE4NCwxOCBAQCBzdGF0aWMgdm9pZAo+PiAgIGk5MTVfZ2VtX29iamVjdF9tb3Zl X3RvX2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAo+PiAgIAkJCSAgICAg ICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+PiAgIHsKPj4gLQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX3JlcXVlc3QgKnJlcSA9IGludGVsX3JpbmdfZ2V0X3JlcXVlc3QocmluZyk7Cj4+ICsJ c3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXE7Cj4+ICsJc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqb2xkX3Jpbmc7Cj4+ICAgCj4+ICAgCUJVR19PTihyaW5nID09IE5VTEwpOwo+PiAtCWlm IChvYmotPnJpbmcgIT0gcmluZyAmJiBvYmotPmxhc3Rfd3JpdGVfcmVxKSB7Cj4+ICsKPj4gKwly ZXEgPSBpbnRlbF9yaW5nX2dldF9yZXF1ZXN0KHJpbmcpOwo+PiArCW9sZF9yaW5nID0gaTkxNV9n ZW1fcmVxdWVzdF9nZXRfcmluZyhvYmotPmxhc3RfcmVhZF9yZXEpOwo+PiArCj4+ICsJaWYgKG9s ZF9yaW5nICE9IHJpbmcgJiYgb2JqLT5sYXN0X3dyaXRlX3JlcSkgewo+PiAgIAkJLyogS2VlcCB0 aGUgcmVxdWVzdCByZWxhdGl2ZSB0byB0aGUgY3VycmVudCByaW5nICovCj4+ICAgCQlvYmotPmxh c3Rfd3JpdGVfcmVxID0gcmVxOwo+PiAgIAl9Cj4+IC0Jb2JqLT5yaW5nID0gcmluZzsKPj4gICAK Pj4gICAJLyogQWRkIGEgcmVmZXJlbmNlIGlmIHdlJ3JlIG5ld2x5IGVudGVyaW5nIHRoZSBhY3Rp dmUgbGlzdC4gKi8KPj4gICAJaWYgKCFvYmotPmFjdGl2ZSkgewo+PiBAQCAtMjIzMCw3ICsyMjM0 LDYgQEAgaTkxNV9nZW1fb2JqZWN0X21vdmVfdG9faW5hY3RpdmUoc3RydWN0IGRybV9pOTE1X2dl bV9vYmplY3QgKm9iaikKPj4gICAJaW50ZWxfZmJfb2JqX2ZsdXNoKG9iaiwgdHJ1ZSk7Cj4+ICAg Cj4+ICAgCWxpc3RfZGVsX2luaXQoJm9iai0+cmluZ19saXN0KTsKPj4gLQlvYmotPnJpbmcgPSBO VUxMOwo+PiAgIAo+PiAgIAlvYmotPmxhc3RfcmVhZF9yZXEgPSBOVUxMOwo+PiAgIAlvYmotPmxh c3Rfd3JpdGVfcmVxID0gTlVMTDsKPj4gQEAgLTIyNDcsOSArMjI1MCw3IEBAIGk5MTVfZ2VtX29i amVjdF9tb3ZlX3RvX2luYWN0aXZlKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmopCj4+ ICAgc3RhdGljIHZvaWQKPj4gICBpOTE1X2dlbV9vYmplY3RfcmV0aXJlKHN0cnVjdCBkcm1faTkx NV9nZW1fb2JqZWN0ICpvYmopCj4+ICAgewo+PiAtCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcgPSBvYmotPnJpbmc7Cj4+IC0KPj4gLQlpZiAocmluZyA9PSBOVUxMKQo+PiArCWlmIChvYmot Pmxhc3RfcmVhZF9yZXEgPT0gTlVMTCkKPj4gICAJCXJldHVybjsKPj4gICAKPj4gICAJaWYgKGk5 MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKG9iai0+bGFzdF9yZWFkX3JlcSwgdHJ1ZSkpCj4+IEBA IC0yNzY5LDE0ICsyNzcwLDE3IEBAIGk5MTVfZ2VtX2lkbGVfd29ya19oYW5kbGVyKHN0cnVjdCB3 b3JrX3N0cnVjdCAqd29yaykKPj4gICBzdGF0aWMgaW50Cj4+ICAgaTkxNV9nZW1fb2JqZWN0X2Zs dXNoX2FjdGl2ZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+PiAgIHsKPj4gKwlz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nOwo+PiAgIAlpbnQgcmV0Owo+PiAgIAo+PiAgIAlp ZiAob2JqLT5hY3RpdmUpIHsKPj4gKwkJcmluZyA9IGk5MTVfZ2VtX3JlcXVlc3RfZ2V0X3Jpbmco b2JqLT5sYXN0X3JlYWRfcmVxKTsKPj4gKwo+PiAgIAkJcmV0ID0gaTkxNV9nZW1fY2hlY2tfb2xy KG9iai0+bGFzdF9yZWFkX3JlcSk7Cj4+ICAgCQlpZiAocmV0KQo+PiAgIAkJCXJldHVybiByZXQ7 Cj4+ICAgCj4+IC0JCWk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKG9iai0+cmluZyk7Cj4+ ICsJCWk5MTVfZ2VtX3JldGlyZV9yZXF1ZXN0c19yaW5nKHJpbmcpOwo+PiAgIAl9Cj4+ICAgCj4+ ICAgCXJldHVybiAwOwo+PiBAQCAtMjg3Niw5ICsyODgwLDExIEBAIGludAo+PiAgIGk5MTVfZ2Vt X29iamVjdF9zeW5jKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmosCj4+ICAgCQkgICAg IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnRvKQo+PiAgIHsKPj4gLQlzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpmcm9tID0gb2JqLT5yaW5nOwo+PiArCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmZy b207Cj4+ICAgCWludCByZXQsIGlkeDsKPj4gICAKPj4gKwlmcm9tID0gaTkxNV9nZW1fcmVxdWVz dF9nZXRfcmluZyhvYmotPmxhc3RfcmVhZF9yZXEpOwo+PiArCj4+ICAgCWlmIChmcm9tID09IE5V TEwgfHwgdG8gPT0gZnJvbSkKPj4gICAJCXJldHVybiAwOwo+PiAgIAo+PiBAQCAtMzg4OSw3ICsz ODk1LDcgQEAgaTkxNV9nZW1fb2JqZWN0X3Bpbl90b19kaXNwbGF5X3BsYW5lKHN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpvYmosCj4+ICAgCWJvb2wgd2FzX3Bpbl9kaXNwbGF5Owo+PiAgIAlp bnQgcmV0Owo+PiAgIAo+PiAtCWlmIChwaXBlbGluZWQgIT0gb2JqLT5yaW5nKSB7Cj4+ICsJaWYg KHBpcGVsaW5lZCAhPSBpOTE1X2dlbV9yZXF1ZXN0X2dldF9yaW5nKG9iai0+bGFzdF9yZWFkX3Jl cSkpIHsKPj4gICAJCXJldCA9IGk5MTVfZ2VtX29iamVjdF9zeW5jKG9iaiwgcGlwZWxpbmVkKTsK Pj4gICAJCWlmIChyZXQpCj4+ICAgCQkJcmV0dXJuIHJldDsKPj4gQEAgLTQzMDMsOSArNDMwOSwx MSBAQCBpOTE1X2dlbV9idXN5X2lvY3RsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHZvaWQgKmRh dGEsCj4+ICAgCXJldCA9IGk5MTVfZ2VtX29iamVjdF9mbHVzaF9hY3RpdmUob2JqKTsKPj4gICAK Pj4gICAJYXJncy0+YnVzeSA9IG9iai0+YWN0aXZlOwo+PiAtCWlmIChvYmotPnJpbmcpIHsKPj4g KwlpZiAob2JqLT5sYXN0X3JlYWRfcmVxKSB7Cj4+ICsJCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmc7Cj4+ICAgCQlCVUlMRF9CVUdfT04oSTkxNV9OVU1fUklOR1MgPiAxNik7Cj4+IC0JCWFy Z3MtPmJ1c3kgfD0gaW50ZWxfcmluZ19mbGFnKG9iai0+cmluZykgPDwgMTY7Cj4+ICsJCXJpbmcg PSBpOTE1X2dlbV9yZXF1ZXN0X2dldF9yaW5nKG9iai0+bGFzdF9yZWFkX3JlcSk7Cj4+ICsJCWFy Z3MtPmJ1c3kgfD0gaW50ZWxfcmluZ19mbGFnKHJpbmcpIDw8IDE2Owo+PiAgIAl9Cj4+ICAgCj4+ ICAgCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZvYmotPmJhc2UpOwo+PiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4+IGluZGV4IGE1MjIxZDguLjhmMjQ4MzEgMTAw NjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwo+PiAr KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPj4gQEAgLTYxMyw3 ICs2MTMsMTcgQEAgc3RhdGljIGludCBkb19zd2l0Y2goc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKPj4gICAJCSAqIHN3YXBwZWQsIGJ1dCB0aGVyZSBpcyBubyB3YXkgdG8gZG8gdGhhdCB5 ZXQuCj4+ICAgCQkgKi8KPj4gICAJCWZyb20tPmxlZ2FjeV9od19jdHgucmNzX3N0YXRlLT5kaXJ0 eSA9IDE7Cj4+IC0JCUJVR19PTihmcm9tLT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZS0+cmluZyAh PSByaW5nKTsKPj4gKwo+PiArCQkvKiBCVUdfT04oaTkxNV9nZW1fcmVxdWVzdF9nZXRfcmluZygK Pj4gKwkJCWZyb20tPmxlZ2FjeV9od19jdHgucmNzX3N0YXRlLT5sYXN0X3JlYWRfcmVxKSAhPSBy aW5nKTsgKi8KPj4gKwkJLyogTkI6IGxhc3RfcmVhZF9yZXEgaGFzIGFscmVhZHkgYmVlbiB1cGRh dGVkIHRvIHRoZSBjdXJyZW50Cj4+ICsJCSAqIHJlcXVlc3QgaG93ZXZlciwgdGhhdCByZXF1ZXN0 IGhhcyBub3QgeWV0IGJlZW4gc3VibWl0dGVkLgo+PiArCQkgKiBUaHVzIGxhc3RfcmVhZF9yZXEt PnJpbmcgaXMgZ3VhcmFudGVlZCB0byBiZSBudWxsIQo+PiArCQkgKiBOQjI6IERvaW5nIHRoZSBj aGVjayBiZWZvcmUgdGhlIHVwZGF0ZSBvZiBsYXN0X3JlYWRfcmVxCj4+ICsJCSAqICh3aGljaCBo YXBwZW5zIGluIGk5MTVfdm1hX21vdmVfdG9fYWN0aXZlKCkganVzdCBhYm92ZSksCj4+ICsJCSAq IGFsc28gZmFpbHMgYmVjYXVzZSBsYXN0X3JlYWRfcmVxIGlzIGFsbW9zdCBhbHdheXMgbnVsbCBv bgo+PiArCQkgKiBlbnRyeSEKPj4gKwkJICovCj4+ICAgCj4+ICAgCQkvKiBvYmogaXMga2VwdCBh bGl2ZSB1bnRpbCB0aGUgbmV4dCByZXF1ZXN0IGJ5IGl0cyBhY3RpdmUgcmVmICovCj4+ICAgCQlp OTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihmcm9tLT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSk7 Cj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYwo+PiBpbmRleCA5NTQ1ZDk2Li5i OWVjYmQ5IDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJv ci5jCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKPj4gQEAg LTY4MSw3ICs2ODEsOCBAQCBzdGF0aWMgdm9pZCBjYXB0dXJlX2JvKHN0cnVjdCBkcm1faTkxNV9l cnJvcl9idWZmZXIgKmVyciwKPj4gICAJZXJyLT5kaXJ0eSA9IG9iai0+ZGlydHk7Cj4+ICAgCWVy ci0+cHVyZ2VhYmxlID0gb2JqLT5tYWR2ICE9IEk5MTVfTUFEVl9XSUxMTkVFRDsKPj4gICAJZXJy LT51c2VycHRyID0gb2JqLT51c2VycHRyLm1tICE9IE5VTEw7Cj4+IC0JZXJyLT5yaW5nID0gb2Jq LT5yaW5nID8gb2JqLT5yaW5nLT5pZCA6IC0xOwo+PiArCWVyci0+cmluZyA9IG9iai0+bGFzdF9y ZWFkX3JlcSA/Cj4+ICsJCQlpOTE1X2dlbV9yZXF1ZXN0X2dldF9yaW5nKG9iai0+bGFzdF9yZWFk X3JlcSktPmlkIDogLTE7Cj4+ICAgCWVyci0+Y2FjaGVfbGV2ZWwgPSBvYmotPmNhY2hlX2xldmVs Owo+PiAgIH0KPj4gICAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+PiBpbmRl eCA5Y2E4Zjk0Li44MjM4YWFjIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kaXNwbGF5LmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCj4+IEBAIC05NzI4LDcgKzk3MjgsNyBAQCBzdGF0aWMgYm9vbCB1c2VfbW1pb19mbGlwKHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCj4+ICAgCWVsc2UgaWYgKGk5MTUuZW5hYmxlX2V4 ZWNsaXN0cykKPj4gICAJCXJldHVybiB0cnVlOwo+PiAgIAllbHNlCj4+IC0JCXJldHVybiByaW5n ICE9IG9iai0+cmluZzsKPj4gKwkJcmV0dXJuIHJpbmcgIT0gaTkxNV9nZW1fcmVxdWVzdF9nZXRf cmluZyhvYmotPmxhc3RfcmVhZF9yZXEpOwo+PiAgIH0KPj4gICAKPj4gICBzdGF0aWMgdm9pZCBp bnRlbF9kb19tbWlvX2ZsaXAoc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCj4+IEBAIC05 NzY5LDggKzk3NjksNiBAQCBzdGF0aWMgaW50IGludGVsX3Bvc3Rwb25lX2ZsaXAoc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKm9iaikKPj4gICAJaWYgKCFvYmotPmxhc3Rfd3JpdGVfcmVxKQo+ PiAgIAkJcmV0dXJuIDA7Cj4+ICAgCj4+IC0JcmluZyA9IG9iai0+cmluZzsKPj4gLQo+PiAgIAlp ZiAoaTkxNV9nZW1fcmVxdWVzdF9jb21wbGV0ZWQob2JqLT5sYXN0X3dyaXRlX3JlcSwgdHJ1ZSkp Cj4+ICAgCQlyZXR1cm4gMDsKPj4gICAKPj4gQEAgLTk3NzgsNiArOTc3Niw3IEBAIHN0YXRpYyBp bnQgaW50ZWxfcG9zdHBvbmVfZmxpcChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqKQo+ PiAgIAlpZiAocmV0KQo+PiAgIAkJcmV0dXJuIHJldDsKPj4gICAKPj4gKwlyaW5nID0gaTkxNV9n ZW1fcmVxdWVzdF9nZXRfcmluZyhvYmotPmxhc3Rfd3JpdGVfcmVxKTsKPj4gICAJaWYgKFdBUk5f T04oIXJpbmctPmlycV9nZXQocmluZykpKQo+PiAgIAkJcmV0dXJuIDA7Cj4+ICAgCj4+IEBAIC05 ODM3LDE0ICs5ODM2LDE1IEBAIHN0YXRpYyBpbnQgaW50ZWxfcXVldWVfbW1pb19mbGlwKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCj4+ICAgCXNwaW5fbG9ja19pcnFzYXZlKCZkZXZfcHJpdi0+bW1p b19mbGlwX2xvY2ssIGlycV9mbGFncyk7Cj4+ICAgCWludGVsX2NydGMtPm1taW9fZmxpcC5yZXEg PSBvYmotPmxhc3Rfd3JpdGVfcmVxOwo+PiAgIAlpOTE1X2dlbV9yZXF1ZXN0X3JlZmVyZW5jZShp bnRlbF9jcnRjLT5tbWlvX2ZsaXAucmVxKTsKPj4gLQlpbnRlbF9jcnRjLT5tbWlvX2ZsaXAucmlu Z19pZCA9IG9iai0+cmluZy0+aWQ7Cj4+ICsJQlVHX09OKHJpbmcgIT0gaTkxNV9nZW1fcmVxdWVz dF9nZXRfcmluZyhpbnRlbF9jcnRjLT5tbWlvX2ZsaXAucmVxKSk7Cj4+ICsJaW50ZWxfY3J0Yy0+ bW1pb19mbGlwLnJpbmdfaWQgPSByaW5nLT5pZDsKPj4gICAJc3Bpbl91bmxvY2tfaXJxcmVzdG9y ZSgmZGV2X3ByaXYtPm1taW9fZmxpcF9sb2NrLCBpcnFfZmxhZ3MpOwo+PiAgIAo+PiAgIAkvKgo+ PiAgIAkgKiBEb3VibGUgY2hlY2sgdG8gY2F0Y2ggY2FzZXMgd2hlcmUgaXJxIGZpcmVkIGJlZm9y ZQo+PiAgIAkgKiBtbWlvIGZsaXAgZGF0YSB3YXMgcmVhZHkKPj4gICAJICovCj4+IC0JaW50ZWxf bm90aWZ5X21taW9fZmxpcChvYmotPnJpbmcpOwo+PiArCWludGVsX25vdGlmeV9tbWlvX2ZsaXAo cmluZyk7Cj4+ICAgCXJldHVybiAwOwo+PiAgIH0KPj4gICAKPj4gQEAgLTEwMDIyLDcgKzEwMDIy LDcgQEAgc3RhdGljIGludCBpbnRlbF9jcnRjX3BhZ2VfZmxpcChzdHJ1Y3QgZHJtX2NydGMgKmNy dGMsCj4+ICAgCX0gZWxzZSBpZiAoSVNfSVZZQlJJREdFKGRldikpIHsKPj4gICAJCXJpbmcgPSAm ZGV2X3ByaXYtPnJpbmdbQkNTXTsKPj4gICAJfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdl biA+PSA3KSB7Cj4+IC0JCXJpbmcgPSBvYmotPnJpbmc7Cj4+ICsJCXJpbmcgPSBpOTE1X2dlbV9y ZXF1ZXN0X2dldF9yaW5nKG9iai0+bGFzdF9yZWFkX3JlcSk7Cj4+ICAgCQlpZiAocmluZyA9PSBO VUxMIHx8IHJpbmctPmlkICE9IFJDUykKPj4gICAJCQlyaW5nID0gJmRldl9wcml2LT5yaW5nW0JD U107Cj4+ICAgCX0gZWxzZSB7Cj4+IEBAIC0xMDA0Myw3ICsxMDA0Myw4IEBAIHN0YXRpYyBpbnQg aW50ZWxfY3J0Y19wYWdlX2ZsaXAoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAgIAkJCWdvdG8g Y2xlYW51cF91bnBpbjsKPj4gICAKPj4gICAJCXdvcmstPmZsaXBfcXVldWVkX3JlcSA9IG9iai0+ bGFzdF93cml0ZV9yZXE7Cj4+IC0JCXdvcmstPmZsaXBfcXVldWVkX3JpbmcgPSBvYmotPnJpbmc7 Cj4+ICsJCXdvcmstPmZsaXBfcXVldWVkX3JpbmcgPQo+PiArCQkJCWk5MTVfZ2VtX3JlcXVlc3Rf Z2V0X3Jpbmcob2JqLT5sYXN0X3dyaXRlX3JlcSk7Cj4+ICAgCX0gZWxzZSB7Cj4+ICAgCQlyZXQg PSBkZXZfcHJpdi0+ZGlzcGxheS5xdWV1ZV9mbGlwKGRldiwgY3J0YywgZmIsIG9iaiwgcmluZywK Pj4gICAJCQkJCQkgICBwYWdlX2ZsaXBfZmxhZ3MpOwo+PiAtLSAKPj4gMS43LjkuNQo+Pgo+PiBf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwo+PiBJbnRlbC1n ZnggbWFpbGluZyBsaXN0Cj4+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKPj4gaHR0 cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1h aWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK