From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: Re: [PATCH v3 2/3] drm/i915: abolish separate per-ring default_context pointers Date: Mon, 18 Jan 2016 16:16:39 +0000 Message-ID: <569D0FE7.20109@intel.com> References: <1452162052-22573-1-git-send-email-david.s.gordon@intel.com> <1452162052-22573-3-git-send-email-david.s.gordon@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id F272B6E5ED for ; Mon, 18 Jan 2016 08:16:41 -0800 (PST) In-Reply-To: <1452162052-22573-3-git-send-email-david.s.gordon@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 T24gMDcvMDEvMjAxNiAxMDoyMCwgRGF2ZSBHb3Jkb24gd3JvdGU6Cj4gTm93IHRoYXQgd2UndmUg ZWxpbWluYXRlZCBhIGxvdCBvZiB1c2VzIG9mIHJpbmctPmRlZmF1bHRfY29udGV4dCwKPiB3ZSBj YW4gZWxpbWluYXRlIHRoZSBwb2ludGVyIGl0c2VsZi4KPgo+IEFsbCB0aGUgZW5naW5lcyBzaGFy ZSB0aGUgc2FtZSBkZWZhdWx0IGludGVsX2NvbnRleHQsIHNvIHdlIGNhbiBqdXN0Cj4ga2VlcCBh IHNpbmdsZSByZWZlcmVuY2UgdG8gaXQgaW4gdGhlIGRldl9wcml2IHN0cnVjdHVyZSByYXRoZXIg dGhhbiBvbmUKPiBpbiBlYWNoIG9mIHRoZSBlbmdpbmVbXSBlbGVtZW50cy4gVGhpcyBtYWtlIHJl ZmNvdW50aW5nIG1vcmUgc2Vuc2libGUKPiB0b28sIGFzIHdlIG5vdyBoYXZlIGEgcmVmY291bnQg b2Ygb25lIGZvciB0aGUgb25lIHBvaW50ZXIsIHJhdGhlciB0aGFuCj4gYSByZWZjb3VudCBvZiBv bmUgYnV0IG11bHRpcGxlIHBvaW50ZXJzLgo+Cj4gIEZyb20gYW4gaWRlYSBieSBDaHJpcyBXaWxz b24uCj4KPiBTaWduZWQtb2ZmLWJ5OiBEYXZlIEdvcmRvbiA8ZGF2aWQucy5nb3Jkb25AaW50ZWwu Y29tPgoKUmV2aWV3ZWQtYnk6IE5pY2sgSG9hdGggPG5pY2hvbGFzLmhvYXRoQGludGVsLmNvbT4K Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyAgICAgICAgfCAg NCArKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgICAgfCAg MiArKwo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyAgICAgICAgICAgIHwgIDYg KysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMgICAgfCAy MiArKysrKysrKy0tLS0tLS0tLS0tLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dw dV9lcnJvci5jICAgICAgfCAgMiArLQo+ICAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNf c3VibWlzc2lvbi5jIHwgIDYgKysrLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYyAgICAgICAgICAgfCAyNCArKysrKysrKysrKysrLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCAgICB8ICAxIC0KPiAgIDggZmlsZXMgY2hh bmdlZCwgMzIgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCj4KPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYwo+IGluZGV4IDBmYzM4YmIuLjI2MTM3MDggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0xOTQzLDcgKzE5NDMsNyBAQCBzdGF0aWMgaW50 IGk5MTVfY29udGV4dF9zdGF0dXMoc3RydWN0IHNlcV9maWxlICptLCB2b2lkICp1bnVzZWQpCj4g ICAJCXNlcV9wdXRzKG0sICJIVyBjb250ZXh0ICIpOwo+ICAgCQlkZXNjcmliZV9jdHgobSwgY3R4 KTsKPiAgIAkJZm9yX2VhY2hfcmluZyhyaW5nLCBkZXZfcHJpdiwgaSkgewo+IC0JCQlpZiAocmlu Zy0+ZGVmYXVsdF9jb250ZXh0ID09IGN0eCkKPiArCQkJaWYgKGRldl9wcml2LT5rZXJuZWxfY29u dGV4dCA9PSBjdHgpCj4gICAJCQkJc2VxX3ByaW50ZihtLCAiKGRlZmF1bHQgY29udGV4dCAlcykg IiwKPiAgIAkJCQkJICAgcmluZy0+bmFtZSk7Cj4gICAJCX0KPiBAQCAtMjAzOSw3ICsyMDM5LDcg QEAgc3RhdGljIGludCBpOTE1X2R1bXBfbHJjKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51 c2VkKQo+Cj4gICAJbGlzdF9mb3JfZWFjaF9lbnRyeShjdHgsICZkZXZfcHJpdi0+Y29udGV4dF9s aXN0LCBsaW5rKSB7Cj4gICAJCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIGkpIHsKPiAt CQkJaWYgKHJpbmctPmRlZmF1bHRfY29udGV4dCAhPSBjdHgpCj4gKwkJCWlmIChkZXZfcHJpdi0+ a2VybmVsX2NvbnRleHQgIT0gY3R4KQo+ICAgCQkJCWk5MTVfZHVtcF9scmNfb2JqKG0sIHJpbmcs Cj4gICAJCQkJCQkgIGN0eC0+ZW5naW5lW2ldLnN0YXRlKTsKPiAgIAkJfQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kcnYuaAo+IGluZGV4IGMyYjAwMGEuLmFlZjg2YTggMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKPiBAQCAtMTk0MCw2ICsxOTQwLDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg ewo+ICAgCQl2b2lkICgqc3RvcF9yaW5nKShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKTsK PiAgIAl9IGd0Owo+Cj4gKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqa2VybmVsX2NvbnRleHQ7Cj4g Kwo+ICAgCWJvb2wgZWRwX2xvd192c3dpbmc7Cj4KPiAgIAkvKiBwZXJmb3JtIFBIWSBzdGF0ZSBz YW5pdHkgY2hlY2tzPyAqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwo+IGluZGV4IGM5MDhlZDEu LjhmMTAxMTIxIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMK PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCj4gQEAgLTI2NzgsNyArMjY3 OCw3IEBAIHZvaWQgaTkxNV9nZW1fcmVxdWVzdF9mcmVlKHN0cnVjdCBrcmVmICpyZXFfcmVmKQo+ Cj4gICAJaWYgKGN0eCkgewo+ICAgCQlpZiAoaTkxNS5lbmFibGVfZXhlY2xpc3RzKSB7Cj4gLQkJ CWlmIChjdHggIT0gcmVxLT5yaW5nLT5kZWZhdWx0X2NvbnRleHQpCj4gKwkJCWlmIChjdHggIT0g cmVxLT5pOTE1LT5rZXJuZWxfY29udGV4dCkKPiAgIAkJCQlpbnRlbF9scl9jb250ZXh0X3VucGlu KHJlcSk7Cj4gICAJCX0KPgo+IEBAIC0yNzc0LDcgKzI3NzQsNyBAQCBpOTE1X2dlbV9yZXF1ZXN0 X2FsbG9jKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKPiAgIAlpbnQgZXJyOwo+Cj4g ICAJaWYgKGN0eCA9PSBOVUxMKQo+IC0JCWN0eCA9IGVuZ2luZS0+ZGVmYXVsdF9jb250ZXh0Owo+ ICsJCWN0eCA9IHRvX2k5MTUoZW5naW5lLT5kZXYpLT5rZXJuZWxfY29udGV4dDsKPiAgIAllcnIg PSBfX2k5MTVfZ2VtX3JlcXVlc3RfYWxsb2MoZW5naW5lLCBjdHgsICZyZXEpOwo+ICAgCXJldHVy biBlcnIgPyBFUlJfUFRSKGVycikgOiByZXE7Cj4gICB9Cj4gQEAgLTQ4NjIsNyArNDg2Miw3IEBA IGk5MTVfZ2VtX2luaXRfaHcoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAkgKi8KPiAgIAlp bml0X3VudXNlZF9yaW5ncyhkZXYpOwo+Cj4gLQlCVUdfT04oIWRldl9wcml2LT5yaW5nW1JDU10u ZGVmYXVsdF9jb250ZXh0KTsKPiArCUJVR19PTighZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0KTsK Pgo+ICAgCXJldCA9IGk5MTVfcHBndHRfaW5pdF9odyhkZXYpOwo+ICAgCWlmIChyZXQpIHsKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCj4gaW5kZXggOTAwZmZkMC4uZTFk NzY3ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKPiBAQCAt MzU0LDExICszNTQsMTAgQEAgaW50IGk5MTVfZ2VtX2NvbnRleHRfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eDsKPiAtCWlu dCBpOwo+Cj4gICAJLyogSW5pdCBzaG91bGQgb25seSBiZSBjYWxsZWQgb25jZSBwZXIgbW9kdWxl IGxvYWQuIEV2ZW50dWFsbHkgdGhlCj4gICAJICogcmVzdHJpY3Rpb24gb24gdGhlIGNvbnRleHRf ZGlzYWJsZWQgY2hlY2sgY2FuIGJlIGxvb3NlbmVkLiAqLwo+IC0JaWYgKFdBUk5fT04oZGV2X3By aXYtPnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQpKQo+ICsJaWYgKFdBUk5fT04oZGV2X3ByaXYt Pmtlcm5lbF9jb250ZXh0KSkKPiAgIAkJcmV0dXJuIDA7Cj4KPiAgIAlpZiAoaW50ZWxfdmdwdV9h Y3RpdmUoZGV2KSAmJiBIQVNfTE9HSUNBTF9SSU5HX0NPTlRFWFRTKGRldikpIHsKPiBAQCAtMzg4 LDEyICszODcsNyBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gICAJCXJldHVybiBQVFJfRVJSKGN0eCk7Cj4gICAJfQo+Cj4gLQlmb3IgKGkgPSAw OyBpIDwgSTkxNV9OVU1fUklOR1M7IGkrKykgewo+IC0JCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcgPSAmZGV2X3ByaXYtPnJpbmdbaV07Cj4gLQo+IC0JCS8qIE5COiBSQ1Mgd2lsbCBob2xk IGEgcmVmIGZvciBhbGwgcmluZ3MgKi8KPiAtCQlyaW5nLT5kZWZhdWx0X2NvbnRleHQgPSBjdHg7 Cj4gLQl9Cj4gKwlkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQgPSBjdHg7Cj4KPiAgIAlEUk1fREVC VUdfRFJJVkVSKCIlcyBjb250ZXh0IHN1cHBvcnQgaW5pdGlhbGl6ZWRcbiIsCj4gICAJCQlpOTE1 LmVuYWJsZV9leGVjbGlzdHMgPyAiTFIiIDoKPiBAQCAtNDA0LDcgKzM5OCw3IEBAIGludCBpOTE1 X2dlbV9jb250ZXh0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIHZvaWQgaTkxNV9n ZW1fY29udGV4dF9maW5pKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gICB7Cj4gICAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAtCXN0cnVj dCBpbnRlbF9jb250ZXh0ICpkY3R4ID0gZGV2X3ByaXYtPnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRl eHQ7Cj4gKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqZGN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29u dGV4dDsKPiAgIAlpbnQgaTsKPgo+ICAgCWlmIChkY3R4LT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0 ZSkgewo+IEBAIC00MzEsMTcgKzQyNSwxNyBAQCB2b2lkIGk5MTVfZ2VtX2NvbnRleHRfZmluaShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihk Y3R4LT5sZWdhY3lfaHdfY3R4LnJjc19zdGF0ZSk7Cj4gICAJfQo+Cj4gLQlmb3IgKGkgPSAwOyBp IDwgSTkxNV9OVU1fUklOR1M7IGkrKykgewo+ICsJZm9yIChpID0gSTkxNV9OVU1fUklOR1M7IC0t aSA+PSAwOykgewo+ICAgCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gJmRldl9wcml2 LT5yaW5nW2ldOwo+Cj4gLQkJaWYgKHJpbmctPmxhc3RfY29udGV4dCkKPiArCQlpZiAocmluZy0+ bGFzdF9jb250ZXh0KSB7Cj4gICAJCQlpOTE1X2dlbV9jb250ZXh0X3VucmVmZXJlbmNlKHJpbmct Pmxhc3RfY29udGV4dCk7Cj4gLQo+IC0JCXJpbmctPmRlZmF1bHRfY29udGV4dCA9IE5VTEw7Cj4g LQkJcmluZy0+bGFzdF9jb250ZXh0ID0gTlVMTDsKPiArCQkJcmluZy0+bGFzdF9jb250ZXh0ID0g TlVMTDsKPiArCQl9Cj4gICAJfQo+Cj4gICAJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShk Y3R4KTsKPiArCWRldl9wcml2LT5rZXJuZWxfY29udGV4dCA9IE5VTEw7Cj4gICB9Cj4KPiAgIGlu dCBpOTE1X2dlbV9jb250ZXh0X2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJl cSkKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ncHVfZXJyb3IuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9yLmMKPiBpbmRleCAwNmNhNDA4Li43 ZWViMjQ0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3B1X2Vycm9y LmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dwdV9lcnJvci5jCj4gQEAgLTEw NTAsNyArMTA1MCw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlY29yZF9yaW5ncyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LAo+ICAgCQkJaWYgKHJlcXVlc3QpCj4gICAJCQkJcmJ1ZiA9IHJlcXVl c3QtPmN0eC0+ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwo+ICAgCQkJZWxzZQo+IC0JCQkJcmJ1 ZiA9IHJpbmctPmRlZmF1bHRfY29udGV4dC0+ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwo+ICsJ CQkJcmJ1ZiA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dC0+ZW5naW5lW3JpbmctPmlkXS5yaW5n YnVmOwo+ICAgCQl9IGVsc2UKPiAgIAkJCXJidWYgPSByaW5nLT5idWZmZXI7Cj4KPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5jCj4gaW5kZXggOWMyNDQyNC4uNTFh ZTVjMSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNz aW9uLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMK PiBAQCAtOTY0LDcgKzk2NCw3IEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgewo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJc3RydWN0IGludGVsX2d1YyAqZ3VjID0g JmRldl9wcml2LT5ndWM7Cj4gLQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0gZGV2X3ByaXYt PnJpbmdbUkNTXS5kZWZhdWx0X2NvbnRleHQ7Cj4gKwlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4 ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0Owo+ICAgCXN0cnVjdCBpOTE1X2d1Y19jbGllbnQg KmNsaWVudDsKPgo+ICAgCS8qIGNsaWVudCBmb3IgZXhlY2J1ZiBzdWJtaXNzaW9uICovCj4gQEAg LTEwMjEsNyArMTAyMSw3IEBAIGludCBpbnRlbF9ndWNfc3VzcGVuZChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICAgCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1pc3Npb24pCj4gICAJCXJldHVy biAwOwo+Cj4gLQljdHggPSBkZXZfcHJpdi0+cmluZ1tSQ1NdLmRlZmF1bHRfY29udGV4dDsKPiAr CWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKPgo+ICAgCWRhdGFbMF0gPSBIT1NUMkdV Q19BQ1RJT05fRU5URVJfU19TVEFURTsKPiAgIAkvKiBhbnkgdmFsdWUgZ3JlYXRlciB0aGFuIEdV Q19QT1dFUl9EMCAqLwo+IEBAIC0xMDQ3LDcgKzEwNDcsNyBAQCBpbnQgaW50ZWxfZ3VjX3Jlc3Vt ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAgCWlmICghaTkxNS5lbmFibGVfZ3VjX3N1Ym1p c3Npb24pCj4gICAJCXJldHVybiAwOwo+Cj4gLQljdHggPSBkZXZfcHJpdi0+cmluZ1tSQ1NdLmRl ZmF1bHRfY29udGV4dDsKPiArCWN0eCA9IGRldl9wcml2LT5rZXJuZWxfY29udGV4dDsKPgo+ICAg CWRhdGFbMF0gPSBIT1NUMkdVQ19BQ1RJT05fRVhJVF9TX1NUQVRFOwo+ICAgCWRhdGFbMV0gPSBH VUNfUE9XRVJfRDA7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xy Yy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBpbmRleCA4YjY1NDJkLi5h YWFhNWEzIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCj4g KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKPiBAQCAtNTcxLDcgKzU3MSw3 IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfcXVldWUoc3RydWN0IGRybV9pOTE1X2dl bV9yZXF1ZXN0ICpyZXF1ZXN0KQo+ICAgCXN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqY3Vy c29yOwo+ICAgCWludCBudW1fZWxlbWVudHMgPSAwOwo+Cj4gLQlpZiAocmVxdWVzdC0+Y3R4ICE9 IHJpbmctPmRlZmF1bHRfY29udGV4dCkKPiArCWlmIChyZXF1ZXN0LT5jdHggIT0gcmVxdWVzdC0+ aTkxNS0+a2VybmVsX2NvbnRleHQpCj4gICAJCWludGVsX2xyX2NvbnRleHRfcGluKHJlcXVlc3Qp Owo+Cj4gICAJaTkxNV9nZW1fcmVxdWVzdF9yZWZlcmVuY2UocmVxdWVzdCk7Cj4gQEAgLTY2NCw3 ICs2NjQsNyBAQCBpbnQgaW50ZWxfbG9naWNhbF9yaW5nX2FsbG9jX3JlcXVlc3RfZXh0cmFzKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdAo+Cj4gICAJcmVxdWVzdC0+cmluZ2J1 ZiA9IHJlcXVlc3QtPmN0eC0+ZW5naW5lW3JlcXVlc3QtPnJpbmctPmlkXS5yaW5nYnVmOwo+Cj4g LQlpZiAocmVxdWVzdC0+Y3R4ICE9IHJlcXVlc3QtPnJpbmctPmRlZmF1bHRfY29udGV4dCkgewo+ ICsJaWYgKHJlcXVlc3QtPmN0eCAhPSByZXF1ZXN0LT5pOTE1LT5rZXJuZWxfY29udGV4dCkgewo+ ICAgCQlyZXQgPSBpbnRlbF9scl9jb250ZXh0X3BpbihyZXF1ZXN0KTsKPiAgIAkJaWYgKHJldCkK PiAgIAkJCXJldHVybiByZXQ7Cj4gQEAgLTk4MCw3ICs5ODAsNyBAQCB2b2lkIGludGVsX2V4ZWNs aXN0c19yZXRpcmVfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKPiAgIAkJ c3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmogPQo+ICAgCQkJCWN0eC0+ZW5naW5l W3JpbmctPmlkXS5zdGF0ZTsKPgo+IC0JCWlmIChjdHhfb2JqICYmIChjdHggIT0gcmluZy0+ZGVm YXVsdF9jb250ZXh0KSkKPiArCQlpZiAoY3R4X29iaiAmJiAoY3R4ICE9IHJlcS0+aTkxNS0+a2Vy bmVsX2NvbnRleHQpKQo+ICAgCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihyZXEpOwo+ICAgCQls aXN0X2RlbCgmcmVxLT5leGVjbGlzdF9saW5rKTsKPiAgIAkJaTkxNV9nZW1fcmVxdWVzdF91bnJl ZmVyZW5jZShyZXEpOwo+IEBAIC0xNDg3LDcgKzE0ODcsNyBAQCBzdGF0aWMgaW50IGdlbjhfaW5p dF9jb21tb25fcmluZyhzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICAgCXU4IG5leHRf Y29udGV4dF9zdGF0dXNfYnVmZmVyX2h3Owo+Cj4gICAJbHJjX3NldHVwX2hhcmR3YXJlX3N0YXR1 c19wYWdlKHJpbmcsCj4gLQkJCQlyaW5nLT5kZWZhdWx0X2NvbnRleHQtPmVuZ2luZVtyaW5nLT5p ZF0uc3RhdGUpOwo+ICsJCQkJZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0LT5lbmdpbmVbcmluZy0+ aWRdLnN0YXRlKTsKPgo+ICAgCUk5MTVfV1JJVEVfSU1SKHJpbmcsIH4ocmluZy0+aXJxX2VuYWJs ZV9tYXNrIHwgcmluZy0+aXJxX2tlZXBfbWFzaykpOwo+ICAgCUk5MTVfV1JJVEUoUklOR19IV1NU QU0ocmluZy0+bW1pb19iYXNlKSwgMHhmZmZmZmZmZik7Cj4gQEAgLTE5MjksNiArMTkyOSw5IEBA IHZvaWQgaW50ZWxfbG9naWNhbF9yaW5nX2NsZWFudXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZykKPgo+ICAgc3RhdGljIGludCBsb2dpY2FsX3JpbmdfaW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nKQo+ICAgewo+ICsJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ICsJc3RydWN0IGludGVs X2NvbnRleHQgKmRjdHggPSBkZXZfcHJpdi0+a2VybmVsX2NvbnRleHQ7Cj4gKwlpbnQgcmluZ19p ZCA9IHJpbmctPmlkOwo+ICAgCWludCByZXQ7Cj4KPiAgIAkvKiBJbnRlbnRpb25hbGx5IGxlZnQg YmxhbmsuICovCj4gQEAgLTE5NDksMTUgKzE5NTIsMTQgQEAgc3RhdGljIGludCBsb2dpY2FsX3Jp bmdfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpy aW4KPiAgIAlpZiAocmV0KQo+ICAgCQlnb3RvIGVycm9yOwo+Cj4gLQlyZXQgPSBpbnRlbF9scl9j b250ZXh0X2RlZmVycmVkX2FsbG9jKHJpbmctPmRlZmF1bHRfY29udGV4dCwgcmluZyk7Cj4gKwly ZXQgPSBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVkX2FsbG9jKGRjdHgsIHJpbmcpOwo+ICAgCWlm IChyZXQpCj4gICAJCWdvdG8gZXJyb3I7Cj4KPiAgIAkvKiBBcyB0aGlzIGlzIHRoZSBkZWZhdWx0 IGNvbnRleHQsIGFsd2F5cyBwaW4gaXQgKi8KPiAtCXJldCA9IGludGVsX2xyX2NvbnRleHRfZG9f cGluKAo+IC0JCQlyaW5nLAo+IC0JCQlyaW5nLT5kZWZhdWx0X2NvbnRleHQtPmVuZ2luZVtyaW5n LT5pZF0uc3RhdGUsCj4gLQkJCXJpbmctPmRlZmF1bHRfY29udGV4dC0+ZW5naW5lW3JpbmctPmlk XS5yaW5nYnVmKTsKPiArCXJldCA9IGludGVsX2xyX2NvbnRleHRfZG9fcGluKHJpbmcsCj4gKwkJ CQkgICAgICBkY3R4LT5lbmdpbmVbcmluZ19pZF0uc3RhdGUsCj4gKwkJCQkgICAgICBkY3R4LT5l bmdpbmVbcmluZ19pZF0ucmluZ2J1Zik7Cj4gICAJaWYgKHJldCkgewo+ICAgCQlEUk1fRVJST1Io Cj4gICAJCQkiRmFpbGVkIHRvIHBpbiBhbmQgbWFwIHJpbmdidWZmZXIgJXM6ICVkXG4iLAo+IEBA IC0yMzg4LDcgKzIzOTAsNyBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaW50 ZWxfY29udGV4dCAqY3R4KQo+ICAgCQkJCQljdHgtPmVuZ2luZVtpXS5yaW5nYnVmOwo+ICAgCQkJ c3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJpbmdidWYtPnJpbmc7Cj4KPiAtCQkJaWYg KGN0eCA9PSByaW5nLT5kZWZhdWx0X2NvbnRleHQpIHsKPiArCQkJaWYgKGN0eCA9PSBjdHgtPmk5 MTUtPmtlcm5lbF9jb250ZXh0KSB7Cj4gICAJCQkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoo cmluZ2J1Zik7Cj4gICAJCQkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7Cj4g ICAJCQl9Cj4gQEAgLTI1MDcsNyArMjUwOSw3IEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVy cmVkX2FsbG9jKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCj4gICAJY3R4LT5lbmdpbmVbcmlu Zy0+aWRdLnJpbmdidWYgPSByaW5nYnVmOwo+ICAgCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0 ZSA9IGN0eF9vYmo7Cj4KPiAtCWlmIChjdHggIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0ICYmIHJp bmctPmluaXRfY29udGV4dCkgewo+ICsJaWYgKGN0eCAhPSBjdHgtPmk5MTUtPmtlcm5lbF9jb250 ZXh0ICYmIHJpbmctPmluaXRfY29udGV4dCkgewo+ICAgCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcTsKPgo+ICAgCQlyZXEgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKHJpbmcsIGN0 eCk7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAo+IGluZGV4IDQ5NTc0 ZmYuLmU5NTBmNmMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmlu Z2J1ZmZlci5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5o Cj4gQEAgLTMwNSw3ICszMDUsNiBAQCBzdHJ1Y3QgIGludGVsX2VuZ2luZV9jcyB7Cj4KPiAgIAl3 YWl0X3F1ZXVlX2hlYWRfdCBpcnFfcXVldWU7Cj4KPiAtCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpk ZWZhdWx0X2NvbnRleHQ7Cj4gICAJc3RydWN0IGludGVsX2NvbnRleHQgKmxhc3RfY29udGV4dDsK Pgo+ICAgCXN0cnVjdCBpbnRlbF9yaW5nX2hhbmdjaGVjayBoYW5nY2hlY2s7Cj4KCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5n IGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==