From mboxrd@z Thu Jan 1 00:00:00 1970 From: David Weinehall Subject: Re: [PATCH 02/10] drm/i915/cnl: Add AUX-F support Date: Fri, 26 Jan 2018 17:09:30 +0200 Message-ID: <20180126150930.GA13657@boom> References: <20180125220330.15676-1-rodrigo.vivi@intel.com> <20180125220330.15676-2-rodrigo.vivi@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id EEE516E2D3 for ; Fri, 26 Jan 2018 15:09:28 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20180125220330.15676-2-rodrigo.vivi@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Rodrigo Vivi Cc: intel-gfx@lists.freedesktop.org, Lucas De Marchi , Dhinakaran Pandiyan List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBKYW4gMjUsIDIwMTggYXQgMDI6MDM6MjJQTSAtMDgwMCwgUm9kcmlnbyBWaXZpIHdy b3RlOgo+IE9uIHNvbWUgQ2Fubm9ubGFrZSBTS1VzIHdlIGhhdmUgYSBkZWRpY2F0ZWQgQXV4IGZv ciBwb3J0IEYsCj4gdGhhdCBpcyBvbmx5IHRoZSBmdWxsIHNwbGl0IGJldHdlZW4gcG9ydCBBIGFu ZCBwb3J0IEUuCj4gCj4gVGhlcmUgaXMgc3RpbGwgbm8gQXV4IEUgZm9yIFBvcnQgRSwgYXMgaW4g cHJldmlvdXMgcGxhdGZvcm1zLAo+IGJlY2F1c2UgcG9ydF9FIHN0aWxsIG1lYW5zIHNoYXJlZCBs YW5lcyB3aXRoIHBvcnQgQS4KPiAKCkxvb2tzIGdvb2QgdG8gbWUsIGV4Y2VwdCB0aGUgZHVhbCBz ZXRzIG9mIHJldmlldyBjb21tZW50cyBhbmQKc2lnbmVkLW9mZnMgYnksIHdoaWNoIHNlZW1zIGtp bmQgb2Ygb2RkLS1kaWQgeW91IHNxdWFzaCB0d28KcGF0Y2hlcyBpbnRvIG9uZT8KCkFueXdheSwg dGhlIGNvZGUgbG9va3MgY2xlYW4gJiBkb2N1bWVudGVkLCBhbmQgdGhlIHJlZ2lzdGVycwpzZWVt IHRvIG1hdGNoIGRvY3VtZW50YXRpb24sIHNvOgoKUmV2aWV3ZWQtYnk6IERhdmlkIFdlaW5laGFs bCA8ZGF2aWQud2VpbmVoYWxsQGxpbnV4LmludGVsLmNvbT4KCj4gdjI6IFJlYmFzZS4KPiB2Mzog QWRkIGNvdXBsZSBtaXNzZWQgUE9SVF9GIGNhc2VzIG9uIGludGVsX2RwLgo+IHY0OiBSZWJhc2Ug YW5kIGZpeCBjb21taXQgbWVzc2FnZS4KPiB2NTogU3F1YXNoIEltcmUncyAiZHJtL2k5MTU6IEFk ZCBtaXNzaW5nIEFVWF9GIHBvd2VyIHdlbGwgc3RyaW5nIgo+IHY2OiBSZWJhc2Ugb24gdG9wIG9m IGRpc3BsYXkgaGVhZGVycyByZXdvcmsuCj4gdjc6IHMvSVNfQ0FOTk9OTEFLRS9JU19DTkxfV0lU SF9QT1JUX0YgKERLKQo+IHY4OiBGaXggQXV4IGJpdHMgZm9yIFBvcnQgRiAoREspCj4gdjk6IEZp eCBWQlQgZGVmaW5pdGlvbiBvZiBQb3J0IEYgKERLKS4KPiB2MTA6IFNxdWFzaCBwb3dlciB3ZWxs IGFkZGl0aW9uIHRvIHRoaXMgcGF0Y2ggdG8gYXZvaWQKPiAgICAgIHdhcm5zIGFzIHBvaW50ZWQg YnkgREsuCj4gCj4gQ2M6IERoaW5ha2FyYW4gUGFuZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5A aW50ZWwuY29tPgo+IENjOiBMdWNhcyBEZSBNYXJjaGkgPGx1Y2FzLmRlbWFyY2hpQGludGVsLmNv bT4KPiBDYzogSW1yZSBEZWFrIDxpbXJlLmRlYWtAaW50ZWwuY29tPgo+IENjOiBNYW5hc2kgTmF2 YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50ZWwuY29tPgo+IENjOiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IFJvZHJpZ28gVml2 aSA8cm9kcmlnby52aXZpQGludGVsLmNvbT4KPiAKPiBkcm0vaTkxNS9jbmw6IERvbid0IHRyeSB0 byBtYW5hZ2UgUG9ydCBGIHBvd2VyIHdlbGxzIG9uIGFsbCBDTkwuCj4gCj4gU0tVcyB0aGF0IGxh Y2tzIG9uIHRoZSBmdWxsIHBvcnQgRiBzcGxpdCB3aWxsIGp1c3QgdGltZSBvdXQKPiB3aGVuIHRv dWNoaW5nIHRoaXMgcG93ZXIgd2VsbCBiaXRzLCBjYXVzaW5nIGEgbm9pc3kgd2Fybi4KPiAKPiB2 MjogU3VnZ2VzdGVkLWJ5OiBJbXJlLiBUZW1wb3JhcmlseSByZW1vdmUgdGhlIGF1eCBwdyBpZCBh ZnRlciBzZXR0aW5nCj4gICAgIGl0IGluc3RlYWQgb2YgZHVwbGljYXRpbmcgYW5kIHJlZGVmaW5p bmcgZXZlcnl0aGluZy4KPiB2MzogU2ltcGxpZnkgZXZlbiBtb3JlIHRoZSBsb2dpYywgdXNpbmcg b25lIHRoYXQgZG9uJ3QgbWl4IHRoZQo+ICAgICBhcnJheSBzaXplIHdpdGggdGhlIHB3IGJpdHMu IEFsc28gYWRkIGEgY29tbWVudC4KPiAKPiBDYzogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFr YXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gQ2M6IEx1Y2FzIERlIE1hcmNoaSA8bHVjYXMuZGVt YXJjaGlAaW50ZWwuY29tPgo+IENjOiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4g U2lnbmVkLW9mZi1ieTogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPgo+IC0t LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgICAgfCAgMSArCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgICAgICB8ICA2ICsrKysrKwo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICAgICAgICAgfCAgOSArKysrKysrKysKPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5oICAgIHwgIDEgKwo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgICAgfCAgOCArKysrKysrKwo+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAyMSArKysrKysrKysrKysrKysrKysrKysK PiAgNiBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspCj4gCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5oCj4gaW5kZXggNTcwMmViZjE3OTc0Li5mODlhMWEwYTI1YzggMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTI1NSw2ICsxMjU1LDcgQEAgZW51bSBtb2Rlc2V0X3Jlc3Rv cmUgewo+ICAjZGVmaW5lIERQX0FVWF9CIDB4MTAKPiAgI2RlZmluZSBEUF9BVVhfQyAweDIwCj4g ICNkZWZpbmUgRFBfQVVYX0QgMHgzMAo+ICsjZGVmaW5lIERQX0FVWF9GIDB4NjAKPiAgCj4gICNk ZWZpbmUgRERDX1BJTl9CICAweDA1Cj4gICNkZWZpbmUgRERDX1BJTl9DICAweDA0Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2lycS5jCj4gaW5kZXggZjY0M2Q1YWQ3ZmY3Li40ZDg0YjFjNDFhOTQgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKPiBAQCAtMjU4NSw2ICsyNTg1LDkgQEAgZ2VuOF9kZV9p cnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBtYXN0ZXJf Y3RsKQo+ICAJCQkJCSAgICBHRU45X0FVWF9DSEFOTkVMX0MgfAo+ICAJCQkJCSAgICBHRU45X0FV WF9DSEFOTkVMX0Q7Cj4gIAo+ICsJCQlpZiAoSVNfQ05MX1dJVEhfUE9SVF9GKGRldl9wcml2KSkK PiArCQkJCXRtcF9tYXNrIHw9IENOTF9BVVhfQ0hBTk5FTF9GOwo+ICsKPiAgCQkJaWYgKGlpciAm IHRtcF9tYXNrKSB7Cj4gIAkJCQlkcF9hdXhfaXJxX2hhbmRsZXIoZGV2X3ByaXYpOwo+ICAJCQkJ Zm91bmQgPSB0cnVlOwo+IEBAIC0zNjIzLDYgKzM2MjYsOSBAQCBzdGF0aWMgdm9pZCBnZW44X2Rl X2lycV9wb3N0aW5zdGFsbChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gIAkJ ZGVfcGlwZV9tYXNrZWQgfD0gR0VOOF9ERV9QSVBFX0lSUV9GQVVMVF9FUlJPUlM7Cj4gIAl9Cj4g IAo+ICsJaWYgKElTX0NOTF9XSVRIX1BPUlRfRihkZXZfcHJpdikpCj4gKwkJZGVfcG9ydF9tYXNr ZWQgfD0gQ05MX0FVWF9DSEFOTkVMX0Y7Cj4gKwo+ICAJZGVfcGlwZV9lbmFibGVzID0gZGVfcGlw ZV9tYXNrZWQgfCBHRU44X1BJUEVfVkJMQU5LIHwKPiAgCQkJCQkgICBHRU44X1BJUEVfRklGT19V TkRFUlJVTjsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCj4gaW5kZXggNjQ5MzNmZDc0Y2I2 Li40NGY0NjU5MzE3MmYgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKPiBAQCAtMTMxMiw2 ICsxMzEyLDcgQEAgZW51bSBpOTE1X3Bvd2VyX3dlbGxfaWQgewo+ICAJQ05MX0RJU1BfUFdfQVVY X0IgPSBHTEtfRElTUF9QV19BVVhfQiwKPiAgCUNOTF9ESVNQX1BXX0FVWF9DID0gR0xLX0RJU1Bf UFdfQVVYX0MsCj4gIAlDTkxfRElTUF9QV19BVVhfRCwKPiArCUNOTF9ESVNQX1BXX0FVWF9GLAo+ ICAKPiAgCVNLTF9ESVNQX1BXXzEgPSAxNCwKPiAgCVNLTF9ESVNQX1BXXzIsCj4gQEAgLTUyODQs NiArNTI4NSwxMyBAQCBlbnVtIHsKPiAgI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBNAkoZGV2X3By aXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMjApCj4gICNkZWZpbmUgX0RQRF9B VVhfQ0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzI0 KQo+ICAKPiArI2RlZmluZSBfRFBGX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDUxMCkKPiArI2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBMQkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MTQpCj4gKyNkZWZpbmUgX0RQ Rl9BVVhfQ0hfREFUQTIJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 NTE4KQo+ICsjZGVmaW5lIF9EUEZfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDUxYykKPiArI2RlZmluZSBfRFBGX0FVWF9DSF9EQVRBNAkoZGV2 X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MjApCj4gKyNkZWZpbmUgX0RQ Rl9BVVhfQ0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0 NTI0KQo+ICsKPiAgI2RlZmluZSBEUF9BVVhfQ0hfQ1RMKHBvcnQpCV9NTUlPX1BPUlQocG9ydCwg X0RQQV9BVVhfQ0hfQ1RMLCBfRFBCX0FVWF9DSF9DVEwpCj4gICNkZWZpbmUgRFBfQVVYX0NIX0RB VEEocG9ydCwgaSkJX01NSU8oX1BPUlQocG9ydCwgX0RQQV9BVVhfQ0hfREFUQTEsIF9EUEJfQVVY X0NIX0RBVEExKSArIChpKSAqIDQpIC8qIDUgcmVnaXN0ZXJzICovCj4gIAo+IEBAIC02OTM5LDYg KzY5NDcsNyBAQCBlbnVtIHsKPiAgI2RlZmluZSBHRU44X0RFX1BPUlRfSU1SIF9NTUlPKDB4NDQ0 NDQpCj4gICNkZWZpbmUgR0VOOF9ERV9QT1JUX0lJUiBfTU1JTygweDQ0NDQ4KQo+ICAjZGVmaW5l IEdFTjhfREVfUE9SVF9JRVIgX01NSU8oMHg0NDQ0YykKPiArI2RlZmluZSAgQ05MX0FVWF9DSEFO TkVMX0YJCSgxIDw8IDI4KQo+ICAjZGVmaW5lICBHRU45X0FVWF9DSEFOTkVMX0QJCSgxIDw8IDI3 KQo+ICAjZGVmaW5lICBHRU45X0FVWF9DSEFOTkVMX0MJCSgxIDw8IDI2KQo+ICAjZGVmaW5lICBH RU45X0FVWF9DSEFOTkVMX0IJCSgxIDw8IDI1KQo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmgKPiBpbmRleCBlNDc2Mzg5MzFiNTEuLjMwZmEyMDQxYTQ1ZiAxMDA2NDQKPiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kaXNwbGF5LmgKPiBAQCAtMTcyLDYgKzE3Miw3IEBAIGVudW0gaW50ZWxf ZGlzcGxheV9wb3dlcl9kb21haW4gewo+ICAJUE9XRVJfRE9NQUlOX0FVWF9CLAo+ICAJUE9XRVJf RE9NQUlOX0FVWF9DLAo+ICAJUE9XRVJfRE9NQUlOX0FVWF9ELAo+ICsJUE9XRVJfRE9NQUlOX0FV WF9GLAo+ICAJUE9XRVJfRE9NQUlOX0dNQlVTLAo+ICAJUE9XRVJfRE9NQUlOX01PREVTRVQsCj4g IAlQT1dFUl9ET01BSU5fR1RfSVJRLAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IGluZGV4IGEy ZTg4Nzk5OTkxNS4uYWUzYjBiMDMwMTc3IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4g QEAgLTEzMjMsNiArMTMyMyw5IEBAIHN0YXRpYyBlbnVtIHBvcnQgaW50ZWxfYXV4X3BvcnQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJY2FzZSBEUF9BVVhfRDoKPiAgCQlh dXhfcG9ydCA9IFBPUlRfRDsKPiAgCQlicmVhazsKPiArCWNhc2UgRFBfQVVYX0Y6Cj4gKwkJYXV4 X3BvcnQgPSBQT1JUX0Y7Cj4gKwkJYnJlYWs7Cj4gIAlkZWZhdWx0Ogo+ICAJCU1JU1NJTkdfQ0FT RShpbmZvLT5hbHRlcm5hdGVfYXV4X2NoYW5uZWwpOwo+ICAJCWF1eF9wb3J0ID0gUE9SVF9BOwo+ IEBAIC0xMzQyLDYgKzEzNDUsNyBAQCBzdGF0aWMgaTkxNV9yZWdfdCBnNHhfYXV4X2N0bF9yZWco c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJY2FzZSBQT1JUX0I6Cj4gIAlj YXNlIFBPUlRfQzoKPiAgCWNhc2UgUE9SVF9EOgo+ICsJY2FzZSBQT1JUX0Y6Cj4gIAkJcmV0dXJu IERQX0FVWF9DSF9DVEwocG9ydCk7Cj4gIAlkZWZhdWx0Ogo+ICAJCU1JU1NJTkdfQ0FTRShwb3J0 KTsKPiBAQCAtMTM1Niw2ICsxMzYwLDcgQEAgc3RhdGljIGk5MTVfcmVnX3QgZzR4X2F1eF9kYXRh X3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAljYXNlIFBPUlRfQjoK PiAgCWNhc2UgUE9SVF9DOgo+ICAJY2FzZSBQT1JUX0Q6Cj4gKwljYXNlIFBPUlRfRjoKPiAgCQly ZXR1cm4gRFBfQVVYX0NIX0RBVEEocG9ydCwgaW5kZXgpOwo+ICAJZGVmYXVsdDoKPiAgCQlNSVNT SU5HX0NBU0UocG9ydCk7Cj4gQEAgLTYyMjQsNiArNjIyOSw5IEBAIGludGVsX2RwX2luaXRfY29u bmVjdG9yX3BvcnRfaW5mbyhzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9y dCkKPiAgCQkvKiBGSVhNRTogQ2hlY2sgVkJUIGZvciBhY3R1YWwgd2lyaW5nIG9mIFBPUlQgRSAq Lwo+ICAJCWludGVsX2RwLT5hdXhfcG93ZXJfZG9tYWluID0gUE9XRVJfRE9NQUlOX0FVWF9EOwo+ ICAJCWJyZWFrOwo+ICsJY2FzZSBQT1JUX0Y6Cj4gKwkJaW50ZWxfZHAtPmF1eF9wb3dlcl9kb21h aW4gPSBQT1dFUl9ET01BSU5fQVVYX0Y7Cj4gKwkJYnJlYWs7Cj4gIAlkZWZhdWx0Ogo+ICAJCU1J U1NJTkdfQ0FTRShlbmNvZGVyLT5wb3J0KTsKPiAgCX0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcnVudGltZV9wbS5jCj4gaW5kZXggNWIxYWE0YjljNzJjLi45M2NjMDc5OThjYzAgMTAwNjQ0 Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gQEAgLTEyNCw2ICsxMjQs OCBAQCBpbnRlbF9kaXNwbGF5X3Bvd2VyX2RvbWFpbl9zdHIoZW51bSBpbnRlbF9kaXNwbGF5X3Bv d2VyX2RvbWFpbiBkb21haW4pCj4gIAkJcmV0dXJuICJBVVhfQyI7Cj4gIAljYXNlIFBPV0VSX0RP TUFJTl9BVVhfRDoKPiAgCQlyZXR1cm4gIkFVWF9EIjsKPiArCWNhc2UgUE9XRVJfRE9NQUlOX0FV WF9GOgo+ICsJCXJldHVybiAiQVVYX0YiOwo+ICAJY2FzZSBQT1dFUl9ET01BSU5fR01CVVM6Cj4g IAkJcmV0dXJuICJHTUJVUyI7Cj4gIAljYXNlIFBPV0VSX0RPTUFJTl9JTklUOgo+IEBAIC0xODU1 LDYgKzE4NTcsOSBAQCB2b2lkIGludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwKPiAgI2RlZmluZSBDTkxfRElTUExBWV9BVVhfRF9QT1dFUl9E T01BSU5TICgJCVwKPiAgCUJJVF9VTEwoUE9XRVJfRE9NQUlOX0FVWF9EKSB8CQkJXAo+ICAJQklU X1VMTChQT1dFUl9ET01BSU5fSU5JVCkpCj4gKyNkZWZpbmUgQ05MX0RJU1BMQVlfQVVYX0ZfUE9X RVJfRE9NQUlOUyAoCQlcCj4gKwlCSVRfVUxMKFBPV0VSX0RPTUFJTl9BVVhfRikgfAkJCVwKPiAr CUJJVF9VTEwoUE9XRVJfRE9NQUlOX0lOSVQpKQo+ICAjZGVmaW5lIENOTF9ESVNQTEFZX0RDX09G Rl9QT1dFUl9ET01BSU5TICgJCVwKPiAgCUNOTF9ESVNQTEFZX1BPV0VSV0VMTF8yX1BPV0VSX0RP TUFJTlMgfAkJXAo+ICAJQklUX1VMTChQT1dFUl9ET01BSU5fR1RfSVJRKSB8CQkJXAo+IEBAIC0y NDA1LDYgKzI0MTAsMTIgQEAgc3RhdGljIHN0cnVjdCBpOTE1X3Bvd2VyX3dlbGwgY25sX3Bvd2Vy X3dlbGxzW10gPSB7Cj4gIAkJLm9wcyA9ICZoc3dfcG93ZXJfd2VsbF9vcHMsCj4gIAkJLmlkID0g U0tMX0RJU1BfUFdfRERJX0QsCj4gIAl9LAo+ICsJewo+ICsJCS5uYW1lID0gIkFVWCBGIiwKPiAr CQkuZG9tYWlucyA9IENOTF9ESVNQTEFZX0FVWF9GX1BPV0VSX0RPTUFJTlMsCj4gKwkJLm9wcyA9 ICZoc3dfcG93ZXJfd2VsbF9vcHMsCj4gKwkJLmlkID0gQ05MX0RJU1BfUFdfQVVYX0YsCj4gKwl9 LAo+ICB9Owo+ICAKPiAgc3RhdGljIGludAo+IEBAIC0yNTIwLDYgKzI1MzEsMTYgQEAgaW50IGlu dGVsX3Bvd2VyX2RvbWFpbnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYp Cj4gIAkJc2V0X3Bvd2VyX3dlbGxzKHBvd2VyX2RvbWFpbnMsIHNrbF9wb3dlcl93ZWxscyk7Cj4g IAl9IGVsc2UgaWYgKElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gIAkJc2V0X3Bvd2VyX3dl bGxzKHBvd2VyX2RvbWFpbnMsIGNubF9wb3dlcl93ZWxscyk7Cj4gKwo+ICsJCS8qCj4gKwkJICog QXV4IElPIGlzIGdldHRpbmcgZW5hYmxlZCBmb3IgYWxsIHBvcnRzCj4gKwkJICogcmVnYXJkbGVz cyB0aGUgcHJlc2VuY2Ugb3IgdXNlLiBTbywgaW4gb3JkZXIgdG8gYXZvaWQKPiArCQkgKiB0aW1l b3V0cywgbGV0cyByZW1vdmUgaXQgZnJvbSB0aGUgbGlzdAo+ICsJCSAqIGZvciB0aGUgU0tVcyB3 aXRob3V0IHBvcnQgRi4KPiArCQkgKi8KPiArCQlpZiAoIUlTX0NOTF9XSVRIX1BPUlRfRihkZXZf cHJpdikpCj4gKwkJCXBvd2VyX2RvbWFpbnMtPnBvd2VyX3dlbGxfY291bnQgLT0gMTsKPiArCj4g IAl9IGVsc2UgaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7Cj4gIAkJc2V0X3Bvd2VyX3dlbGxz KHBvd2VyX2RvbWFpbnMsIGJ4dF9wb3dlcl93ZWxscyk7Cj4gIAl9IGVsc2UgaWYgKElTX0dFTUlO SUxBS0UoZGV2X3ByaXYpKSB7Cj4gLS0gCj4gMi4xMy42Cj4gCj4gX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4g SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0 b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=