From mboxrd@z Thu Jan 1 00:00:00 1970 From: Imre Deak Subject: Re: [PATCH 1/6] drm/i915: Merge the PPS register definitions Date: Tue, 09 Aug 2016 16:24:14 +0300 Message-ID: <1470749054.5461.34.camel@intel.com> References: <1470742452-5240-1-git-send-email-imre.deak@intel.com> <1470742452-5240-2-git-send-email-imre.deak@intel.com> <20160809115309.GL4329@intel.com> Reply-To: imre.deak@intel.com Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id E4AC06E575 for ; Tue, 9 Aug 2016 13:24:16 +0000 (UTC) In-Reply-To: <20160809115309.GL4329@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville =?ISO-8859-1?Q?Syrj=E4l=E4?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gdGksIDIwMTYtMDgtMDkgYXQgMTQ6NTMgKzAzMDAsIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToK PiBPbiBUdWUsIEF1ZyAwOSwgMjAxNiBhdCAwMjozNDowN1BNICswMzAwLCBJbXJlIERlYWsgd3Jv dGU6Cj4gPiBUaGUgUFBTIHJlZ2lzdGVycyBhcmUgcHJldHR5IG11Y2ggdGhlIHNhbWUgZXZlcnl3 aGVyZSwgdGhlIGRpZmZlcmVuY2VzCj4gPiBiZWluZzoKPiA+IC0gUmVnaXN0ZXIgZmllbGRzIGFw cGVhcmluZywgZGlzYXBwZWFyaW5nIGZyb20gb25lIHBsYXRmb3JtIHRvIHRoZQo+ID4gwqAgbmV4 dDogcGFuZWwtcmVzZXQtb24tcG93ZXJkb3duLCBiYWNrbGlnaHQtb24sIHBhbmVsLXBvcnQsCj4g PiDCoCByZWdpc3Rlci11bmxvY2sKPiA+IC0gRGlmZmVyZW50IHJlZ2lzdGVyIGJhc2UgYWRkcmVz c2VzCj4gPiAtIERpZmZlcmVudCBudW1iZXIgb2YgUFBTIGluc3RhbmNlczogMiBvbiBWTFYvQ0hW L0JYVCwgMSBldmVyeXdoZXJlCj4gPiDCoCBlbHNlLgo+ID4gCj4gPiBXZSBjYW4gbWVyZ2UgdGhl IHNlcGFyYXRlIHNldCBvZiBQUFMgZGVmaW5pdGlvbnMgYnkgZXh0ZW5kaW5nIHRoZSBQUFMKPiA+ IGluc3RhbmNlIGFyZ3VtZW50IHRvIGFsbCBwbGF0Zm9ybXMgYW5kIHVzaW5nIGluc3RhbmNlIDAg b24gcGxhdGZvcm1zCj4gPiB3aXRoIGEgc2luZ2xlIGluc3RhbmNlLiBUaGlzIG1lYW5zIHdlJ2xs IG5lZWQgdG8gY2FsY3VsYXRlIHRoZSByZWdpc3Rlcgo+ID4gYWRkcmVzc2VzIGR5bmFtaWNhbGx5 IGJhc2VkIG9uIHRoZSBnaXZlbiBwbGF0Zm9ybSBhbmQgUFBTIGluc3RhbmNlLgo+ID4gCj4gPiBT aWduZWQtb2ZmLWJ5OiBJbXJlIERlYWsgPGltcmUuZGVha0BpbnRlbC5jb20+Cj4gPiAtLS0KPiA+ IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaMKgwqDCoMKgwqDCoHzCoMKgwqAyICsK PiA+IMKgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaMKgwqDCoMKgwqDCoHwgMTQ1ICsr KysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiDCoGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfc3VzcGVuZC5jwqDCoHzCoMKgMzAgKysrLS0tLS0KPiA+IMKgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHzCoMKgMjIgKysrKy0tCj4gPiDCoGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmPCoMKgwqDCoMKgwqB8wqDCoDQ3ICsrKysrLS0tLS0tLQo+ID4g wqBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmPCoMKgwqDCoHzCoMKgNDMgKysrLS0t LS0tLS0KPiA+IMKgNiBmaWxlcyBjaGFuZ2VkLCAxMTkgaW5zZXJ0aW9ucygrKSwgMTcwIGRlbGV0 aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiA+IGluZGV4IGMzNmQxNzYu LmZkZGFlYzYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o Cj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gPiBAQCAtMTc0OSw2 ICsxNzQ5LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewo+ID4gwqAKPiA+IMKgCXVpbnQz Ml90IHBzcl9tbWlvX2Jhc2U7Cj4gPiDCoAo+ID4gKwl1aW50MzJfdCBwcHNfbW1pb19iYXNlOwo+ ID4gKwo+ID4gwqAJd2FpdF9xdWV1ZV9oZWFkX3QgZ21idXNfd2FpdF9xdWV1ZTsKPiA+IMKgCj4g PiDCoAlzdHJ1Y3QgcGNpX2RldiAqYnJpZGdlX2RldjsKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aAo+ID4gaW5kZXggZjM4YTVlMi4uYjY1ZmU1MCAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf cmVnLmgKPiA+IEBAIC0zNjYwLDggKzM2NjAsMTcgQEAgZW51bSB7Cj4gPiDCoCNkZWZpbmXCoMKg wqBWSURFT19ESVBfRU5BQkxFX1NQRF9IU1cJKDEgPDwgMCkKPiA+IMKgCj4gPiDCoC8qIFBhbmVs IHBvd2VyIHNlcXVlbmNpbmcgKi8KPiA+IC0jZGVmaW5lIFBQX1NUQVRVUwlfTU1JTygweDYxMjAw KQo+ID4gLSNkZWZpbmXCoMKgwqBQUF9PTgkJKDEgPDwgMzEpCj4gPiArI2RlZmluZSBQUFNfQkFT RQkJCTB4NjEyMDAKPiA+ICsjZGVmaW5lIFZMVl9QUFNfQkFTRQkJCShWTFZfRElTUExBWV9CQVNF ICsgUFBTX0JBU0UpCj4gPiArI2RlZmluZSBQQ0hfUFBTX0JBU0UJCQkweEM3MjAwCj4gPiArCj4g PiArI2RlZmluZSBfTU1JT19QUFMocHBzX2lkeCwgcmVnKQkJX01NSU8oZGV2X3ByaXYtPnBwc19t bWlvX2Jhc2UgLQlcCj4gPiArCQkJCQnCoMKgwqDCoMKgwqBQUFNfQkFTRSArIChyZWcpICsJXAo+ ID4gKwkJCQkJwqDCoMKgwqDCoMKgKHBwc19pZHgpICogMHgxMDApCj4gPiArCj4gPiArI2RlZmlu ZSBfUFBfU1RBVFVTCQkJMHg2MTIwMAo+ID4gKyNkZWZpbmUgUFBfU1RBVFVTKHBwc19pZHgpCQlf TU1JT19QUFMocHBzX2lkeCwgX1BQX1NUQVRVUykKPiA+ICsjZGVmaW5lwqDCoMKgUFBfT04JCQkJ KDEgPDwgMzEpCj4gPiDCoC8qCj4gPiDCoCAqIEluZGljYXRlcyB0aGF0IGFsbCBkZXBlbmRlbmNp ZXMgb2YgdGhlIHBhbmVsIGFyZSBvbjoKPiA+IMKgICoKPiA+IEBAIC0zNjY5LDE0ICszNjc4LDE0 IEBAIGVudW0gewo+ID4gwqAgKiAtIHBpcGUgZW5hYmxlZAo+ID4gwqAgKiAtIExWRFMvRFZPQi9E Vk9DIG9uCj4gPiDCoCAqLwo+ID4gLSNkZWZpbmXCoMKgwqBQUF9SRUFEWQkJKDEgPDwgMzApCj4g PiAtI2RlZmluZcKgwqDCoFBQX1NFUVVFTkNFX05PTkUJKDAgPDwgMjgpCj4gPiAtI2RlZmluZcKg wqDCoFBQX1NFUVVFTkNFX1BPV0VSX1VQCSgxIDw8IDI4KQo+ID4gLSNkZWZpbmXCoMKgwqBQUF9T RVFVRU5DRV9QT1dFUl9ET1dOICgyIDw8IDI4KQo+ID4gLSNkZWZpbmXCoMKgwqBQUF9TRVFVRU5D RV9NQVNLCSgzIDw8IDI4KQo+ID4gLSNkZWZpbmXCoMKgwqBQUF9TRVFVRU5DRV9TSElGVAkyOAo+ ID4gLSNkZWZpbmXCoMKgwqBQUF9DWUNMRV9ERUxBWV9BQ1RJVkUJKDEgPDwgMjcpCj4gPiAtI2Rl ZmluZcKgwqDCoFBQX1NFUVVFTkNFX1NUQVRFX01BU0sgMHgwMDAwMDAwZgo+ID4gKyNkZWZpbmXC oMKgwqBQUF9SRUFEWQkJCSgxIDw8IDMwKQo+ID4gKyNkZWZpbmXCoMKgwqBQUF9TRVFVRU5DRV9O T05FCQkoMCA8PCAyOCkKPiA+ICsjZGVmaW5lwqDCoMKgUFBfU0VRVUVOQ0VfUE9XRVJfVVAJCSgx IDw8IDI4KQo+ID4gKyNkZWZpbmXCoMKgwqBQUF9TRVFVRU5DRV9QT1dFUl9ET1dOCSgyIDw8IDI4 KQo+ID4gKyNkZWZpbmXCoMKgwqBQUF9TRVFVRU5DRV9NQVNLCQkoMyA8PCAyOCkKPiA+ICsjZGVm aW5lwqDCoMKgUFBfU0VRVUVOQ0VfU0hJRlQJCTI4Cj4gPiArI2RlZmluZcKgwqDCoFBQX0NZQ0xF X0RFTEFZX0FDVElWRQkJKDEgPDwgMjcpCj4gPiArI2RlZmluZcKgwqDCoFBQX1NFUVVFTkNFX1NU QVRFX01BU0sJMHgwMDAwMDAwZgo+ID4gwqAjZGVmaW5lwqDCoMKgUFBfU0VRVUVOQ0VfU1RBVEVf T0ZGX0lETEUJKDB4MCA8PCAwKQo+ID4gwqAjZGVmaW5lwqDCoMKgUFBfU0VRVUVOQ0VfU1RBVEVf T0ZGX1MwXzEJKDB4MSA8PCAwKQo+ID4gwqAjZGVmaW5lwqDCoMKgUFBfU0VRVUVOQ0VfU1RBVEVf T0ZGX1MwXzIJKDB4MiA8PCAwKQo+ID4gQEAgLTM2ODYsMTEgKzM2OTUsNDYgQEAgZW51bSB7Cj4g PiDCoCNkZWZpbmXCoMKgwqBQUF9TRVFVRU5DRV9TVEFURV9PTl9TMV8yCSgweGEgPDwgMCkKPiA+ IMKgI2RlZmluZcKgwqDCoFBQX1NFUVVFTkNFX1NUQVRFX09OX1MxXzMJKDB4YiA8PCAwKQo+ID4g wqAjZGVmaW5lwqDCoMKgUFBfU0VRVUVOQ0VfU1RBVEVfUkVTRVQJKDB4ZiA8PCAwKQo+ID4gLSNk ZWZpbmUgUFBfQ09OVFJPTAlfTU1JTygweDYxMjA0KQo+ID4gLSNkZWZpbmXCoMKgwqBQT1dFUl9U QVJHRVRfT04JKDEgPDwgMCkKPiA+IC0jZGVmaW5lIFBQX09OX0RFTEFZUwlfTU1JTygweDYxMjA4 KQo+ID4gLSNkZWZpbmUgUFBfT0ZGX0RFTEFZUwlfTU1JTygweDYxMjBjKQo+ID4gLSNkZWZpbmUg UFBfRElWSVNPUglfTU1JTygweDYxMjEwKQo+ID4gKwo+ID4gKyNkZWZpbmUgX1BQX0NPTlRST0wJ CQkweDYxMjA0Cj4gPiArI2RlZmluZSBQUF9DT05UUk9MKHBwc19pZHgpCQlfTU1JT19QUFMocHBz X2lkeCwgX1BQX0NPTlRST0wpCj4gPiArI2RlZmluZcKgwqBQQU5FTF9VTkxPQ0tfUkVHUwkJKDB4 YWJjZCA8PCAxNikKPiA+ICsjZGVmaW5lwqDCoFBBTkVMX1VOTE9DS19NQVNLCQkoMHhmZmZmIDw8 IDE2KQo+ID4gKyNkZWZpbmXCoMKgQlhUX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJMHgxZjAKPiA+ ICsjZGVmaW5lwqDCoEJYVF9QT1dFUl9DWUNMRV9ERUxBWV9TSElGVAk0Cj4gPiArI2RlZmluZcKg wqBFRFBfRk9SQ0VfVkRECQkJKDEgPDwgMykKPiA+ICsjZGVmaW5lwqDCoEVEUF9CTENfRU5BQkxF CQkJKDEgPDwgMikKPiA+ICsjZGVmaW5lwqDCoFBBTkVMX1BPV0VSX1JFU0VUCQkoMSA8PCAxKQo+ ID4gKyNkZWZpbmXCoMKgUEFORUxfUE9XRVJfT0ZGCQkoMCA8PCAwKQo+ID4gKyNkZWZpbmXCoMKg UEFORUxfUE9XRVJfT04JCQkoMSA8PCAwKQo+ID4gKyNkZWZpbmXCoMKgUE9XRVJfVEFSR0VUX09O CQkoMSA8PCAwKQo+ID4gKwo+ID4gKyNkZWZpbmUgX1BQX09OX0RFTEFZUwkJCTB4NjEyMDgKPiA+ ICsjZGVmaW5lIFBQX09OX0RFTEFZUyhwcHNfaWR4KQkJX01NSU9fUFBTKHBwc19pZHgsIF9QUF9P Tl9ERUxBWVMpCj4gPiArI2RlZmluZcKgwqBQQU5FTF9QT1JUX1NFTEVDVF9NQVNLCQkoMyA8PCAz MCkKPiA+ICsjZGVmaW5lwqDCoFBBTkVMX1BPUlRfU0VMRUNUX0xWRFMJCSgwIDw8IDMwKQo+ID4g KyNkZWZpbmXCoMKgUEFORUxfUE9SVF9TRUxFQ1RfRFBBCQkoMSA8PCAzMCkKPiA+ICsjZGVmaW5l wqDCoFBBTkVMX1BPUlRfU0VMRUNUX0RQQwkJKDIgPDwgMzApCj4gPiArI2RlZmluZcKgwqBQQU5F TF9QT1JUX1NFTEVDVF9EUEQJCSgzIDw8IDMwKQo+ID4gKyNkZWZpbmXCoMKgUEFORUxfUE9SVF9T RUxFQ1RfVkxWKHBvcnQpCSgocG9ydCkgPDwgMzApCj4gPiArI2RlZmluZcKgwqBQQU5FTF9QT1dF Ul9VUF9ERUxBWV9NQVNLCTB4MWZmZjAwMDAKPiA+ICsjZGVmaW5lwqDCoFBBTkVMX1BPV0VSX1VQ X0RFTEFZX1NISUZUCTE2Cj4gPiArI2RlZmluZcKgwqBQQU5FTF9MSUdIVF9PTl9ERUxBWV9NQVNL CTB4MWZmZgo+ID4gKyNkZWZpbmXCoMKgUEFORUxfTElHSFRfT05fREVMQVlfU0hJRlQJMAo+ID4g Kwo+ID4gKyNkZWZpbmUgX1BQX09GRl9ERUxBWVMJCQkweDYxMjBDCj4gPiArI2RlZmluZSBQUF9P RkZfREVMQVlTKHBwc19pZHgpCQlfTU1JT19QUFMocHBzX2lkeCwgX1BQX09GRl9ERUxBWVMpCj4g PiArI2RlZmluZcKgwqBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX01BU0sJMHgxZmZmMDAwMAo+ID4g KyNkZWZpbmXCoMKgUEFORUxfUE9XRVJfRE9XTl9ERUxBWV9TSElGVAkxNgo+ID4gKyNkZWZpbmXC oMKgUEFORUxfTElHSFRfT0ZGX0RFTEFZX01BU0sJMHgxZmZmCj4gPiArI2RlZmluZcKgwqBQQU5F TF9MSUdIVF9PRkZfREVMQVlfU0hJRlQJMAo+ID4gKwo+ID4gKyNkZWZpbmUgX1BQX0RJVklTT1IJ CQkweDYxMjEwCj4gPiArI2RlZmluZSBQUF9ESVZJU09SKHBwc19pZHgpCQlfTU1JT19QUFMocHBz X2lkeCwgX1BQX0RJVklTT1IpCj4gPiArI2RlZmluZcKgwqBQUF9SRUZFUkVOQ0VfRElWSURFUl9N QVNLCTB4ZmZmZmZmMDAKPiA+ICsjZGVmaW5lwqDCoFBQX1JFRkVSRU5DRV9ESVZJREVSX1NISUZU CTgKPiA+ICsjZGVmaW5lwqDCoFBBTkVMX1BPV0VSX0NZQ0xFX0RFTEFZX01BU0sJMHgxZgo+ID4g KyNkZWZpbmXCoMKgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQJMAo+ID4gwqAKPiA+IMKg LyogUGFuZWwgZml0dGluZyAqLwo+ID4gwqAjZGVmaW5lIFBGSVRfQ09OVFJPTAlfTU1JTyhkZXZf cHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2MTIzMCkKPiA+IEBAIC02NzUwLDc3 ICs2Nzk0LDYgQEAgZW51bSB7Cj4gPiDCoCNkZWZpbmUgUENIX0xWRFMJX01NSU8oMHhlMTE4MCkK PiA+IMKgI2RlZmluZcKgwqBMVkRTX0RFVEVDVEVECSgxIDw8IDEpCj4gPiDCoAo+ID4gLS8qIHZs diBoYXMgMiBzZXRzIG9mIHBhbmVsIGNvbnRyb2wgcmVncy4gKi8KPiA+IC0jZGVmaW5lIF9QSVBF QV9QUF9TVEFUVVPCoMKgwqDCoMKgwqDCoMKgwqAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEyMDAp Cj4gPiAtI2RlZmluZSBfUElQRUFfUFBfQ09OVFJPTMKgwqDCoMKgwqDCoMKgwqAoVkxWX0RJU1BM QVlfQkFTRSArIDB4NjEyMDQpCj4gPiAtI2RlZmluZSBfUElQRUFfUFBfT05fREVMQVlTwqDCoMKg wqDCoMKgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMjA4KQo+ID4gLSNkZWZpbmXCoMKgUEFORUxf UE9SVF9TRUxFQ1RfVkxWKHBvcnQpCSgocG9ydCkgPDwgMzApCj4gPiAtI2RlZmluZSBfUElQRUFf UFBfT0ZGX0RFTEFZU8KgwqDCoMKgwqAoVkxWX0RJU1BMQVlfQkFTRSArIDB4NjEyMGMpCj4gPiAt I2RlZmluZSBfUElQRUFfUFBfRElWSVNPUsKgwqDCoMKgwqDCoMKgwqAoVkxWX0RJU1BMQVlfQkFT RSArIDB4NjEyMTApCj4gPiAtCj4gPiAtI2RlZmluZSBfUElQRUJfUFBfU1RBVFVTwqDCoMKgwqDC oMKgwqDCoMKgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzAwKQo+ID4gLSNkZWZpbmUgX1BJUEVC X1BQX0NPTlRST0zCoMKgwqDCoMKgwqDCoMKgKFZMVl9ESVNQTEFZX0JBU0UgKyAweDYxMzA0KQo+ ID4gLSNkZWZpbmUgX1BJUEVCX1BQX09OX0RFTEFZU8KgwqDCoMKgwqDCoChWTFZfRElTUExBWV9C QVNFICsgMHg2MTMwOCkKPiA+IC0jZGVmaW5lIF9QSVBFQl9QUF9PRkZfREVMQVlTwqDCoMKgwqDC oChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMwYykKPiA+IC0jZGVmaW5lIF9QSVBFQl9QUF9ESVZJ U09SwqDCoMKgwqDCoMKgwqDCoChWTFZfRElTUExBWV9CQVNFICsgMHg2MTMxMCkKPiA+IC0KPiA+ IC0jZGVmaW5lIFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKQlfTU1JT19QSVBFKHBpcGUsIF9QSVBF QV9QUF9TVEFUVVMsIF9QSVBFQl9QUF9TVEFUVVMpCj4gPiAtI2RlZmluZSBWTFZfUElQRV9QUF9D T05UUk9MKHBpcGUpCV9NTUlPX1BJUEUocGlwZSwgX1BJUEVBX1BQX0NPTlRST0wsIF9QSVBFQl9Q UF9DT05UUk9MKQo+ID4gLSNkZWZpbmUgVkxWX1BJUEVfUFBfT05fREVMQVlTKHBpcGUpCV9NTUlP X1BJUEUocGlwZSwgX1BJUEVBX1BQX09OX0RFTEFZUywgX1BJUEVCX1BQX09OX0RFTEFZUykKPiA+ IC0jZGVmaW5lIFZMVl9QSVBFX1BQX09GRl9ERUxBWVMocGlwZSkJX01NSU9fUElQRShwaXBlLCBf UElQRUFfUFBfT0ZGX0RFTEFZUywgX1BJUEVCX1BQX09GRl9ERUxBWVMpCj4gPiAtI2RlZmluZSBW TFZfUElQRV9QUF9ESVZJU09SKHBpcGUpCV9NTUlPX1BJUEUocGlwZSwgX1BJUEVBX1BQX0RJVklT T1IsIF9QSVBFQl9QUF9ESVZJU09SKQo+ID4gLQo+ID4gLSNkZWZpbmUgX1BDSF9QUF9TVEFUVVMJ CTB4YzcyMDAKPiA+IC0jZGVmaW5lIF9QQ0hfUFBfQ09OVFJPTAkJMHhjNzIwNAo+ID4gLSNkZWZp bmXCoMKgUEFORUxfVU5MT0NLX1JFR1MJKDB4YWJjZCA8PCAxNikKPiA+IC0jZGVmaW5lwqDCoFBB TkVMX1VOTE9DS19NQVNLCSgweGZmZmYgPDwgMTYpCj4gPiAtI2RlZmluZcKgwqBCWFRfUE9XRVJf Q1lDTEVfREVMQVlfTUFTSwkoMHgxZjApCj4gPiAtI2RlZmluZcKgwqBCWFRfUE9XRVJfQ1lDTEVf REVMQVlfU0hJRlQJNAo+ID4gLSNkZWZpbmXCoMKgRURQX0ZPUkNFX1ZERAkJKDEgPDwgMykKPiA+ IC0jZGVmaW5lwqDCoEVEUF9CTENfRU5BQkxFCQkoMSA8PCAyKQo+ID4gLSNkZWZpbmXCoMKgUEFO RUxfUE9XRVJfUkVTRVQJKDEgPDwgMSkKPiA+IC0jZGVmaW5lwqDCoFBBTkVMX1BPV0VSX09GRgko MCA8PCAwKQo+ID4gLSNkZWZpbmXCoMKgUEFORUxfUE9XRVJfT04JCSgxIDw8IDApCj4gPiAtI2Rl ZmluZSBfUENIX1BQX09OX0RFTEFZUwkweGM3MjA4Cj4gPiAtI2RlZmluZcKgwqBQQU5FTF9QT1JU X1NFTEVDVF9NQVNLCSgzIDw8IDMwKQo+ID4gLSNkZWZpbmXCoMKgUEFORUxfUE9SVF9TRUxFQ1Rf TFZEUwkoMCA8PCAzMCkKPiA+IC0jZGVmaW5lwqDCoFBBTkVMX1BPUlRfU0VMRUNUX0RQQQkoMSA8 PCAzMCkKPiA+IC0jZGVmaW5lwqDCoFBBTkVMX1BPUlRfU0VMRUNUX0RQQwkoMiA8PCAzMCkKPiA+ IC0jZGVmaW5lwqDCoFBBTkVMX1BPUlRfU0VMRUNUX0RQRAkoMyA8PCAzMCkKPiA+IC0jZGVmaW5l wqDCoFBBTkVMX1BPV0VSX1VQX0RFTEFZX01BU0sJKDB4MWZmZjAwMDApCj4gPiAtI2RlZmluZcKg wqBQQU5FTF9QT1dFUl9VUF9ERUxBWV9TSElGVAkxNgo+ID4gLSNkZWZpbmXCoMKgUEFORUxfTElH SFRfT05fREVMQVlfTUFTSwkoMHgxZmZmKQo+ID4gLSNkZWZpbmXCoMKgUEFORUxfTElHSFRfT05f REVMQVlfU0hJRlQJMAo+ID4gLQo+ID4gLSNkZWZpbmUgX1BDSF9QUF9PRkZfREVMQVlTCQkweGM3 MjBjCj4gPiAtI2RlZmluZcKgwqBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX01BU0sJKDB4MWZmZjAw MDApCj4gPiAtI2RlZmluZcKgwqBQQU5FTF9QT1dFUl9ET1dOX0RFTEFZX1NISUZUCTE2Cj4gPiAt I2RlZmluZcKgwqBQQU5FTF9MSUdIVF9PRkZfREVMQVlfTUFTSwkoMHgxZmZmKQo+ID4gLSNkZWZp bmXCoMKgUEFORUxfTElHSFRfT0ZGX0RFTEFZX1NISUZUCTAKPiA+IC0KPiA+IC0jZGVmaW5lIF9Q Q0hfUFBfRElWSVNPUgkJCTB4YzcyMTAKPiA+IC0jZGVmaW5lwqDCoFBQX1JFRkVSRU5DRV9ESVZJ REVSX01BU0sJKDB4ZmZmZmZmMDApCj4gPiAtI2RlZmluZcKgwqBQUF9SRUZFUkVOQ0VfRElWSURF Ul9TSElGVAk4Cj4gPiAtI2RlZmluZcKgwqBQQU5FTF9QT1dFUl9DWUNMRV9ERUxBWV9NQVNLCSgw eDFmKQo+ID4gLSNkZWZpbmXCoMKgUEFORUxfUE9XRVJfQ1lDTEVfREVMQVlfU0hJRlQJMAo+ID4g LQo+ID4gLSNkZWZpbmUgUENIX1BQX1NUQVRVUwkJCV9NTUlPKF9QQ0hfUFBfU1RBVFVTKQo+ID4g LSNkZWZpbmUgUENIX1BQX0NPTlRST0wJCQlfTU1JTyhfUENIX1BQX0NPTlRST0wpCj4gPiAtI2Rl ZmluZSBQQ0hfUFBfT05fREVMQVlTCQlfTU1JTyhfUENIX1BQX09OX0RFTEFZUykKPiA+IC0jZGVm aW5lIFBDSF9QUF9PRkZfREVMQVlTCQlfTU1JTyhfUENIX1BQX09GRl9ERUxBWVMpCj4gPiAtI2Rl ZmluZSBQQ0hfUFBfRElWSVNPUgkJCV9NTUlPKF9QQ0hfUFBfRElWSVNPUikKPiA+IC0KPiA+IC0v KiBCWFQgUFBTIGNoYW5nZXMgLSAybmQgc2V0IG9mIFBQUyByZWdpc3RlcnMgKi8KPiA+IC0jZGVm aW5lIF9CWFRfUFBfU1RBVFVTMsKgCTB4YzczMDAKPiA+IC0jZGVmaW5lIF9CWFRfUFBfQ09OVFJP TDLCoAkweGM3MzA0Cj4gPiAtI2RlZmluZSBfQlhUX1BQX09OX0RFTEFZUzIJMHhjNzMwOAo+ID4g LSNkZWZpbmUgX0JYVF9QUF9PRkZfREVMQVlTMgkweGM3MzBjCj4gPiAtCj4gPiAtI2RlZmluZSBC WFRfUFBfU1RBVFVTKG4pCV9NTUlPX1BJUEUobiwgX1BDSF9QUF9TVEFUVVMsIF9CWFRfUFBfU1RB VFVTMikKPiA+IC0jZGVmaW5lIEJYVF9QUF9DT05UUk9MKG4pCV9NTUlPX1BJUEUobiwgX1BDSF9Q UF9DT05UUk9MLCBfQlhUX1BQX0NPTlRST0wyKQo+ID4gLSNkZWZpbmUgQlhUX1BQX09OX0RFTEFZ UyhuKQlfTU1JT19QSVBFKG4sIF9QQ0hfUFBfT05fREVMQVlTLCBfQlhUX1BQX09OX0RFTEFZUzIp Cj4gPiAtI2RlZmluZSBCWFRfUFBfT0ZGX0RFTEFZUyhuKQlfTU1JT19QSVBFKG4sIF9QQ0hfUFBf T0ZGX0RFTEFZUywgX0JYVF9QUF9PRkZfREVMQVlTMikKPiA+IC0KPiA+IMKgI2RlZmluZSBfUENI X0RQX0IJCTB4ZTQxMDAKPiA+IMKgI2RlZmluZSBQQ0hfRFBfQgkJX01NSU8oX1BDSF9EUF9CKQo+ ID4gwqAjZGVmaW5lIF9QQ0hfRFBCX0FVWF9DSF9DVEwJMHhlNDExMAo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3VzcGVuZC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9zdXNwZW5kLmMKPiA+IGluZGV4IDVjZmU0YzcuLmM4MjZiNjkgMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N1c3BlbmQuYwo+ID4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9zdXNwZW5kLmMKPiA+IEBAIC00NCwxNiArNDQsMTEgQEAgc3Rh dGljIHZvaWQgaTkxNV9zYXZlX2Rpc3BsYXkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+IMKg CQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlTFZEUyA9IEk5MTVfUkVBRChMVkRTKTsKPiA+IMKgCj4g PiDCoAkvKiBQYW5lbCBwb3dlciBzZXF1ZW5jZXIgKi8KPiA+IC0JaWYgKEhBU19QQ0hfU1BMSVQo ZGV2KSkgewo+ID4gLQkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0NPTlRST0wgPSBJOTE1X1JF QUQoUENIX1BQX0NPTlRST0wpOwo+ID4gLQkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09OX0RF TEFZUyA9IEk5MTVfUkVBRChQQ0hfUFBfT05fREVMQVlTKTsKPiA+IC0JCWRldl9wcml2LT5yZWdm aWxlLnNhdmVQUF9PRkZfREVMQVlTID0gSTkxNV9SRUFEKFBDSF9QUF9PRkZfREVMQVlTKTsKPiA+ IC0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9ESVZJU09SID0gSTkxNV9SRUFEKFBDSF9QUF9E SVZJU09SKTsKPiA+IC0JfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8PSA0KSB7Cj4g PiAtCQlkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCA9IEk5MTVfUkVBRChQUF9DT05U Uk9MKTsKPiA+IC0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PTl9ERUxBWVMgPSBJOTE1X1JF QUQoUFBfT05fREVMQVlTKTsKPiA+IC0JCWRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVM QVlTID0gSTkxNV9SRUFEKFBQX09GRl9ERUxBWVMpOwo+ID4gLQkJZGV2X3ByaXYtPnJlZ2ZpbGUu c2F2ZVBQX0RJVklTT1IgPSBJOTE1X1JFQUQoUFBfRElWSVNPUik7Cj4gPiArCWlmIChIQVNfUENI X1NQTElUKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpIDw9IDQpIHsKPiA+ICsJCWRl dl9wcml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9MID0gSTkxNV9SRUFEKFBQX0NPTlRST0woMCkp Owo+ID4gKwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyA9IEk5MTVfUkVBRChQ UF9PTl9ERUxBWVMoMCkpOwo+ID4gKwkJZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxB WVMgPSBJOTE1X1JFQUQoUFBfT0ZGX0RFTEFZUygwKSk7Cj4gPiArCQlkZXZfcHJpdi0+cmVnZmls ZS5zYXZlUFBfRElWSVNPUiA9IEk5MTVfUkVBRChQUF9ESVZJU09SKDApKTsKPiA+IMKgCX0KPiA+ IMKgCj4gPiDCoAkvKiBzYXZlIEZCQyBpbnRlcnZhbCAqLwo+ID4gQEAgLTc5LDE2ICs3NCwxMSBA QCBzdGF0aWMgdm9pZCBpOTE1X3Jlc3RvcmVfZGlzcGxheShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ID4gwqAJCUk5MTVfV1JJVEUoTFZEUywgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZUxWRFMgJiBt YXNrKTsKPiA+IMKgCj4gPiDCoAkvKiBQYW5lbCBwb3dlciBzZXF1ZW5jZXIgKi8KPiA+IC0JaWYg KEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+ID4gLQkJSTkxNV9XUklURShQQ0hfUFBfT05fREVMQVlT LCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfT05fREVMQVlTKTsKPiA+IC0JCUk5MTVfV1JJVEUo UENIX1BQX09GRl9ERUxBWVMsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVMQVlTKTsK PiA+IC0JCUk5MTVfV1JJVEUoUENIX1BQX0RJVklTT1IsIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQ UF9ESVZJU09SKTsKPiA+IC0JCUk5MTVfV1JJVEUoUENIX1BQX0NPTlRST0wsIGRldl9wcml2LT5y ZWdmaWxlLnNhdmVQUF9DT05UUk9MKTsKPiA+IC0JfSBlbHNlIGlmIChJTlRFTF9JTkZPKGRldikt PmdlbiA8PSA0KSB7Cj4gPiAtCQlJOTE1X1dSSVRFKFBQX09OX0RFTEFZUywgZGV2X3ByaXYtPnJl Z2ZpbGUuc2F2ZVBQX09OX0RFTEFZUyk7Cj4gPiAtCQlJOTE1X1dSSVRFKFBQX09GRl9ERUxBWVMs IGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9PRkZfREVMQVlTKTsKPiA+IC0JCUk5MTVfV1JJVEUo UFBfRElWSVNPUiwgZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX0RJVklTT1IpOwo+ID4gLQkJSTkx NV9XUklURShQUF9DT05UUk9MLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfQ09OVFJPTCk7Cj4g PiArCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2X3ByaXYpIDw9 IDQpIHsKPiA+ICsJCUk5MTVfV1JJVEUoUFBfT05fREVMQVlTKDApLCBkZXZfcHJpdi0+cmVnZmls ZS5zYXZlUFBfT05fREVMQVlTKTsKPiA+ICsJCUk5MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUygwKSwg ZGV2X3ByaXYtPnJlZ2ZpbGUuc2F2ZVBQX09GRl9ERUxBWVMpOwo+ID4gKwkJSTkxNV9XUklURShQ UF9ESVZJU09SKDApLCBkZXZfcHJpdi0+cmVnZmlsZS5zYXZlUFBfRElWSVNPUik7Cj4gPiArCQlJ OTE1X1dSSVRFKFBQX0NPTlRST0woMCksIGRldl9wcml2LT5yZWdmaWxlLnNhdmVQUF9DT05UUk9M KTsKPiA+IMKgCX0KPiA+IMKgCj4gPiDCoAkvKiBvbmx5IHJlc3RvcmUgRkJDIGluZm8gb24gdGhl IHBsYXRmb3JtIHRoYXQgc3VwcG9ydHMgRkJDKi8KPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMKPiA+IGluZGV4IGM2ZjI3YWIuLjNkNWZkMDYgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTEyMDIsOCArMTIwMiw4IEBAIHZvaWQgYXNz ZXJ0X3BhbmVsX3VubG9ja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+ IMKgCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiA+IMKgCQl1MzIgcG9ydF9zZWw7Cj4gPiDC oAo+ID4gLQkJcHBfcmVnID0gUENIX1BQX0NPTlRST0w7Cj4gPiAtCQlwb3J0X3NlbCA9IEk5MTVf UkVBRChQQ0hfUFBfT05fREVMQVlTKSAmIFBBTkVMX1BPUlRfU0VMRUNUX01BU0s7Cj4gPiArCQlw cF9yZWcgPSBQUF9DT05UUk9MKDApOwo+ID4gKwkJcG9ydF9zZWwgPSBJOTE1X1JFQUQoUFBfT05f REVMQVlTKDApKSAmIFBBTkVMX1BPUlRfU0VMRUNUX01BU0s7Cj4gPiDCoAo+ID4gwqAJCWlmIChw b3J0X3NlbCA9PSBQQU5FTF9QT1JUX1NFTEVDVF9MVkRTICYmCj4gPiDCoAkJwqDCoMKgwqBJOTE1 X1JFQUQoUENIX0xWRFMpICYgTFZEU19QSVBFQl9TRUxFQ1QpCj4gPiBAQCAtMTIxMSwxMCArMTIx MSwxMCBAQCB2b2lkIGFzc2VydF9wYW5lbF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gPiDCoAkJLyogWFhYOiBlbHNlIGZpeCBmb3IgZURQICovCj4gPiDCoAl9 IGVsc2UgaWYgKElTX1ZBTExFWVZJRVcoZGV2KSB8fCBJU19DSEVSUllWSUVXKGRldikpIHsKPiA+ IMKgCQkvKiBwcmVzdW1hYmx5IHdyaXRlIGxvY2sgZGVwZW5kcyBvbiBwaXBlLCBub3QgcG9ydCBz ZWxlY3QgKi8KPiA+IC0JCXBwX3JlZyA9IFZMVl9QSVBFX1BQX0NPTlRST0wocGlwZSk7Cj4gPiAr CQlwcF9yZWcgPSBQUF9DT05UUk9MKHBpcGUpOwo+ID4gwqAJCXBhbmVsX3BpcGUgPSBwaXBlOwo+ ID4gwqAJfSBlbHNlIHsKPiA+IC0JCXBwX3JlZyA9IFBQX0NPTlRST0w7Cj4gPiArCQlwcF9yZWcg PSBQUF9DT05UUk9MKDApOwo+ID4gwqAJCWlmIChJOTE1X1JFQUQoTFZEUykgJiBMVkRTX1BJUEVC X1NFTEVDVCkKPiA+IMKgCQkJcGFuZWxfcGlwZSA9IFBJUEVfQjsKPiA+IMKgCX0KPiA+IEBAIC05 NDExLDcgKzk0MTEsNyBAQCBzdGF0aWMgdm9pZCBhc3NlcnRfY2FuX2Rpc2FibGVfbGNwbGwoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQo+ID4gwqAJSTkxNV9TVEFURV9XQVJOKEk5 MTVfUkVBRChTUExMX0NUTCkgJiBTUExMX1BMTF9FTkFCTEUsICJTUExMIGVuYWJsZWRcbiIpOwo+ ID4gwqAJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChXUlBMTF9DVEwoMCkpICYgV1JQTExfUExM X0VOQUJMRSwgIldSUExMMSBlbmFibGVkXG4iKTsKPiA+IMKgCUk5MTVfU1RBVEVfV0FSTihJOTE1 X1JFQUQoV1JQTExfQ1RMKDEpKSAmIFdSUExMX1BMTF9FTkFCTEUsICJXUlBMTDIgZW5hYmxlZFxu Iik7Cj4gPiAtCUk5MTVfU1RBVEVfV0FSTihJOTE1X1JFQUQoUENIX1BQX1NUQVRVUykgJiBQUF9P TiwgIlBhbmVsIHBvd2VyIG9uXG4iKTsKPiA+ICsJSTkxNV9TVEFURV9XQVJOKEk5MTVfUkVBRChQ UF9TVEFUVVMoMCkpICYgUFBfT04sICJQYW5lbCBwb3dlciBvblxuIik7Cj4gPiDCoAlJOTE1X1NU QVRFX1dBUk4oSTkxNV9SRUFEKEJMQ19QV01fQ1BVX0NUTDIpICYgQkxNX1BXTV9FTkFCTEUsCj4g PiDCoAnCoMKgwqDCoMKgIkNQVSBQV00xIGVuYWJsZWRcbiIpOwo+ID4gwqAJaWYgKElTX0hBU1dF TEwoZGV2KSkKPiA+IEBAIC0xNDYzNSwxMiArMTQ2MzUsMjQgQEAgc3RhdGljIGJvb2wgaW50ZWxf Y3J0X3ByZXNlbnQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiA+IMKgCXJldHVybiB0cnVlOwo+ ID4gwqB9Cj4gPiDCoAo+ID4gK3N0YXRpYyB2b2lkIGludGVsX3Bwc19pbml0KHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICt7Cj4gPiArCWlmIChIQVNfUENIX1NQTElUKGRl dl9wcml2KSB8fCBJU19CUk9YVE9OKGRldl9wcml2KSkKPiA+ICsJCWRldl9wcml2LT5wcHNfbW1p b19iYXNlID0gUENIX1BQU19CQVNFOwo+ID4gKwllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldl9w cml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkKPiA+ICsJCWRldl9wcml2LT5wcHNfbW1p b19iYXNlID0gVkxWX1BQU19CQVNFOwo+ID4gKwllbHNlCj4gPiArCQlkZXZfcHJpdi0+cHBzX21t aW9fYmFzZSA9IFBQU19CQVNFOwo+ID4gK30KPiA+ICsKPiA+IMKgc3RhdGljIHZvaWQgaW50ZWxf c2V0dXBfb3V0cHV0cyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gwqB7Cj4gPiDCoAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiDCoAlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiA+IMKgCWJvb2wgZHBkX2lzX2VkcCA9IGZhbHNl Owo+ID4gwqAKPiA+ICsJaW50ZWxfcHBzX2luaXQoZGV2X3ByaXYpOwo+ID4gKwo+ID4gwqAJLyoK PiA+IMKgCcKgKiBpbnRlbF9lZHBfaW5pdF9jb25uZWN0b3IoKSBkZXBlbmRzIG9uIHRoaXMgY29t cGxldGluZyBmaXJzdCwgdG8KPiA+IMKgCcKgKiBwcmV2ZW50IHRoZSByZWdpc3RlcmF0aW9uIG9m IGJvdGggZURQIGFuZCBMVkRTIGFuZCB0aGUgaW5jb3JyZWN0Cj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwLmMKPiA+IGluZGV4IDhmZTJhZmEuLmE1Y2VmOTEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcC5jCj4gPiBAQCAtNDYzLDEzICs0NjMsMTMgQEAgdHlwZWRlZiBib29sICgqdmx2X3Bp cGVfY2hlY2spKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiA+IMKgc3RhdGlj IGJvb2wgdmx2X3BpcGVfaGFzX3BwX29uKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+IMKgCQkJwqDCoMKgwqDCoMKgwqBlbnVtIHBpcGUgcGlwZSkKPiA+IMKgewo+ID4gLQly ZXR1cm4gSTkxNV9SRUFEKFZMVl9QSVBFX1BQX1NUQVRVUyhwaXBlKSkgJiBQUF9PTjsKPiA+ICsJ cmV0dXJuIEk5MTVfUkVBRChQUF9TVEFUVVMocGlwZSkpICYgUFBfT047Cj4gPiDCoH0KPiA+IMKg Cj4gPiDCoHN0YXRpYyBib29sIHZsdl9waXBlX2hhc192ZGRfb24oc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2LAo+ID4gwqAJCQkJZW51bSBwaXBlIHBpcGUpCj4gPiDCoHsKPiA+IC0J cmV0dXJuIEk5MTVfUkVBRChWTFZfUElQRV9QUF9DT05UUk9MKHBpcGUpKSAmIEVEUF9GT1JDRV9W REQ7Cj4gPiArCXJldHVybiBJOTE1X1JFQUQoUFBfQ09OVFJPTChwaXBlKSkgJiBFRFBfRk9SQ0Vf VkREOwo+ID4gwqB9Cj4gPiDCoAo+ID4gwqBzdGF0aWMgYm9vbCB2bHZfcGlwZV9hbnkoc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gQEAgLTQ4Niw3ICs0ODYsNyBAQCB2bHZf aW5pdGlhbF9wcHNfcGlwZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiDC oAllbnVtIHBpcGUgcGlwZTsKPiA+IMKgCj4gPiDCoAlmb3IgKHBpcGUgPSBQSVBFX0E7IHBpcGUg PD0gUElQRV9COyBwaXBlKyspIHsKPiA+IC0JCXUzMiBwb3J0X3NlbCA9IEk5MTVfUkVBRChWTFZf UElQRV9QUF9PTl9ERUxBWVMocGlwZSkpICYKPiA+ICsJCXUzMiBwb3J0X3NlbCA9IEk5MTVfUkVB RChQUF9PTl9ERUxBWVMocGlwZSkpICYKPiA+IMKgCQkJUEFORUxfUE9SVF9TRUxFQ1RfTUFTSzsK PiA+IMKgCj4gPiDCoAkJaWYgKHBvcnRfc2VsICE9IFBBTkVMX1BPUlRfU0VMRUNUX1ZMVihwb3J0 KSkKPiA+IEBAIC01ODMsMzAgKzU4MywyMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcHNfZ2V0X3Jl Z2lzdGVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiDCoAkJCQnCoMKg wqDCoHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCj4gPiDCoAkJCQnCoMKgwqDCoHN0cnVjdCBw cHNfcmVnaXN0ZXJzICpyZWdzKQo+ID4gwqB7Cj4gPiArCWludCBwcHNfaWR4Owo+ID4gKwo+ID4g wqAJbWVtc2V0KHJlZ3MsIDAsIHNpemVvZigqcmVncykpOwo+ID4gwqAKPiA+IC0JaWYgKElTX0JS T1hUT04oZGV2X3ByaXYpKSB7Cj4gPiAtCQlpbnQgaWR4ID0gYnh0X3Bvd2VyX3NlcXVlbmNlcl9p ZHgoaW50ZWxfZHApOwo+ID4gKwlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpCj4gPiArCQlwcHNf aWR4ID0gYnh0X3Bvd2VyX3NlcXVlbmNlcl9pZHgoaW50ZWxfZHApOwo+ID4gKwllbHNlIGlmIChI QVNfUENIX1NQTElUKGRldl9wcml2KSkKPiA+ICsJCXBwc19pZHggPSAwOwo+IAo+IGludCBwcHNf aWR4ID0gMDsKPiAKPiBpZiAoQlhUKQo+IAkuLi4KPiBlbHNlIGlmIChWTFZ8fENIVikKPiAJLi4u Cj4gCj4gaXMgaG93IEknZCB3cml0ZSB0aGlzLgoKT2ssIHdpbGwgY2hhbmdlIGl0LgoKPiAKPiA+ ICsJZWxzZQo+ID4gKwkJcHBzX2lkeCA9IHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShpbnRlbF9k cCk7Cj4gPiDCoAo+ID4gLQkJcmVncy0+cHBfY3RybCA9IEJYVF9QUF9DT05UUk9MKGlkeCk7Cj4g PiAtCQlyZWdzLT5wcF9zdGF0ID0gQlhUX1BQX1NUQVRVUyhpZHgpOwo+ID4gLQkJcmVncy0+cHBf b24gPSBCWFRfUFBfT05fREVMQVlTKGlkeCk7Cj4gPiAtCQlyZWdzLT5wcF9vZmYgPSBCWFRfUFBf T0ZGX0RFTEFZUyhpZHgpOwo+ID4gLQl9IGVsc2UgaWYgKEhBU19QQ0hfU1BMSVQoZGV2X3ByaXYp KSB7Cj4gPiAtCQlyZWdzLT5wcF9jdHJsID0gUENIX1BQX0NPTlRST0w7Cj4gPiAtCQlyZWdzLT5w cF9zdGF0ID0gUENIX1BQX1NUQVRVUzsKPiA+IC0JCXJlZ3MtPnBwX29uID0gUENIX1BQX09OX0RF TEFZUzsKPiA+IC0JCXJlZ3MtPnBwX29mZiA9IFBDSF9QUF9PRkZfREVMQVlTOwo+ID4gLQkJcmVn cy0+cHBfZGl2ID0gUENIX1BQX0RJVklTT1I7Cj4gPiAtCX0gZWxzZSB7Cj4gPiAtCQllbnVtIHBp cGUgcGlwZSA9IHZsdl9wb3dlcl9zZXF1ZW5jZXJfcGlwZShpbnRlbF9kcCk7Cj4gPiAtCj4gPiAt CQlyZWdzLT5wcF9jdHJsID0gVkxWX1BJUEVfUFBfQ09OVFJPTChwaXBlKTsKPiA+IC0JCXJlZ3Mt PnBwX3N0YXQgPSBWTFZfUElQRV9QUF9TVEFUVVMocGlwZSk7Cj4gPiAtCQlyZWdzLT5wcF9vbiA9 IFZMVl9QSVBFX1BQX09OX0RFTEFZUyhwaXBlKTsKPiA+IC0JCXJlZ3MtPnBwX29mZiA9IFZMVl9Q SVBFX1BQX09GRl9ERUxBWVMocGlwZSk7Cj4gPiAtCQlyZWdzLT5wcF9kaXYgPSBWTFZfUElQRV9Q UF9ESVZJU09SKHBpcGUpOwo+ID4gLQl9Cj4gPiArCXJlZ3MtPnBwX2N0cmwgPSBQUF9DT05UUk9M KHBwc19pZHgpOwo+ID4gKwlyZWdzLT5wcF9zdGF0ID0gUFBfU1RBVFVTKHBwc19pZHgpOwo+ID4g KwlyZWdzLT5wcF9vbiA9IFBQX09OX0RFTEFZUyhwcHNfaWR4KTsKPiA+ICsJcmVncy0+cHBfb2Zm ID0gUFBfT0ZGX0RFTEFZUyhwcHNfaWR4KTsKPiA+ICsJaWYgKCFJU19CUk9YVE9OKGRldl9wcml2 KSkKPiA+ICsJCXJlZ3MtPnBwX2RpdiA9IFBQX0RJVklTT1IocHBzX2lkeCk7Cj4gPiDCoH0KPiA+ IMKgCj4gPiDCoHN0YXRpYyBpOTE1X3JlZ190Cj4gPiBAQCAtNjUxLDggKzY0NCw4IEBAIHN0YXRp YyBpbnQgZWRwX25vdGlmeV9oYW5kbGVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqdGhpcywgdW5z aWduZWQgbG9uZyBjb2RlLAo+ID4gwqAJCWk5MTVfcmVnX3QgcHBfY3RybF9yZWcsIHBwX2Rpdl9y ZWc7Cj4gPiDCoAkJdTMyIHBwX2RpdjsKPiA+IMKgCj4gPiAtCQlwcF9jdHJsX3JlZyA9IFZMVl9Q SVBFX1BQX0NPTlRST0wocGlwZSk7Cj4gPiAtCQlwcF9kaXZfcmVnwqDCoD0gVkxWX1BJUEVfUFBf RElWSVNPUihwaXBlKTsKPiA+ICsJCXBwX2N0cmxfcmVnID0gUFBfQ09OVFJPTChwaXBlKTsKPiA+ ICsJCXBwX2Rpdl9yZWfCoMKgPSBQUF9ESVZJU09SKHBpcGUpOwo+ID4gwqAJCXBwX2RpdiA9IEk5 MTVfUkVBRChwcF9kaXZfcmVnKTsKPiA+IMKgCQlwcF9kaXYgJj0gUFBfUkVGRVJFTkNFX0RJVklE RVJfTUFTSzsKPiA+IMKgCj4gPiBAQCAtMjcyOSw3ICsyNzIyLDcgQEAgc3RhdGljIHZvaWQgdmx2 X2RldGFjaF9wb3dlcl9zZXF1ZW5jZXIoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkKPiA+IMKg CXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3Bv cnQoaW50ZWxfZHApOwo+ID4gwqAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7Cj4gPiDCoAllbnVtIHBpcGUg cGlwZSA9IGludGVsX2RwLT5wcHNfcGlwZTsKPiA+IC0JaTkxNV9yZWdfdCBwcF9vbl9yZWcgPSBW TFZfUElQRV9QUF9PTl9ERUxBWVMocGlwZSk7Cj4gPiArCWk5MTVfcmVnX3QgcHBfb25fcmVnID0g UFBfT05fREVMQVlTKHBpcGUpOwo+ID4gwqAKPiA+IMKgCWVkcF9wYW5lbF92ZGRfb2ZmX3N5bmMo aW50ZWxfZHApOwo+ID4gwqAKPiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sdmRzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKPiA+IGluZGV4 IDQ5NTUwNDcuLjQxM2U3MjkgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9sdmRzLmMKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwo+ ID4gQEAgLTIxNywyMSArMjE3LDEyIEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9sdmRzKHN0 cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQo+ID4gwqAJc3RydWN0IGludGVsX2Nvbm5lY3Rv ciAqaW50ZWxfY29ubmVjdG9yID0KPiA+IMKgCQkmbHZkc19lbmNvZGVyLT5hdHRhY2hlZF9jb25u ZWN0b3ItPmJhc2U7Cj4gPiDCoAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0 b19pOTE1KGRldik7Cj4gPiAtCWk5MTVfcmVnX3QgY3RsX3JlZywgc3RhdF9yZWc7Cj4gPiAtCj4g PiAtCWlmIChIQVNfUENIX1NQTElUKGRldikpIHsKPiA+IC0JCWN0bF9yZWcgPSBQQ0hfUFBfQ09O VFJPTDsKPiA+IC0JCXN0YXRfcmVnID0gUENIX1BQX1NUQVRVUzsKPiA+IC0JfSBlbHNlIHsKPiA+ IC0JCWN0bF9yZWcgPSBQUF9DT05UUk9MOwo+ID4gLQkJc3RhdF9yZWcgPSBQUF9TVEFUVVM7Cj4g PiAtCX0KPiA+IMKgCj4gPiDCoAlJOTE1X1dSSVRFKGx2ZHNfZW5jb2Rlci0+cmVnLCBJOTE1X1JF QUQobHZkc19lbmNvZGVyLT5yZWcpIHwgTFZEU19QT1JUX0VOKTsKPiA+IMKgCj4gPiAtCUk5MTVf V1JJVEUoY3RsX3JlZywgSTkxNV9SRUFEKGN0bF9yZWcpIHwgUE9XRVJfVEFSR0VUX09OKTsKPiA+ ICsJSTkxNV9XUklURShQUF9DT05UUk9MKDApLCBJOTE1X1JFQUQoUFBfQ09OVFJPTCgwKSkgfCBQ T1dFUl9UQVJHRVRfT04pOwo+ID4gwqAJUE9TVElOR19SRUFEKGx2ZHNfZW5jb2Rlci0+cmVnKTsK PiA+IC0JaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9wcml2LCBzdGF0X3JlZywgUFBf T04sIFBQX09OLCAxMDAwKSkKPiA+ICsJaWYgKGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKGRldl9w cml2LCBQUF9TVEFUVVMoMCksIFBQX09OLCBQUF9PTiwgMTAwMCkpCj4gPiDCoAkJRFJNX0VSUk9S KCJ0aW1lZCBvdXQgd2FpdGluZyBmb3IgcGFuZWwgdG8gcG93ZXIgb25cbiIpOwo+ID4gwqAKPiA+ IMKgCWludGVsX3BhbmVsX2VuYWJsZV9iYWNrbGlnaHQoaW50ZWxfY29ubmVjdG9yKTsKPiA+IEBA IC0yNDIsMTggKzIzMyw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2Rpc2FibGVfbHZkcyhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiA+IMKgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBl bmNvZGVyLT5iYXNlLmRldjsKPiA+IMKgCXN0cnVjdCBpbnRlbF9sdmRzX2VuY29kZXIgKmx2ZHNf ZW5jb2RlciA9IHRvX2x2ZHNfZW5jb2RlcigmZW5jb2Rlci0+YmFzZSk7Cj4gPiDCoAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gPiAtCWk5MTVfcmVn X3QgY3RsX3JlZywgc3RhdF9yZWc7Cj4gPiDCoAo+ID4gLQlpZiAoSEFTX1BDSF9TUExJVChkZXYp KSB7Cj4gPiAtCQljdGxfcmVnID0gUENIX1BQX0NPTlRST0w7Cj4gPiAtCQlzdGF0X3JlZyA9IFBD SF9QUF9TVEFUVVM7Cj4gPiAtCX0gZWxzZSB7Cj4gPiAtCQljdGxfcmVnID0gUFBfQ09OVFJPTDsK PiA+IC0JCXN0YXRfcmVnID0gUFBfU1RBVFVTOwo+ID4gLQl9Cj4gPiAtCj4gPiAtCUk5MTVfV1JJ VEUoY3RsX3JlZywgSTkxNV9SRUFEKGN0bF9yZWcpICYgflBPV0VSX1RBUkdFVF9PTik7Cj4gPiAt CWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwgc3RhdF9yZWcsIFBQX09OLCAw LCAxMDAwKSkKPiA+ICsJSTkxNV9XUklURShQUF9DT05UUk9MKDApLCBJOTE1X1JFQUQoUFBfQ09O VFJPTCgwKSkgJiB+UE9XRVJfVEFSR0VUX09OKTsKPiA+ICsJaWYgKGludGVsX3dhaXRfZm9yX3Jl Z2lzdGVyKGRldl9wcml2LCBQUF9TVEFUVVMoMCksIFBQX09OLCAwLCAxMDAwKSkKPiA+IMKgCQlE Uk1fRVJST1IoInRpbWVkIG91dCB3YWl0aW5nIGZvciBwYW5lbCB0byBwb3dlciBvZmZcbiIpOwo+ ID4gwqAKPiA+IMKgCUk5MTVfV1JJVEUobHZkc19lbmNvZGVyLT5yZWcsIEk5MTVfUkVBRChsdmRz X2VuY29kZXItPnJlZykgJiB+TFZEU19QT1JUX0VOKTsKPiA+IEBAIC05MDQsMTMgKzg4NiwxMCBA QCB2b2lkIGludGVsX2x2ZHNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gwqAJwqAq IFVubG9jayByZWdpc3RlcnMgYW5kIGp1c3QgbGVhdmUgdGhlbSB1bmxvY2tlZC4gRG8gdGhpcyBi ZWZvcmUKPiA+IMKgCcKgKiBjaGVja2luZyBxdWlyayBsaXN0cyB0byBhdm9pZCBib2d1cyBXQVJO SU5Hcy4KPiA+IMKgCcKgKi8KPiA+IC0JaWYgKEhBU19QQ0hfU1BMSVQoZGV2KSkgewo+ID4gLQkJ STkxNV9XUklURShQQ0hfUFBfQ09OVFJPTCwKPiA+IC0JCQnCoMKgwqBJOTE1X1JFQUQoUENIX1BQ X0NPTlRST0wpIHwgUEFORUxfVU5MT0NLX1JFR1MpOwo+ID4gLQl9IGVsc2UgaWYgKElOVEVMX0lO Rk8oZGV2X3ByaXYpLT5nZW4gPCA1KSB7Cj4gPiAtCQlJOTE1X1dSSVRFKFBQX0NPTlRST0wsCj4g PiAtCQkJwqDCoMKgSTkxNV9SRUFEKFBQX0NPTlRST0wpIHwgUEFORUxfVU5MT0NLX1JFR1MpOwo+ ID4gLQl9Cj4gPiArCWlmIChIQVNfUENIX1NQTElUKGRldl9wcml2KSB8fCBJTlRFTF9HRU4oZGV2 X3ByaXYpIDw9IDQpCj4gPiArCQlJOTE1X1dSSVRFKFBQX0NPTlRST0woMCksCj4gPiArCQkJwqDC oMKgSTkxNV9SRUFEKFBQX0NPTlRST0woMCkpIHwgUEFORUxfVU5MT0NLX1JFR1MpOwo+ID4gKwo+ ID4gwqAJaWYgKCFpbnRlbF9sdmRzX3N1cHBvcnRlZChkZXYpKQo+ID4gwqAJCXJldHVybjsKPiA+ IMKgCj4gPiBAQCAtOTQ1LDEyICs5MjQsMTIgQEAgdm9pZCBpbnRlbF9sdmRzX2luaXQoc3RydWN0 IGRybV9kZXZpY2UgKmRldikKPiA+IMKgCj4gPiDCoAnCoC8qIFNldCB0aGUgUGFuZWwgUG93ZXIg T24vT2ZmIHRpbWluZ3MgaWYgdW5pbml0aWFsaXplZC4gKi8KPiA+IMKgCWlmIChJTlRFTF9JTkZP KGRldl9wcml2KS0+Z2VuIDwgNSAmJgo+ID4gLQnCoMKgwqDCoEk5MTVfUkVBRChQUF9PTl9ERUxB WVMpID09IDAgJiYgSTkxNV9SRUFEKFBQX09GRl9ERUxBWVMpID09IDApIHsKPiA+ICsJwqDCoMKg wqBJOTE1X1JFQUQoUFBfT05fREVMQVlTKDApKSA9PSAwICYmIEk5MTVfUkVBRChQUF9PRkZfREVM QVlTKDApKSA9PSAwKSB7Cj4gPiDCoAkJLyogU2V0IFQyIHRvIDQwbXMgYW5kIFQ1IHRvIDIwMG1z ICovCj4gPiAtCQlJOTE1X1dSSVRFKFBQX09OX0RFTEFZUywgMHgwMTkwMDdkMCk7Cj4gPiArCQlJ OTE1X1dSSVRFKFBQX09OX0RFTEFZUygwKSwgMHgwMTkwMDdkMCk7Cj4gPiDCoAo+ID4gwqAJCS8q IFNldCBUMyB0byAzNW1zIGFuZCBUeCB0byAyMDBtcyAqLwo+ID4gLQkJSTkxNV9XUklURShQUF9P RkZfREVMQVlTLCAweDAxNWUwN2QwKTsKPiA+ICsJCUk5MTVfV1JJVEUoUFBfT0ZGX0RFTEFZUygw KSwgMHgwMTVlMDdkMCk7Cj4gPiDCoAo+ID4gwqAJCURSTV9ERUJVR19LTVMoIlBhbmVsIHBvd2Vy IHRpbWluZ3MgdW5pbml0aWFsaXplZCwgc2V0dGluZyBkZWZhdWx0c1xuIik7Cj4gPiDCoAl9Cj4g PiAtLcKgCj4gPiAyLjUuMAo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngKPiAKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==