From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v2 1/6] drm/i915: Merge the PPS register definitions Date: Tue, 9 Aug 2016 20:50:44 +0300 Message-ID: <20160809175044.GD4329@intel.com> References: <1470742452-5240-2-git-send-email-imre.deak@intel.com> <1470763294-7183-1-git-send-email-imre.deak@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 8DDFD6E621 for ; Tue, 9 Aug 2016 17:50:47 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1470763294-7183-1-git-send-email-imre.deak@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Imre Deak Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBBdWcgMDksIDIwMTYgYXQgMDg6MjE6MzFQTSArMDMwMCwgSW1yZSBEZWFrIHdyb3Rl Ogo+IFRoZSBQUFMgcmVnaXN0ZXJzIGFyZSBwcmV0dHkgbXVjaCB0aGUgc2FtZSBldmVyeXdoZXJl LCB0aGUgZGlmZmVyZW5jZXMKPiBiZWluZzoKPiAtIFJlZ2lzdGVyIGZpZWxkcyBhcHBlYXJpbmcs IGRpc2FwcGVhcmluZyBmcm9tIG9uZSBwbGF0Zm9ybSB0byB0aGUKPiAgIG5leHQ6IHBhbmVsLXJl c2V0LW9uLXBvd2VyZG93biwgYmFja2xpZ2h0LW9uLCBwYW5lbC1wb3J0LAo+ICAgcmVnaXN0ZXIt dW5sb2NrCj4gLSBEaWZmZXJlbnQgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzZXMKPiAtIERpZmZlcmVu dCBudW1iZXIgb2YgUFBTIGluc3RhbmNlczogMiBvbiBWTFYvQ0hWL0JYVCwgMSBldmVyeXdoZXJl Cj4gICBlbHNlLgo+IAo+IFdlIGNhbiBtZXJnZSB0aGUgc2VwYXJhdGUgc2V0IG9mIFBQUyBkZWZp bml0aW9ucyBieSBleHRlbmRpbmcgdGhlIFBQUwo+IGluc3RhbmNlIGFyZ3VtZW50IHRvIGFsbCBw bGF0Zm9ybXMgYW5kIHVzaW5nIGluc3RhbmNlIDAgb24gcGxhdGZvcm1zCj4gd2l0aCBhIHNpbmds ZSBpbnN0YW5jZS4gVGhpcyBtZWFucyB3ZSdsbCBuZWVkIHRvIGNhbGN1bGF0ZSB0aGUgcmVnaXN0 ZXIKPiBhZGRyZXNzZXMgZHluYW1pY2FsbHkgYmFzZWQgb24gdGhlIGdpdmVuIHBsYXRmb3JtIGFu ZCBQUFMgaW5zdGFuY2UuCj4gCj4gdjI6Cj4gLSBTaW1wbGlmeSBpZiBsYWRkZXIgaW4gaW50ZWxf cHBzX2dldF9yZWdpc3RlcnMoKS4gKFZpbGxlKQo+IAo+IFNpZ25lZC1vZmYtYnk6IEltcmUgRGVh ayA8aW1yZS5kZWFrQGludGVsLmNvbT4KClJldmlld2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZp bGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaCAgICAgIHwgICAyICsKPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaCAgICAgIHwgMTQ1ICsrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jICB8ICAzMCArKystLS0tLQo+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMjIgKysrKy0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICA0NSArKysrKy0tLS0tLQo+ICBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgICAgfCAgNDMgKysrLS0tLS0tLS0KPiAgNiBmaWxl cyBjaGFuZ2VkLCAxMTcgaW5zZXJ0aW9ucygrKSwgMTcwIGRlbGV0aW9ucygtKQo+IAo+IGRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaAo+IGluZGV4IGMzNmQxNzYuLmZkZGFlYzYgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmgKPiBAQCAtMTc0OSw2ICsxNzQ5LDggQEAgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgewo+ICAKPiAgCXVpbnQzMl90IHBzcl9tbWlvX2Jhc2U7Cj4gIAo+ICsJdWludDMyX3Qg cHBzX21taW9fYmFzZTsKPiArCj4gIAl3YWl0X3F1ZXVlX2hlYWRfdCBnbWJ1c193YWl0X3F1ZXVl Owo+ICAKPiAgCXN0cnVjdCBwY2lfZGV2ICpicmlkZ2VfZGV2Owo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9y ZWcuaAo+IGluZGV4IGYzOGE1ZTIuLmI2NWZlNTAgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9yZWcuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVn LmgKPiBAQCAtMzY2MCw4ICszNjYwLDE3IEBAIGVudW0gewo+ICAjZGVmaW5lICAgVklERU9fRElQ X0VOQUJMRV9TUERfSFNXCSgxIDw8IDApCj4gIAo+ICAvKiBQYW5lbCBwb3dlciBzZXF1ZW5jaW5n ICovCj4gLSNkZWZpbmUgUFBfU1RBVFVTCV9NTUlPKDB4NjEyMDApCj4gLSNkZWZpbmUgICBQUF9P TgkJKDEgPDwgMzEpCj4gKyNkZWZpbmUgUFBTX0JBU0UJCQkweDYxMjAwCj4gKyNkZWZpbmUgVkxW X1BQU19CQVNFCQkJKFZMVl9ESVNQTEFZX0JBU0UgKyBQUFNfQkFTRSkKPiArI2RlZmluZSBQQ0hf UFBTX0JBU0UJCQkweEM3MjAwCj4gKwo+ICsjZGVmaW5lIF9NTUlPX1BQUyhwcHNfaWR4LCByZWcp CQlfTU1JTyhkZXZfcHJpdi0+cHBzX21taW9fYmFzZSAtCVwKPiArCQkJCQkgICAgICBQUFNfQkFT RSArIChyZWcpICsJXAo+ICsJCQkJCSAgICAgIChwcHNfaWR4KSAqIDB4MTAwKQo+ICsKPiArI2Rl ZmluZSBfUFBfU1RBVFVTCQkJMHg2MTIwMAo+ICsjZGVmaW5lIFBQX1NUQVRVUyhwcHNfaWR4KQkJ X01NSU9fUFBTKHBwc19pZHgsIF9QUF9TVEFUVVMpCj4gKyNkZWZpbmUgICBQUF9PTgkJCQkoMSA8 PCAzMSkKPiAgLyoKPiAgICogSW5kaWNhdGVzIHRoYXQgYWxsIGRlcGVuZGVuY2llcyBvZiB0aGUg cGFuZWwgYXJlIG9uOgo+ICAgKgo+IEBAIC0zNjY5LDE0ICszNjc4LDE0IEBAIGVudW0gewo+ICAg KiAtIHBpcGUgZW5hYmxlZAo+ICAgKiAtIExWRFMvRFZPQi9EVk9DIG9uCj4gICAqLwo+IC0jZGVm aW5lICAgUFBfUkVBRFkJCSgxIDw8IDMwKQo+IC0jZGVmaW5lICAgUFBfU0VRVUVOQ0VfTk9ORQko MCA8PCAyOCkKPiAtI2RlZmluZSAgIFBQX1NFUVVFTkNFX1BPV0VSX1VQCSgxIDw8IDI4KQo+IC0j ZGVmaW5lICAgUFBfU0VRVUVOQ0VfUE9XRVJfRE9XTiAoMiA8PCAyOCkKPiAtI2RlZmluZSAgIFBQ X1NFUVVFTkNFX01BU0sJKDMgPDwgMjgpCj4gLSNkZWZpbmUgICBQUF9TRVFVRU5DRV9TSElGVAky OAo+IC0jZGVmaW5lICAgUFBfQ1lDTEVfREVMQVlfQUNUSVZFCSgxIDw8IDI3KQo+IC0jZGVmaW5l ICAgUFBfU0VRVUVOQ0VfU1RBVEVfTUFTSyAweDAwMDAwMDBmCj4gKyNkZWZpbmUgICBQUF9SRUFE WQkJCSgxIDw8IDMwKQo+ICsjZGVmaW5lICAgUFBfU0VRVUVOQ0VfTk9ORQkJKDAgPDwgMjgpCj4g KyNkZWZpbmUgICBQUF9TRVFVRU5DRV9QT1dFUl9VUAkJKDEgPDwgMjgpCj4gKyNkZWZpbmUgICBQ UF9TRVFVRU5DRV9QT1dFUl9ET1dOCSgyIDw8IDI4KQo+ICsjZGVmaW5lICAgUFBfU0VRVUVOQ0Vf TUFTSwkJKDMgPDwgMjgpCj4gKyNkZWZpbmUgICBQUF9TRVFVRU5DRV9TSElGVAkJMjgKPiArI2Rl ZmluZSAgIFBQX0NZQ0xFX0RFTEFZX0FDVElWRQkJKDEgPDwgMjcpCj4gKyNkZWZpbmUgICBQUF9T RVFVRU5DRV9TVEFURV9NQVNLCTB4MDAwMDAwMGYKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NU QVRFX09GRl9JRExFCSgweDAgPDwgMCkKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09G Rl9TMF8xCSgweDEgPDwgMCkKPiAgI2RlZmluZSAgIFBQX1NFUVVFTkNFX1NUQVRFX09GRl9TMF8y CSgweDIgPDwgMCkKPiBAQCAtMzY4NiwxMSArMzY5NSw0NiBAQCBlbnVtIHsKPiAgI2RlZmluZSAg IFBQX1NFUVVFTkNFX1NUQVRFX09OX1MxXzIJKDB4YSA8PCAwKQo+ICAjZGVmaW5lICAgUFBfU0VR VUVOQ0VfU1RBVEVfT05fUzFfMwkoMHhiIDw8IDApCj4gICNkZWZpbmUgICBQUF9TRVFVRU5DRV9T VEFURV9SRVNFVAkoMHhmIDw8IDApCj4gLSNkZWZpbmUgUFBfQ09OVFJPTAlfTU1JTygweDYxMjA0 KQo+IC0jZGVmaW5lICAgUE9XRVJfVEFSR0VUX09OCSgxIDw8IDApCj4gLSNkZWZpbmUgUFBfT05f REVMQVlTCV9NTUlPKDB4NjEyMDgpCj4gLSNkZWZpbmUgUFBfT0ZGX0RFTEFZUwlfTU1JTygweDYx MjBjKQo+IC0jZGVmaW5lIFBQX0RJVklTT1IJX01NSU8oMHg2MTIxMCkKPiArCj4gKyNkZWZpbmUg X1BQX0NPTlRST0wJCQkweDYxMjA0Cj4gKyNkZWZpbmUgUFBfQ09OVFJPTChwcHNfaWR4KQkJX01N SU9fUFBTKHBwc19pZHgsIF9QUF9DT05UUk9MKQo+ICsjZGVmaW5lICBQQU5FTF9VTkxPQ0tfUkVH UwkJKDB4YWJjZCA8PCAxNikKPiArI2RlZmluZSAgUEFORUxfVU5MT0NLX01BU0sJCSgweGZmZmYg PDwgMTYpCj4gKyNkZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCTB4MWYwCj4gKyNk ZWZpbmUgIEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVAk0Cj4gKyNkZWZpbmUgIEVEUF9GT1JD RV9WREQJCQkoMSA8PCAzKQo+ICsjZGVmaW5lICBFRFBfQkxDX0VOQUJMRQkJCSgxIDw8IDIpCj4g KyNkZWZpbmUgIFBBTkVMX1BPV0VSX1JFU0VUCQkoMSA8PCAxKQo+ICsjZGVmaW5lICBQQU5FTF9Q T1dFUl9PRkYJCSgwIDw8IDApCj4gKyNkZWZpbmUgIFBBTkVMX1BPV0VSX09OCQkJKDEgPDwgMCkK PiArI2RlZmluZSAgUE9XRVJfVEFSR0VUX09OCQkoMSA8PCAwKQo+ICsKPiArI2RlZmluZSBfUFBf T05fREVMQVlTCQkJMHg2MTIwOAo+ICsjZGVmaW5lIFBQX09OX0RFTEFZUyhwcHNfaWR4KQkJX01N SU9fUFBTKHBwc19pZHgsIF9QUF9PTl9ERUxBWVMpCj4gKyNkZWZpbmUgIFBBTkVMX1BPUlRfU0VM RUNUX01BU0sJCSgzIDw8IDMwKQo+ICsjZGVmaW5lICBQQU5FTF9QT1JUX1NFTEVDVF9MVkRTCQko MCA8PCAzMCkKPiArI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBBCQkoMSA8PCAzMCkKPiAr I2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBDCQkoMiA8PCAzMCkKPiArI2RlZmluZSAgUEFO RUxfUE9SVF9TRUxFQ1RfRFBECQkoMyA8PCAzMCkKPiArI2RlZmluZSAgUEFORUxfUE9SVF9TRUxF Q1RfVkxWKHBvcnQpCSgocG9ydCkgPDwgMzApCj4gKyNkZWZpbmUgIFBBTkVMX1BPV0VSX1VQX0RF TEFZX01BU0sJMHgxZmZmMDAwMAo+ICsjZGVmaW5lICBQQU5FTF9QT1dFUl9VUF9ERUxBWV9TSElG VAkxNgo+ICsjZGVmaW5lICBQQU5FTF9MSUdIVF9PTl9ERUxBWV9NQVNLCTB4MWZmZgo+ICsjZGVm aW5lICBQQU5FTF9MSUdIVF9PTl9ERUxBWV9TSElGVAkwCj4gKwo+ICsjZGVmaW5lIF9QUF9PRkZf REVMQVlTCQkJMHg2MTIwQwo+ICsjZGVmaW5lIFBQX09GRl9ERUxBWVMocHBzX2lkeCkJCV9NTUlP X1BQUyhwcHNfaWR4LCBfUFBfT0ZGX0RFTEFZUykKPiArI2RlZmluZSAgUEFORUxfUE9XRVJfRE9X Tl9ERUxBWV9NQVNLCTB4MWZmZjAwMDAKPiArI2RlZmluZSAgUEFORUxfUE9XRVJfRE9XTl9ERUxB WV9TSElGVAkxNgo+ICsjZGVmaW5lICBQQU5FTF9MSUdIVF9PRkZfREVMQVlfTUFTSwkweDFmZmYK PiArI2RlZmluZSAgUEFORUxfTElHSFRfT0ZGX0RFTEFZX1NISUZUCTAKPiArCj4gKyNkZWZpbmUg X1BQX0RJVklTT1IJCQkweDYxMjEwCj4gKyNkZWZpbmUgUFBfRElWSVNPUihwcHNfaWR4KQkJX01N SU9fUFBTKHBwc19pZHgsIF9QUF9ESVZJU09SKQo+ICsjZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElW SURFUl9NQVNLCTB4ZmZmZmZmMDAKPiArI2RlZmluZSAgUFBfUkVGRVJFTkNFX0RJVklERVJfU0hJ RlQJOAo+ICsjZGVmaW5lICBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCTB4MWYKPiArI2Rl ZmluZSAgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQJMAo+ICAKPiAgLyogUGFuZWwgZml0 dGluZyAqLwo+ICAjZGVmaW5lIFBGSVRfQ09OVFJPTAlfTU1JTyhkZXZfcHJpdi0+aW5mby5kaXNw bGF5X21taW9fb2Zmc2V0ICsgMHg2MTIzMCkKPiBAQCAtNjc1MCw3NyArNjc5NCw2IEBAIGVudW0g ewo+ICAjZGVmaW5lIFBDSF9MVkRTCV9NTUlPKDB4ZTExODApCj4gICNkZWZpbmUgIExWRFNfREVU RUNURUQJKDEgPDwgMSkKPiAgCj4gLS8qIHZsdiBoYXMgMiBzZXRzIG9mIHBhbmVsIGNvbnRyb2wg cmVncy4gKi8KPiAtI2RlZmluZSBfUElQRUFfUFBfU1RBVFVTICAgICAgICAgKFZMVl9ESVNQTEFZ X0JBU0UgKyAweDYxMjAwKQo+IC0jZGVmaW5lIF9QSVBFQV9QUF9DT05UUk9MICAgICAgICAoVkxW X0RJU1BMQVlfQkFTRSArIDB4NjEyMDQpCj4gLSNkZWZpbmUgX1BJUEVBX1BQX09OX0RFTEFZUyAg ICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTIwOCkKPiAtI2RlZmluZSAgUEFORUxfUE9SVF9T RUxFQ1RfVkxWKHBvcnQpCSgocG9ydCkgPDwgMzApCj4gLSNkZWZpbmUgX1BJUEVBX1BQX09GRl9E RUxBWVMgICAgIChWTFZfRElTUExBWV9CQVNFICsgMHg2MTIwYykKPiAtI2RlZmluZSBfUElQRUFf UFBfRElWSVNPUiAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMjEwKQo+IC0KPiAtI2Rl ZmluZSBfUElQRUJfUFBfU1RBVFVTICAgICAgICAgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzAw KQo+IC0jZGVmaW5lIF9QSVBFQl9QUF9DT05UUk9MICAgICAgICAoVkxWX0RJU1BMQVlfQkFTRSAr IDB4NjEzMDQpCj4gLSNkZWZpbmUgX1BJUEVCX1BQX09OX0RFTEFZUyAgICAgIChWTFZfRElTUExB WV9CQVNFICsgMHg2MTMwOCkKPiAtI2RlZmluZSBfUElQRUJfUFBfT0ZGX0RFTEFZUyAgICAgKFZM Vl9ESVNQTEFZX0JBU0UgKyAweDYxMzBjKQo+IC0jZGVmaW5lIF9QSVBFQl9QUF9ESVZJU09SICAg ICAgICAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEzMTApCj4gLQo+IC0jZGVmaW5lIFZMVl9QSVBF X1BQX1NUQVRVUyhwaXBlKQlfTU1JT19QSVBFKHBpcGUsIF9QSVBFQV9QUF9TVEFUVVMsIF9QSVBF Ql9QUF9TVEFUVVMpCj4gLSNkZWZpbmUgVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKQlfTU1JT19Q SVBFKHBpcGUsIF9QSVBFQV9QUF9DT05UUk9MLCBfUElQRUJfUFBfQ09OVFJPTCkKPiAtI2RlZmlu ZSBWTFZfUElQRV9QUF9PTl9ERUxBWVMocGlwZSkJX01NSU9fUElQRShwaXBlLCBfUElQRUFfUFBf T05fREVMQVlTLCBfUElQRUJfUFBfT05fREVMQVlTKQo+IC0jZGVmaW5lIFZMVl9QSVBFX1BQX09G Rl9ERUxBWVMocGlwZSkJX01NSU9fUElQRShwaXBlLCBfUElQRUFfUFBfT0ZGX0RFTEFZUywgX1BJ UEVCX1BQX09GRl9ERUxBWVMpCj4gLSNkZWZpbmUgVkxWX1BJUEVfUFBfRElWSVNPUihwaXBlKQlf TU1JT19QSVBFKHBpcGUsIF9QSVBFQV9QUF9ESVZJU09SLCBfUElQRUJfUFBfRElWSVNPUikKPiAt Cj4gLSNkZWZpbmUgX1BDSF9QUF9TVEFUVVMJCTB4YzcyMDAKPiAtI2RlZmluZSBfUENIX1BQX0NP TlRST0wJCTB4YzcyMDQKPiAtI2RlZmluZSAgUEFORUxfVU5MT0NLX1JFR1MJKDB4YWJjZCA8PCAx NikKPiAtI2RlZmluZSAgUEFORUxfVU5MT0NLX01BU0sJKDB4ZmZmZiA8PCAxNikKPiAtI2RlZmlu ZSAgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJKDB4MWYwKQo+IC0jZGVmaW5lICBCWFRfUE9X RVJfQ1lDTEVfREVMQVlfU0hJRlQJNAo+IC0jZGVmaW5lICBFRFBfRk9SQ0VfVkRECQkoMSA8PCAz KQo+IC0jZGVmaW5lICBFRFBfQkxDX0VOQUJMRQkJKDEgPDwgMikKPiAtI2RlZmluZSAgUEFORUxf UE9XRVJfUkVTRVQJKDEgPDwgMSkKPiAtI2RlZmluZSAgUEFORUxfUE9XRVJfT0ZGCSgwIDw8IDAp Cj4gLSNkZWZpbmUgIFBBTkVMX1BPV0VSX09OCQkoMSA8PCAwKQo+IC0jZGVmaW5lIF9QQ0hfUFBf T05fREVMQVlTCTB4YzcyMDgKPiAtI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfTUFTSwkoMyA8 PCAzMCkKPiAtI2RlZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfTFZEUwkoMCA8PCAzMCkKPiAtI2Rl ZmluZSAgUEFORUxfUE9SVF9TRUxFQ1RfRFBBCSgxIDw8IDMwKQo+IC0jZGVmaW5lICBQQU5FTF9Q T1JUX1NFTEVDVF9EUEMJKDIgPDwgMzApCj4gLSNkZWZpbmUgIFBBTkVMX1BPUlRfU0VMRUNUX0RQ RAkoMyA8PCAzMCkKPiAtI2RlZmluZSAgUEFORUxfUE9XRVJfVVBfREVMQVlfTUFTSwkoMHgxZmZm MDAwMCkKPiAtI2RlZmluZSAgUEFORUxfUE9XRVJfVVBfREVMQVlfU0hJRlQJMTYKPiAtI2RlZmlu ZSAgUEFORUxfTElHSFRfT05fREVMQVlfTUFTSwkoMHgxZmZmKQo+IC0jZGVmaW5lICBQQU5FTF9M SUdIVF9PTl9ERUxBWV9TSElGVAkwCj4gLQo+IC0jZGVmaW5lIF9QQ0hfUFBfT0ZGX0RFTEFZUwkJ MHhjNzIwYwo+IC0jZGVmaW5lICBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX01BU0sJKDB4MWZmZjAw MDApCj4gLSNkZWZpbmUgIFBBTkVMX1BPV0VSX0RPV05fREVMQVlfU0hJRlQJMTYKPiAtI2RlZmlu ZSAgUEFORUxfTElHSFRfT0ZGX0RFTEFZX01BU0sJKDB4MWZmZikKPiAtI2RlZmluZSAgUEFORUxf TElHSFRfT0ZGX0RFTEFZX1NISUZUCTAKPiAtCj4gLSNkZWZpbmUgX1BDSF9QUF9ESVZJU09SCQkJ MHhjNzIxMAo+IC0jZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9NQVNLCSgweGZmZmZmZjAw KQo+IC0jZGVmaW5lICBQUF9SRUZFUkVOQ0VfRElWSURFUl9TSElGVAk4Cj4gLSNkZWZpbmUgIFBB TkVMX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJKDB4MWYpCj4gLSNkZWZpbmUgIFBBTkVMX1BPV0VS X0NZQ0xFX0RFTEFZX1NISUZUCTAKPiAtCj4gLSNkZWZpbmUgUENIX1BQX1NUQVRVUwkJCV9NTUlP KF9QQ0hfUFBfU1RBVFVTKQo+IC0jZGVmaW5lIFBDSF9QUF9DT05UUk9MCQkJX01NSU8oX1BDSF9Q UF9DT05UUk9MKQo+IC0jZGVmaW5lIFBDSF9QUF9PTl9ERUxBWVMJCV9NTUlPKF9QQ0hfUFBfT05f REVMQVlTKQo+IC0jZGVmaW5lIFBDSF9QUF9PRkZfREVMQVlTCQlfTU1JTyhfUENIX1BQX09GRl9E RUxBWVMpCj4gLSNkZWZpbmUgUENIX1BQX0RJVklTT1IJCQlfTU1JTyhfUENIX1BQX0RJVklTT1Ip Cj4gLQo+IC0vKiBCWFQgUFBTIGNoYW5nZXMgLSAybmQgc2V0IG9mIFBQUyByZWdpc3RlcnMgKi8K PiAtI2RlZmluZSBfQlhUX1BQX1NUQVRVUzIgCTB4YzczMDAKPiAtI2RlZmluZSBfQlhUX1BQX0NP TlRST0wyIAkweGM3MzA0Cj4gLSNkZWZpbmUgX0JYVF9QUF9PTl9ERUxBWVMyCTB4YzczMDgKPiAt I2RlZmluZSBfQlhUX1BQX09GRl9ERUxBWVMyCTB4YzczMGMKPiAtCj4gLSNkZWZpbmUgQlhUX1BQ X1NUQVRVUyhuKQlfTU1JT19QSVBFKG4sIF9QQ0hfUFBfU1RBVFVTLCBfQlhUX1BQX1NUQVRVUzIp Cj4gLSNkZWZpbmUgQlhUX1BQX0NPTlRST0wobikJX01NSU9fUElQRShuLCBfUENIX1BQX0NPTlRS T0wsIF9CWFRfUFBfQ09OVFJPTDIpCj4gLSNkZWZpbmUgQlhUX1BQX09OX0RFTEFZUyhuKQlfTU1J T19QSVBFKG4sIF9QQ0hfUFBfT05fREVMQVlTLCBfQlhUX1BQX09OX0RFTEFZUzIpCj4gLSNkZWZp bmUgQlhUX1BQX09GRl9ERUxBWVMobikJX01NSU9fUElQRShuLCBfUENIX1BQX09GRl9ERUxBWVMs IF9CWFRfUFBfT0ZGX0RFTEFZUzIpCj4gLQo+ICAjZGVmaW5lIF9QQ0hfRFBfQgkJMHhlNDEwMAo+ ICAjZGVmaW5lIFBDSF9EUF9CCQlfTU1JTyhfUENIX0RQX0IpCj4gICNkZWZpbmUgX1BDSF9EUEJf QVVYX0NIX0NUTAkweGU0MTEwCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfc3VzcGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiBpbmRl eCA1Y2ZlNGM3Li5jODI2YjY5IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfc3VzcGVuZC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMK PiBAQCAtNDQsMTYgKzQ0LDExIEBAIHN0YXRpYyB2b2lkIGk5MTVfc2F2ZV9kaXNwbGF5KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZUxWRFMgPSBJOTE1 X1JFQUQoTFZEUyk7Cj4gIAo+ICAJLyogUGFuZWwgcG93ZXIgc2VxdWVuY2VyICovCj4gLQlpZiAo SEFTX1BDSF9TUExJVChkZXYpKSB7Cj4gLQkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRS T0wgPSBJOTE1X1JFQUQoUENIX1BQX0NPTlRST0wpOwo+IC0JCWRldl9wcml2LT5yZWdmaWxlLnNh dmVQUF9PTl9ERUxBWVMgPSBJOTE1X1JFQUQoUENIX1BQX09OX0RFTEFZUyk7Cj4gLQkJZGV2X3By aXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMgPSBJOTE1X1JFQUQoUENIX1BQX09GRl9ERUxB WVMpOwo+IC0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SID0gSTkxNV9SRUFEKFBD SF9QUF9ESVZJU09SKTsKPiAtCX0gZWxzZSBpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPD0gNCkg ewo+IC0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9MID0gSTkxNV9SRUFEKFBQX0NP TlRST0wpOwo+IC0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMgPSBJOTE1X1JF QUQoUFBfT05fREVMQVlTKTsKPiAtCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZ UyA9IEk5MTVfUkVBRChQUF9PRkZfREVMQVlTKTsKPiAtCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZl UFBfRElWSVNPUiA9IEk5MTVfUkVBRChQUF9ESVZJU09SKTsKPiArCWlmIChIQVNfUENIX1NQTElU KGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpIDw9IDQpIHsKPiArCQlkZXZfcHJpdi0+ cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCA9IEk5MTVfUkVBRChQUF9DT05UUk9MKDApKTsKPiArCQlk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTID0gSTkxNV9SRUFEKFBQX09OX0RFTEFZ UygwKSk7Cj4gKwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMgPSBJOTE1X1JF QUQoUFBfT0ZGX0RFTEFZUygwKSk7Cj4gKwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0RJVklT T1IgPSBJOTE1X1JFQUQoUFBfRElWSVNPUigwKSk7Cj4gIAl9Cj4gIAo+ICAJLyogc2F2ZSBGQkMg aW50ZXJ2YWwgKi8KPiBAQCAtNzksMTYgKzc0LDExIEBAIHN0YXRpYyB2b2lkIGk5MTVfcmVzdG9y ZV9kaXNwbGF5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJSTkxNV9XUklURShMVkRTLCBk ZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZEUyAmIG1hc2spOwo+ICAKPiAgCS8qIFBhbmVsIHBvd2Vy IHNlcXVlbmNlciAqLwo+IC0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+IC0JCUk5MTVfV1JJ VEUoUENIX1BQX09OX0RFTEFZUywgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyk7 Cj4gLQkJSTkxNV9XUklURShQQ0hfUFBfT0ZGX0RFTEFZUywgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2 ZVBQX09GRl9ERUxBWVMpOwo+IC0JCUk5MTVfV1JJVEUoUENIX1BQX0RJVklTT1IsIGRldl9wcml2 LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SKTsKPiAtCQlJOTE1X1dSSVRFKFBDSF9QUF9DT05UUk9M LCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCk7Cj4gLQl9IGVsc2UgaWYgKElOVEVM X0lORk8oZGV2KS0+Z2VuIDw9IDQpIHsKPiAtCQlJOTE1X1dSSVRFKFBQX09OX0RFTEFZUywgZGV2 X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyk7Cj4gLQkJSTkxNV9XUklURShQUF9PRkZf REVMQVlTLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT0ZGX0RFTEFZUyk7Cj4gLQkJSTkxNV9X UklURShQUF9ESVZJU09SLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUik7Cj4gLQkJ STkxNV9XUklURShQUF9DT05UUk9MLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCk7 Cj4gKwlpZiAoSEFTX1BDSF9TUExJVChkZXZfcHJpdikgfHwgSU5URUxfR0VOKGRldl9wcml2KSA8 PSA0KSB7Cj4gKwkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMoMCksIGRldl9wcml2LT5yZWdmaWxl LnNhdmVQUF9PTl9ERUxBWVMpOwo+ICsJCUk5MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUygwKSwgZGV2 X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMpOwo+ICsJCUk5MTVfV1JJVEUoUFBfRElW SVNPUigwKSwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0RJVklTT1IpOwo+ICsJCUk5MTVfV1JJ VEUoUFBfQ09OVFJPTCgwKSwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wpOwo+ICAJ fQo+ICAKPiAgCS8qIG9ubHkgcmVzdG9yZSBGQkMgaW5mbyBvbiB0aGUgcGxhdGZvcm0gdGhhdCBz dXBwb3J0cyBGQkMqLwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBj NmYyN2FiLi4zZDVmZDA2IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ IEBAIC0xMjAyLDggKzEyMDIsOCBAQCB2b2lkIGFzc2VydF9wYW5lbF91bmxvY2tlZChzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAlpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7 Cj4gIAkJdTMyIHBvcnRfc2VsOwo+ICAKPiAtCQlwcF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPiAt CQlwb3J0X3NlbCA9IEk5MTVfUkVBRChQQ0hfUFBfT05fREVMQVlTKSAmIFBBTkVMX1BPUlRfU0VM RUNUX01BU0s7Cj4gKwkJcHBfcmVnID0gUFBfQ09OVFJPTCgwKTsKPiArCQlwb3J0X3NlbCA9IEk5 MTVfUkVBRChQUF9PTl9ERUxBWVMoMCkpICYgUEFORUxfUE9SVF9TRUxFQ1RfTUFTSzsKPiAgCj4g IAkJaWYgKHBvcnRfc2VsID09IFBBTkVMX1BPUlRfU0VMRUNUX0xWRFMgJiYKPiAgCQkgICAgSTkx NV9SRUFEKFBDSF9MVkRTKSAmIExWRFNfUElQRUJfU0VMRUNUKQo+IEBAIC0xMjExLDEwICsxMjEx LDEwIEBAIHZvaWQgYXNzZXJ0X3BhbmVsX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwKPiAgCQkvKiBYWFg6IGVsc2UgZml4IGZvciBlRFAgKi8KPiAgCX0gZWxzZSBp ZiAoSVNfVkFMTEVZVklFVyhkZXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2KSkgewo+ICAJCS8qIHBy ZXN1bWFibHkgd3JpdGUgbG9jayBkZXBlbmRzIG9uIHBpcGUsIG5vdCBwb3J0IHNlbGVjdCAqLwo+ IC0JCXBwX3JlZyA9IFZMVl9QSVBFX1BQX0NPTlRST0wocGlwZSk7Cj4gKwkJcHBfcmVnID0gUFBf Q09OVFJPTChwaXBlKTsKPiAgCQlwYW5lbF9waXBlID0gcGlwZTsKPiAgCX0gZWxzZSB7Cj4gLQkJ cHBfcmVnID0gUFBfQ09OVFJPTDsKPiArCQlwcF9yZWcgPSBQUF9DT05UUk9MKDApOwo+ICAJCWlm IChJOTE1X1JFQUQoTFZEUykgJiBMVkRTX1BJUEVCX1NFTEVDVCkKPiAgCQkJcGFuZWxfcGlwZSA9 IFBJUEVfQjsKPiAgCX0KPiBAQCAtOTQxMSw3ICs5NDExLDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0 X2Nhbl9kaXNhYmxlX2xjcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAg CUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoU1BMTF9DVEwpICYgU1BMTF9QTExfRU5BQkxFLCAi U1BMTCBlbmFibGVkXG4iKTsKPiAgCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoV1JQTExfQ1RM KDApKSAmIFdSUExMX1BMTF9FTkFCTEUsICJXUlBMTDEgZW5hYmxlZFxuIik7Cj4gIAlJOTE1X1NU QVRFX1dBUk4oSTkxNV9SRUFEKFdSUExMX0NUTCgxKSkgJiBXUlBMTF9QTExfRU5BQkxFLCAiV1JQ TEwyIGVuYWJsZWRcbiIpOwo+IC0JSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChQQ0hfUFBfU1RB VFVTKSAmIFBQX09OLCAiUGFuZWwgcG93ZXIgb25cbiIpOwo+ICsJSTkxNV9TVEFURV9XQVJOKEk5 MTVfUkVBRChQUF9TVEFUVVMoMCkpICYgUFBfT04sICJQYW5lbCBwb3dlciBvblxuIik7Cj4gIAlJ OTE1X1NUQVRFX1dBUk4oSTkxNV9SRUFEKEJMQ19QV01fQ1BVX0NUTDIpICYgQkxNX1BXTV9FTkFC TEUsCj4gIAkgICAgICJDUFUgUFdNMSBlbmFibGVkXG4iKTsKPiAgCWlmIChJU19IQVNXRUxMKGRl dikpCj4gQEAgLTE0NjM1LDEyICsxNDYzNSwyNCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9jcnRfcHJl c2VudChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJcmV0dXJuIHRydWU7Cj4gIH0KPiAgCj4g K3N0YXRpYyB2b2lkIGludGVsX3Bwc19pbml0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKPiArewo+ICsJaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYpIHx8IElTX0JST1hUT04o ZGV2X3ByaXYpKQo+ICsJCWRldl9wcml2LT5wcHNfbW1pb19iYXNlID0gUENIX1BQU19CQVNFOwo+ ICsJZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZf cHJpdikpCj4gKwkJZGV2X3ByaXYtPnBwc19tbWlvX2Jhc2UgPSBWTFZfUFBTX0JBU0U7Cj4gKwll bHNlCj4gKwkJZGV2X3ByaXYtPnBwc19tbWlvX2Jhc2UgPSBQUFNfQkFTRTsKPiArfQo+ICsKPiAg c3RhdGljIHZvaWQgaW50ZWxfc2V0dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7 Cj4gIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiAgCWJvb2wgZHBkX2lzX2VkcCA9 IGZhbHNlOwo+ICAKPiArCWludGVsX3Bwc19pbml0KGRldl9wcml2KTsKPiArCj4gIAkvKgo+ICAJ ICogaW50ZWxfZWRwX2luaXRfY29ubmVjdG9yKCkgZGVwZW5kcyBvbiB0aGlzIGNvbXBsZXRpbmcg Zmlyc3QsIHRvCj4gIAkgKiBwcmV2ZW50IHRoZSByZWdpc3RlcmF0aW9uIG9mIGJvdGggZURQIGFu ZCBMVkRTIGFuZCB0aGUgaW5jb3JyZWN0Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gaW5kZXgg OGZlMmFmYS4uMTVhZmY5MyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwo+IEBAIC00NjMs MTMgKzQ2MywxMyBAQCB0eXBlZGVmIGJvb2wgKCp2bHZfcGlwZV9jaGVjaykoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICBzdGF0aWMgYm9vbCB2bHZfcGlwZV9oYXNfcHBfb24o c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkgICAgICAgZW51bSBwaXBl IHBpcGUpCj4gIHsKPiAtCXJldHVybiBJOTE1X1JFQUQoVkxWX1BJUEVfUFBfU1RBVFVTKHBpcGUp KSAmIFBQX09OOwo+ICsJcmV0dXJuIEk5MTVfUkVBRChQUF9TVEFUVVMocGlwZSkpICYgUFBfT047 Cj4gIH0KPiAgCj4gIHN0YXRpYyBib29sIHZsdl9waXBlX2hhc192ZGRfb24oc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQkJZW51bSBwaXBlIHBpcGUpCj4gIHsKPiAtCXJl dHVybiBJOTE1X1JFQUQoVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKSkgJiBFRFBfRk9SQ0VfVkRE Owo+ICsJcmV0dXJuIEk5MTVfUkVBRChQUF9DT05UUk9MKHBpcGUpKSAmIEVEUF9GT1JDRV9WREQ7 Cj4gIH0KPiAgCj4gIHN0YXRpYyBib29sIHZsdl9waXBlX2FueShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYsCj4gQEAgLTQ4Niw3ICs0ODYsNyBAQCB2bHZfaW5pdGlhbF9wcHNfcGlw ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAllbnVtIHBpcGUgcGlwZTsK PiAgCj4gIAlmb3IgKHBpcGUgPSBQSVBFX0E7IHBpcGUgPD0gUElQRV9COyBwaXBlKyspIHsKPiAt CQl1MzIgcG9ydF9zZWwgPSBJOTE1X1JFQUQoVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUpKSAm Cj4gKwkJdTMyIHBvcnRfc2VsID0gSTkxNV9SRUFEKFBQX09OX0RFTEFZUyhwaXBlKSkgJgo+ICAJ CQlQQU5FTF9QT1JUX1NFTEVDVF9NQVNLOwo+ICAKPiAgCQlpZiAocG9ydF9zZWwgIT0gUEFORUxf UE9SVF9TRUxFQ1RfVkxWKHBvcnQpKQo+IEBAIC01ODMsMzAgKzU4MywyMSBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9wcHNfZ2V0X3JlZ2lzdGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCj4gIAkJCQkgICAgc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwKPiAgCQkJCSAgICBzdHJ1 Y3QgcHBzX3JlZ2lzdGVycyAqcmVncykKPiAgewo+ICsJaW50IHBwc19pZHggPSAwOwo+ICsKPiAg CW1lbXNldChyZWdzLCAwLCBzaXplb2YoKnJlZ3MpKTsKPiAgCj4gLQlpZiAoSVNfQlJPWFRPTihk ZXZfcHJpdikpIHsKPiAtCQlpbnQgaWR4ID0gYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxf ZHApOwo+ICsJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKQo+ICsJCXBwc19pZHggPSBieHRfcG93 ZXJfc2VxdWVuY2VyX2lkeChpbnRlbF9kcCk7Cj4gKwllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRl dl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiArCQlwcHNfaWR4ID0gdmx2X3Bv d2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKTsKPiAgCj4gLQkJcmVncy0+cHBfY3RybCA9IEJY VF9QUF9DT05UUk9MKGlkeCk7Cj4gLQkJcmVncy0+cHBfc3RhdCA9IEJYVF9QUF9TVEFUVVMoaWR4 KTsKPiAtCQlyZWdzLT5wcF9vbiA9IEJYVF9QUF9PTl9ERUxBWVMoaWR4KTsKPiAtCQlyZWdzLT5w cF9vZmYgPSBCWFRfUFBfT0ZGX0RFTEFZUyhpZHgpOwo+IC0JfSBlbHNlIGlmIChIQVNfUENIX1NQ TElUKGRldl9wcml2KSkgewo+IC0JCXJlZ3MtPnBwX2N0cmwgPSBQQ0hfUFBfQ09OVFJPTDsKPiAt CQlyZWdzLT5wcF9zdGF0ID0gUENIX1BQX1NUQVRVUzsKPiAtCQlyZWdzLT5wcF9vbiA9IFBDSF9Q UF9PTl9ERUxBWVM7Cj4gLQkJcmVncy0+cHBfb2ZmID0gUENIX1BQX09GRl9ERUxBWVM7Cj4gLQkJ cmVncy0+cHBfZGl2ID0gUENIX1BQX0RJVklTT1I7Cj4gLQl9IGVsc2Ugewo+IC0JCWVudW0gcGlw ZSBwaXBlID0gdmx2X3Bvd2VyX3NlcXVlbmNlcl9waXBlKGludGVsX2RwKTsKPiAtCj4gLQkJcmVn cy0+cHBfY3RybCA9IFZMVl9QSVBFX1BQX0NPTlRST0wocGlwZSk7Cj4gLQkJcmVncy0+cHBfc3Rh dCA9IFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKTsKPiAtCQlyZWdzLT5wcF9vbiA9IFZMVl9QSVBF X1BQX09OX0RFTEFZUyhwaXBlKTsKPiAtCQlyZWdzLT5wcF9vZmYgPSBWTFZfUElQRV9QUF9PRkZf REVMQVlTKHBpcGUpOwo+IC0JCXJlZ3MtPnBwX2RpdiA9IFZMVl9QSVBFX1BQX0RJVklTT1IocGlw ZSk7Cj4gLQl9Cj4gKwlyZWdzLT5wcF9jdHJsID0gUFBfQ09OVFJPTChwcHNfaWR4KTsKPiArCXJl Z3MtPnBwX3N0YXQgPSBQUF9TVEFUVVMocHBzX2lkeCk7Cj4gKwlyZWdzLT5wcF9vbiA9IFBQX09O X0RFTEFZUyhwcHNfaWR4KTsKPiArCXJlZ3MtPnBwX29mZiA9IFBQX09GRl9ERUxBWVMocHBzX2lk eCk7Cj4gKwlpZiAoIUlTX0JST1hUT04oZGV2X3ByaXYpKQo+ICsJCXJlZ3MtPnBwX2RpdiA9IFBQ X0RJVklTT1IocHBzX2lkeCk7Cj4gIH0KPiAgCj4gIHN0YXRpYyBpOTE1X3JlZ190Cj4gQEAgLTY1 MSw4ICs2NDIsOCBAQCBzdGF0aWMgaW50IGVkcF9ub3RpZnlfaGFuZGxlcihzdHJ1Y3Qgbm90aWZp ZXJfYmxvY2sgKnRoaXMsIHVuc2lnbmVkIGxvbmcgY29kZSwKPiAgCQlpOTE1X3JlZ190IHBwX2N0 cmxfcmVnLCBwcF9kaXZfcmVnOwo+ICAJCXUzMiBwcF9kaXY7Cj4gIAo+IC0JCXBwX2N0cmxfcmVn ID0gVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKTsKPiAtCQlwcF9kaXZfcmVnICA9IFZMVl9QSVBF X1BQX0RJVklTT1IocGlwZSk7Cj4gKwkJcHBfY3RybF9yZWcgPSBQUF9DT05UUk9MKHBpcGUpOwo+ ICsJCXBwX2Rpdl9yZWcgID0gUFBfRElWSVNPUihwaXBlKTsKPiAgCQlwcF9kaXYgPSBJOTE1X1JF QUQocHBfZGl2X3JlZyk7Cj4gIAkJcHBfZGl2ICY9IFBQX1JFRkVSRU5DRV9ESVZJREVSX01BU0s7 Cj4gIAo+IEBAIC0yNzI5LDcgKzI3MjAsNyBAQCBzdGF0aWMgdm9pZCB2bHZfZGV0YWNoX3Bvd2Vy X3NlcXVlbmNlcihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQo+ICAJc3RydWN0IGludGVsX2Rp Z2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7Cj4g IAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGludGVsX2RpZ19w b3J0LT5iYXNlLmJhc2UuZGV2KTsKPiAgCWVudW0gcGlwZSBwaXBlID0gaW50ZWxfZHAtPnBwc19w aXBlOwo+IC0JaTkxNV9yZWdfdCBwcF9vbl9yZWcgPSBWTFZfUElQRV9QUF9PTl9ERUxBWVMocGlw ZSk7Cj4gKwlpOTE1X3JlZ190IHBwX29uX3JlZyA9IFBQX09OX0RFTEFZUyhwaXBlKTsKPiAgCj4g IAllZHBfcGFuZWxfdmRkX29mZl9zeW5jKGludGVsX2RwKTsKPiAgCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2x2ZHMuYwo+IGluZGV4IDQ5NTUwNDcuLjQxM2U3MjkgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHZkcy5jCj4gQEAgLTIxNywyMSArMjE3LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2Vu YWJsZV9sdmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IGludGVs X2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yID0KPiAgCQkmbHZkc19lbmNvZGVyLT5hdHRhY2hl ZF9jb25uZWN0b3ItPmJhc2U7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYg PSB0b19pOTE1KGRldik7Cj4gLQlpOTE1X3JlZ190IGN0bF9yZWcsIHN0YXRfcmVnOwo+IC0KPiAt CWlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiAtCQljdGxfcmVnID0gUENIX1BQX0NPTlRST0w7 Cj4gLQkJc3RhdF9yZWcgPSBQQ0hfUFBfU1RBVFVTOwo+IC0JfSBlbHNlIHsKPiAtCQljdGxfcmVn ID0gUFBfQ09OVFJPTDsKPiAtCQlzdGF0X3JlZyA9IFBQX1NUQVRVUzsKPiAtCX0KPiAgCj4gIAlJ OTE1X1dSSVRFKGx2ZHNfZW5jb2Rlci0+cmVnLCBJOTE1X1JFQUQobHZkc19lbmNvZGVyLT5yZWcp IHwgTFZEU19QT1JUX0VOKTsKPiAgCj4gLQlJOTE1X1dSSVRFKGN0bF9yZWcsIEk5MTVfUkVBRChj dGxfcmVnKSB8IFBPV0VSX1RBUkdFVF9PTik7Cj4gKwlJOTE1X1dSSVRFKFBQX0NPTlRST0woMCks IEk5MTVfUkVBRChQUF9DT05UUk9MKDApKSB8IFBPV0VSX1RBUkdFVF9PTik7Cj4gIAlQT1NUSU5H X1JFQUQobHZkc19lbmNvZGVyLT5yZWcpOwo+IC0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVy KGRldl9wcml2LCBzdGF0X3JlZywgUFBfT04sIFBQX09OLCAxMDAwKSkKPiArCWlmIChpbnRlbF93 YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgUFBfU1RBVFVTKDApLCBQUF9PTiwgUFBfT04sIDEw MDApKQo+ICAJCURSTV9FUlJPUigidGltZWQgb3V0IHdhaXRpbmcgZm9yIHBhbmVsIHRvIHBvd2Vy IG9uXG4iKTsKPiAgCj4gIAlpbnRlbF9wYW5lbF9lbmFibGVfYmFja2xpZ2h0KGludGVsX2Nvbm5l Y3Rvcik7Cj4gQEAgLTI0MiwxOCArMjMzLDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9s dmRzKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ICAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGVuY29kZXItPmJhc2UuZGV2Owo+ICAJc3RydWN0IGludGVsX2x2ZHNfZW5jb2RlciAq bHZkc19lbmNvZGVyID0gdG9fbHZkc19lbmNvZGVyKCZlbmNvZGVyLT5iYXNlKTsKPiAgCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKPiAtCWk5MTVfcmVn X3QgY3RsX3JlZywgc3RhdF9yZWc7Cj4gIAo+IC0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+ IC0JCWN0bF9yZWcgPSBQQ0hfUFBfQ09OVFJPTDsKPiAtCQlzdGF0X3JlZyA9IFBDSF9QUF9TVEFU VVM7Cj4gLQl9IGVsc2Ugewo+IC0JCWN0bF9yZWcgPSBQUF9DT05UUk9MOwo+IC0JCXN0YXRfcmVn ID0gUFBfU1RBVFVTOwo+IC0JfQo+IC0KPiAtCUk5MTVfV1JJVEUoY3RsX3JlZywgSTkxNV9SRUFE KGN0bF9yZWcpICYgflBPV0VSX1RBUkdFVF9PTik7Cj4gLQlpZiAoaW50ZWxfd2FpdF9mb3JfcmVn aXN0ZXIoZGV2X3ByaXYsIHN0YXRfcmVnLCBQUF9PTiwgMCwgMTAwMCkpCj4gKwlJOTE1X1dSSVRF KFBQX0NPTlRST0woMCksIEk5MTVfUkVBRChQUF9DT05UUk9MKDApKSAmIH5QT1dFUl9UQVJHRVRf T04pOwo+ICsJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBQUF9TVEFUVVMo MCksIFBQX09OLCAwLCAxMDAwKSkKPiAgCQlEUk1fRVJST1IoInRpbWVkIG91dCB3YWl0aW5nIGZv ciBwYW5lbCB0byBwb3dlciBvZmZcbiIpOwo+ICAKPiAgCUk5MTVfV1JJVEUobHZkc19lbmNvZGVy LT5yZWcsIEk5MTVfUkVBRChsdmRzX2VuY29kZXItPnJlZykgJiB+TFZEU19QT1JUX0VOKTsKPiBA QCAtOTA0LDEzICs4ODYsMTAgQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0IGRybV9kZXZp Y2UgKmRldikKPiAgCSAqIFVubG9jayByZWdpc3RlcnMgYW5kIGp1c3QgbGVhdmUgdGhlbSB1bmxv Y2tlZC4gRG8gdGhpcyBiZWZvcmUKPiAgCSAqIGNoZWNraW5nIHF1aXJrIGxpc3RzIHRvIGF2b2lk IGJvZ3VzIFdBUk5JTkdzLgo+ICAJICovCj4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYpKSB7Cj4g LQkJSTkxNV9XUklURShQQ0hfUFBfQ09OVFJPTCwKPiAtCQkJICAgSTkxNV9SRUFEKFBDSF9QUF9D T05UUk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKPiAtCX0gZWxzZSBpZiAoSU5URUxfSU5GTyhk ZXZfcHJpdiktPmdlbiA8IDUpIHsKPiAtCQlJOTE1X1dSSVRFKFBQX0NPTlRST0wsCj4gLQkJCSAg IEk5MTVfUkVBRChQUF9DT05UUk9MKSB8IFBBTkVMX1VOTE9DS19SRUdTKTsKPiAtCX0KPiArCWlm IChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpIDw9IDQpCj4g KwkJSTkxNV9XUklURShQUF9DT05UUk9MKDApLAo+ICsJCQkgICBJOTE1X1JFQUQoUFBfQ09OVFJP TCgwKSkgfCBQQU5FTF9VTkxPQ0tfUkVHUyk7Cj4gKwo+ICAJaWYgKCFpbnRlbF9sdmRzX3N1cHBv cnRlZChkZXYpKQo+ICAJCXJldHVybjsKPiAgCj4gQEAgLTk0NSwxMiArOTI0LDEyIEBAIHZvaWQg aW50ZWxfbHZkc19pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAo+ICAJIC8qIFNldCB0 aGUgUGFuZWwgUG93ZXIgT24vT2ZmIHRpbWluZ3MgaWYgdW5pbml0aWFsaXplZC4gKi8KPiAgCWlm IChJTlRFTF9JTkZPKGRldl9wcml2KS0+Z2VuIDwgNSAmJgo+IC0JICAgIEk5MTVfUkVBRChQUF9P Tl9ERUxBWVMpID09IDAgJiYgSTkxNV9SRUFEKFBQX09GRl9ERUxBWVMpID09IDApIHsKPiArCSAg ICBJOTE1X1JFQUQoUFBfT05fREVMQVlTKDApKSA9PSAwICYmIEk5MTVfUkVBRChQUF9PRkZfREVM QVlTKDApKSA9PSAwKSB7Cj4gIAkJLyogU2V0IFQyIHRvIDQwbXMgYW5kIFQ1IHRvIDIwMG1zICov Cj4gLQkJSTkxNV9XUklURShQUF9PTl9ERUxBWVMsIDB4MDE5MDA3ZDApOwo+ICsJCUk5MTVfV1JJ VEUoUFBfT05fREVMQVlTKDApLCAweDAxOTAwN2QwKTsKPiAgCj4gIAkJLyogU2V0IFQzIHRvIDM1 bXMgYW5kIFR4IHRvIDIwMG1zICovCj4gLQkJSTkxNV9XUklURShQUF9PRkZfREVMQVlTLCAweDAx NWUwN2QwKTsKPiArCQlJOTE1X1dSSVRFKFBQX09GRl9ERUxBWVMoMCksIDB4MDE1ZTA3ZDApOwo+ ICAKPiAgCQlEUk1fREVCVUdfS01TKCJQYW5lbCBwb3dlciB0aW1pbmdzIHVuaW5pdGlhbGl6ZWQs IHNldHRpbmcgZGVmYXVsdHNcbiIpOwo+ICAJfQo+IC0tIAo+IDIuNS4wCgotLSAKVmlsbGUgU3ly asOkbMOkCkludGVsIE9UQwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngK